No such file or directory: '/tmp/tmpfsc2g_w1/B_prev'

Heyo!
I'm looking into possible solutions for backup/sync of multiple computers with s3 as the backend and came across this project, based on the amazing docs, this looks like it could be exactly what I'm looking for!
I'm trying to sync for the first time but am getting the following error msg:
$ syncrclone ./config_1.py
2022-03-06 21:53:01: syncrclone (20220228.0.BETA)
2022-03-06 21:53:01: config path: './config_1.py'
2022-03-06 21:53:01: A: '/home/kris/Downloads'
2022-03-06 21:53:01: B: 's3-backup:kswann-test-sync-bucket'
2022-03-06 21:53:01: rclone version:
2022-03-06 21:53:01: rclone: rclone v1.57.0
2022-03-06 21:53:01: rclone: - os/version: arch (64 bit)
2022-03-06 21:53:01: rclone: - os/kernel: 5.16.12-arch1-1 (x86_64)
2022-03-06 21:53:01: rclone: - os/type: linux
2022-03-06 21:53:01: rclone: - os/arch: amd64
2022-03-06 21:53:01: rclone: - go/version: go1.17.5
2022-03-06 21:53:01: rclone: - go/linking: dynamic
2022-03-06 21:53:01: rclone: - go/tags: none
2022-03-06 21:53:01:
2022-03-06 21:53:01: Refreshing file list on A '/home/kris/Downloads'
2022-03-06 21:53:01: No previous list on A. Reset state
2022-03-06 21:53:01: 5 files, 1.70 mb
2022-03-06 21:53:01: Refreshing file list on B 's3-backup:kswann-test-sync-bucket'
ERROR. Dumping logs (with debug) to '/tmp/tmpfsc2g_w1/log.txt'
2022-03-06 21:53:02: ERROR: [Errno 2] No such file or directory: '/tmp/tmpfsc2g_w1/B_prev'

Here is the config file (appended .txt so could upload, I guess github doesn't like .py files):
config_1.py.txt
Here are the tmpdir and logfile:
$ ls /tmp/tmpfsc2g_w1
log.txt  stdout  sterr

# And the log file
$ cat /tmp/tmpfsc2g_w1/log.txt
2022-03-06 21:53:01: DEBUG: argv: ['./config_1.py']2022-03-06 21:53:01: DEBUG: CLI config: Namespace(configpath='./config_1.py', break_lock=None, debug=False, dry_run=False, interactive=False, new=False, no_backup=False, override=[], reset_state=False)2022-03-06 21:53:01: DEBUG: Localmode: False2022-03-06 21:53:01: syncrclone (20220228.0.BETA)2022-03-06 21:53:01: config path: './config_1.py'2022-03-06 21:53:01: A: '/home/kris/Downloads'2022-03-06 21:53:01: B: 's3-backup:kswann-test-sync-bucket'2022-03-06 21:53:01: DEBUG: config: Config(remoteA='/home/kris/Downloads', remoteB='s3-backup:kswann-test-sync-bucket', workdirA='/home/kris/Downloads/.syncrclone', workdirB='s3-backup:kswann-test-sync-bucket/.syncrclone', name='sdlvS', rclone_exe='rclone', filter_flags=[], rclone_flags=[], rclone_env={}, rclone_flagsA=[], rclone_flagsB=[], compare='mtime', dt=1.1, conflict_mode='newer', tag_conflict=False, reuse_hashesA=False, reuse_hashesB=False, always_get_mtime=True, backup=True, sync_backups=False, hash_fail_fallback=None, set_lock=False, action_threads=1, cleanup_empty_dirsA=None, cleanup_empty_dirsB=None, avoid_relist=False, renamesA=None, renamesB=None, save_logs=True, local_log_dest='', pre_sync_shell='', post_sync_shell='', stop_on_shell_error=False, tempdir='/tmp/tmpfsc2g_w1', os=<module 'os' from '/usr/lib/python3.10/os.py'>, tempfile=<module 'tempfile' from '/usr/lib/python3.10/tempfile.py'>, configpath='./config_1.py', break_lock=None, debug=False, dry_run=False, interactive=False, new=False, override=[], reset_state=False, workdir0A=None, workdir0B=None)2022-03-06 21:53:01: rclone version:2022-03-06 21:53:01: DEBUG: rclone:call ['rclone', '--version']2022-03-06 21:53:01: DEBUG: rclone: env {'RCLONE_ASK_PASSWORD': 'false'}2022-03-06 21:53:01: rclone: rclone v1.57.02022-03-06 21:53:01: rclone: - os/version: arch (64 bit)2022-03-06 21:53:01: rclone: - os/kernel: 5.16.12-arch1-1 (x86_64)2022-03-06 21:53:01: rclone: - os/type: linux2022-03-06 21:53:01: rclone: - os/arch: amd642022-03-06 21:53:01: rclone: - go/version: go1.17.52022-03-06 21:53:01: rclone: - go/linking: dynamic2022-03-06 21:53:01: rclone: - go/tags: none2022-03-06 21:53:01: 2022-03-06 21:53:01: Refreshing file list on A '/home/kris/Downloads'2022-03-06 21:53:01: DEBUG: rclone:call ['rclone', 'lsjson', '--filter', '+ /.syncrclone/LOCK/*', '--filter', '- /.syncrclone/**', '-R', '--no-mimetype', '--files-only', '/home/kris/Downloads']2022-03-06 21:53:01: DEBUG: rclone: env {'RCLONE_ASK_PASSWORD': 'false'}2022-03-06 21:53:01: DEBUG: A: Read 52022-03-06 21:53:01: DEBUG: A: Read 52022-03-06 21:53:01: DEBUG: rclone:call ['rclone', '--retries', '1', 'copyto', '/home/kris/Downloads/.syncrclone/A-sdlvS_fl.json.xz', '/tmp/tmpfsc2g_w1/A_prev']2022-03-06 21:53:01: DEBUG: rclone: env {'RCLONE_ASK_PASSWORD': 'false'}2022-03-06 21:53:01: No previous list on A. Reset state2022-03-06 21:53:01: 5 files, 1.70 mb2022-03-06 21:53:01: Refreshing file list on B 's3-backup:kswann-test-sync-bucket'2022-03-06 21:53:01: DEBUG: rclone:call ['rclone', 'lsjson', '--filter', '+ /.syncrclone/LOCK/*', '--filter', '- /.syncrclone/**', '-R', '--no-mimetype', '--files-only', 's3-backup:kswann-test-sync-bucket']2022-03-06 21:53:01: DEBUG: rclone: env {'RCLONE_ASK_PASSWORD': 'false'}2022-03-06 21:53:02: DEBUG: B: Read 52022-03-06 21:53:02: DEBUG: B: Read 52022-03-06 21:53:02: DEBUG: rclone:call ['rclone', '--retries', '1', 'copyto', 's3-backup:kswann-test-sync-bucket/.syncrclone/B-sdlvS_fl.json.xz', '/tmp/tmpfsc2g_w1/B_prev']2022-03-06 21:53:02: DEBUG: rclone: env {'RCLONE_ASK_PASSWORD': 'false'}%

I slapped a couple of pdb around and here is what I was seeing:

Makes it to https://github.com/Jwink3101/syncrclone/blob/master/syncrclone/main.py#L48
Makes it to https://github.com/Jwink3101/syncrclone/blob/master/syncrclone/rclone.py#L249
Errors at https://github.com/Jwink3101/syncrclone/blob/master/syncrclone/rclone.py#L177

B_prev has not yet been saved in the tmp dir

(Pdb) print(dst)
/tmp/tmpp_9vfppt/B_prev
(Pdb) import os
(Pdb) os.listdir("/tmp/tmpp_9vfppt")
['sterr', 'stdout']

Here is the raw traceback (may be off by a line or two b/c of the pdb statements)
(Pdb) traceback.print_stack()
  File "/home/kris/.local/bin/syncrclone", line 8, in <module>
    sys.exit(cli())
  File "/home/kris/.local/pipx/venvs/syncrclone/lib/python3.10/site-packages/syncrclone/cli.py", line 299, in cli
    r = SyncRClone(config,break_lock=config.break_lock)
  File "/home/kris/.local/pipx/venvs/syncrclone/lib/python3.10/site-packages/syncrclone/main.py", line 49, in __init__
    self.currB,self.prevB = self.rclone.file_list(remote='B')
  File "/home/kris/.local/pipx/venvs/syncrclone/lib/python3.10/site-packages/syncrclone/rclone.py", line 250, in file_list
    prev_list = self.pull_prev_list(remote=AB)
  File "/home/kris/.local/pipx/venvs/syncrclone/lib/python3.10/site-packages/syncrclone/rclone.py", line 177, in pull_prev_list
    with lzma.open(dst) as file:
  File "/usr/lib/python3.10/bdb.py", line 96, in trace_dispatch
    return self.dispatch_exception(frame, arg)
  File "/usr/lib/python3.10/bdb.py", line 175, in dispatch_exception
    self.user_exception(frame, arg)
  File "/usr/lib/python3.10/pdb.py", line 313, in user_exception
    self.interaction(frame, exc_traceback)
  File "/usr/lib/python3.10/pdb.py", line 357, in interaction
    self._cmdloop()
  File "/usr/lib/python3.10/pdb.py", line 322, in _cmdloop
    self.cmdloop()
  File "/usr/lib/python3.10/cmd.py", line 138, in cmdloop
    stop = self.onecmd(line)
  File "/usr/lib/python3.10/pdb.py", line 422, in onecmd
    return cmd.Cmd.onecmd(self, line)
  File "/usr/lib/python3.10/cmd.py", line 216, in onecmd
    return self.default(line)
  File "/usr/lib/python3.10/pdb.py", line 381, in default
    exec(code, globals, locals)
  File "<stdin>", line 1, in <module>

Thanks for the awesome project, and let me know if I can provide any more help/info!

I still don't have the fix but I recall why I changed the method. It is because syncrclone allows you to specify an alternative place to store state and backups (if, for example, you are syncing something shared so you don't want .syncrclone directories around). But in doing so, we do not always list the workdir.
Anyway, let me know what you find from the suggested actions. I suspect I will just change it to either catch all of them (I don't love it since that may not be desired) or to suggest to the user that they run --reset-state (so it is explicit, rather than implicit)

Hey, thanks for circling back on this!
Yep, you are correct that this is the first time it has been run, so .syncrclone does not exist yet
I added raise after L175 -- that didn't change anything b/c it is after the return, but adding it before L175 gave me this:
$  syncrclone ./config_1.py
2022-03-10 20:32:39: syncrclone (20220228.0.BETA)
2022-03-10 20:32:39: config path: './config_1.py'
2022-03-10 20:32:39: A: '/home/kris/Downloads'
2022-03-10 20:32:39: B: 's3-backup:kswann-test-sync-bucket'
2022-03-10 20:32:39: rclone version:
2022-03-10 20:32:39: rclone: rclone v1.57.0
2022-03-10 20:32:39: rclone: - os/version: arch (64 bit)
2022-03-10 20:32:39: rclone: - os/kernel: 5.16.12-arch1-1 (x86_64)
2022-03-10 20:32:39: rclone: - os/type: linux
2022-03-10 20:32:39: rclone: - os/arch: amd64
2022-03-10 20:32:39: rclone: - go/version: go1.17.5
2022-03-10 20:32:39: rclone: - go/linking: dynamic
2022-03-10 20:32:39: rclone: - go/tags: none
2022-03-10 20:32:39:
2022-03-10 20:32:39: Refreshing file list on A '/home/kris/Downloads'
2022-03-10 20:32:39: No previous list on A. Reset state
ERROR. Dumping logs (with debug) to '/tmp/tmpbhn9bhg6/log.txt'
2022-03-10 20:32:39: ERROR: Command '['rclone', '--retries', '1', 'copyto', '/home/kris/Downloads/.syncrclone/A-sdlvS_fl.json.xz', '/tmp/tmpbhn9bhg6/A_prev']' returned non-zero exit status 3.

And the error from running the above failed rclone command is:
$ rclone --retries 1 copyto /home/kris/Downloads/.syncrclone/A-sdlvS_fl.json.xz /tmp/tmpbhn9bhg6/A_prev

<3>ERROR : Local file system at /home/kris/Downloads/.syncrclone/A-sdlvS_fl.json.xz: error reading source root directory: directory not found
<3>ERROR : Attempt 1/1 failed with 1 errors and: directory not found
Failed to copyto: directory not found

The other rclone command you gave above works just fine (so probably keeps going)
rclone --retries 1 copyto s3-backup:kswann-test-sync-bucket/.syncrclone/B-sdlvS_fl.json.xz /tmp/tmpfsc2g_w1/B_prev

After doing the above, I tried with --reset-state and it's working now!

I'm glad it's working. I'll need to fix that but I wish I knew what error code it was throwing.


fix: raise error when result is nil in fix_old task

Codecov Report

Merging #40 into release will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           release     #40   +/-   ##
=======================================
  Coverage     98.7%   98.7%
=======================================
  Files           55      55
  Lines         1627    1627
=======================================
  Hits          1606    1606
  Misses          21      21

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c61eb5f...4e94730. Read the comment docs.


content/archaeology: change switch on newer git to checkout on newer git

The "never git" message now becomes an "older git" note.

Thanks!


[e2e]: improve the virt-handler rate limiter test

Signed-off-by: Igor Bezukh<EMAIL_ADDRESS>What this PR does / why we need it:
It was seen that under high utilization the un-mounting process
can be way slower that the test timeouts, thus object deletion timeout
can be reached and the test will fail.
Replace a bootable VM with a non bootable one. That should
spare the test from spending time on mounting and un-mounting
the container-disk volumes as part of the VM state transition.
Fixes #
https://search.ci.kubevirt.io/?search=virt+handler+rate+limiter&maxAge=336h&context=1&type=bug%2Bjunit&name=&excludeName=&maxMatches=5&maxBytes=20971520&groupBy=job
Special notes for your reviewer:
For non-bootable VMs, the traversal of the phases for the VMI and the VMI pod is the same as if a VM has a bootable OS.
Release note:
NONE

/test

/test pull-kubevirt-unit-test


Fix optional PageTreeReadApi in BlocksTransformerMiddlewareFactory (v5)

Backport of #2530 into v5.

@abel-castro FYI.


Plover 4.0.0.dev6

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build plover

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: plover
Partial log (click to expand)
while evaluating the attribute 'propagatedBuildInputs' of the derivation 'python3.6-PyQt-5.10.1' at /private/var/lib/ofborg/builds/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-ndnd/pkgs/stdenv/generic/make-derivation.nix:148:11:
while evaluating the attribute 'buildInputs' of the derivation 'qtwebkit-5.9.1' at /private/var/lib/ofborg/builds/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-ndnd/pkgs/stdenv/generic/make-derivation.nix:148:11:
while evaluating the attribute 'buildInputs' of the derivation 'gstreamer-1.14.0' at /private/var/lib/ofborg/builds/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-ndnd/pkgs/stdenv/generic/make-derivation.nix:148:11:
while evaluating 'getOutput' at /private/var/lib/ofborg/builds/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-ndnd/lib/attrsets.nix:450:23, called from undefined position:
while evaluating anonymous function at /private/var/lib/ofborg/builds/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-ndnd/pkgs/stdenv/generic/make-derivation.nix:97:17, called from undefined position:
while evaluating 'callPackageWith' at /private/var/lib/ofborg/builds/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-ndnd/lib/customisation.nix:113:35, called from /private/var/lib/ofborg/builds/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-ndnd/pkgs/top-level/all-packages.nix:13720:12:
while evaluating 'makeOverridable' at /private/var/lib/ofborg/builds/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-ndnd/lib/customisation.nix:72:24, called from /private/var/lib/ofborg/builds/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-ndnd/lib/customisation.nix:117:8:
while evaluating anonymous function at /private/var/lib/ofborg/builds/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-ndnd/pkgs/os-specific/linux/libcap/default.nix:1:1, called from /private/var/lib/ofborg/builds/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-ndnd/lib/customisation.nix:74:12:
assertion failed at /private/var/lib/ofborg/builds/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/grahamc-ndnd/pkgs/os-specific/linux/libcap/default.nix:2:1

Failed on Darwin because of https://github.com/NixOS/nixpkgs/issues/39289. Other failures are just time-outs.


PostgreSQL JSON data type shows as '[object Object]'

If you define a column as JSON with Postgres, it shows as '[object Object]' in express-admin.

Hi
I had the same issue and a quick solution is modifying exports.value function in node_modules/express-admin/lib/format/form.js as:
else if (column.control.textarea && typeof value === 'object') {
	return JSON.stringify(value);
}

else {
	return value;
}

It displays the json value as string, then when I've time I'll add this editor so it will be also editable easily
jsoneditor

Same here with interval types.
A similar quick solution works on form.js:


Autocomplete for links

Hi there,
Is there any way of providing a list of options for autocomplete of hyperlink addresses? I'm working on a site where links will point at other data types within the application, so it would be useful to provide a list of possibilities as the user types the address for links.
I'm also wondering which to choose between steveathon/bootstrap-wysiwyg and mindmup/bootstrap-wysiwyg - is either one more suitable for the above?
Thanks,
George

Hi, could you elaborate a bit more on what you're trying to do. I'm not sure I understand what you're trying to do.
This repo is the most up to date. The Mindmup repo is just a fork of this repo and a bit out of date I might ad.ld.

Hi,
Thanks for getting back to me. I want to use this component to in a web app used by internal users of a company who provide content. When they create a link, it will always point to a piece of internal data, rather than any web page etc, so the href attribute will only contain a database ID.
So what I was wondering was whether I could somehow provide an autocomplete facility for when the user is starting to type the address for the hyperlink when using this component (in other words, make it display a list of all database IDs that start with what the user has typed).
I had also been wondering about images - is there any way of presenting a user with a choice of images that are on the server that the web app is running on when they want to embed an image (rather than the user uploading the image)?
Thanks for your help!
George
Date: Wed, 27 May 2015 06:59:20 -0700
From<EMAIL_ADDRESS>To<EMAIL_ADDRESS>CC<EMAIL_ADDRESS>Subject: Re: [bootstrap-wysiwyg] Autocomplete for links (#37)
Hi, could you elaborate a bit more on what you're trying to do. I'm not sure I understand what you're trying to do.
This repo is the most up to date. The Mindmup repo is just a fork of this repo and a bit out of date I might ad.ld.
—
Reply to this email directly or view it on GitHub.

To my knkwledge (@steveathon could verify this better than I can) I don't believe there is any feature  currently that could help you do that. However, you might can combine the editor with something like Knockout or Durandal in combination with something like Breeze.js in order to accomplish your goals.

Ok great, thanks very much.
Do you know if there is any way of disabling the component?
Date: Wed, 27 May 2015 10:47:57 -0700
From<EMAIL_ADDRESS>To<EMAIL_ADDRESS>CC<EMAIL_ADDRESS>Subject: Re: [bootstrap-wysiwyg] Autocomplete for links (#37)
To my knkwledge (@steveathon could verify this better than I can) I don't believe there is any feature  currently that could help you do that. However, you might can combine the editor with something like Knockout or Durandal in combination with something like Breeze.js in order to accomplish your goals.
—
Reply to this email directly or view it on GitHub.

Disabling the editor itself? Not that I know of but if you want to make a request for that I'm sure someone would be happy to add that feature.

Ok cool will do, thanks.
--- Original Message ---
From: "Tyler Hughes"<EMAIL_ADDRESS>Sent: 28 May 2015 12:09
To: "steveathon/bootstrap-wysiwyg"<EMAIL_ADDRESS>Cc: "bobcaprice"<EMAIL_ADDRESS>Subject: Re: [bootstrap-wysiwyg] Autocomplete for links (#37)
Disabling the editor itself? Not that I know of but if you want to make a request for that I'm sure someone would be happy to add that feature.

Reply to this email directly or view it on GitHub:
https://github.com/steveathon/bootstrap-wysiwyg/issues/37#issuecomment-106260350

@bobcaprice were you able to figure it out?

I didn't, no, just found a workaround in my application code.
--- Original Message ---
From: "Tyler Hughes"<EMAIL_ADDRESS>Sent: 28 August 2015 01:29
To: "steveathon/bootstrap-wysiwyg"<EMAIL_ADDRESS>Cc: "bobcaprice"<EMAIL_ADDRESS>Subject: Re: [bootstrap-wysiwyg] Autocomplete for links (#37)
@bobcaprice were you able to figure it out?

Reply to this email directly or view it on GitHub:
https://github.com/steveathon/bootstrap-wysiwyg/issues/37#issuecomment-135583675

@steveathon since the OP has found a workaround I believe this can be closed unless you have plans to add some type of feature like this in the future.


How to build chatbot using botkit anywhere in nodejs application?

I am trying  to build a chatbot using botkit anywhere and nodejs.I don't want to use any third-party messing platform.I refer this link https://github.com/howdyai/botkit#build-your-bot and try to setup chatbot in nodejs application.But in this link they didn't mention how to integrate nodejs application.

First, add it to your project:
npm install --save botkit
Then, add Botkit to your application code:
var Botkit = require('botkit');
var controller = Botkit.anywhere(configuration);
controller.hears('hello','direct_message', function(bot, message) { bot.reply(message,'Hello yourself!'); });

But they don't mention how to call and where to call this code in the existing application.I am a newbie to nodejs also

There is more documentation about working with the web functions here:
https://github.com/howdyai/botkit-starter-web/tree/master/docs
And general developing with Botkit information can be found here:
https://github.com/howdyai/botkit/blob/65ac4931c4e4d007d4a7e3692cd4ffb439cca768/docs/readme.md#developing-with-botkit


Switched to using OSVR SDK only, updated build instructions

This change switches ImportFromSDK.cmd to only requiring OSVR SDK and the OSVR Android SDK, has some general cleanup in the script and output, and updates build instructions to be more clear and remove unneeded steps.
In addition, I took @russell-taylor 's pull request (guessing he was making similar changes simultaneously) https://github.com/OSVR/OSVR-Unreal/pull/76 and merged my changes with it, making a combined pull with both our improvements (since they had conflicts due to us both making similar changes).

Thanks @Stormwind99 I will take a look at this Monday.

Looks good! Thanks @russell-taylor and @Stormwind99

Just wanted to make sure you meant to merge this to OSVR:read-rendermanager-from-osvr-install instead of OSVR:master.

Good catch. Should be merged to master now.


Can I publish to expo after eject

use crna to creat an app
then run eject
after this operation, can it publish?
i have tried exp publish and XDE to publish but all give me an error

Failed to publish package: Packager url http://localhost:19001/index.bundle?dev=false&minify=true&hot=false&assetPlugin=exponent/tools/hashAssetFiles&platform=ios returned unexpected code 404. Please open your project in the Expo app and see if there are any errors. Also scroll up and make sure there were no errors or warnings when opening your project.

hello! yes you can if you eject to expokit. otherwise you can't. if you ejected to expokit then make sure you run the packager first.

how  to  eject to expokit, i just run npm run eject

if you run npm run eject it gives you two options, ejecting to regular react native or ejecting to expokit. see here: https://github.com/react-community/create-react-native-app/blob/master/EJECTING.md#starting-the-ejection-process

after I eject on ios, may i need to  'react-native bundle'  then drag final js to xcode???

depends if you eject to expokit or not. if expokit, you don't have to do that, just publish with exp publish


Term change: correct reference to ac:accessURI in ac:serviceExpectation

Submitter
@peterdesmet
Efficacy Justification (why is this change necessary?)
Fixing an incorrect reference to ac:accessURL in ac:serviceExpectation. There is no ac:accessURL, I think the intended term is ac:accessURI (URI, not URL)
Demand Justification (if the change is semantic in nature, name at least two organizations that independently need this term)
n/a
Stability Justification (what concerns are there that this might affect existing implementations?)
n/a
Current Term definition
https://ac.tdwg.org/termlist/#ac_serviceExpectation
Term change
Proposed attributes of the new term version (Please put actual changes to be implemented in bold and ~strikethrough~):
Definition of the term (normative)

A term that describes what service expectations users may have of the ~ac:accessURL~ ac:accessURI.

Fixed in https://github.com/tdwg/rs.tdwg.org/releases/tag/2023-09-05 and https://github.com/tdwg/ac/pull/262

@baskaufs to follow up following Working Session.

It was fixed, so closing


feat: add stagger animation file tree

https://github.com/resend/react-email/assets/1891339/3bef37c5-8320-4aaf-81e2-077d2b1fae69

This is so... beautiful!


Vite plugin logging to stdout instead of stderr

Environment
Vite, Remix
Steps to Reproduce

Install @sentry/vite-plugin to send source maps and release notifications from CI/CD to Sentry
Intentionally do not store a Sentry auth token locally, only on CI/CD
Install Knip, a tool to find unused code
Run Knip with npx knip --reporter json | jq .

Expected Result
Knip writes valid JSON to stdout. Any output from Knip would go to stderr not stdout because it is not the primary output of the execution.
Actual Result
Sentry sends the following warning to stdout:
[sentry-vite-plugin] Warning: No auth token provided. Will not upload source maps. Please set the `authToken` option. You can find information on how to generate a Sentry auth token here: https://docs.sentry.io/api/auth/
As a result of this warning going to stdout, the output from knip is invalid JSON.
Thoughts

I am operating under the assumption that it is reasonable for us to only use a Sentry token in CI/CD, and not use one locally. Is that reasonable?
Perhaps there is a way to explicitly tell the Vite plugin that it should not be trying to upload source maps, so it can understand there is no need for the warning
Given that there are any number of log lines / warnings that the vite plugin could potentially emit, could the vite plugin logger be set to log to stderr instead of stdout?

Hi, only logging to stderr seems reasonable to me.

I am operating under the assumption that it is reasonable for us to only use a Sentry token in CI/CD, and not use one locally. Is that reasonable?

Correct. You can potentially even disable/remove the plugin in dev. It has very little gain in dev as of now, maybe even slightly slowing down your dev server.

Perhaps there is a way to explicitly tell the Vite plugin that it should not be trying to upload source maps, so it can understand there is no need for the warning

You can set disable: true to disable the plugin.

Thank you. Adding disable: !process.env.SENTRY_AUTH_TOKEN to our config solved the immediate problem


Rework questionnaire

Since I've changed main to the new DISI IG this PR is now broken. To recover this PR, open it against the old-main branch.


⚠ Bofrost.es has degraded performance

In 129d41b, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1602 ms

Resolved: Bofrost.es performance has improved in a5b9df7 after 8 minutes.


unable to open/clone repository

Issue Type: Bug

was able to install ext
logged in, 'Accounts' shows my Github account
Problem 1: on opening github from side menu, both the sections Pull Requests and Issues keep on loading
Problem 2: On welcome page unable to clone repository as vc says "It looks like git is not installed on your system"

Extension version: 0.24.0
VS Code version: Code 1.54.3 (2b9aebd5354a3629c3aba0a5f5df49f43d6689f8, 2021-03-15T10:55:45.459Z)
OS version: Windows_NT x64 10.0.19042

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz (8 x 2400)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onprotected_video_decode: enabledrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
7.85GB (2.95GB free)

Process Argv
--crash-reporter-id 3a5dee7f-a17f-4115-a6e3-a310d99b7be7

Screen Reader
no

VM
0%

installed GCM-core and the problem got solved.


Transitive dependencies via optional dependency aliases fails URL installation

Continuing my report from the comment here:

https://github.com/astral-sh/uv/issues/1932#issuecomment-2155660516

I am still seeing a failure to install transitive URL dependencies when using optional dependency aliases as in:
[project]
name = "transitive_optional_dependency"
dynamic = ["version"]

[project.optional-dependencies]
all = [
    "transitive_optional_dependency[docs]",
]
docs = [
    "mike @ git+https://github.com/jimporter/mike@3f7d756#egg=mike",
]

I've provided a minimally reproducible repo here: https://github.com/ringohoffman/transitive-optional-dependency
With steps:
$ git clone git@github.com:ringohoffman/transitive-optional-dependency.git
$ cd transitive-optional-dependency
$ conda create -n tod python=3.10 -y
$ conda activate tod
$ pip install uv
Collecting uv
  Using cached uv-0.2.9-py3-none-macosx_11_0_arm64.whl.metadata (33 kB)
Using cached uv-0.2.9-py3-none-macosx_11_0_arm64.whl (9.7 MB)
Installing collected packages: uv
Successfully installed uv-0.2.9
$ uv pip install -e .[all]
error: Package `mike` attempted to resolve via URL: git+https://github.com/jimporter/mike@3f7d756#egg=mike. URL dependencies must be expressed as direct requirements or constraints. Consider adding `mike @ git+https://github.com/jimporter/mike@3f7d756#egg=mike` to your dependencies or constraints file.

cc: @charliermarsh

Ah in a recursive extra? Maybe we're missing that case, thanks.


Outdated Powershell command to enable monitoring

The PowerShell command listed in the documentation suggests directly copying in the Instrumentation Key.
Enable-ApplicationInsightsMonitoring -ConnectionString 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
However, this doesn't enable the Instrumentation of the application.
What should be used is:
Enable-ApplicationInsightsMonitoring -ConnectionString 'InstrumentationKey=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 36e5b161-ef9e-41a7-8eff-14202a9556f6
Version Independent ID: 90a657f8-a6c5-def6-1f4b-fd3081da1493
Content: Azure Application Insights Agent - getting started - Azure Monitor
Content Source: articles/azure-monitor/app/status-monitor-v2-get-started.md
Service: azure-monitor
Sub-service: application-insights
GitHub Login: @TimothyMothra
Microsoft Alias: tilee

@arjenhuitema Thanks for your comment. We will review the issue and get back to you shortly.

@rajkumar-rangaraj

@arjenhuitema Thanks for your feedback. The document has been updated by @rajkumar-rangaraj  and the changes will reflect soon.
We will close the issue for now. If there are further questions , please revert and we will be glad to assist you.


DisplayLinkProvider preferredFrameRateRange range error

Hi,
First of all - great library! I am trying this out with SwiftUI (although I think this issue is unrelated) but I am encountering an issue. On my physical device (iPhone 11 Pro), the returned value of UIScreen.main.maximumFramesPerSecond is 61.
This makes the following error out:
        if #available(iOS 15.0, *) {
            let maximumFramesPerSecond = Float(UIScreen.main.maximumFramesPerSecond)
            let highFPSEnabled = maximumFramesPerSecond > 60
            let minimumFPS: Float = highFPSEnabled ? 80 : 60
            displayLinkProvider?.preferredFrameRateRange = .init(minimum: minimumFPS, maximum: maximumFramesPerSecond, preferred: maximumFramesPerSecond)
        }

Error:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'invalid range (minimum: 80.00 maximum: 61.00 preferred: 61.00)'

For now, I am forking the repo to increase the highFPSEnabled threshold and see if that works. Is there any other way to make the check work more reliably?

Interesting, good find! Let me take a look 👍

Fixed with release 0.3.2. Thanks for opening the issue!


PowerToys Color Picker Not Picking Accurate Color

Microsoft PowerToys version
0.55.2
Running as admin

[ ] Yes

Area(s) with issue?
ColorPicker
Steps to reproduce

Create a colored box using Adobe Illustrator using a fill HEX color #6c727f
Active Color Picker and compare the codes
Try this with  other HEX colors

✔ Expected Behavior
The HEX codes should match exactly, not just be close.
❌ Actual Behavior
HEX codes are close but not exact

Other Software
Adobe Illustrator

Do you use color correcting software for your monitors or for Illustrator? That usually is the culprit.

From your screenshot, MS Paint says it is correct grabbing the square.  We are just grabbing the rendered screen pixel color.  Per Jay, could there be some type of color correction software
/needinfo

Sorry guys. I just realized that I was in CMYK color mode in with Illustrator. I just testing in RGB mode and it's working perfectly...thank you for the amazing software! 👍

Good to hear.
I'm still curious about the "redshift".

Good to hear.
I'm still curious about the "redshift".

I'm still curious about the "redshift".

It is because #2C8AEA is not representable using CMYK. (precisely, SWOP CMYK which is the default for Adobe.)
If you type #2C8AEA, Adobe uses relative colorimetric conversion and clips the color at the gamut boundary [C=75, M=44, Y=0, K=0].
When we convert this CMYK color back to sRGB using perceptual conversion, we got #4884C4.
But the color in the description is #4484C4.
This could be due to round-off errors, or icc profile being loaded, etc.
I'm going to stop here, since it's not worth digging any deeper.


Temperatur sensor/ accuracy depth sensor

Hi,
Thank you for this amazing repo !
I was wondering if someone in the community might know if there is any way to get a temperature reading from the HoloLens 2 to measure if temperature affects the accuracy of the depth sensor? Are there any internal temperature sensors one could access that would be representative of the temperature of the depth sensor?
Thanks!

Hi,
Thank you for this amazing repo !
I was wondering if someone in the community might know if there is any way to get a temperature reading from the HoloLens 2 to measure if temperature affects the accuracy of the depth sensor? Are there any internal temperature sensors one could access that would be representative of the temperature of the depth sensor?
Thanks!

Hi @marcfischer123467 , you can access the temperature data of the gyroscope/accelerometer as a proxy reading. Those can be accessed through research mode. I've noticed a significant depth sensor bias sometimes, so very interested in whether you can find any trend :)
you might find this useful - https://github.com/petergu684/HoloLens2-ResearchMode-Unity/issues/13

There's no way to measure the temperature of the depth sensor. Probably the best way is with IMU, as kianwei64 suggested or otherwise you might check standard windows api to read temperature sensors.


not understand so ask why use only 4 level when cal ms_ssim

why omit the last level?
ms_ssim_val = torch.prod((cs_vals[:-1] ** weights[:-1].unsqueeze(1)) * (ssim_vals[-1] ** weights[-1]), dim=0)

I got it, the author of MSSSIM is also use this code in his matlab code


Debug JS remotely on - map jumps to initialRegion when adding a new marker.

This thing is driving me crazy. I have this code:
<View style={styles.mapContainer}>
					<MapView style={styles.map}
							 initialRegion={{
								 latitude: this.state.position.lat,
								 longitude: this.state.position.lng,
								 latitudeDelta: 0.0922,
								 longitudeDelta: 0.0421,
							 }}

							 onPress={(e) => this.onMapPress(e)}
					>
						{(() => {
							if (this.state.marker) {
								return <MapView.Marker
									key={this.state.marker.key}
									onDragEnd={(e) => this.onMarkerDragEnd(e)}
									coordinate={this.state.marker.coordinate}
									pinColor={this.state.marker.color}
									draggable
								/>
							}
						})()}
					</MapView>
				</View>

and onMap press:
	onMapPress(e) {
		if(!this.state.marker)
		{
			this.setState({
				marker: {
					coordinate: e.nativeEvent.coordinate,
					key: id++,
					color: randomColor(),
				},
			});
		}
	}

So basically when you click on the map i'm inserting a single marker. This works fine, however there is one issue. When I click on the map to insert the marker, the marker is inserted, but the map jumps to the original region.
But actually, if debug js remotely is turned off - the map doesn't jump to the initialRegion and behaves as expected. Any ideas?

Okay, After initialy losing half a day for this. Now 4mins after posting I discovered, that If I do what the examples are doing, then everything is fine. So I don't have to set initialRegion, but region and monitor the region change.
<View style={styles.mapContainer}>
					<MapView style={styles.map}
							 region={this.state.region}
							 onRegionChange={this.onRegionChange.bind(this)}

							 onPress={(e) => this.onMapPress(e)}
					>
						{(() => {
							if (this.state.marker) {
								return <MapView.Marker
									key={this.state.marker.key}
									onDragEnd={(e) => this.onMarkerDragEnd(e)}
									coordinate={this.state.marker.coordinate}
									pinColor={this.state.marker.color}
									draggable
								/>
							}
						})()}
					</MapView>
				</View>

onRegionChange(region) {
		this.setState({ region });
	}

Doing it like this obviously updates the region and even when the map rerenders - we are at the correct position.


Create single requirejs entry point for bqplot

@jdfreder, one step in the direction of having the web2 example work without overloading loadClass for bqplot. The target of the PR is the "webpack" branch, where I have the ipywidgets 5 compatibility changes.
I noticed an issue here: I had to create a map for jupyter-js-widgets because the bqplot nbextension happens to be loaded before jupyter-js-widgets, and the configuration of the requirejs for jupyter-js-config is not there yet.
requirejs.config({
    map: {
        '*' : {
            "bqplot": "nbextensions/bqplot/index",
            "jupyter-js-widgets": "nbextensions/widgets/extension",
        }
    }
});

I don't see much we could do about it.

I think you could call notebook's base/js/utils.trailets load_extension method

ok, thanks, that is a good idea.

@jdfreder I updated the pr to call load_ipython_extension and remove some requirejs shims.


This Pull Request addresses the evolutionary change that adds the http_downstream scenario to the fluent-bit-test-suite for the Splunk plugin.

This commit adds tests for the Splunk plugin in Fluent Bit. The test is under the directory called ‘http_downstream’ in scenarios.

Three configuration files have been added in runtime for Fluent Bit:

        1.      splunk_on_http2_keepalive.yaml, with the configuration to test:
        •       http2: on
        •       net.keepalive: on
        •       tls: off

        2.      splunk_on_http2_keepalive_tlsON.yaml, with the configuration to test:
        •       http2: off
        •       net.keepalive: on
        •       tls: on
        •       tls.crt_file: ../certificate/certificate.pem
        •       tls.key_file: ../certificate/private_key.pem

        3.      splunk_on_http2_Nokeepalive.yaml, with the configuration to test:
        •       http2: on
        •       net.keepalive: off
        •       tls: off

        4.      splunk_on_http2ON_keepaliveON_tlsON.yaml, with the configuration to test:
        •       http2: on
        •       net.keepalive: on
        •       tls: off

The four tests are created within logic_http_downstream_001.py using the FluentBitManager to dynamically create the connection at runtime and call the tests for each case, using 'pytest logic_http_downstream_001.py'

The structure is as follows:

        •       scenario->http_downstream: is the parent directory of the test.
        •       scenario->http_downstream->certificate: is the directory where the certificates generated for TLS tests are located.
        •       scenario->http_downstream->config: is the directory that contains the YAML configuration files for Fluent Bit.
        •       scenario->http_downstream->test: is the directory that contains the Python program for tests with pytest.

Once is ready, please change it from draft to ready for review, thank you

all requested changes have been applied.


Updating Gem?

Hello,
I tried updating few plugins and got this message from one of the plugins:
Redmine requires redmine_crm gem version 0.0.54 or higher (you're using 0.0.53).
Please update with 'bundle update redmine_crm'.

How do I run this command with docker? I tried adding it to post-install.sh but it seems to exit before that gets executed.
I also tried with a fresh tmp dir but then I get the Too many levels of symbolic links error like described in https://github.com/sameersbn/docker-redmine/issues/412

I also tried with a fresh tmp dir but then I get the Too many levels of symbolic links error like described in #412

It's expected that you destroy the container, every time you stop it.  This is especially true when you delete the tmp directory.

How do I run this command with docker? I tried adding it to post-install.sh but it seems to exit before that gets executed.

I think post-install.sh should get run every time you launch the container.
https://github.com/sameersbn/docker-redmine/search?q=install_plugins
https://github.com/sameersbn/docker-redmine/blob/6e7d4f57d73098e06071fdda0edf597756477972/assets/runtime/functions#L1043
It should print "Executing plugins/post-install.sh script..." if the script is getting run.
I suspect your issue might be related to not bringing the container down. but hard to say.

It's expected that you destroy the container, every time you stop it. This is especially true when you delete the tmp directory.

I did docker rm the redmine container (not memcached and postgresql).

It should print "Executing plugins/post-install.sh script..." if the script is getting run.

The scripts is being executed after "Installing plugins..." but the redmine container is being exited the moment redmine reaches plugin the code below.
requires_redmine_crm :version_or_higher => '0.0.54' rescue raise "\n\033[31mRedmine requires newer redmine_crm gem version.\nPlease update with 'bundle update redmine_crm'.\033[0m"

I did docker rm the redmine container (not memcached and postgresql).
I see I think that should work, I exclusively using the docker-compose commands as I find them more intuitive.

Maybe this is a problem with the redmineup plugin? Someone posted something similar 6 months ago. https://www.redmineup.com/pages/help/crm/installing-redmine-crm-plugin-on-linux#comment-4877086020

I just looked at the log again, it shows "Migrating plugins. Please be patient, this could take a while...", so it seems to fail here: https://github.com/sameersbn/docker-redmine/blob/6e7d4f57d73098e06071fdda0edf597756477972/assets/runtime/functions#L1034
I also noticed that you can create a pre-install.sh file. Should the bundle update redmine_crm command work in there?
https://github.com/sameersbn/docker-redmine/blob/6e7d4f57d73098e06071fdda0edf597756477972/assets/runtime/functions#L1016
redmine_1     | Installing plugins...
redmine_1     | Installing gems required by plugins...
redmine_1     | Your application has set without to "development:test". This will override the global value you are currently setting
redmine_1     | Migrating plugins. Please be patient, this could take a while...
redmine_1     | Redmine requires redmine_crm gem version 0.0.54 or higher (you're using 0.0.53).
redmine_1     | Please update with 'bundle update redmine_crm'.
wipli_redmine_1 exited with code 1

This seems to be a problem with the plugin.
On Fri, Oct 30, 2020 at 6:43 PM Sir-Will<EMAIL_ADDRESS>wrote:

I just looked at the log again, it shows "Migrating plugins. Please be
patient, this could take a while...", so it seems to fail here:
https://github.com/sameersbn/docker-redmine/blob/6e7d4f57d73098e06071fdda0edf597756477972/assets/runtime/functions#L1034
I also noticed that you can create a pre-install.sh file. Should the bundle
update redmine_crm command work in there?
https://github.com/sameersbn/docker-redmine/blob/6e7d4f57d73098e06071fdda0edf597756477972/assets/runtime/functions#L1016
redmine_1     | Installing plugins...
redmine_1     | Installing gems required by plugins...
redmine_1     | Your application has set without to "development:test". This will override the global value you are currently setting
redmine_1     | Migrating plugins. Please be patient, this could take a while...
redmine_1     | Redmine requires redmine_crm gem version 0.0.54 or higher (you're using 0.0.53).
redmine_1     | Please update with 'bundle update redmine_crm'.
wipli_redmine_1 exited with code 1
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/sameersbn/docker-redmine/issues/447#issuecomment-719831791,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABK2RGO4XEE654GJAJ3UASLSNM6P7ANCNFSM4TEODCFA
.

--
Jonathan Cormier
Software Engineer
Voice:<PHONE_NUMBER> x222
http://www.CriticalLink.com http://www.criticallink.com/
6712 Brooklawn Parkway, Syracuse, NY 13211
https://www.linkedin.com/company/critical-link-llc
https://twitter.com/Critical_Link

Apparently the plugin requires build-essential now. What would be the best way to add that to the dockerfile?

Apparently the plugin requires build-essential now. What would be the best way to add that to the dockerfile?

The pre-install.sh script mentioned above is run as root, so you should be able to install build-essentials before plugins are migrated.

The pre-install.sh script mentioned above is run as root, so you should be able to install build-essentials before plugins are migrated.

Hello!
Same problem here.
I am trying to add bundle update redmine_crm in pre-install.sh script, but got Bundler attempted to update redmine_crm but its version stayed the same and then Redmine requires redmine_crm gem version 0.0.56 or higher (you're using 0.0.23). Please update with 'bundle update redmine_crm'.
I found this instruction, but cant figure out, how to do this in container.
So I have two questions:

@Sir-Will, do you remember, how to update redmine_crm plugin?
Does anyone has an idea, how to manual update redmine_crm by this this instruction ?

@La1x, What version of the docker image are you using?  What version of the CRM plugin?

I just tested sameersbn/redmine:5.1.2-1 with redmine_crm-4_4_1-light.zip and it installed without issue and with no need for a pre/post install steps.
$ cd /srv/docker/redmine/redmine/plugins/
$ sudo unzip ~/Downloads/redmine_crm-4_4_1-light.zip
$ cd -
$ docker compose up
WARN[0000] /home/jcormier/dockers/docker-redmine/docker-compose.yml: `version` is obsolete
WARN[0000] Found orphan containers ([docker-redmine-mysql-1]) for this project. If you removed or renamed this service in your compose file, you can run this command with the --remove-orphans flag to clean it up.
[+] Running 2/2
 ✔ Container docker-redmine_postgresql_1  Recreated                                                      0.2s
 ✔ Container docker-redmine_redmine_1     Recreated                                                      0.1s
Attaching to postgresql-1, redmine-1
postgresql-1  | Initializing datadir...
postgresql-1  | Initializing certdir...
postgresql-1  | Initializing logdir...
postgresql-1  | Initializing rundir...
postgresql-1  | Setting resolv.conf ACLs...
postgresql-1  | Creating database user: redmine
postgresql-1  | Creating database: redmine_production...
postgresql-1  | ‣ Granting access to redmine user...
postgresql-1  | Starting PostgreSQL 14...
postgresql-1  | 2024-06-04 16:02:40.627 UTC [1] LOG:  starting PostgreSQL 14.8 (Ubuntu 14.8-1.pgdg22.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0, 64-bit
postgresql-1  | 2024-06-04 16:02:40.628 UTC [1] LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5432
postgresql-1  | 2024-06-04 16:02:40.628 UTC [1] LOG:  listening on IPv6 address "::", port 5432
postgresql-1  | 2024-06-04 16:02:40.639 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
postgresql-1  | 2024-06-04 16:02:40.647 UTC [80] LOG:  database system was shut down at 2024-06-04 16:02:40 UTC
postgresql-1  | 2024-06-04 16:02:40.652 UTC [1] LOG:  database system is ready to accept connections
redmine-1     | Initializing logdir...
redmine-1     | Initializing datadir...
redmine-1     | Symlinking dotfiles...
redmine-1     | Installing configuration templates...
redmine-1     | Configuring redmine...
redmine-1     | Configuring redmine::database
redmine-1     | Configuring redmine::logger...
redmine-1     | Configuring redmine::unicorn...
redmine-1     | Configuring redmine::secret_token...
redmine-1     | Generating a session token...
redmine-1     | Note:
redmine-1     |   All old sessions will become invalid.
redmine-1     |   Please specify the REDMINE_SECRET_TOKEN parameter for persistence.
redmine-1     |   **SHOULD** be defined if you have a load-balancing Redmine cluster.
redmine-1     | Configuring redmine::max_concurrent_ajax_uploads...
redmine-1     | Configuring redmine::sudo_mode...
redmine-1     | Configuring redmine::autologin_cookie...
redmine-1     | Configuring redmine::backups...
redmine-1     | Configuring redmine::rmagic::font...
redmine-1     | Configuring redmine::avatar::url...
redmine-1     | Configuring nginx...
redmine-1     | Configuring nginx::redmine...
redmine-1     | Installing plugins...
redmine-1     | Installing gems required by plugins...
redmine-1     | You are replacing the current local value of without, which is currently "development:test"
redmine-1     | Migrating plugins. Please be patient, this could take a while...
redmine-1     | == 16 CreateContacts: migrating ===============================================
redmine-1     | -- create_table(:contacts, {:id=>:integer})
redmine-1     |    -> 0.0109s
redmine-1     | -- add_index(:contacts, :author_id)
redmine-1     |    -> 0.0037s
redmine-1     | -- add_index(:contacts, :company)
redmine-1     |    -> 0.0037s
redmine-1     | -- add_index(:contacts, :is_company)
redmine-1     |    -> 0.0033s
redmine-1     | -- add_index(:contacts, :email)
redmine-1     |    -> 0.0036s
redmine-1     | -- add_index(:contacts, :first_name)
redmine-1     |    -> 0.0040s
redmine-1     | -- add_index(:contacts, :assigned_to_id)
redmine-1     |    -> 0.0037s
redmine-1     | == 16 CreateContacts: migrated (0.0330s) ======================================
redmine-1     |
redmine-1     | == 17 CreateContactsRelations: migrating ======================================
redmine-1     | -- create_table(:contacts_deals, {:id=>false})
redmine-1     |    -> 0.0007s
redmine-1     | -- add_index(:contacts_deals, :deal_id)
redmine-1     |    -> 0.0033s
redmine-1     | -- add_index(:contacts_deals, :contact_id)
redmine-1     |    -> 0.0033s
redmine-1     | -- create_table(:contacts_issues, {:id=>false})
redmine-1     |    -> 0.0011s
redmine-1     | -- add_index(:contacts_issues, :issue_id)
redmine-1     |    -> 0.0036s
redmine-1     | -- add_index(:contacts_issues, :contact_id)
redmine-1     |    -> 0.0035s
redmine-1     | -- create_table(:contacts_projects, {:id=>false})
redmine-1     |    -> 0.0009s
redmine-1     | -- add_index(:contacts_projects, :project_id)
redmine-1     |    -> 0.0034s
redmine-1     | -- add_index(:contacts_projects, :contact_id)
redmine-1     |    -> 0.0034s
redmine-1     | == 17 CreateContactsRelations: migrated (0.0234s) =============================
redmine-1     |
redmine-1     | == 18 CreateDeals: migrating ==================================================
redmine-1     | -- create_table(:deals, {:id=>:integer})
redmine-1     |    -> 0.0082s
redmine-1     | -- add_index(:deals, :contact_id)
redmine-1     |    -> 0.0064s
redmine-1     | -- add_index(:deals, :project_id)
redmine-1     |    -> 0.0037s
redmine-1     | -- add_index(:deals, :status_id)
redmine-1     |    -> 0.0033s
redmine-1     | -- add_index(:deals, :author_id)
redmine-1     |    -> 0.0036s
redmine-1     | -- add_index(:deals, :category_id)
redmine-1     |    -> 0.0034s
redmine-1     | == 18 CreateDeals: migrated (0.0287s) =========================================
redmine-1     |
redmine-1     | == 19 CreateDealsRelations: migrating =========================================
redmine-1     | -- create_table(:deal_categories, {:id=>:integer})
redmine-1     |    -> 0.0085s
redmine-1     | -- add_index(:deal_categories, :project_id)
redmine-1     |    -> 0.0035s
redmine-1     | -- create_table(:deal_processes, {:id=>:integer})
redmine-1     |    -> 0.0044s
redmine-1     | -- add_index(:deal_processes, [:author_id])
redmine-1     |    -> 0.0034s
redmine-1     | -- add_index(:deal_processes, [:deal_id])
redmine-1     |    -> 0.0034s
redmine-1     | -- create_table(:deal_statuses, {:id=>:integer})
redmine-1     |    -> 0.0080s
redmine-1     | -- add_index(:deal_statuses, [:is_closed])
redmine-1     |    -> 0.0037s
redmine-1     | -- create_table(:deal_statuses_projects, {:id=>false})
redmine-1     |    -> 0.0011s
redmine-1     | -- add_index(:deal_statuses_projects, [:project_id, :deal_status_id])
redmine-1     |    -> 0.0041s
redmine-1     | == 19 CreateDealsRelations: migrated (0.0406s) ================================
redmine-1     |
redmine-1     | == 20 CreateNotes: migrating ==================================================
redmine-1     | -- create_table(:notes, {:id=>:integer})
redmine-1     |    -> 0.0082s
redmine-1     | -- add_index(:notes, [:source_id, :source_type])
redmine-1     |    -> 0.0035s
redmine-1     | -- add_index(:notes, [:author_id])
redmine-1     |    -> 0.0034s
redmine-1     | == 20 CreateNotes: migrated (0.0152s) =========================================
redmine-1     |
redmine-1     | == 21 CreateTags: migrating ===================================================
redmine-1     | == 21 CreateTags: migrated (0.0236s) ==========================================
redmine-1     |
redmine-1     | == 22 CreateRecentlyVieweds: migrating ========================================
redmine-1     | -- create_table(:recently_vieweds, {:id=>:integer})
redmine-1     |    -> 0.0082s
redmine-1     | -- add_index(:recently_vieweds, [:viewed_id, :viewed_type])
redmine-1     |    -> 0.0034s
redmine-1     | -- add_index(:recently_vieweds, :viewer_id)
redmine-1     |    -> 0.0034s
redmine-1     | == 22 CreateRecentlyVieweds: migrated (0.0152s) ===============================
redmine-1     |
redmine-1     | == 23 CreateContactsSettings: migrating =======================================
redmine-1     | -- create_table(:contacts_settings, {:id=>:integer})
redmine-1     |    -> 0.0087s
redmine-1     | -- add_index(:contacts_settings, :project_id)
redmine-1     |    -> 0.0035s
redmine-1     | == 23 CreateContactsSettings: migrated (0.0123s) ==============================
redmine-1     |
redmine-1     | == 24 AddTypeToNotes: migrating ===============================================
redmine-1     | -- add_column(:notes, :type_id, :integer)
redmine-1     |    -> 0.0006s
redmine-1     | -- add_index(:notes, :type_id)
redmine-1     |    -> 0.0034s
redmine-1     | == 24 AddTypeToNotes: migrated (0.0040s) ======================================
redmine-1     |
redmine-1     | == 25 AddFieldsToDeals: migrating =============================================
redmine-1     | -- change_column(:deals, :duration, :integer)
redmine-1     |    -> 0.0005s
redmine-1     | -- add_column(:deals, :due_date, :timestamp)
redmine-1     |    -> 0.0003s
redmine-1     | -- add_column(:deals, :probability, :integer)
redmine-1     |    -> 0.0003s
redmine-1     | == 25 AddFieldsToDeals: migrated (0.0033s) ====================================
redmine-1     |
redmine-1     | == 26 CreateContactsQueries: migrating ========================================
redmine-1     | -- create_table(:contacts_queries, {:id=>:integer})
redmine-1     |    -> 0.0094s
redmine-1     | -- add_index(:contacts_queries, :project_id)
redmine-1     |    -> 0.0032s
redmine-1     | -- add_index(:contacts_queries, :user_id)
redmine-1     |    -> 0.0033s
redmine-1     | == 26 CreateContactsQueries: migrated (0.0160s) ===============================
redmine-1     |
redmine-1     | == 27 ChangeDealsCurrencyType: migrating ======================================
redmine-1     | -- change_column(:deals, :currency, :string)
redmine-1     |    -> 0.0280s
redmine-1     | == 27 ChangeDealsCurrencyType: migrated (0.0281s) =============================
redmine-1     |
redmine-1     | == 28 AddCachedTagListToContacts: migrating ===================================
redmine-1     | -- add_column(:contacts, :cached_tag_list, :string)
redmine-1     |    -> 0.0006s
redmine-1     | == 28 AddCachedTagListToContacts: migrated (0.0006s) ==========================
redmine-1     |
redmine-1     | == 29 AddVisibilityToContacts: migrating ======================================
redmine-1     | -- add_column(:contacts, :visibility, :integer, {:default=>0, :null=>false})
redmine-1     |    -> 0.0004s
redmine-1     | == 29 AddVisibilityToContacts: migrated (0.0222s) =============================
redmine-1     |
redmine-1     | == 30 ChangeDealStatusesIsClosed: migrating ===================================
redmine-1     | -- remove_column(:deal_statuses, :is_closed)
redmine-1     |    -> 0.0005s
redmine-1     | -- add_column(:deal_statuses, :status_type, :integer, {:default=>0, :null=>false})
redmine-1     |    -> 0.0005s
redmine-1     | == 30 ChangeDealStatusesIsClosed: migrated (0.0010s) ==========================
redmine-1     |
redmine-1     | == 31 PopulateContactsModule: migrating =======================================
redmine-1     | == 31 PopulateContactsModule: migrated (0.0075s) ==============================
redmine-1     |
redmine-1     | == 32 CreateAddresses: migrating ==============================================
redmine-1     | -- create_table(:addresses, {:id=>:integer})
redmine-1     |    -> 0.0083s
redmine-1     | -- add_index(:addresses, [:addressable_id, :addressable_type])
redmine-1     |    -> 0.0036s
redmine-1     | -- add_index(:addresses, :address_type)
redmine-1     |    -> 0.0039s
redmine-1     | -- remove_column(:contacts, :address)
redmine-1     |    -> 0.0003s
redmine-1     | == 32 CreateAddresses: migrated (0.0167s) =====================================
redmine-1     |
redmine-1     | == 33 CreateDealsIssues: migrating ============================================
redmine-1     | -- create_table(:deals_issues, {:id=>:integer})
redmine-1     |    -> 0.0047s
redmine-1     | -- add_index(:deals_issues, :issue_id)
redmine-1     |    -> 0.0034s
redmine-1     | -- add_index(:deals_issues, :deal_id)
redmine-1     |    -> 0.0034s
redmine-1     | == 33 CreateDealsIssues: migrated (0.0115s) ===================================
redmine-1     |
redmine-1     | == 34 ChangeDealsPricePrecision: migrating ====================================
redmine-1     | -- change_column(:deals, :price, :decimal, {:precision=>20, :scale=>2})
redmine-1     |    -> 0.0005s
redmine-1     | == 34 ChangeDealsPricePrecision: migrated (0.0005s) ===========================
redmine-1     |
redmine-1     | == 35 DropRecentlyVieweds: migrating ==========================================
redmine-1     | -- drop_table(:recently_vieweds)
redmine-1     |    -> 0.0009s
redmine-1     | == 35 DropRecentlyVieweds: migrated (0.0009s) =================================
redmine-1     |
redmine-1     | == 36 DropContactsSettings: migrating =========================================
redmine-1     | -- drop_table(:contacts_settings)
redmine-1     |    -> 0.0007s
redmine-1     | == 36 DropContactsSettings: migrated (0.0113s) ================================
redmine-1     |
redmine-1     | Installing themes...
redmine-1     | 2024-06-04 21:33:00,748 INFO Included extra file "/etc/supervisor/conf.d/cron.conf" during parsing
redmine-1     | 2024-06-04 21:33:00,748 INFO Included extra file "/etc/supervisor/conf.d/nginx.conf" during parsing
redmine-1     | 2024-06-04 21:33:00,748 INFO Included extra file "/etc/supervisor/conf.d/unicorn.conf" during parsing
redmine-1     | 2024-06-04 21:33:00,748 INFO Set uid to user 0 succeeded
redmine-1     | 2024-06-04 21:33:00,750 INFO RPC interface 'supervisor' initialized
redmine-1     | 2024-06-04 21:33:00,750 INFO supervisord started with pid 1
redmine-1     | 2024-06-04 21:33:01,752 INFO spawned: 'unicorn' with pid 482
redmine-1     | 2024-06-04 21:33:01,753 INFO spawned: 'cron' with pid 483
redmine-1     | 2024-06-04 21:33:01,754 INFO spawned: 'nginx' with pid 484
redmine-1     | 2024-06-04 21:33:02,980 INFO success: unicorn entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
redmine-1     | 2024-06-04 21:33:02,980 INFO success: cron entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
redmine-1     | 2024-06-04 21:33:02,980 INFO success: nginx entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
^CGracefully stopping... (press Ctrl+C again to force)
[+] Stopping 2/1
 ✔ Container docker-redmine-redmine-1     Stopped                                                        0.4s
 ✔ Container docker-redmine-postgresql-1  Stopped                                                        0.0s

@jcormier , thank you for reply!
Docker image sameersbn/redmine:5.1.2-1.
Plugin redmine agile version 1.6.5 that depends on gem redmine_crm version 0.0.56 or higher.
I found solution: explicitly set version in plugin's Gemfile: gem "redmine_crm", "0.0.63"
Maybe this is a problem caused by plugin's Gemfile?

Yeah, I'd guess you have two plugins with conflicting Gemfile dependencies.

@jcormier , no, it's only one plugin.
I think there is problem with plugin and dependency repo - it's install wrong version due to lack of explicit version.


Basic User Authentication

Description
Adds basic username/password authentication compliant with Cassandra's PasswordAuthenticator
Additionally, since the 8/30 snapshot required no changes, I made the necessary documentation/testing changes to migrate to 8/30
How Has This Been Tested?
Added authenticator: PasswordAuthenticator to my local /usr/local/etc/cassandra/cassandra.yaml file
and ran the test cases on 8/30
Checklist:

[x] I have submitted a CLA form
[x]  If applicable, I have updated the documentation accordingly.
[ ]  If applicable, I have added tests to cover my changes.

Yeah


(n ahead) after shuffling wrong

I noticed that after a queue gets shuffled, the "(n ahead)" message in the tab does not get updated and shows the number from before shuffling. This was at least true for Safari on Mac.

This is where the title is set:
https://github.com/signmeup/signmeup/blob/e3662869d3bbd7d0f3d44a5d4ff9d715c6fd38bb/imports/ui/pages/queue/queue.js#L76-L92
Somehow, it must not get called after the queue is shuffled. It seems to get called for most other updates, so I’m not sure why this could be.


Unix sockets Permissions

Hello, @xplicit , cool project!
Is it possible to specify the permissions for unix socket?
Like this:

...
<EMAIL_ADDRESS>...

There is no option to set up permission explicitly in hyperfastcgi config. But if you trying to avoid 'permission denied' issue when restarting nginx/hyperfastcgi  this comment might help you.
https://github.com/xplicit/HyperFastCgi/issues/16#issuecomment-57070579

Thank you!


tsdb: Do a full rollback upon commit error

I think the previous behavior is problematic as it will leave
memSeries around that still have pendingCommit set to true.
The only case where this can happen in this code path is a failure to
write to the WAL, in which case we are probably in trouble anyway. I
believe, however, we should still try to do the right thing and do the
full rollback. This will implicitly try to write to the WAL again, but
this time without samples, which may even succeed. (But we propagate
the previous error in any case.)
This is another thing I ran into while staring at code for the isolation implementation.

I don't think you meant to put that before the defer, did you?

I don't think you meant to put that before the defer, did you?

oh Rollback will have the same defer.

What are the risks of running a.log twice?

What are the risks of running a.log twice?

No risks. Duplicate series records are handles in the WAL replay.

@codesome I have addressed your comments. Perhaps you could have another look before I merge this.

@codesome is asleep now. @roidelapluie since you approved and @codesome's comments are clearly addressed now, I'll merge (to not miss tomorrow's rc.0 train).


Use a UUID (rather than a sentinel object) for sentinel on Pub / Sub Future.

Similar to STOP. Though empirically I'm not seeing the object ID change across threads or across multiprocessing processes.
Since I wanted to be thorough, here is why we do this. An object ID won't change (on unix) when using "fork". Running
# do_it.py
import multiprocessing
import sys

def f(some_obj):
    process = multiprocessing.current_process()
    print('multiprocessing.current_process(): {}'.format(process))
    print('some_obj: {}'.format(some_obj))

def main():
    multiprocessing.set_start_method(sys.argv[1])
    some_obj = object()
    print(some_obj)

    proc1 = multiprocessing.Process(target=f, args=(some_obj,))
    proc2 = multiprocessing.Process(target=f, args=(some_obj,))

    proc1.start()
    proc2.start()

    proc1.join()
    proc2.join()

if __name__ == '__main__':
    main()

we see:
$ python do_it.py fork
<object object at 0x7fd69f0ba180>
multiprocessing.current_process(): <Process(Process-1, started)>
some_obj: <object object at 0x7fd69f0ba180>
multiprocessing.current_process(): <Process(Process-2, started)>
some_obj: <object object at 0x7fd69f0ba180>

but it will change when using "spawn":
$ python do_it.py spawn
<object object at 0x7f5278d73180>
multiprocessing.current_process(): <Process(Process-1, started)>
some_obj: <object object at 0x7fad5c9630c0>
multiprocessing.current_process(): <Process(Process-2, started)>
some_obj: <object object at 0x7f71271750c0>

@lukesneeringer PTAL (sorry I'm asking for another pass).
I realized that the identity checks (i.e. foo is bar) needed to be converted to equality checks since the instance identity may change. (This is somewhat unlikely since self._FUTURE will just come from the class, so maybe I'm just being paranoid.)


[SyncDictionary] Client events are duplicated

Hello,
I've spent few hours trying to figure out whats happening with the SyncDictionary duplicated events on client side each time there is an update from Server. In fact Operation event callback are duplicated (twice per player).
Unity Release: 2021.3.16.f1
Mirror Version: 71.0.0
To be sure I don't make any mistakes, I went back to the (really) basic example from the documentation by using the following code:
using UnityEngine;
using Mirror;
using System.Collections.Generic;

public struct ItemStruct
{
    public string name;
    public int hitPoints;
    public int durability;
}

public class ExamplePlayer : NetworkBehaviour
{
    public readonly SyncDictionary<string, ItemStruct> equipment = new SyncDictionary<string, ItemStruct>();

    private void Update()
    {
        // Server is registering item
        if (NetworkServer.active)
        {
            if (Input.GetKeyDown(KeyCode.K)) equipment.Add("head" + NetworkTime.time, new ItemStruct { name = "Helmet", hitPoints = 10, durability = 20 });
        }

    }

    public override void OnStartServer()
    {
        equipment.Add("head", new ItemStruct { name = "Helmet", hitPoints = 10, durability = 20 });
        equipment.Add("body", new ItemStruct { name = "Epic Armor", hitPoints = 50, durability = 50 });
        equipment.Add("feet", new ItemStruct { name = "Sneakers", hitPoints = 3, durability = 40 });
        equipment.Add("hands", new ItemStruct { name = "Sword", hitPoints = 30, durability = 15 });
    }

    public override void OnStartClient()
    {
        // Clients are listening Equipment changes
        if(!NetworkServer.active)
        {
            // Equipment is already populated with anything the server set up
            // but we can subscribe to the callback in case it is updated later on
            equipment.Callback += OnEquipmentChange;

            // Process initial SyncDictionary payload
            foreach (KeyValuePair<string, ItemStruct> kvp in equipment)
                OnEquipmentChange(SyncDictionary<string, ItemStruct>.Operation.OP_ADD, kvp.Key, kvp.Value);
        }
    }

    void OnEquipmentChange(SyncDictionary<string, ItemStruct>.Operation op, string key, ItemStruct item)
    {
        Debug.Log("Key: " + key + "; Op: " + op + "; Value: " + item.name + " / " + item.hitPoints + " / " + item.durability);

        switch (op)
        {
            case SyncIDictionary<string, ItemStruct>.Operation.OP_ADD:
                // entry added
                break;
            case SyncIDictionary<string, ItemStruct>.Operation.OP_SET:
                // entry changed
                break;
            case SyncIDictionary<string, ItemStruct>.Operation.OP_REMOVE:
                // entry removed
                break;
            case SyncIDictionary<string, ItemStruct>.Operation.OP_CLEAR:
                // Dictionary was cleared
                break;
        }
    }
}

When I press K key the result on client side with 2 players connected is:

Which means:
1st event called 2 times on each client (1 / client)
2nd event called 2 times on each client (1 / client)
But in fact an usual result should have been:
1st event called 2 times on each client (1 / client).
This is really anoying because it generates error while updating unique ids in the dictionary on client side
If we look into details the logs are differents for both messages even if the were triggered at the same time:
1st event

2nd event

I'm using Mirror Networking for a long time and I never encountered any issue like that, I don't know if this happen also with SyncList. I've recently updated my project to the latest Mirror version but I can't said if this is new or not.
You will find here the source code used and the log results.
BugReport_SyncDictionary.zip
Many thanks for your help guys.

Already fixed this - try this release.

Thank you very much :)
I will try tomottow and let you know


x/tools/gopls: WorkspaceSymbol returns strange results in strange order

What version of Go are you using (go version)?

$ go version
go version go1.20.2 linux/arm64
$ go list -m golang.org/x/tools
golang.org/x/tools v0.8.1-0.20230424202313-71ea8f168c16
$ go list -m golang.org/x/tools/gopls
golang.org/x/tools/gopls v0.0.0-20230424202313-71ea8f168c16

Does this issue reproduce with the latest release?

The results are ordered as follows (best match first):
mvdan.cc/sh/v3/interp.Runner
mvdan.cc/sh/v3/interp.runnerOpts
mvdan.cc/sh/v3/interp.RunnerOption
mvdan.cc/sh/v3/interp_test.runTest
mvdan.cc/sh/v3/interp_test.runTests
mvdan.cc/sh/v3/interp_test.runnerCtx
mvdan.cc/sh/v3/cmd/gosh.runInteractive
mvdan.cc/sh/v3/interp_test.runTestsUnix
mvdan.cc/sh/v3/interp_test.runTests64bit
mvdan.cc/sh/v3/interp_test.runTestsWindows
mvdan.cc/sh/v3/syntax.Parser.rune
mvdan.cc/sh/v3/syntax.singleRuneParam
mvdan.cc/sh/v3/interp_test.TestRunnerDir
...

I've included ~20% of the results returned. Notice that I performed this search when in the context of the syntax package.
The one row (in the first 20% of results) where there is a full match on the last element (i.e. the symbol itself), the row I actually want, is at position 11. There are less good matches in the first 10 rows, some of which are in test packages. None of those first 10 are in the package of interest (given the current file cursor position in syntax/parser.go).
This problem is related to #37237. That said, https://github.com/golang/go/issues/37236#issuecomment-1536515780 makes clear that there are currently no plans to implement such an approach.
Therefore I think the current matching logic should be better here.
I've not looked at this part of the code recently, but it seems like the scoring of perfect matches for the symbol itself could/should score much higher?
What did you expect to see?
mvdan.cc/sh/v3/syntax.Parser.rune returned as the first result.
What did you see instead?
As above.

gopls.log
govim.log

Thanks, this is a regression that we had not noticed since other clients perform their own sorting.
I'll fix this presently.

Correction, this is not a regression, but rather a poor downranking of nested fields/methods.
The raw matching score for "rune" is 100%, but is downranked to 80% for being a method.
The raw matching score for "Runner" is 90%, and is not downranked as it is a top-level declaration.
I think the downranking for fields/methods is far too high, as it should only be a tie-breaker. I'll reduce it significantly.


feat(font): add Akrobat

I'm sorry I couldn't find the license file from the license holder's website (https://www.fontfabric.com/fonts/akrobat/) so I linked it from another website (https://localfonts.eu/wp-content/uploads/2017/12/EULA-Free-Font-License-Ver.-2.0.pdf).

Hi @DecliningLotus, sorry I didn't notice that part of the licence, I should have known that it’s too restrictive.


Fastest way to add or remove thousands of WorldObjects

I have the following use case:
We display thousands (2,000 - 3,000) of Line objects (they are contours around neurons) like what you see in the top left Subplot here: https://user-images.githubusercontent.com/9403332/210027199-6e4ac193-6096-4d18-80d5-a41591ea4d4f.gif
We want to rapidly make a subset of them visible or not visible, for example make a subset of 500 Line objects visible and the rest not visible, and we want this to work at a speed of at least 10 Hz because it's linked to user interaction.
I have tried adding and removing the Line world objects from the scene in a for loop but this is slow. I also tried changing the visibility. Is there a way to change "bulk" visibility very quickly?
Will make a minimal example later today if that helps.

Put them in a separate scene and just don't render it.

I think what you are looking for is the Group class. You can use the Group class to group objects together and control their visibility by setting the "visible" property of the Group to show/hide the objects.

Well, with threejs you have something called "LineSegments" which you provide with start/end pairs for geometry. Every line segment is then independent. I guess I thought we supported that already, but maybe we don't. :)

Ah, yes, could also use gfx.LineSegmentMaterial! Though it could be that if you make the lines semi-transparent, you might get artifacts due to overlapping fragments (would have to check whether this is actually the case).

It seems like making a single Line world object with LineMaterial and changing the alpha is very fast, however it's not as nice as having individual objects and I have to get rid of the line joining adjacent circles. From the line segements example I can't figure out how to set an arbitrary start-stop for each segment.
I'm guessing there isn't a fast way to do this with individual world objects? If not then I'll create an abstraction for managing these in a similar way to the current LineCollection in fastplotlib, which is mostly a pygfx.Group with some additional high level functionality.
This is what I'm trying to do:
https://github.com/pygfx/pygfx/assets/9403332/62c84cbb-d030-4620-b4aa-02afa46d8ca7
With regular pygfx.LineMaterial and map_interpolation="nearest" I get these artifacts where there would be overlapping fragments
alpha set to 0 at the positions that join two circles:

Those artifacts are exactly between the join points of circles:

Entire scene just to highlight the points between adjacent circles:

def set_visible_alpha(ev):
    ixs_visible = ev.pick_info["selected_indices"]
    ixs_hide = np.setdiff1d(np.arange(len(circles)), ixs_visible)

    # over here each circle is 50 points, but for our real data this will be arbitrary
    for i in ixs_visible:
        contours.world_object.geometry.colors.data[i * 50:(i * 50) + 50, -1] = 1

    for i in ixs_hide:
        contours.world_object.geometry.colors.data[i * 50:(i * 50) + 50, -1] = 0

    contours.world_object.geometry.colors.update_range()

# fpl selector on heatmap in right subplot
selector.bounds.add_event_handler(set_visible_alpha)

Using a "holder" scene to put objects we don't want to render is slow, this takes ~500ms, and profiling showed that ~200ms is spent in for i in ixs_visible and the Group.add calls.
holder_scene = pygfx.Scene()

`contours.world_object` is a `pygfx.Group` that holds all the circle lines.
`contours.graphics` is a regular `list` that has all the circle lines as well.
def set_visible(ev):
    # get ixs that should be visible
    ixs_visible = ev.pick_info["selected_indices"]

    # add back anything that should be visible
    for i in ixs_visible:
        if contours.graphics[i].world_object in holder_scene.children:
            contours.world_object.add(contours.graphics[i].world_object)

    # get things to hide
    ixs_hide = np.setdiff1d(np.arange(len(circles)), ixs_visible)
    # hidden lines
    hidden_objs = [contours.graphics[i].world_object for i in ixs_hide]
    # add to non-rendered scene
    holder_scene.add(*hidden_objs)

If you saw the the original version of the above reply please ignore, I was setting vertex colors as 0 instead of just the alpha which is why it looked like there were fragment artifacts, there actually aren't any!

From the line segements example I can't figure out how to set an arbitrary start-stop for each segment.

Given your observations so far, I'd say this should be your focus at this point!

From the shader it just segments it out into chunks of 5:
https://github.com/pygfx/pygfx/blob/c3e6f85b0bd339a17c36b31d895f6676c204b436/pygfx/renderers/wgpu/lineshader.py#L461-L467
I will think more about this later, but the simplest thing could be to pass a list of tuples of (start_i, end_i) indices for each segment to LineSegmentMaterial, and in the shader anything between end_i and start_i - 1 is degenerate triangles.

Ah, but then isn't it only going to create straight lines betweens the pairs of points? What I need is:
[[seg_1_pos_1, seg_1_pos_2, ..., seg_1_pos_n, seg_2_pos_1, seg_2_pos_2, ...]]

where each segment can be of arbitrary length.

Ah, but then isn't it only going to create straight lines betweens the pairs of points? What I need is:
[[seg_1_pos_1, seg_1_pos_2, ..., seg_1_pos_n, seg_2_pos_1, seg_2_pos_2, ...]]

where each segment can be of arbitrary length.

I think that would get you the result you need?

For your use case, another option is to use InstancedObject. However, it seems that the current implementation of InstancedMesh in pygfx only supports setting the local transformation matrix of instances. Therefore, if you want to set other instance properties such as color or visibility, you may need to extend the class yourself and implement the corresponding methods.

Ah, but then isn't it only going to create straight lines betweens the pairs of points?

I think that would get you the result you need?

For example if I modify the line segments example and draw circles it produces ths, I'm looking for circles which are complete but only the points between the circles are not draw. The circles can each have arbitrary numbers of points:

"""
Line Segments
=============

Display line segments. Can be useful e.g. for visializing vector fields.
"""
# sphinx_gallery_pygfx_render = True

import numpy as np
from wgpu.gui.auto import WgpuCanvas, run
import pygfx as gfx
from itertools import product

canvas = WgpuCanvas()
renderer = gfx.WgpuRenderer(canvas)

scene = gfx.Scene()

def make_circle(center, radius: float, n_points: int = 75) -> np.ndarray:
    theta = np.linspace(0, 2 * np.pi, n_points)
    xs = radius * np.sin(theta)
    ys = radius * np.cos(theta)

    return np.column_stack([xs, ys]) + center

spatial_dims = (20, 20)

circles = list()
for center in product(range(0, spatial_dims[0], 15), range(0, spatial_dims[1], 15)):
    circles.append(make_circle(center, 5, n_points=75))

pos_xy = np.vstack(circles)

positions = np.column_stack([pos_xy, np.zeros(pos_xy.shape[0])]).astype(np.float32)

colors = np.random.uniform(0, 1, (positions.shape[0], 4)).astype(np.float32)
geometry = gfx.Geometry(positions=positions, colors=colors)

material = gfx.LineSegmentMaterial(
    thickness=6.0, color=(0.0, 0.7, 0.3, 0.5), vertex_colors=False, map_interpolation="nearest"
)
line = gfx.Line(geometry, material)
scene.add(line)

camera = gfx.OrthographicCamera(maintain_aspect=False)
camera.show_object(line)

controller = gfx.PanZoomController(camera, register_events=renderer)

if __name__ == "__main__":
    canvas.request_draw(lambda: renderer.render(scene, camera))
    run()

For example if I modify the line segments example and draw circles it produces ths, I'm looking for circles which are complete but only the points between the circles are not "visible".

Is it feasible to postprocess the geometry to create the shapes you want? Seems simple enough?

I'm looking for circles which are complete but only the points between the circles are not "visible"

To extend on what Korijn said, you'll need to create a new positions array that is about twice as long, because each end-point will also have to be the next start-point if you want a contiguous line. And then you have to end in such a way that the line between two circles is in a gap between two segments ;)
About using alpha: that works, but you probably get a better result by using a position that is [nan, nan, nan]. I just tested, and this indeed introduces a hard gap in the line. Only no nice caps, this is something we could probably fix in the shader.
About the holder scene: the way this could work is to have 2 (or more) static scenes that you can render or not render. Moving objects from one scene to the other is not going to be fast.

All this said ... I think there is a slight misunderstanding (at least on my part): when you said "We want to rapidly make a subset of them visible or not visible"  I think I assumed that set to be static, but your video indicates that this set can be different every time - or can they still be grouped somehow, i.e. are there multple circles that are always visible/invisible together?
If you want to switch visibility on a fine-grained level, my thoughts actually turn towards the wobject.visible property. You said in the top post that you had tries that. Was there a problem with it?

Thanks! I now understand how I could use pairs of positions, I'll just stick to a nan point between segments because then it's an almost 1-1 mapping between the real data positions and the buffer, we want to easily change things like the color after drawing.
nan works well and doesn't create the notches :smile:

About the holder scene: the way this could work is to have 2 (or more) static scenes that you can render or not render. Moving objects from one scene to the other is not going to be fast.

Ah ok, so basically adding or removing thousands of objects from a scene is never going to happen under ~30ms?

All this said ... I think there is a slight misunderstanding (at least on my part): when you said "We want to rapidly make a subset of them visible or not visible" I think I assumed that set to be static, but your video indicates that this set can be different every time - or can they still be grouped somehow, i.e. are there multple circles that are always visible/invisible together?

Yes, we want to be able to abitrarily make large numbers of object visible or not visible, they are not grouped. I'll elaborate on the usage tomorrow, I made a new prototype class in fastplotlib to manage segements of a single pygfx.Line without changing the API and it works quite well, it takes ~30ms for changing 2000 lines (on an old RX 470 GPU).
Thanks for the discussion and all the details! I hope it's also useful for future users when deciding a strategy for drawing a large number of objects.

If you want to switch visibility on a fine-grained level, my thoughts actually turn towards the wobject.visible property. You said in the top post that you had tries that. Was there a problem with it?

Yes I tried this and it was quite slow, I think it took ~300ms for changing visibilities of a few thousand lines. I can post some detailed profiles later.

I'm confused. nan works well? I don't think we've (consciously at least) made an effort to support that?

I'll get back to this in a week, busy and moving at the end of the month.

I would recommend to use cprofile and snakeviz to profile the code that you're running and inspect a flamegraph. If you can, share the cprofile file here. We might spot a very easy way to make it run much faster.

Yup, I use viztracer these days.

This is surprising ... I just tried, and can change the visibility prop on 1000 objects in under 3ms.

I'll try this again.

Did you only measure the time needed to change the line? Note that these changes are synced to the GPU right before the next draw, and this will add a bit of overhead as well.

included the update_range() in the time, basically:
t1 = time()

line.geometry.color.data[start:stop, :-1] = 0
line.geometry.color.update_range(start, size=stop)

elapsed = time() - t1

Is there a better way?

Calling update_range() only marks what part of the buffer/texture needs to be synced. The renderer applies the syncing right before it draws. There is no one-liner to force the sync early, but you could do this to get more realistic timings:
        from pygfx.renderers.wgpu._update import update_resource
        for buffer in all_buffers_that_need_to_be_synced:
             update_resource(buffer)

I think I figured this out. I'm not only changing the visibility of 1000 objects, I'm also setting the visibility of the other several thousand objects based on the the selector tool on the right. The slowdown was from an indexer object and for loops I was using to slice lines that should be visible or not. I've resorted to just storing the lines within numpy arrays to give me fancy indexing :smile:
This takes 10 ms, contours.graphics is a numpy array of fastplotlib Graphic objects which manage the pygfx.WorldObject
for g in contours.graphics[ixs_visible]:  # graphcis is a numpy array
    if not g.visible:
        g.visible = True  # just refers to WorldObject.visible

for g in contours.graphics[ixs_hide]:
    if g.visible:
        g.visible = False

https://github.com/pygfx/pygfx/assets/9403332/5e709c82-4b6c-493b-9bf1-45016028fb75

Closing, here's the real usecase. The linear region selector on the top right heatmap is moved, and that changes the visible contours on the "mean" subplot on the left. This was via remote use through the internet, it's much faster locally on LAN. :smile:
https://github.com/pygfx/pygfx/assets/9403332/8d391e55-9760-452c-b8bb-d06c80671d37


Add personal info to AboutUs.md and fix checkstyle issues for CI

Codecov Report
Base: 72.15% // Head: 72.15% // No change to project coverage :thumbsup:

Coverage data is based on head (8dcaa72) compared to base (98a5520).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##             master      #52   +/-   ##
=========================================
  Coverage     72.15%   72.15%
  Complexity      399      399
=========================================
  Files            70       70
  Lines          1232     1232
  Branches        125      125
=========================================
  Hits            889      889
  Misses          311      311
  Partials         32       32

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Change agent reporter to GRPC

Resolves #260
Signed-off-by: Pavol Loffay<EMAIL_ADDRESS>

This change is


chore: use 'examples' as submodules

Description
Use the 'examples' folder (https://github.com/aziontech/vulcan-examples) as a git submodule.

:tada: This PR is included in version 2.6.0-stage.5 :tada:
The release is available on:

npm package (@stage dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 2.6.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


AWS Pack install failing in st2 2.7.1

Team,
I'm not able to install any pack in st2 2.7.1
id: 5ae874f91dcea036e8b3fee5
action.ref: packs.install
parameters:
  packs:
  - file:////home/example/aws
  python3: false
status: failed
result_task: download pack
result:
  error: 'Failed running task "download pack".. Update failed (Unknown modifier: $pushAll)'
  traceback: "Traceback (most recent call last):
  File "/opt/stackstorm/runners/action_chain_runner/action_chain_runner/action_chain_runner.py", line 516, in _run_chain
    liveaction = self._run_action(liveaction)
  File "/opt/stackstorm/runners/action_chain_runner/action_chain_runner/action_chain_runner.py", line 734, in _run_action
    raise e
OperationError: Update failed (Unknown modifier: $pushAll)
"
error: Failed running task "download pack".. Update failed (Unknown modifier: $pushAll)
traceback: Traceback (most recent call last):
  File "/opt/stackstorm/runners/action_chain_runner/action_chain_runner/action_chain_runner.py", line 516, in _run_chain
    liveaction = self._run_action(liveaction)
  File "/opt/stackstorm/runners/action_chain_runner/action_chain_runner/action_chain_runner.py", line 734, in _run_action
    raise e
OperationError: Update failed (Unknown modifier: $pushAll)

failed_on: download pack
start_timestamp: Tue, 01 May 2018 07:08:57 PDT
end_timestamp: Tue, 01 May 2018 07:08:58 PDT
+--------------------------+-----------+---------------+----------------+------------------------------+
| id                       | status    | task          | action         | start_timestamp              |
+--------------------------+-----------+---------------+----------------+------------------------------+
| 5ae874fa1dcea0376989786f | requested | download pack | packs.download | Tue, 01 May 2018 07:08:58    |
|                          |           |               |                | PDT                          |
+--------------------------+-----------+---------------+----------------+------------------------------+

Could this be a bug ? I'm able to execute any other adhoc actions though.
Regards
Harish

How are you installing that pack? It looks like you are not using the normal commands st2 pack install aws, but something else?
Are you doing it by running something like git clone https://github.com/StackStorm-Exchange/stackstorm-aws /home/example/aws first?
It looks like your problem is that you are running something like st2 pack install file:////home/example/aws
That is one / too many. The command should be st2 pack install file:///home/example/aws

Also, PLEASE use Github markdown formatting when pasting large blobs of code, logs or command output. It's much easier to read.

Hi Lindsay,
I figured out the issue, i had a higher version of mongodb 3.6.4 causing this issue, i downgraded it to 3.4.14 and it works
Regards
Harish

Thanks for the update.
Not surprising, since I don’t think we’ve done any testing with Mongo 3.6.


bug(scss): import paths have changed

Is this a regression?

[X] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
v12
Description
In v12, I used the following import in SCSS files @use "~@angular/material" as mat;.
After migrating to Angular v13, only the following import works @use "@angular/material" as mat;.
However, Webstorm does not recognize the import.
Reproduction
Steps to reproduce:

Migrate to Angular (Material) v13
Use @use "~@angular/material" as mat;

Expected Behavior
Old imports work as expected.
Actual Behavior
I had to change the import to @use "@angular/material" as mat;, which causes IDE warnings.
Environment

Angular:
CDK/Material: 13.0.0
Browser(s): any
Operating System (e.g. Windows, macOS, Ubuntu): Windows 11, macOS Monterey

The tilde imports has been deprecated in the sass-loader for a long time and in v13 we stopped supporting it (see https://github.com/webpack-contrib/sass-loader#resolving-import-at-rules). There was an automated migration that should've removed it for you. Did you update your project using ng update or by bumping the versions in the package.json? Also did you update from 12 to 13 or from an RC version?

I see, thank you!
So the Webstorm errors can be ignored, that's good to know.
I migrated from 12.2.12 to 13.0.0 using ng update according to https://update.angular.io.

Ignoring the error isn't a good solution since code completion fails as well.

The WebStorm issues will be resolved soon, see https://youtrack.jetbrains.com/issue/WEB-53312?_ga=2.16688127.810438460.1636730288-874848357.1590392228

The WebStorm issues will be resolved soon, see https://youtrack.jetbrains.com/issue/WEB-53312?_ga=2.16688127.810438460.1636730288-874848357.1590392228

Webstorm started recognizing paths after adding the following to angular.json under build
            "stylePreprocessorOptions": {
              "includePaths": [
                "src/styles",
                "node_modules"
              ]
            },

It's marked as resolved in WebStorm.


Remove data-collector when no twig or profiler present

Laravel version: 8.x
Symfony version: 5.0
Closes https://github.com/wouterj/WouterJEloquentBundle/issues/130

@wouterj I essentially use this patch from a month now without any issues. Can we get that merged?

Thank you @brzuchal. I've added a commit to your PR to add a test and change the if condition, as DI extension get a clean container and not the real container - so the $container->has() check always returns false.
This new condition should be safe now, if I read the issue correctly. Can you give this a spin? If it works, I'll release 2.3.1 with this fix :)

Thanks @wouterj I can test it next week.


build for ubuntu 14.04 fail

Error msg below:
Linking CXX executable binaries/blob_gpu_test
libCaffe2_CPU.so: undefined reference to XXH64' libCaffe2_CPU.so: undefined reference to caffe2::signalFailure(caffe2::Blob*, gloo::IoException&)'

Me too. I got following error msg:
[ 86%] Building CXX object caffe2/CMakeFiles/Caffe2_GPU.dir/sgd/learning_rate_op_gpu.cc.o
Linking CXX shared library libCaffe2_GPU.so
make[3]: Leaving directory /home/caffe2/build' [ 86%] Built target Caffe2_GPU make[3]: Entering directory /home/caffe2/build'
Scanning dependencies of target blob_gpu_test
make[3]: Leaving directory /home/caffe2/build' make[3]: Entering directory /homecaffe2/build'
[ 87%] Building CXX object caffe2/CMakeFiles/blob_gpu_test.dir/core/blob_gpu_test.cc.o
Linking CXX executable binaries/blob_gpu_test
libCaffe2_CPU.so: undefined reference to XXH64' collect2: error: ld returned 1 exit status make[3]: *** [caffe2/binaries/blob_gpu_test] Error 1 make[3]: Leaving directory /home/caffe2/build'
make[2]: *** [caffe2/CMakeFiles/blob_gpu_test.dir/all] Error 2
make[2]: Leaving directory /home/caffe2/build' make[1]: *** [all] Error 2 make[1]: Leaving directory /home/caffe2/build'
make: *** [all] Error 2

Same problem here, however I'm running CentOS 7.3 and CUDA 8.0.61.
This function is defined in xxhash: http://www.xxhash.com However, don't have the time to include that properly in the code atm.

@xhsoldier Thanks for reporting!
@andrewwdye Fixed this in f24c1b8d8c0da1309dd447fa90d77c2432847d9b


qlog: release 0.7

Changes include:

Align qlog data model with draft-ietf-quic-qlog-quic-events-01 and
draft-ietf-quic-qlog-h3-events-01
Make all qlog streamer serializer event writes atomic. QUIC packet
events no longer lock the serializer.
New method add_event_data_now() added to the streaming serializer.

You also need to update the version used by quiche.


Design issue with INode.Edges and it's implementations

Problem
INode.Edges must be read-only. You cannot add or delete Edges from casted to down-level INode.
Currently your INode.Edges is IList which allows to add and remove nodes.
Solution
Create your own ImmutableCollection for list that also allows casting from inherited to base classes.

I am done with it. Now code is a lot more bloated with generic things but it works faster and in general easier to maintain and extend.


Doc job names for named bundles

We have both
https://prow.ci.openshift.org/?job=*ci-index-*-bundle
and
https://prow.ci.openshift.org/?job=pull-ci-*-ci-index
The code is from
https://github.com/openshift/ci-tools/blob/d0304d177005eeb4c3537ec0dcaee1646b1ee150/pkg/prowgen/prowgen.go#L124-L142

/retest

/lgtm


[CAS-1062] Ntlm Authentication Module

I was needing an authentication module based on NTLM credentials to be used with CAS for the company where i work. The problem was that the only module related was SPNEGO but this doesn't fit to my needs. So i adapted an old single sign on that i did some months ago to cas web flows. The result is this litle module that compliant Cas project's structure.
I put the spring's xml in the directory src/main/resources. The idea is import the cas-ntlm-beans.xml from the cas-servlet.xml (located in the cas webapp project) and load the web flow from the flow-registry in the same file. Im having problems with this last thing, becouse spring for some reason does not build the configuration for the flow once loaded. For that, to test this module i use the complete file cas-ntlm-flow.xml as main flow located in the cas webapp (its a provisory solution).
To test this module is necessary a PDC (beeing or not part of the domain) and configure in the spring's beans xml the PDC ip and alternatively the Domain Name. If the client machine is part of the domain the browser can be configured to send automatically the ntlm credentials, else the browser will show a basic authentication popup to enter the Domain Credentials.
I have to continue testing and see how to configure the ntlm sub flow in one elegant way, but the main idea is done.
Cheers,
Gonzalo.
Environment: development machine: ubuntu
jvm: jdk1.6.0_23
domain controller: Samba
web container: Tomcat 6.0.29
Cas server: 3.4.10
Reported by: Gonzalo Carreño, id: gonza
Created: Fri, 28 Oct 2011 13:16:08 -0700
Updated: Sat, 29 Oct 2011 06:37:54 -0700
JIRA: https://issues.jasig.org/browse/CAS-1062
ntlm module - eclipse project

I believe this is already covered by the NTML Authn Handler. Closing for now. Enhancements need to build on existing NTLM functionality.