com.relayrides.pushy.apns.ClientNotConnectedException in Jboss Fuse OSGI

Hi,
I'm trying to run the example code given in Pushy's homepage in Jboss Fuse 6.2.1 OSGI container and I'm getting this exception.
I'm using a proxy to connect.
It happens at:final Future<PushNotificationResponse> sendNotificationFuture = apnsClient.sendNotification(pushNotification);
Everything works fine outside OSGI.
It seems in OSGI, we must use alpn-boot, otherwise io.netty.handler.sslJdkAlpnApplicationProtocolNegotiator fails to initialise.
Correct version of alpn-boot is on boot class path.
Does anybody know what might cause this ?
Thanks
Rajib

On further debugging, I found the issue is:
IllegalStateException:Channel closed before HTTP/2 preface completed.
I'm using JWT and everything works fine outside OSGI container.

@rajibm2005 I see you've already posted about this on the mailing list, so let's move the conversation there.


YAML not working?

I'm trying to get YAML files working, and it seems to kind of work, but in a lot of cases I am not getting any randomisation at all, it will consistently pick exactly the same prompt from some of the nesting.
Has anyone else got YAML working properly?
As an example, I'm trying to use the Billions of Scifi Characters presets from CivitAi, with this prompt
BoCharsScifi/female/classic
Which changes (within the YAML) to:
BoCharsScifi/female/classic, scifi/lighting, scenes-scifi/*
Running it three times, I got these three prompts:
female AI rights advocate, Aliens- Extraterrestrial creatures with unique physiologies, varying from humanoid to bizarre forms., Adolescence, Agile, African, Amber eyes, Asymmetrical Ears, Angular Nose, Cleft Chin, Angular Jaw, Angular Cheeks, Angular Forehead, Diamond face shape, Articulate Fingers, Birthmarks, Ash Blonde Asymmetrical haircut hair, Admiration, Asserting control over a fascinating and unfamiliar alien life form., Bio-Mechanical Wings- Graceful wings with metallic feathers, fusing technology and biology in perfect harmony. wearing Aqua AR Capris, Aqua AR Blazer, AR Ankle Boots, AR Baseball Cap, AR Watch , Asserting control over a fascinating and unfamiliar alien life form., AI-controlled cities- Dynamic lights responding to AI algorithms and needs., AI-generated art and literature indistinguishable from human works
female AI rights advocate, Aliens- Extraterrestrial creatures with unique physiologies, varying from humanoid to bizarre forms., Adolescence, Agile, African, Amber eyes, Asymmetrical Ears, Angular Nose, Cleft Chin, Angular Jaw, Angular Cheeks, Angular Forehead, Diamond face shape, Articulate Fingers, Birthmarks, Ash Blonde Asymmetrical haircut hair, Admiration, Asserting control over a fascinating and unfamiliar alien life form., Bio-Mechanical Wings- Graceful wings with metallic feathers, fusing technology and biology in perfect harmony. wearing Aqua AR Capris, Aqua AR Blazer, AR Ankle Boots, AR Baseball Cap, AR Watch , Asserting control over a fascinating and unfamiliar alien life form., AI-controlled cities- Dynamic lights responding to AI algorithms and needs., AI-guided mechs and autonomous defense systems
female AI rights advocate, Aliens- Extraterrestrial creatures with unique physiologies, varying from humanoid to bizarre forms., Adolescence, Agile, African, Amber eyes, Asymmetrical Ears, Angular Nose, Cleft Chin, Angular Jaw, Angular Cheeks, Angular Forehead, Diamond face shape, Articulate Fingers, Birthmarks, Ash Blonde Asymmetrical haircut hair, Admiration, Asserting control over a fascinating and unfamiliar alien life form., Bio-Mechanical Wings- Graceful wings with metallic feathers, fusing technology and biology in perfect harmony. wearing Aqua AR Capris, Aqua AR Blazer, AR Ankle Boots, AR Baseball Cap, AR Watch , Asserting control over a fascinating and unfamiliar alien life form.
The ONLY difference between these, is the first two prompts had the following appended to them, otherwise they are identical and no randomization has happened:
, AI-controlled cities- Dynamic lights responding to AI algorithms and needs., AI-generated art and literature indistinguishable from human works
, AI-controlled cities- Dynamic lights responding to AI algorithms and needs., AI-guided mechs and autonomous defense systems
Seed was set to increment, if it even matters as there is no seed input?

(not there were correct __ in the prompts, markup here has removed them)

I just tried exactly the same prompt with exactly the same files in the A1111 extension and it works fine in there.

I'm facing the same problem. I have a simple yaml file called animial.yaml, it includes only 3 animals which are 'cat', 'dog', 'monkey'. Everytime I tried to run a batch of generations (let's say 4), the results stick with only one animal. A1111 picks the animal randomly but ComfyUI won't.
By the way, can you please tell me how did you extract the png info in ComfyUI? I'm still green with this. Thank you.

@gobshyte @925-Studio Could you send me example yaml files so that I can test them?

@gobshyte @925-Studio Could you send me example yaml files so that I can test them?

wildcards.zip
Here you go. Thank you for your efforts.

@925-Studio see here re: image save
exiftools is also handy for some things

@925-Studio see here re: image save https://www.reddit.com/r/StableDiffusion/comments/159pwg1/how_to_save_comfyui_workflow_as_an_image/ exiftools is also handy for some things

This is helpful, thanks a lot!


"if (v) debugger" doesn't uglify well

Heya,
The uglifier converts if(){debugger} statements like so -
  Uglifier.new.compile('if (value) debugger') #=> "value&&debugger"

which (at least in Chrome & Firefox) raises a  syntax error (Unexpected token debugger).
It could perhaps be argued that the debugger statement shouldn't be in minified production code, but it caught me by surprise & took quite a while to track down the syntax error in the minified js.  Any thoughts?

Looks like a bug to me. debugger is a statement, not an expression, so its use as an expression in the minified output is invalid.

Just noticed that this was reported in lautis/uglifier instead of mishoo/uglifyjs. I meant that this would be a bug in uglifyjs. You should close this issue and open it there instead.

Ohh.  I thought it was weird that there were no other issues filed here.
https://github.com/mishoo/UglifyJS/issues/243


Add versioning support for linux consumption function apps

cc @ahmedelnably @ankitkumarr

For Linux Consumption and Dedicated.

cc @pragnagopa

@divyagandhii / @pragnagopa do we have an owner for this?

closing this one, will track the work for Windows and Linux in https://github.com/Azure/azure-cli/issues/10549


Documentation: Privacy change for Big Sur (11.x)

For me, I had to go into Settings > Security & Privacy and select the Privacy tab. CoreLocationCLI was listed, but disabled. Clicking on the lock in the lower left let me check the box next to the tool. Worked perfectly after that.

Thank you, Added note to error message at https://github.com/fulldecent/corelocationcli/commit/1ee12638be83e4c7274ade50f23a11aba7c52557#diff-13f7db93b7b5f7772cf5cf107e42a8305300be171d29e8dbdbf5241fb9873458R132


Fix small scenes generator pose bug

Description
This is a quick fix to make the updated small scenes script play nicely with the json serializer.  I've tested it on my end.
Type of change
Please check the options that are relevant.

[X] Bug fix (non-breaking change that fixes an issue)
[ ] Proposes a change (non-breaking change that isn't necessarily a bug)
[ ] Refactor
[ ] New feature (non-breaking change that adds a new functionality)
[ ] Breaking change (fix or feature that would break some existing functionality downstream)
[ ] This is a unit test
[ ] Documentation only change
[ ] Datasets Release
[ ] Models Release

Type of requested review

[ ] I want a thorough review of the implementation.
[X] I want a high level review.
[ ] I want a deep design review.

Checklist:

[X] I have performed manual end-to-end testing of the feature in my environment.
[ ] I have added Docstrings and comments to the code.
[ ] I have made changes to existing documentation where needed.
[ ] I have added tests that show that the PR is functional.
[X] New and existing unit tests pass locally with my changes.
[X] I have added relevant collaborators to review the PR before merge.
[ ] [Polymetis only] I ran on hardware (1) all scripts in tests/scripts, (2) asv benchmarks.

Codecov Report

Merging #1053 (17d55fc) into main (10b05cf) will increase coverage by 0.08%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1053      +/-   ##
==========================================
+ Coverage   33.07%   33.15%   +0.08%
==========================================
  Files         346      347       +1
  Lines       34116    34361     +245
==========================================
+ Hits        11284    11393     +109
- Misses      22832    22968     +136

Impacted Files
Coverage Δ

agents/droidlet_agent.py
44.08% <0.00%> (-7.69%)
:arrow_down:

agents/_agent.py
51.76% <0.00%> (ø)

lowlevel/minecraft/pyworld/fake_mobs.py
88.98% <0.00%> (+0.84%)
:arrow_up:


turn raspi config to headphone jack not working

Hi guys,
at the moment I am trying to start my phoniebox and test the first sounds.
Unfortunately it keeps quiet at the moment. I tried different ways to get sound. Wireless, with a USB - Soundcard and directly. My box doesn´t even react if I start a song it just reloads and does nothing.
I searched around a little bit and it turns out that I shall turn raspi config to headphone jack to create sound.
But as I was trying this I got the error message that "headphone jack is not working". The same error appears when trying to select hdmi sound.
Does this issue sounds familiar to anyone and do you have a solution for me?
Thanks!
Tobias

Had a similar issue a while back. Cant remember the solution but its working now.
Try to get some native sound:
aplay --device=hw:0,0 /usr/share/sounds/alsa/Front_Center.wav  (audio jack on my setup)
aplay --device=hw:1,0 /usr/share/sounds/alsa/Front_Center.wav  (usb soundcard on my setup)

If that does work, check the audio configuration files:
pi@raspberrypi:~ $ sudo vi /usr/share/alsa/alsa.conf (defaults.ctl.card 0 && defaults.pcm.card 0)
pi@raspberrypi:~ $ sudo vi /etc/mopidy/mopidy.conf (volume, ...)

Maybe some of this will help you.

Hi @BigSlikTobi
Does the Pi play audio when you are booting with HDMI into Raspian, i.e. the desktop environment?
If and when you solve it, please add this under troubleshooting in the wiki or post it here, so I can add it. Thanks!

Hi Tobias & MiczFlor,
I didn‘t had the chance to try your aproaches yet but it turned out that I have to restart mpd every time after uploading new folders. I don‘t really understand why uploading a new folder with a mp3 file turns the sound output into error but I‘ll try out your tipps as well as some other aproaches I googled after xmas and keep you updated.
Merry Xmas!
Tobias

Hi @BigSlikTobi
nutzt du die +Spotify Edition oder "Classic"? Für Spotify gibt es dazu wichtige Anmerkungen (die ich jetzt auch mal ins WIKI schreiben werde):
https://github.com/MiczFlor/RPi-Jukebox-RFID/blob/master/docs/SPOTIFY-INTEGRATION.md
MP3 (local music) handling has completely changed for the +Spotify Edition. The tracks need to be indexed by Mopidy & Mopidy-Spotify (this is the part of Phoniebox, which gives you spotify support) and the created M3U files do have another structure than normal M3U files.

You have to scan you library once (if you hadn't yet) and everytime you upload new local tracks to your Phoniebox.
You can scan local files under "Folders & Files" (Top Navigation).
For the future we try to integrate an automation for that.

(the last item is surely still on the todo list :)


[DOC-3777] [PL-41408] Delegate hotfix 23.09.80511

Delegate hotfix 23.09.80511
For reviewers, a preview is available.
Hotfixes
What Type of PR is This?

[ ] Issue
[ ] Feature
[x] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[x] Tested Locally
[ ] Optional Screen Shoot.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

@pratmit approved via Slack

@aimurphy approved via Slack


Error Electron missing when npm run serve

Hi,
First of all thanks for your great job ! I followed the doc by doing the command lines:
git clone https://github.com/rabix/composer
cd composer
yarn install

and then yarn run serve
I'm get this error:
webpack-internal:///./src/app/platform-providers/electron-system.service.ts:14 Uncaught TypeError: window.require is not a function
    at eval (webpack-internal:///./src/app/platform-providers/electron-system.service.ts:14)
    at Object../src/app/platform-providers/electron-system.service.ts (main.bundle.js:2148)
    at __webpack_require__ (inline.bundle.js:55)
    at eval (webpack-internal:///./src/main.ts:4)
    at Object../src/main.ts (main.bundle.js:4020)
    at __webpack_require__ (inline.bundle.js:55)
    at Object.0 (main.bundle.js:4028)
    at __webpack_require__ (inline.bundle.js:55)
    at webpackJsonpCallback (inline.bundle.js:26)
    at main.bundle.js:1

I tried to compile electron, compile angular with same restulst.?
It seems only yarn run start:electron is working,  not in web browser.
Other point yarn test failed with this
yarn run v1.7.0
$ yarn run test:electron && yarn run test:angular
$ node ./electron/node_modules/mocha/bin/_mocha --timeout 15000 -r ts-node/register --recursive --ui bdd 'electron/src/**/*.spec.ts'

  Accelerator Proxy
    ✓ should have on and pass methods available

  FS Controller
    Utility: getPotentialCWLClassFromFile()
      ✓ should return an empty string if the file does not exist
      ✓ should return an empty string if file has no known CWL classes
      ✓ should return “CommandLineTool” if file has that class
      ✓ should return “Workflow” if file has that class
    Utility: getFileOutputInfo()
      ✓ should give exact read/write permission information for 0o700
      ✓ should give exact read/write permission information for 0o766
      ✓ should give exact read/write permission information for 0o704
      ✓ should give exact read/write permission information for 0o702
      ✓ should give information about a file
      ✓ should give information about a folder
    Endpoint: readDirectory()
      ✓ should give the proper listing of directories
    Endpoint: createFile
      ✓ should return an error if file already exists
      ✓ should create a file and return it's info
    Endpoint: saveFileContent
      ✓ should create file if it doesn't exist
      ✓ should overwrite the file with the given content
      ✓ should replace file content when new content is shorter than the old one
    Endpoint: readFileContent
      ✓ should return an error if the file doesn't exist
      ✓ should return the raw content of the file
    Endpoint: deletePath()
      ✓ should return success if the path does not exist
      ✓ should delete a file
      ✓ should recursively delete a folder
    Endpoint: createFolder()
      ✓ should create folders recursively if direct parent doesn't exist
      ✓ should return an error if folder exists
      ✓ should create an empty folder
    Endpoint: checkIfPathExists
      ✓ should return true if the given path is present
      ✓ should return false if the given path is available

  IPC Router
    - should register the data-request event cb
    - should call the appropriate controller function when required and return the response

  Schema salad resolver
    ✓ should have a “resolveContent” method
    ✓ should embed values from $graph into run props that start with a hash
    ✓ should adapt ins and outs keys to remove $graph roots
    ✓ should resolve regular workflow without $graph
    ✓ should detect recursive nesting as invalid cwl

  Data repository
    ✓ stores a token alongside user data
    ✓ updates tokens (104ms)

  34 passing (147ms)
  2 pending

$ ./node_modules/@angular/cli/bin/ng test --watch false
 10% building modules 1/1 modules 0 active07 06 2018 15:03:37.734:INFO [karma]: Karma v2.0.0 server started at http://<IP_ADDRESS>:9876/
07 06 2018 15:03:37.735:INFO [launcher]: Launching browser ChromeUnthrottled with unlimited concurrency
07 06 2018 15:03:37.738:INFO [launcher]: Starting browser Chrome
07 06 2018 15:03:43.114:INFO [Chrome 67.0.3396 (Linux 0.0.0)]: Connected on socket FP4274R4NGEf95W5AAAA with id 11520300
Chrome 67.0.3396 (Linux 0.0.0) ExecutorOutputParserService produces an ExecutionStepStartedAction FAILED
        Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
            at ZoneDelegate.webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask node_modules/zone.js/dist/zone.js:421:1)
            at ProxyZoneSpec.webpackJsonp../node_modules/zone.js/dist/proxy.js.ProxyZoneSpec.onInvokeTask node_modules/zone.js/dist/proxy.js:103:1)
            at ZoneDelegate.webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask node_modules/zone.js/dist/zone.js:420:1)
            at Zone.webpackJsonp../node_modules/zone.js/dist/zone.js.Zone.runTask node_modules/zone.js/dist/zone.js:188:1)
            at webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask node_modules/zone.js/dist/zone.js:496:1)
            at ZoneTask.invoke node_modules/zone.js/dist/zone.js:485:1)
            at timer node_modules/zone.js/dist/zone.js:2025:1)
Chrome 67.0.3396 (Linux 0.0.0): Executed 64 of 101 (1 FAILED) (0 secs / 0 secs)
Chrome 67.0.3396 (Linux 0.0.0) ExecutorOutputParserService produces an ExecutionStepStartedAction FAILED
        Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
            at ZoneDelegate.webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask node_modules/zone.js/dist/zone.js:421:1)
            at ProxyZoneSpec.webpackJsonp../node_modules/zone.js/dist/proxy.js.ProxyZoneSpec.onInvokeTask node_modules/zone.js/dist/proxy.js:103:1)
            at ZoneDelegate.webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask node_modules/zone.js/dist/zone.js:420:1)
            at Zone.webpackJsonp../node_modules/zone.js/dist/zone.js.Zone.runTask node_modules/zone.js/dist/zone.js:188:1)
            at webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask node_modules/zone.js/dist/zone.js:496:1)
            at ZoneTask.invoke node_modules/zone.js/dist/zone.js:485:1)
Chrome 67.0.3396 (Linux 0.0.0) ExecutorOutputParserService produces an ExecutionStepCompletedAction FAILED
        Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
            at ZoneDelegate.webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask node_modules/zone.js/dist/zone.js:421:1)
            at ProxyZoneSpec.webpackJsonp../node_modules/zone.js/dist/proxy.js.ProxyZoneSpec.onInvokeTask node_modules/zone.js/dist/proxy.js:103:1)
            at ZoneDelegate.webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask node_modules/zone.js/dist/zone.js:420:1)
            at Zone.webpackJsonp../node_modules/zone.js/dist/zone.js.Zone.runTask node_modules/zone.js/dist/zone.js:188:1)
            at webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask node_modules/zone.js/dist/zone.js:496:1)
            at ZoneTask.invoke node_modules/zone.js/dist/zone.js:485:1)
            at timer node_modules/zone.js/dist/zone.js:2025:1)
Chrome 67.0.3396 (Linux 0.0.0): Executed 65 of 101 (2 FAILED) (0 secs / 0 secs)
Chrome 67.0.3396 (Linux 0.0.0) ExecutorOutputParserService produces an ExecutionStepCompletedAction FAILED
        Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
            at ZoneDelegate.webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask node_modules/zone.js/dist/zone.js:421:1)
            at ProxyZoneSpec.webpackJsonp../node_modules/zone.js/dist/proxy.js.ProxyZoneSpec.onInvokeTask node_modules/zone.js/dist/proxy.js:103:1)
            at ZoneDelegate.webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask node_modules/zone.js/dist/zone.js:420:1)
            at Zone.webpackJsonp../node_modules/zone.js/dist/zone.js.Zone.runTask node_modules/zone.js/dist/zone.js:188:1)
            at webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask node_modules/zone.js/dist/zone.js:496:1)
            at ZoneTask.invoke node_modules/zone.js/dist/zone.js:485:1)
Chrome 67.0.3396 (Linux 0.0.0) ExecutorOutputParserService produces an ExecutionStepFailedAction FAILED
        Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
            at ZoneDelegate.webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask node_modules/zone.js/dist/zone.js:421:1)
            at ProxyZoneSpec.webpackJsonp../node_modules/zone.js/dist/proxy.js.ProxyZoneSpec.onInvokeTask node_modules/zone.js/dist/proxy.js:103:1)
            at ZoneDelegate.webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask node_modules/zone.js/dist/zone.js:420:1)
            at Zone.webpackJsonp../node_modules/zone.js/dist/zone.js.Zone.runTask node_modules/zone.js/dist/zone.js:188:1)
            at webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask node_modules/zone.js/dist/zone.js:496:1)
            at ZoneTask.invoke node_modules/zone.js/dist/zone.js:485:1)
            at timer node_modules/zone.js/dist/zone.js:2025:1)
Chrome 67.0.3396 (Linux 0.0.0): Executed 66 of 101 (3 FAILED) (0 secs / 0 secs)
Chrome 67.0.3396 (Linux 0.0.0) ExecutorOutputParserService produces an ExecutionStepFailedAction FAILED
        Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
            at ZoneDelegate.webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask node_modules/zone.js/dist/zone.js:421:1)
            at ProxyZoneSpec.webpackJsonp../node_modules/zone.js/dist/proxy.js.ProxyZoneSpec.onInvokeTask node_modules/zone.js/dist/proxy.js:103:1)
            at ZoneDelegate.webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask node_modules/zone.js/dist/zone.js:420:1)
            at Zone.webpackJsonp../node_modules/zone.js/dist/zone.js.Zone.runTask node_modules/zone.js/dist/zone.js:188:1)
            at webpackJsonp../node_modules/zone.js/dist/zone.js.ZoneTask.invokeTask node_modules/zone.js/dist/zone.js:496:1)
            at ZoneTask.invoke node_modules/zone.js/dist/zone.js:485:1)
Chrome 67.0.3396 (Linux 0.0.0): Executed 101 of 101 (3 FAILED) (1.209 secs / 0 secs)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Hi @nesteban-aldera Thanks for reporting this.

Is yarn run serve still failing for you? I'm on macOS and  I can start the dev environment successfully
Yes, this leads to our FAILED notifications that you can see on the badges we proudly display :)   If you have notes on how to resolve this please ping. We're looking into it but it is low priority since the application works - it's just that three tests seem to be timing out. We should eventually figure it out.

Thanks!

I'm seeing the same issue on current HEAD commit https://github.com/rabix/composer/commit/7abdb5e472dcc33b69e40f3c872d6af8bd141244
$ node --version
v11.6.0
$ yarn --version
1.21.1

Chrome 79.0.3945.130.

yarn install output
yarn install
yarn install v1.21.1
warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
warning<EMAIL_ADDRESS>Invalid bin entry for "sha.js" (in "sha.js").
[3/4] 🔗  Linking dependencies...
warning " ><EMAIL_ADDRESS>has incorrect peer dependency "<EMAIL_ADDRESS>|| ~5.0.0".
warning "@storybook/angular ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^15.0.0".
warning "@storybook/angular ><EMAIL_ADDRESS>has incorrect peer dependency<EMAIL_ADDRESS>|| ^15.0.0".
[4/4] 🔨  Building fresh packages...
[1/10] ⠁ fsevents
[6/10] ⠁ uws
[3/10] ⠁ node-sass
[-/10] ⠁ waiting...
warning Error running install script for optional dependency: "/Users/ryan/c/composer/node_modules/fsevents: Command failed.
Exit code: 1
Command: node install
Arguments:
Directory: /Users/ryan/c/composer/node_modules/fsevents
Output:
node-pre-gyp info it worked if it ends with ok
node-pre-gyp info using<EMAIL_ADDRESS>node-pre-gyp info using<EMAIL_ADDRESS>| darwin | x64
node-pre-gyp info check checked for \"/Users/ryan/c/composer/node_modules/fsevents/lib/binding/Release/node-v67-darwin-x64/fse.node\" (not found)
node-pre-gyp http GET https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.1.3/fse-v1.1.3-node-v67-darwin-x64.tar.gz
node-pre-gyp http 404 https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.1.3/fse-v1.1.3-node-v67-darwin-x64.tar.gz
node-pre-gyp ERR! Tried to download(404): https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.1.3/fse-v1.1.3-node-v67-darwin-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for<EMAIL_ADDRESS>and<EMAIL_ADDRESS>(node-v67 ABI, unknown) (falling back to source compile with node-gyp)
node-pre-gyp http 404 status code downloading tarball https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.1.3/fse-v1.1.3-node-v67-darwin-x64.tar.gz
node-pre-gyp ERR! Tried to download(undefined): https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.1.3/fse-v1.1.3-node-v67-darwin-x64.tar.gz
node-pre-gyp ERR! Pre-built binaries not found for<EMAIL_ADDRESS>and<EMAIL_ADDRESS>(node-v67 ABI, unknown) (falling back to source compile with node-gyp)
node-pre-gyp http Connection closed while downloading tarball file
gyp info it worked if it ends with ok
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| darwin | x64
gyp info it worked if it ends with ok
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| darwin | x64
gyp info ok
gyp info ok
gyp info it worked if it ends with ok
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| darwin | x64
gyp info it worked if it ends with ok
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| darwin | x64
gyp info spawn /usr/bin/python
gyp info spawn args [ '/Users/ryan/c/composer/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/ryan/c/composer/node_modules/fsevents/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/ryan/c/composer/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/ryan/.node-gyp/11.6.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/Users/ryan/.node-gyp/11.6.0',
gyp info spawn args   '-Dnode_gyp_dir=/Users/ryan/c/composer/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/Users/ryan/.node-gyp/11.6.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/Users/ryan/c/composer/node_modules/fsevents',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp info spawn /usr/bin/python
gyp info spawn args [ '/Users/ryan/c/composer/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/ryan/c/composer/node_modules/fsevents/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/ryan/c/composer/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/ryan/.node-gyp/11.6.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/Users/ryan/.node-gyp/11.6.0',
gyp info spawn args   '-Dnode_gyp_dir=/Users/ryan/c/composer/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/Users/ryan/.node-gyp/11.6.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/Users/ryan/c/composer/node_modules/fsevents',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp info ok
gyp info ok
gyp info it worked if it ends with ok
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| darwin | x64
gyp info it worked if it ends with ok
gyp info using<EMAIL_ADDRESS>gyp info using<EMAIL_ADDRESS>| darwin | x64
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
  SOLINK_MODULE(target) Release/.node
  SOLINK_MODULE(target) Release/.node
  CXX(target) Release/obj.target/fse/fsevents.o
  CXX(target) Release/obj.target/fse/fsevents.o
In file included from ../fsevents.cc:6:
In file included from ../../nan/nan.h:203:
In file included from ../../nan/nan_new.h:189:
../../nan/nan_implementation_12_inl.h:337:28: warning: 'New' is deprecated: Use Isolate* version [-Wdeprecated-declarations]
  return v8::StringObject::New(value).As<v8::StringObject>();
                           ^
/Users/ryan/.node-gyp/11.6.0/include/node/v8.h:5241:3: note: 'New' has been explicitly marked deprecated here
  V8_DEPRECATED(\"Use Isolate* version\",
  ^
/Users/ryan/.node-gyp/11.6.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../fsevents.cc:6:
../../nan/nan.h:839:18: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return node::MakeCallback(
                 ^
/Users/ryan/.node-gyp/11.6.0/include/node/node.h:171:1: note: 'MakeCallback' has been explicitly marked deprecated here
NODE_DEPRECATED(\"Use MakeCallback(..., async_context)\",
^
/Users/ryan/.node-gyp/11.6.0/include/node/node.h:91:20: note: expanded from macro 'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
In file included from ../fsevents.cc:6:
../../nan/nan.h:854:18: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return node::MakeCallback(
                 ^
/Users/ryan/.node-gyp/11.6.0/include/node/node.h:164:1: note: 'MakeCallback' has been explicitly marked deprecated here
NODE_DEPRECATED(\"Use MakeCallback(..., async_context)\",
^
/Users/ryan/.node-gyp/11.6.0/include/node/node.h:91:20: note: expanded from macro 'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
In file included from ../fsevents.cc:6:
../../nan/nan.h:869:18: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return node::MakeCallback(
                 ^
/Users/ryan/.node-gyp/11.6.0/include/node/node.h:157:1: note: 'MakeCallback' has been explicitly marked deprecated here
NODE_DEPRECATED(\"Use MakeCallback(..., async_context)\",
^
/Users/ryan/.node-gyp/11.6.0/include/node/node.h:91:20: note: expanded from macro 'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
In file included from ../fsevents.cc:6:
../../nan/nan.h:916:44: warning: 'ToString' is deprecated: Use maybe version [-Wdeprecated-declarations]
      v8::Local<v8::String> string = from->ToString();
                                           ^
/Users/ryan/.node-gyp/11.6.0/include/node/v8.h:2548:10: note: 'ToString' has been explicitly marked deprecated here
  inline V8_DEPRECATED(\"Use maybe version\", Local<String> ToString() const);
         ^
/Users/ryan/.node-gyp/11.6.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../fsevents.cc:6:
../../nan/nan.h:926:27: warning: 'WriteUtf8' is deprecated: Use Isolate* version [-Wdeprecated-declarations]
        length_ = string->WriteUtf8(str_, static_cast<int>(len), 0, flags);
                          ^
/Users/ryan/.node-gyp/11.6.0/include/node/v8.h:2753:3: note: 'WriteUtf8' has been explicitly marked deprecated here
  V8_DEPRECATED(\"Use Isolate* version\",
  ^
/Users/ryan/.node-gyp/11.6.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../fsevents.cc:6:
../../nan/nan.h:1478:31: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return scope.Escape(node::MakeCallback(
                              ^
/Users/ryan/.node-gyp/11.6.0/include/node/node.h:171:1: note: 'MakeCallback' has been explicitly marked deprecated here
NODE_DEPRECATED(\"Use MakeCallback(..., async_context)\",
^
/Users/ryan/.node-gyp/11.6.0/include/node/node.h:91:20: note: expanded from macro 'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
In file included from ../fsevents.cc:6:
In file included from ../../nan/nan.h:203:
In file included from ../../nan/nan_new.h:189:
../../nan/nan_implementation_12_inl.h:337:28: warning: 'New' is deprecated: Use Isolate* version [-Wdeprecated-declarations]
  return v8::StringObject::New(value).As<v8::StringObject>();
                           ^
/Users/ryan/.node-gyp/11.6.0/include/node/v8.h:5241:3: note: 'New' has been explicitly marked deprecated here
  V8_DEPRECATED(\"Use Isolate* version\",
  ^
/Users/ryan/.node-gyp/11.6.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../fsevents.cc:6:
../../nan/nan.h:839:18: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return node::MakeCallback(
                 ^
/Users/ryan/.node-gyp/11.6.0/include/node/node.h:171:1: note: 'MakeCallback' has been explicitly marked deprecated here
NODE_DEPRECATED(\"Use MakeCallback(..., async_context)\",
^
/Users/ryan/.node-gyp/11.6.0/include/node/node.h:91:20: note: expanded from macro 'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
In file included from ../fsevents.cc:6:
../../nan/nan.h:854:18: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return node::MakeCallback(
                 ^
/Users/ryan/.node-gyp/11.6.0/include/node/node.h:164:1: note: 'MakeCallback' has been explicitly marked deprecated here
NODE_DEPRECATED(\"Use MakeCallback(..., async_context)\",
^
/Users/ryan/.node-gyp/11.6.0/include/node/node.h:91:20: note: expanded from macro 'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
In file included from ../fsevents.cc:6:
../../nan/nan.h:869:18: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return node::MakeCallback(
                 ^
/Users/ryan/.node-gyp/11.6.0/include/node/node.h:157:1: note: 'MakeCallback' has been explicitly marked deprecated here
NODE_DEPRECATED(\"Use MakeCallback(..., async_context)\",
^
/Users/ryan/.node-gyp/11.6.0/include/node/node.h:91:20: note: expanded from macro 'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
In file included from ../fsevents.cc:6:
../../nan/nan.h:916:44: warning: 'ToString' is deprecated: Use maybe version [-Wdeprecated-declarations]
      v8::Local<v8::String> string = from->ToString();
                                           ^
/Users/ryan/.node-gyp/11.6.0/include/node/v8.h:2548:10: note: 'ToString' has been explicitly marked deprecated here
  inline V8_DEPRECATED(\"Use maybe version\", Local<String> ToString() const);
         ^
/Users/ryan/.node-gyp/11.6.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../fsevents.cc:6:
../../nan/nan.h:926:27: warning: 'WriteUtf8' is deprecated: Use Isolate* version [-Wdeprecated-declarations]
        length_ = string->WriteUtf8(str_, static_cast<int>(len), 0, flags);
                          ^
/Users/ryan/.node-gyp/11.6.0/include/node/v8.h:2753:3: note: 'WriteUtf8' has been explicitly marked deprecated here
  V8_DEPRECATED(\"Use Isolate* version\",
  ^
/Users/ryan/.node-gyp/11.6.0/include/node/v8config.h:326:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
In file included from ../fsevents.cc:6:
../../nan/nan.h:1478:31: warning: 'MakeCallback' is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
    return scope.Escape(node::MakeCallback(
                              ^
/Users/ryan/.node-gyp/11.6.0/include/node/node.h:171:1: note: 'MakeCallback' has been explicitly marked deprecated here
NODE_DEPRECATED(\"Use MakeCallback(..., async_context)\",
^
/Users/ryan/.node-gyp/11.6.0/include/node/node.h:91:20: note: expanded from macro 'NODE_DEPRECATED'
    __attribute__((deprecated(message))) declarator
                   ^
7 warnings generated.
7 warnings generated.
rm: ./Release/.deps/Release/obj.target/fse/fsevents.o.d.raw: No such file or directory
make: *** [Release/obj.target/fse/fsevents.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/ryan/c/composer/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at ChildProcess.emit (events.js:188:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:254:12)
gyp ERR! System Darwin 19.2.0
gyp ERR! command \"/Users/ryan/.nvm/versions/node/v11.6.0/bin/node\" \"/Users/ryan/c/composer/node_modules/node-gyp/bin/node-gyp.js\" \"build\" \"--fallback-to-build\" \"--module=/Users/ryan/c/composer/node_modules/fsevents/lib/binding/Release/node-v67-darwin-x64/fse.node\" \"--module_name=fse\" \"--module_path=/Users/ryan/c/composer/node_modules/fsevents/lib/binding/Release/node-v67-darwin-x64\"
gyp ERR! cwd /Users/ryan/c/composer/node_modules/fsevents
gyp ERR! node -v v11.6.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/Users/ryan/.nvm/versions/node/v11.6.0/bin/node /Users/ryan/c/composer/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/ryan/c/composer/node_modules/fsevents/lib/binding/Release/node-v67-darwin-x64/fse.node --module_name=fse --module_path=/Users/ryan/c/composer/node_modules/fsevents/lib/binding/Release/node-v67-darwin-x64' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/Users/ryan/c/composer/node_modules/fsevents/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:188:13)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:978:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:265:5)
node-pre-gyp ERR! System Darwin 19.2.0
node-pre-gyp ERR! command \"/Users/ryan/.nvm/versions/node/v11.6.0/bin/node\" \"/Users/ryan/c/composer/node_modules/fsevents/node_modules/node-pre-gyp/bin/node-pre-gyp\" \"install\" \"--fallback-to-build\"
node-pre-gyp ERR! cwd /Users/ryan/c/composer/node_modules/fsevents
node-pre-gyp ERR! node -v v11.6.0
node-pre-gyp ERR! node-pre-gyp -v v0.6.39
node-pre-gyp ERR! not ok
Failed to execute '/Users/ryan/.nvm/versions/node/v11.6.0/bin/node /Users/ryan/c/composer/node_modules/node-gyp/bin/node-gyp.js build --fallback-to-build --module=/Users/ryan/c/composer/node_modules/fsevents/lib/binding/Release/node-v67-darwin-x64/fse.node --module_name=fse --module_path=/Users/ryan/c/composer/node_modules/fsevents/lib/binding/Release/node-v67-darwin-x64' (1)
  SOLINK_MODULE(target) Release/fse.node
warning Your current version of Yarn is out of date. The latest version is "1.22.0", while you're on "1.21.1".
info To upgrade, run the following command:
$ brew upgrade yarn
$ yarn run install-executor && cd electron && yarn install
yarn run v1.21.1
$ node build-scripts/bundle-executor.js
Bundling Rabix Executor 1.0.5
Error: Unable to access jarfile /Users/ryan/c/composer/electron/executor/lib/rabix-cli.jar
Preparing to download...
Downloading https://github.com/rabix/bunny/releases/download/v1.0.5-1/rabix-1.0.5.tar.gz
Copying ...
✨  Done in 4.06s.
yarn install v1.21.1
warning package.json: No license field
warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.
warning<EMAIL_ADDRESS>No license field
[1/4] 🔍  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] 🔗  Linking dependencies...
[4/4] 🔨  Building fresh packages...
$ ./../node_modules/.bin/electron-builder install-app-deps
[##########################################################################################################################################################################] 400/400  • electron-builder version=20.44.4
  • no native production dependencies
✨  Done in 3.73s.
✨  Done in 233.75s.

yarn run serve (server) output
yarn run v1.21.1
$ node --max-old-space-size=4096 ./node_modules/@angular/cli/bin/ng serve -aot
** NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
 25% building modules 126/127 modules 1 active .../c/composer/src/assets/sass/main.scsswebpack: wait until bundle finished: /
Date: 2020-02-05T21:57:15.610Z
Hash: 324c30a1ad06bc87b023
Time: 33757ms
chunk {inline} inline.bundle.js (inline) 3.85 kB [entry] [rendered]
chunk {main} main.bundle.js (main) 5.71 MB [initial] [rendered]
chunk {polyfills} polyfills.bundle.js (polyfills) 598 kB [initial] [rendered]
chunk {styles} styles.bundle.js (styles) 573 kB [initial] [rendered]
chunk {vendor} vendor.bundle.js (vendor) 20 MB [initial] [rendered]

WARNING in Circular dependency detected:
src/app/core/modals/add-source-modal/add-source-modal.component.ts -> src/app/core/modals/platform-credentials-modal/platform-credentials-modal.component.ts -> src/app/layout/notification-bar/dynamic-notifications/get-started-notification/get-started-notification.component.ts -> src/app/core/modals/add-source-modal/add-source-modal.component.ts

WARNING in Circular dependency detected:
src/app/core/modals/platform-credentials-modal/platform-credentials-modal.component.ts -> src/app/layout/notification-bar/dynamic-notifications/get-started-notification/get-started-notification.component.ts -> src/app/core/modals/add-source-modal/add-source-modal.component.ts -> src/app/core/modals/platform-credentials-modal/platform-credentials-modal.component.ts

WARNING in Circular dependency detected:
src/app/editor-common/app-editor-base/app-editor-base.ts -> src/app/editor-common/template-common/common-preview-panel/common-report-panel.component.ts -> src/app/workflow-editor/workflow-editor.component.ts -> src/app/editor-common/app-editor-base/app-editor-base.ts

WARNING in Circular dependency detected:
src/app/editor-common/template-common/common-preview-panel/common-report-panel.component.ts -> src/app/workflow-editor/workflow-editor.component.ts -> src/app/editor-common/app-editor-base/app-editor-base.ts -> src/app/editor-common/template-common/common-preview-panel/common-report-panel.component.ts

WARNING in Circular dependency detected:
src/app/layout/notification-bar/dynamic-notifications/get-started-notification/get-started-notification.component.ts -> src/app/core/modals/add-source-modal/add-source-modal.component.ts -> src/app/core/modals/platform-credentials-modal/platform-credentials-modal.component.ts -> src/app/layout/notification-bar/dynamic-notifications/get-started-notification/get-started-notification.component.ts

WARNING in Circular dependency detected:
src/app/ui/menu/menu-item.component.ngfactory.js -> src/app/ui/menu/menu.component.ngfactory.js -> src/app/ui/menu/menu-item.component.ngfactory.js

WARNING in Circular dependency detected:
src/app/ui/menu/menu.component.ngfactory.js -> src/app/ui/menu/menu-item.component.ngfactory.js -> src/app/ui/menu/menu.component.ngfactory.js

WARNING in Circular dependency detected:
src/app/ui/modal/modal.component.ts -> src/app/ui/modal/modal.service.ts -> src/app/ui/modal/modal.component.ts

WARNING in Circular dependency detected:
src/app/ui/modal/modal.service.ts -> src/app/ui/modal/modal.component.ts -> src/app/ui/modal/modal.service.ts

WARNING in Circular dependency detected:
src/app/workflow-editor/graph-editor/graph-editor/workflow-graph-editor.component.ts -> src/app/workflow-editor/workflow-editor.component.ts -> src/app/workflow-editor/graph-editor/graph-editor/workflow-graph-editor.component.ts

WARNING in Circular dependency detected:
src/app/workflow-editor/workflow-editor.component.ts -> src/app/editor-common/app-editor-base/app-editor-base.ts -> src/app/editor-common/template-common/common-preview-panel/common-report-panel.component.ts -> src/app/workflow-editor/workflow-editor.component.ts

webpack: Compiled with warnings.

Same problem for me.
I noticed this comment in one of the files :

src/app/editor-common/cwl-schema-validation-worker/cwl-schema-validation-worker.service.ts
37:            // FIXME: will not work in browser, window.require call

I'am using Ubuntu 18.04
$ node --version
v10.19.0
$ yarn --version
1.22.4

Here is the yarn.lock file for debugging purpose
yarn.lock.zip

Try running with<EMAIL_ADDRESS>version. We needed to downgrade node version to 8. This should be fixed in the near future, and latest versions of node should be supported.
My setup:

$ node --version
v8.16.2
$ yarn --version
1.17.3

@geonux Try to run commands in this order:
https://github.com/rabix/composer#starting-the-dev-environment

The procedure for creating the development environment is working properly. That's not where I have a problem, and I think it's also the case for the other developers who contributed to this issue.
I would like to access directly to the GUI without going through the (Chrome) browser integrated in Electron, but by going directly through the browser installed on the host machine using an URL.
My use case is the Dockerisation of "Composer", and therefore to be able to access it via a simple URL, and not via a Display translation (as explained here: https://medium.com/@SaravSun/running-gui-applications-inside-docker-containers-83d65c0db110) or a virtual Desktop (VNC).
Do you know if this work could have been done elsewhere ?

I'm having the same problem, when running "yarn run serve":

Uncaught TypeError: window.require is not a function

I've tried it on Ubuntu, Centos, Debian, with several node versions, including 8.16.2.

Try running with<EMAIL_ADDRESS>version. We needed to downgrade node version to 8. This should be fixed in the near future, and latest versions of node should be supported.
My setup:
$ node --version
v8.16.2
$ yarn --version
1.17.3
@geonux Try to run commands in this order:
https://github.com/rabix/composer#starting-the-dev-environment

Which OS are you using?

@Light310 After yarn run serve cmd keep it running in the terminal, and in new terminal try running these two commands in order, and keep second one running also:

yarn run compile:electron // compiles electron backend
yarn run start:electron // opens the app shell

The last command will open the Rabix app in the electron shell, while angular is running on the localhost:4200. You shouldn't access it through the browser.

@Light310

Which OS are you using?

macOS Catalina

@milosdanilov
Ok, I got distracted by the message

** NG Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **

when launching serve command. I guess that's automatic message from angular.
Now I have suggested versions of node and yarn, "serve" running in one window, in another window "compile" working, but "start" giving me this :

/composer$ yarn run start:electron
yarn run v1.17.3
$ ./node_modules/.bin/electron ./electron
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Are there detailed logs anywhere? I could not find them. Common google-answers for this problem did not help me.
Also, is there any successful installation on linux-based systems? We can't use MacOS.

Uncaught TypeError: window.require is not a function     at eval (electron-system.service.ts:4)     at Object../src/app/platform-providers/electron-system.service.ts (main.bundle.js:2196)     at __webpack_require__ (inline.bundle.js:55)     at eval (main.ts:5)     at Object../src/main.ts (main.bundle.js:4044)     at __webpack_require__ (inline.bundle.js:55)     at Object.0 (main.bundle.js:4052)     at __webpack_require__ (inline.bundle.js:55)     at webpackJsonpCallback (inline.bundle.js:26)     at main.bundle.js:1

`My setup:
$ node --version
v8.16.2
$ yarn --version
1.17.3`

Someone managed to run this project on linux ?


onConstructor handling

Lombok provides a nice trick to generate constructors with additional annotations added to them. This helps a lot with writing code that uses dependency injection, e.g. with Spring Framework.
A simple testcase looks as following:
@Component
@RequiredArgsConstructor(onConstructor = @__(@Autowired))
public class SomeService {
private final SomeRepository someRepository;

private final AnotherRepository anotherRepository;

public void someLogic() {

}

}
The problem is that that Lombok Intellij plugin doesn't seem to understand Lombok's specific @__ syntax.

It works for me with Spring Framework, Latest intelliJ version and latest Lombok Plugin version.
What versions are you using?

I'm using IntelliJ 2016.1.1, Lombok plugin 0.11.16, and lombok 1.16.8.
The error message I get is:
Error:(18, 43) java: cannot find symbol
symbol: class __
I uploaded a test project to https://github.com/mkochenough/lombok-test

it would seem that you do not have annotation processing enabled for your IntelliJ, according to .idea/compiler.xml
For lombok to work, please enable it.

You are right. I setup a new IntelliJ and totally forgot about this. Sorry for the annoyance.

No problem, glad this works for you now!

it does not work ,even I enabled it,why?

I have the same issue with him ,even i enable the annotation prossession

It doesn't work for me either. Using the following annotation:
@AllArgsConstructor(onConstructor = @__(@Inject)
Others annotations seem to be working fine.

+1

@RequiredArgsConstructor(onConstructor_={@Autowired})  这样写法标红呢

This is still happening for Intellij 2020.3 and latest lombok plugin version.
@AllArgsConstructor(onConstructor = @__(@Inject)
cannot find symbol
symbol: class __

I had the same problem with intellij in version 2023.3.1.
Solution: install and enable the lombok plugin in intellij idea.


BikeWatch: Violation Detection & Penalty Estimation

Description
BikeWatch is a web application that analyzes images from cloud storage to identify the number of riders and check for helmet usage. If violations are detected, it captures the number plate, retrieves user details, calculates the penalty, and sends an email notification to the users.
Motivation
Ensuring the continuous accuracy and reliability of our models is crucial for maintaining the quality of our service. By monitoring performance metrics and alerting administrators of significant changes, we can promptly address issues and maintain model integrity.
Key Metrics to Monitor
Accuracy
Precision
Recall
F1-score
AUC-ROC
RMSE
MAE
Expected Outcome
A robust system to track and visualize model performance.
Immediate alerts to administrators when performance degrades beyond acceptable thresholds.
Historical performance data for analysis and improvement.
@sanjay-kv I would love to work on this issue can you please assign this to me under GSSOC'24 label and make it level 3

@Niketkumardheeryan  Can you also label it as level 2?

@Niketkumardheeryan can you open this issue please


Avoid collisions in unicity_id field in the jobs collection

See https://github.com/huggingface/datasets-server/pull/837#pullrequestreview-1315579718

Very minor, but lets try to fix it one day (or remove unicity_id altogether)

see #1090


e2e: add scenarios to standardize auth providers tests

Description
PR adds scenarios for the authentication providers: Basic authentication, RHSSO 7.6, Microsoft EntraI and Github.
A following PR will integrate these scenarios with CI (more tuning is needed due to the long execution times)
Which issue(s) does this PR fix
RHIDP-3499
RHIDP-3500
RHIDP-3750
RHIDP-3538

Fixes

PR acceptance criteria
Please make sure that the following steps are complete:

[ ] GitHub Actions are completed and successful
[ ] Unit Tests are updated and passing
[ ] E2E Tests are updated and passing
[ ] Documentation is updated if necessary (requirement for new features)
[ ] Add a screenshot if the change is UX/UI related

How to test changes / Special notes to the reviewer
Set and export the envs defined in the utils/authenticationProviders/constants file, run the showcase-auth-providers project with 1 worker:
npx playwright test --project=showcase-auth-providers --retries=2 --workers=1
The suite will automatically create the namespace, configmap and secret required to setup the instance.

/lgtm
/approve

/retest


Support Stream

Thanks for the awesome job
Really useful lib
I'm bringing here what we discussed on the forum:
Sometimes I need to print very large pdf files and the memory consumption jumps too high
It would be nice if we could support transferMode as ReturnAsStream
(I've tried to look at the code but, because of my lack of experience in elixir, I could not find an easy way to implement IO.read/IO.close in the current macro schema)

hey @danferreira
Completed the first steps towards this. Extending the "protocol" interpreter thing with a loop for the IO.read calls was quite straightforward, I'm only struggling a bit now with how to integrate this into the API.
Could you elaborate a bit more on your use-case? I'd be particularly interested in how you currently handle the data (i.e. which output option you use, where the data goes afterwards, etc.). My current idea would be to make the output option also take a pid and send the chunks there, but there are also different paths we could take.

Im migrating this particular application from nodejs/puppeteer to elixir/chromic_pdf.
I was looking for a way to mimic this new behaviour from puppeteer
Nowadays we do something like this:
with {:ok, data} <- ChromicPDF.print_to_pdf({:html, content}, print_to_pdf: pdf_opts},  telemetry_metadata: %{template: template_name}),
{:ok, binary} <- Base.decode64(data) do
 conn
      |> put_resp_content_type("application/pdf")
      |> put_resp_header(
        "content-disposition",
        "attachment; filename=\"report.pdf\";"
      )
      |> send_resp(200, binary)

I wish I could stream the chunks to the user, stream to a s3 bucket (using ExAws.S3#upload/4) or stream to a file.

@danferreira  Could you give #139 a try? print_to_pdf_as_stream takes a function that gets a Stream that can be sent to the conn. Please also see if the example works, I didn't test it. I have doubts though that this is going to improve your memory situation, as it seems Chrome is generating the entire file first (long delay when you fetch the first stream element, subsequent elements go fast)..
API isn't polished yet, I'd like to see if it improves your memory usage first.

I have doubts though that this is going to improve your memory situation, as it seems Chrome is generating the entire file first (long delay when you fetch the first stream element, subsequent elements go fast)..

Yep, you are right. After my last comment I tested with puppeteer and got the same behavior
I thought for a moment, that chrome would deliver the chunks during the print process but, apparently, it needs to print the whole file first.
I think the real gain in memory here would be in streaming directly from Chrome to destiny instead of duplicate the whole binary in elixir/beam side.
Maybe with 2-5 reports/sec this could be a worthwhile memory improvement.
(but consumption in Chrome side would remain the same)
I will take a look at this branch

I think the real gain in memory here would be in streaming directly from Chrome to destiny instead of duplicate the whole binary in elixir/beam side.

🤔  To me it appears as if the PDF renderer in Chrome is simply not capable of streaming, TBH. So yes, while this would technically reduce the memory footprint even further, although not much. With this branch you should be able to reduce Elixir memory usage to a mininum.
By the way, in my experiments it also seems that Chrome chooses to send the entire blob as one packet (see https://chromedevtools.github.io/devtools-protocol/tot/IO/#method-read where it says "[size] left upon the agent discretion") -> so be sure to set the the size
config :chromic_pdf, stream_read_size: 50000

@danferreira any news?

@danferreira I'm going to close my PR, I think. Don't really see the benefit of it. Feel free to re-open this issue if you have any news.


Getting zip while trying to pull study results via API as JSON

Hey,
I'm trying to automate data collection via the API, which has been a really useful tool so far.
Unfortunately I can not move the API to return a JSON, only ZIPs in all forms.
What I've tried with the documentation (https://petstore.swagger.io/?url=https://raw.githubusercontent.com/JATOS/JATOS/main/jatos-api.yaml#/results/post_jatos_api_v1_results_data):
curl -X 'POST' 'https://example.com/jatos/api/v1/results/data?studyUuid=XXXXXXX-XXXXXXX-XXXXXXXX-XXXXXXX&componentUuid=YYYYYYYYY-YYYYYYYYY-YYYYYYYY-YYYYYYY' -H "Authorization: Bearer ZZZZZ_ZZZZZZZZ_ZZZZZZZ"  -H 'accept: application/octet-stream'   -H 'Content-Type: application/json'  --output test.txt
The file can be opened as an archive, but is definitely no .txt:

Did I do something wrong or is there a bug in the API?

From the API docs: "The results will be packed in an ZIP archive with an .jrzip suffix."
Packing the result data in a zip is actually intended. JATOS doesn't know (maybe in the future we will add some content detection) the format of your data apart from it being text. So for JATOS it can be JSON, CSV, base64 encoded binaries etc.
I assume what you want is that JATOS combines the JSON, that your components produce, into one big JSON file. And this not-zipped file would have a format like { cr1: jsonof1, cr2: jsonof2, ...}. Another option would be the the JSON line format: each line a different component's JSON. Is this what you intend to do?

Thanks for the prompt answer and for letting me know that I'm at fault here.
I've misinterpreted the documentation as I was trying to get all results in one big JSON identical to the download option in the v3.7.6 web interface. This just gave me one file with all the results and nothing else. I know that this is also not ideal, but the scripts are already written ¯\_(ツ)_/¯
Can I somehow get to this via the API?

Hm, we could add the all-in-one-big-text-file result data option in the API too. It's afaik already implemented and, as you mentioned, used in the GUI. With the new API we wanted to enforce a cleaner format: one file per component result. The one line per component result tend to be untidy since each component result itself can already have arbitrary line breaks. Hm, but I guess I could add it for backwards compatibility in the API too. But this would come only in the next release.

Thanks for the offer. I've talked to the people and it would be great if there would be the option to implement the all-in-one-big-text-file to keep things backwards compatible.
The API seems to be able to do this already, you're right: https://github.com/JATOS/JATOS/blob/8d5ec504e54d089775c955a988da88fe1477b2ce/modules/gui/app/controllers/gui/Api.java#L436
And the route can use the "asPlainText", but defaults to false? (https://github.com/JATOS/JATOS/blob/8d5ec504e54d089775c955a988da88fe1477b2ce/modules/gui/conf/gui.routes#L29)
Would there be an option to do a hot fix? Not sure how to horribly mangle the final thing to get this out, I'm not a java person at all..

It seems to work already :) (you pointed at the right route). It's just not documented. Just add the query parameter asPlainText=true and you get the result in a text file. I just tried it on Mindprobe and it worked:
curl -X 'POST' 'https://jatos.mindprobe.eu/jatos/api/v1/results/data?studyResultId=303145&asPlainText=true'  -H 'accept: application/octet-stream'  -H 'Authorization: Bearer jap_xxxxxxxxxxxx' -H 'Content-Type: text/plain' -d '' --output jatosresult.txt

Awesome, that works. Thanks and kisses.


question about templates

Hello, I want to evaluate my model on Reasoning task in CMExam.
Can you tell me which templates in prompt_templates.py can reproduce the results in the paper?
Thanks!

Using prompts for different tasks.
For answer prediction and solution explanation, you can try prompt_id_1 and prompt_id_3.


introduce --open-browser flag on cilium hubble ui

Signed-off-by: zufardhiyaulhaq<EMAIL_ADDRESS>fix #1312, add the flag --open-browser, When --open-browser is supplied as false, cilium hubble ui will not open the browser. The default is true which means cilium hubble ui will always open a browser to view the UI. (default true)
(⎈ |home-lab-kubernetes-01:kube-system) [31/12/22 | 8:04:58]
cilium-cli $ ./cilium hubble ui --open-browser=false
ℹ  Hubble UI is available on "http://localhost:12000"
^C
(⎈ |home-lab-kubernetes-01:kube-system) [31/12/22 | 8:05:28]
cilium-cli $ ./cilium hubble ui
ℹ  Opening "http://localhost:12000" in your browser...
^C

commit all of your suggestion @kaworu, thanks for correcting the language

@joamaki can you help review this MR?
also, I cannot tag cilium/cli team to review.

@zufardhiyaulhaq @joamaki has been assigned as a member of @cilium/cli so no need to take any action. He currently out and should be back next week.

@zufardhiyaulhaq Sorry, I somehow accidentally closed the PR while attempting to squash the commits and I'm unable to re-open it. Could you please re-open this PR with all commits squashed into one? Thank you and sorry for the inconvenience.


Use displacement for clip surface convex hull

Before, the CSCH (clip surface convex hull) appeared to work pretty well. But once there was enough waveform displacement, due to chop and possibly other sources, the clipped area would become less accurate to the point where it would no longer appear.
This samples the displacement using the same code as the query displacement compute shader. Four iterations works well when testing which is what the other shader used too. I am not sure how we should set the minimum slice. I found that two was a good value. But it should probably be influenced by _TexelsPerWave?
I will need to add some documentation. Should I delete the old function (the first SampleOceanDataAtWorldPosition)?

This clip shader+geo will be rendered into a particular slice, so there shouldn't be a need for specifying min slice or the code to compute the slice index - the slice index should be known at draw time.
I looked around for existing input shaders that use the slice index but the only one was the gerstner, and the gerstner script sets it (ShapeGerstnerBatched.cs:388).
I think we could add it for generic ocean inputs. I think that means perhaps adding an argument LodIdx to RegisterLodDataInputBase.Draw , and then setting the lod index on the material similar to how its set in the gerstner script above.
Then you should be able to get the lod index directly similar to how AnimWavesGerstnerBatch gets it.

Thank you. That has improved everything significantly.

I think it is ready to merge if you do. Checked against DirectX/Metal/Vulcan and tested on Windows standalone. Feel free to do it if you want it part of the upcoming release and I don't do it in time.

Thanks dale!


New tool-bar component

The ... button appears just a tiny bit too late when you resize:

Maybe related, in the overflow story it looks a bit weird as well:

You added paddings last minute, do you take these into account in the calculations as well?

Also, in the align-end story the last button disappears but the ... button doesn't show:


JFR standalone without a separate process

We want to make it very easy for our existing customers using the Java agent to turn on Real Time Profiling (RTP), provide more options to deploy in container environments, reduce pre-reqs (& align to majority of our customers’ environments) ….
There is a progression of work that will first simplify deployment of RTP for NR Java agent customers and then for customers that opt not to use the Java agent due to performance reasons but want to get the low-overhead insights available from RTP. Each step provides incremental value, and we can opt to stop at any point:

JFRD to be compatible with Java 8
JFR as an extension to the agent - single process, streamline configuration
JFR to be used as a standalone without a separate process

Acceptance Criteria

JFRD can be deployed like the Java agent - without requiring a separate process - for customers that do not want to use Java agent
No measurable performance degradation vs previous JFRd standalone installation
Flamegraphs will work for this standalone JFR deployment deployment option

Aha! Link: https://newrelic.aha.io/features/JAVA-259

Comment added by Kevyn Ford in Aha! - View
Engineering tasks on track and expecting to complete in April as planned. This will be incorporated into the agent 7.0.0 release, which will be in May (no sooner than 30 days from the public notice on Java 7 EOL given as part of the 6.5.0 release.


Typo fix

To resolve the error of https://github.com/pyvista/pyvistaqt/pull/228

This was included as part of #258, sorry for not merging this first @tkoyama010 !


DEFINE AXIS/T/CALENDAR doesnt use the specified calendar

Reported by ansley b manke on 23 Jul 2012 18:15 UTC
In the 6D Ferret, v6.8,
define axis/t=30-feb-1909:07-mar-1909:2/units=days/calendar=d360 time
gives an error. The /calendar qualifier isn't being recognized. (Using datasets with non-default calendars is not affected by this).
Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/1953

Comment by ansley.b.manke on 23 Jul 2012 18:32 UTC
Fixed in get_context_mods.F


Log formatting isn't clear

I just can't understand what all this
#log-format %dT%t.%^ %^ %h:%^ %^ %T %^ %^ %^ %s %^ %b "%r" "%u"

for instance if I have a log formatted as the following, how should I configure my goaccess to parce this?
'remote=$remote_addr x_forwarded_for=$http_x_forwarded_for [$time_local] status=$status request_time=$request_time host=$host request="$request" $bytes_sent "$http_referer" "$http_user_agent" "$gzip_ratio"';

thanks

Please post some lines from your access log. Thanks.

remote=<IP_ADDRESS> x_forwarded_for=<IP_ADDRESS> [04/May/2018:06:25:04 +0200] status=204 request_time=0.000 host=api.site.com request="OPTIONS /api/someHook/getAll HTTP/1.1" 246 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36" "-"
remote=333.333.333.33 x_forwarded_for=- [04/May/2018:06:25:05 +0200] status=200 request_time=0.001 host=api.site.com request="GET /ping HTTP/1.1" 394 "-" "Mozilla/5.0 (compatible; Cloudflare-Traffic-Manager/1.0; +https://www.cloudflare.com/traffic-manager/; pool-id: ksajdkljsakldj)" "-"

Please try:
goaccess access.log --log-format='%^=%h %^[%d:%t %^] %^=%s %^=%T %^=%v %^="%r" %b "%R" "%u" %^' --date-format=%d/%b/%Y --time-format=%T

thanks a lot, it works!
exactly what I need


Evaluation of Phoebe's Review

Team is meeting to review Phoebe's notes

We met and created a whole slew of issues to address


Depend on only those parts of rails that are needed

I've just added jsonapi-resources as a dependency to a project.  After bundle installing my project now has dependencies on sprockets, actioncable, actionmailer and all of their dependencies.  None of which my project actually needs.
jsonapi-resources should only depend on those parts of rails that it actually uses.

Hi @benarmston please see: https://github.com/cerebris/jsonapi-resources/issues/811, same issue. Could u possibly add to the conversation there and close this ticket just to keep all the discussions in one place. Thx.

PR: https://github.com/cerebris/jsonapi-resources/pull/860

@benarmston This should be fixed in master.

This Issues has been resolved per #860 above.
@lgebhardt, this ticket can be closed.


Unable to install

installing via npm fails
`> npm install react-export-excel --save
npm ERR! code ENOENT
npm ERR! syscall spawn git
npm ERR! path git
npm ERR! errno -4058
npm ERR! enoent Error while executing:
npm ERR! enoent undefined ls-remote -h -t https://github.com/securedeveloper/js-xlsx.git
npm ERR! enoent
npm ERR! enoent
npm ERR! enoent spawn git ENOENT
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR!      C:\Users\user\AppData\Roaming\npm-cache_logs\2021-05-24T13_31_30_680Z-debug.log`

Same error when trying to install it inside a Docker node:alpine

error:

I have same error :(

This looks like a general npm error. Backup your package-lock.json and erase the original. Retry npm install and then install this package.

Hi Everyone,
I am also facing the same issue.
Locally it is working fine but through the docker file it is not installing react-export-excel plugin and giving the same above error.
I have tried the below steps in docker file but still not working -
RUN npm rm --save xlsx
RUN npm install https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz
RUN npm install react-export-excel --save
If anyone has any solution on this issue, kindly provide it. Thanks in advance.


Update sbt to 1.10.0

About this PR
📦 Updates org.scala-sbt:sbt from 1.9.9 to 1.10.0
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

🔍 Files still referring to the old version number
The following files still refer to the old version number (1.9.9).
You might want to review and update them manually.
indigo/build.sbt
indigo/tyrian-sandbox/yarn.lock

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-sbt", artifactId = "sbt" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.scala-sbt", artifactId = "sbt" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, version-scheme:early-semver, old-version-remains, commit-count:1

Superseded by #751.


Terrible performance

Describe the bug
After some investigation by the JetBrains team, we discovered that this plugin was the cause of high CPU spikes while typing and consequently system stuttering
To Reproduce

Install the plugin
Write some code, it's a bit hard to reproduce because it seems situational
Observe the CPU usage

Expected Behavior
I do not expect a simple plugin like this to have this much impact on performance, the code needs to be optimized
Environment
Does not matter, it happens on any OS. However, I noticed that the issue is more severe and frequent on IntelliJ IDEA 2024.
Plugin version: latest (18.0.0)
Other plugins: initially we thought Grazie Pro could be the culprit too, but I can't reproduce the issue by enabling only that. The issue appears when this plugin is enabled, no matter in what configuration
Useful Links
Here is the link to the YouTrack issue: IDEA-354009

I'm not very strong in performance issues. I'm a one-man team so any help is appreciated. Closing this because it's unlikely I'll have the time to do it myself.


Added formatMentions method

Description:
Added formatMentions method, that makes mentioning a lot easier.
It works exactly like format method but it takes
as parameters tuples with thread id and text. (thread_id, text)
Examples:
Message.formatMentions("Hey {!r}! My name is {}", ("1234", "Peter"), ("4321", "Michael"))

<Message (None): "Hey 'Peter'! My name is Michael", mentions=[<Mention 1234: offset=4 length=7>, <Mention 4321: offset=24 length=7>] emoji_size=None attachments=[]>

Message.formatMentions("Hey {p}! My name is {}", ("1234", "Michael"), p=("4321", "Peter"))

<Message (None): 'Hey Peter! My name is Michael', mentions=[<Mention 4321: offset=4 length=5>, <Mention 1234: offset=22 length=7>] emoji_size=None attachments=[]>
TODO:

Add documentation
Optimize code if possible

Okay, I don't think the code can be optimized much without doing it in a completely different way. All we need now is just documentation, and perhaps add the examples you've written in the description to either somewhere in fbchat/examples, or just to the docstring


To make Game class available I need to have ListWindow defined

When I don't have following lines in the code, it is crashing (linking issue)
Baner info_top_assets("                      Assets                         ", '#');
ListWindow<Stock> assets_window(80, 10, '#', '.', 9);
assets_window.add(Stock("Item A",150,0,100,200));
System s;

One of error messages - when commented Baner delcaration
undefined reference to `vtable for Baner'


Initial start for handling mix dep errors

Fixes #53
2023-11-15
This is just the start of a basic idea for prompting when mix dep failures occur. I'm getting the prompt, but GenLSP.request/2 is timing out which causes runtime to crash and my yes/no clicks seem to go nowhere. Timed out for now, but starting this draft in case others are able to look before me:
GenLSP timeout + Runtime crash

06:19:07.568 [error] GenServer #PID<0.689.0> terminating
** (stop) exited in: GenServer.call(NextLS.Buffer, {:outgoing_sync, %{"id" => 1730, "jsonrpc" => "2.0", "method" => "window/showMessageRequest", "params" => %{"actions" => [%{"title" => "yes"}, %{"title" => "no"}], "message" => "The NextLS runtime failed with errors on dependencies. Would you like to re-fetch them?", "type" => 1}}}, 5000)
    ** (EXIT) time out
    (elixir 1.15.7) lib/gen_server.ex:1074: GenServer.call/3
    (next_ls 0.15.0) lib/next_ls.ex:678: anonymous fn/5 in NextLS.handle_notification/2
    (next_ls 0.15.0) lib/next_ls/runtime.ex:316: NextLS.Runtime.handle_info/2
    (stdlib 5.1.1) gen_server.erl:1077: :gen_server.try_handle_info/3
    (stdlib 5.1.1) gen_server.erl:1165: :gen_server.handle_msg/6
    (stdlib 5.1.1) proc_lib.erl:241: :proc_lib.init_p_do_apply/3
Last message: {#Port<0.206>, {:data, "** (Mix) Can't continue due to errors on dependencies\n"}}
State: %{logger: #PID<0.292.0>, name: "wat", parent: ~c"g1h3KG5leHQtbHMtMTcwMDA1NDIxMjUyNTk1NjMzNEBERVZNMTA1MzlSRU0AAAFCAAAAAGVUxMU=", port: #Port<0.206>, registry: NextLS.Registry, errors: nil, task_supervisor: :runtime_task_supervisor, working_dir: "/private/tmp/wat", on_initialized: #Function<37.93096054/1 in NextLS.handle_notification/2>, compiler_refs: %{}}

Thanks for getting this started! I believe I need to change the timeout in GenLSP, as it's only waiting 5 seconds for you to click the button.
Also, that function should return with the response from the editor, so you'll need to use it. I assume that's why you say "they go nowhere"
Great work!

Ah, I hadn't dug deep and assumed the whole message cycle was going to be asynchronous. It seems like we need to handle the case where the user does nothing, ignores it, or doesn't get to the message in time. Can we tell the message to clear?
Also, I think I need to think a bit on the mix error capturing as well. There could be a legitimate error (like the dep won't compile because host tools are missing or something, etc) and we wouldn't want to prompt in that case. I think a majority of cases are solved with mix deps.get though

Ah, I hadn't dug deep and assumed the whole message cycle was going to be asynchronous. It seems like we need to handle the case where the user does nothing, ignores it, or doesn't get to the message in time.

I think that we most likely want the function to never time out, and if you want it to not block, you run it in a task and set a timeout on that, and handle accordingly.

Can we tell the message to clear?

i'll have to research that

Another thing to consider is the state of the runtime when we know there is an error with it.
Meaning, if there are errors, it should pause and wait for some direction and not just go into a restart loop

Another thing to consider is the state of the runtime when we know there is an error with it.
Meaning, if there are errors, it should pause and wait for some direction and not just go into a restart loop
🤔 hmm. This will take some thought as well. The mix deps.loadpath is what fails causing a non-zero exit of the private compiler port process which later gets handled and shuts things down. Is there currently a mechanism to leave the LSP and delay/retry the runtime start later?

It is probably acceptable to explicitly handle errors from the deps.loadpath call.
the runtime currently has some implicit state (if there is a node in the process state, it is considered "ready"), but it might be worth it to turn it into an explicit state machine (possibly using gen_statem)


Use govuk-template class for html element

 element needs the govuk-template class, which will fix the overscroll colour being white.

 Use govuk-template class for  element


Integration does not work after inital successful configuration

Describe the bug
I configured a new Dreame L10 pro with the xiaomi home app, then used the Xiaomi Cloud Tokens Extractor to retrieve my token. Then I added the robot to the dreame integration using the local (no maps) option via IP + Token. This worked, and created a new entity etc.
Now when I try to have HA do anything with the vacuum, I get logs similar to the following:
Traceback (most recent call last):
File "/config/custom_components/dreame_vacuum/dreame/device.py", line 610, in _update_task
self.update()
File "/config/custom_components/dreame_vacuum/dreame/device.py", line 973, in update
self.connect_device()
File "/config/custom_components/dreame_vacuum/dreame/device.py", line 648, in connect_device
self.info = DreameVacuumDeviceInfo(self._protocol.connect())
File "/config/custom_components/dreame_vacuum/dreame/protocol.py", line 482, in connect
response = self.send("miIO.info", retry_count=retry_count)
File "/config/custom_components/dreame_vacuum/dreame/protocol.py", line 514, in send
return self.device.send(method, parameters=parameters, retry_count=retry_count)
File "/usr/local/lib/python3.9/site-packages/miio/miioprotocol.py", line 161, in send
self.send_handshake()
File "/usr/local/lib/python3.9/site-packages/miio/miioprotocol.py", line 74, in send_handshake
raise DeviceException("Unable to discover the device %s" % self.ip)
miio.exceptions.DeviceException: Unable to discover the device <IP_ADDRESS>
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/threading.py", line 973, in _bootstrap_inner
self.run()
File "/usr/local/lib/python3.9/threading.py", line 1299, in run
self.function(*self.args, **self.kwargs)
File "/config/custom_components/dreame_vacuum/dreame/device.py", line 621, in _update_task
self._update_failed(ex)
File "/config/custom_components/dreame_vacuum/dreame/device.py", line 603, in _update_failed
self._error_callback(ex)
File "/config/custom_components/dreame_vacuum/coordinator.py", line 355, in async_set_update_error
super().async_set_update_error(ex)
AttributeError: 'super' object has no attribute 'async_set_update_error'

Both the robot and the home assistant server are on 192.168.2.X subnet, and I can ping the robot from the HA server.


Fix README as per styleguide

Update the README to follow the GOV.UK styleguide and add the MIT License.

👍  for most of your stuff. Review my commits please @gpeng ?


feat(feel): add number feel entry

Related to bpmn-io/form-js#653
Adds an optional FEEL number field entry. This enabled us to create number properties with FEEL support (e.g. min, max, minLength, maxLength in form-js, https://github.com/bpmn-io/form-js/pull/668).

Thanks @pinussilvestrus. I looked into the demo you provided and found one glitch: Entering a . breaks the editor focus (moves the cursor):

Expected behavior:

character is disallowed or character is passed, but an error message (invalid format) is shown

@nikku I decided to simply re-using the existing NumberField so we have a consistent behavior between FEEL and non-FEEL number entries. I'm not sure what's the expected behavior, but it should work the same as before now (without jumping cursor).


Updated CircularCoil class to alllow for dofs

I have (with some help from Jason, thanks!) modified the class CircularCoil in order to define its attributes (r0, I, normal, etc.) as degrees of freedom so that the object can be used in optimization of circular coil fields. This should not prevent a nominal use of the class, namely without optimization.

we would need unit tests that cover this new functionality

we would need unit tests that cover this new functionality.
Also a broader question is: what about the other magnetic fields in this file (ToroidalField, PoloidalField, DipoleField, etc)? they don't have this added support. Not saying that we need to, but just something that I noticed.

About unit tests, sure, I can try to do that, but you mean creating new tests for this part or running already existing tests?
About you broader question: yes I agree, we can think of extending this to other magnetic field objects – one step at a time :)

I tried writing unit tests in #379.
I also added the output to plot the circular coil. That made me remember that this field is tied to a specific coil, but that coil is not a geometry object. So this coil will not work for any of the regular curve objectives. Perhaps we should have a CircularCoil curve object that gets its field from CircularCoilField. However, I'm not sure that should be in the scope of this pull request.

About unit tests, sure, I can try to do that, but you mean creating new tests for this part or running already existing tests?

In the code coverage report, the set_dofs_impl function is not covered by the unit tests (you can see this in the codecov/patch check).  It shouldn't be to difficult add a unit test for this, checking that r0, center, etc have the correct values.

With no activity for a couple months, I think its about time to complete this pull request. I created a new issue for the discussion of further additions to magneticfieldclasses.py.

Thanks for reviving this, indeed I think we should go ahead with this and then if necessary carry out further additions/improvements to the class. I have been testing it for a while and it looks good to me!
Is it normal that the Linting CI tests fail? can one ignore that?

sorry but I had forgotten to add this minor quick fix that avoids errors when using load/save functions.


access_token is stored in global conf not local .aio

Expected Behaviour
If I set a local context the access_token should be stored in local config file .aio
Actual Behaviour
local context get rewritten to global config and access_token is stored there
Reproduce Scenario (including but not limited to)
If a user has access to multiple programs he cannot switch the programs as long as the old access_token is stored in the global config file. This is irritating when a local config has been setup
Steps to Reproduce
Create a local config for programA with
aio config:set ims.contexts.aio-cli-plugin-cloudmanager PATH_TO_CONFIG_JSON_FILE --file --json --local
aio config:set ims.contexts.aio-cli-plugin-cloudmanager.private_key PATH_TO_PRIVATE_KEY_FILE --file --local

execute a command within /programmA
aio cloudmanager:list-programs

check for the access_token in .aio
Platform and Version
❯ aio info                                                                                18:25:30

  System:
    OS: macOS 11.2.2
    CPU: (4) x64 Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
    Memory: 24.42 MB / 8.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 12.20.1 - ~/.nvm/versions/node/v12.20.1/bin/node
    Yarn: 1.22.10 - /usr/local/bin/yarn
    npm: 6.14.10 - ~/.nvm/versions/node/v12.20.1/bin/npm
  Virtualization:
    Docker: 20.10.5 - /usr/local/bin/docker
  npmGlobalPackages:
    @adobe/aio-cli: 6.0.0
  CLI plugins:
    @adobe/aio-cli 6.0.0 (core)
    @adobe/aio-cli-plugin-app 6.0.0 (core)
    @adobe/aio-cli-plugin-auth 2.4.0 (core)
    @adobe/aio-cli-plugin-certificate 0.2.1 (core)
    @adobe/aio-cli-plugin-cloudmanager 1.3.5 (user)
    @adobe/aio-cli-plugin-config 2.3.0 (core)
    @adobe/aio-cli-plugin-console 3.2.0 (core)
    @adobe/aio-cli-plugin-events 1.1.0 (core)
    @adobe/aio-cli-plugin-info 1.1.1 (core)
    @adobe/aio-cli-plugin-runtime 3.1.0 (core)
    @oclif/plugin-autocomplete 0.3.0 (core)
    @oclif/plugin-help 2.2.3 (core)
    @oclif/plugin-not-found 1.2.4 (core)
    @oclif/plugin-plugins 1.9.5 (core)
    @oclif/plugin-warn-if-update-available 1.7.0 (core)

Sample Code that illustrates the problem
Logs taken while reproducing problem
if a different program defined in .aio wants to be accessed the access_token in global config prevents it:
›   aio cloudmanager:list-programs
›   Error: [CloudManagerSDK:ERROR_LIST_PROGRAMS] Cannot retrieve programs: https://cloudmanager.adobe.io/api/programs (403 Forbidden) - Detail: Profile is not valid (Code: 403025)

@shazron This seems to be a problem within @adobe/aio-lib-ims. Would you agree?

Here's what's happening in persisting the token, the local parameter used is the default (which is false):

https://github.com/adobe/aio-lib-ims/blob/0ba538fc712329b5b7a7b2aec8536b7275742417/src/token-helper.js#L155
https://github.com/adobe/aio-lib-ims/blob/0ba538fc712329b5b7a7b2aec8536b7275742417/src/ctx/Context.js#L91

The config data is consolidated from local/global/env -- when getting a config value (say from the ims context) the caller doesn't know whether the value is local/global. This should be filed as an enhancement for evaluation under the aio-lib-ims repo (I can move it there if you want).

moving it is fine with me @shazron although I assume eventually there will need to be an issue here to take advantage of that potential enhancement.
I'm also wondering if there needs to be an enhancement in aio-lib-config so that the configuration "source" (local/global/env) is available as part of the configuration object -- otherwise how would aio-lib-ims know how what parameter to pass. But perhaps that should be evaluated after moving.


Add global translations.

Might be treated as conceptual work for issue #5 or merged:) I went with one translation file per holiday, beacuse it's much easier to track what's missing.

Wow! Looking very good. I am reading through it to understand what you did.

Can you also add unit tests? Also some functions are missing phpdoc :)

I will add unit tests soon.
I left out PHPDoc on methods implementing documented interfaces. What's your preference on this?

I personally like every function to be documented :)

Do you want me to merge your PR or do you want to update it first?

I will update in a moment.

I think that it's ready to merge.

Great! Let me have a look.


fix(apps/dev/prow): fix ingress to static ip, disable in helm chart installation

/approve

/retest


BUG: fixed undefined behaviour with corrupted JPEG file

See https://github.com/InsightSoftwareConsortium/ITK/issues/2928.

Have not followed closely the issue/source of the problem, but :100: to all involved for investigating this and proposing a fix.
Can the image file that demonstrates the issue be added to the test images and be provided to the test as another case so that to ensure that the issue does not leak back into the code ?

The image provided by @Hconk, from the issue mentioned above:
https://drive.google.com/file/d/1rL4cmT8ZBqPEmyHny6MfByVg4wt_6MCQ/view

@jhlegarreta Short video:
https://youtu.be/zJf3maxYaN0

A warning: Modules/IO/JPEG/src/itkJPEGImageIO.cxx:160:10: warning: variable 'ui' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered]

@dzenanz updated

@dzenanz It is probably GCC 4.8 compiler? Wait a little, i didn't try with 4.8. My 8.3 doesn't have warnings, there are could be more. Just a moment, please.

This one with "ui" is gone. There is one more warning with GCC 4.8, in WriteSlice, the last one, but i shall look closer later, no time now.

All tests look good, but there is still one warning from WriteSlice function with GCC 4.8 (don't see with other compilers). Honestly it is a little bit too fast, i would prefer to test more.

Can the image file that demonstrates the issue or an appropriate one (i.e. having some compatible license) be added to the test images and be provided to the test as another case so that to ensure that the issue does not leak back into the code ?

Here it is: https://github.com/issakomi/ITK/pull/1

@Hconk hope it is OK to use the image you shared. Let us know otherwise.

Thank you, i have merged the test. I am still working on the branch. It is WIP, please don't merge into ITK master just now.
The image is interesting. In fact if someone just cut in hex editor parts of a image, the JPEG can survive, i tried to produce corrupted images, there were only warnings. BTW, warnings are unfortunately invisible in current JPEG IO, messages are supressed.
METHODDEF(void) itk_jpeg_output_message(j_common_ptr) {}
This particular image has 2 issues
Corrupt JPEG data: premature end of data segment
Unsupported marker type 0x02

Don't know exactly, may be second causes the critical error, not 100% sure.

To demonstrate the bug with setjmp wrapping, Debian 10, GCC 8.3
This program
#include <cstdio>
#include <csetjmp>

namespace
{
bool wrap(jmp_buf env)
{
  if (setjmp(env))
  {
    return true;
  }
  return false;
}
}

int main(int, char**)
{
  jmp_buf env;
  volatile int x = 0;
//  if (wrap(env))
  if (setjmp(env))
  {
    ++x;
    printf("%d\n", x);
  }
  longjmp(env, 1);
  return 0;
}

with if (setjmp(env)) will print incrementing number forever (caution, must terminate with Ctrl-C), jumping forever.
r@deb:~/Desktop$ ./a.out
1
2
3
4
...
^C

with if (wrap(env))
r@deb:~/Desktop$ ./a.out
Segmentation fault

Similar program
#include <cstdio>
#include <csetjmp>

namespace
{
bool wrap(jmp_buf env)
{
  if (setjmp(env))
  {
    return true;
  }
  return false;
}
}

int main(int, char**)
{
  jmp_buf env;
  volatile int x = 0;
//  if (wrap(env))
  if (setjmp(env))
  {
    ++x;
    if (x <= 5)
    {
      printf("%d\n", x);
    }
    else
    {
      printf("return point 1\n");
      return 0;
    }
  }
  longjmp(env, 1);
  printf("return point 2\n");
  return 0;
}

with if (setjmp(env))
r@deb:~$ ./a.out
1
2
3
4
5
return point 1
r@deb:~$

with if (wrap(env))
r@deb:~/$ ./a.out
r@deb:~$

prints nothing somehow.

@Hconk hope it is OK to use the image you shared. Let us know otherwise.

Yes，it's OK. I hava some similar images, If necessary, I will share it when I have time.

Thank you, i have merged the test. I am still working on the branch. It is WIP, please don't merge into ITK master just now.
The image is interesting. In fact if someone just cut in hex editor parts of a image, JPEG library can survive, i tried to produce corrupted images, there were only warnings. BTW, warnings are unfortunately invisible in current JPEG IO, messages are supressed. METHODDEF(void) itk_jpeg_output_message(j_common_ptr) {}
This particular image has 2 issues
Corrupt JPEG data: premature end of data segment
Unsupported marker type 0x02

Don't know exactly, maybe the second causes the critical error, not 100% sure.

I found easy way to produce corrupted jpeg file.  insert FF 02 into SOS(0xFFDA)  field  will cause crash. Hope to bring some help to your work.

@Hconk thank you!
I have optionally enabled JPEG messages #define JPEGIO_JPEG_MESSAGES 1 here, maybe i shall have to  set default to false later, not sure what ITK owners think. The messages are important, IMHO.
It is still WIP, there are some things i would like to check, specially in WriteSlice functions.

Probably the PR is closer to be ready.
There are many more issues, but may be enough for this PR, can be done in separate PRs.
In particular in Write:
  if (this->GetComponentType() != IOComponentEnum::UCHAR && this->GetComponentType() != IOComponentEnum::UINT)
  {
    itkExceptionMacro(<< "JPEG supports unsigned char/int only");
  }

It is bug, a kind of remnant from an ancient attempt to do something with JPEG 12 bits, probably. Of course unsigned int doesn't work, nowhere in pointer arithmetic is something related. I tried (without any hope) to save UINT 2D image and got garbage.
The same in constructor.
  // 12bits is not working right now, but this should be doable
#if BITS_IN_JSAMPLE == 8
  m_ComponentType = IOComponentEnum::UCHAR;
#else
  m_ComponentType = IOComponentEnum::UINT;
#endif

It makes no sense to allow other BITS_IN_JSAMPLE, it can not work. Better #error at this point, an attempt to use external 12 bits or more JPEG library here will end up in crashes.
Here
  if (cinfo.image_width > 65536 || cinfo.image_height > 65536)
  {
    itkExceptionMacro(<< "JPEG : Image is too large for JPEG");
  }

maximum dimension is defined in jmorecfg.h
#define JPEG_MAX_DIMENSION  65500L  /* a tad under 64K to prevent overflows */
if using external JPEG library it may be set to different value (very unlikely, but theoretically possible)
WriteSlice could be reviewed, IMHO.

macOS.Python  itkPyBufferMemoryLeakTest (Failed) fails for all PR for some reason

/azp run ITK.macOS.Python

I don't know whether this is ready for review and merge or not. If it is not, please convert it into a draft PR.

I don't know whether this is ready for review and merge or not. If it is not, please convert it into a draft PR.

Yes, it is.

I don't know whether this is ready for review and merge or not. If it is not, please convert it into a draft PR.

Yes, it is. There will be several more small PRs later, there are more issues unrelated to setjmp.

Just realized that in
class JPEGFileWrapper
{
public:
  JPEGFileWrapper(const char * const fname, const char * const openMode)
    : m_FilePointer(nullptr)
  {
    m_FilePointer = fopen(fname, openMode);
  }

  virtual ~JPEGFileWrapper()
  {
    if (m_FilePointer != nullptr)
    {
      fclose(m_FilePointer);
    }
  }

  FILE * m_FilePointer;
};

FILE * m_FilePointer; probably would be better FILE * volatile m_FilePointer;
The class destructor may be triggered by longjmp. What do you think? Generally everything accessed during jumping should be volatile, AFAIK.
But not doing push now. I still have doubts: do you wish JPEG messages or not. If not, i shall change JPEGIO_JPEG_MESSAGES to 0

itkPyBufferMemoryLeakTest with ITK.macOS.Python fails again. It happens with many PRs. Not related.


Is it the normal behavior for group_by?

Hi
I add unexpected results with group_by but I'm not sure 'm right to find them unexpected. Anyway, I expected to get for s2 all pairs with the same first item in the same list, i.e. the same result as s3 when using group_by... Am I doing something wrong here (perhaps because of strings and hashing?)?
utop # module S = Sequence;;
module S = Sequence
utop # open Containers;;
utop # let s =
List.product (fun x y -> (x, y)) [ "a"; "b"; "c" ] [ "d"; "e"; "f" ]
|> S.of_list;;
val s : (string * string) S.t = <fun>
utop # let print s = Format.printf "%a"
(Format.within "[" "]" @@ S.pp_seq
@@ Format.within "(" ")" @@ Pair.pp String.print String.print) s;;
val print : (string * string) S.t -> unit = <fun>
utop # print s;;
[("a", "d"), ("a", "e"), ("a", "f"), ("b", "d"), ("b", "e"), ("b", "f"), ("c",
"d"), ("c", "e"), ("c",
"f")]- : unit = ()
utop # let s2 = S.group_by ~hash:(Hash.pair String.hash String.hash)
~eq:(fun (a1, _) (b1, _) -> String.equal a1 b1) s;;
val s2 : (string * string) list S.t = <fun>
utop # let print2 s =
S.iter Format.(printf "%a@\n" (Format.within "[" "]" @@ list @@ within "(" ")"
@@ hbox @@ Pair.pp String.print String.print)) s;;
val print2 : (string * string) list S.t -> unit = <fun>
utop # print2 s2;;
[("b", "d")]
[("a", "e")]
[("b", "f")]
[("a", "d")]
[("c", "d")]
[("a", "f")]
[("c", "f")]
[("c", "e")]
[("b", "e")]
- : unit = ()
utop # let s3 = S.sort_uniq ~cmp:(Pair.compare String.compare String.compare) s
|> S.group_succ_by ~eq:(fun (a1, _) (b1, _) -> String.equal a1 b1);;
val s3 : (string * string) list S.t = <fun>
utop # print2 s3;;
[("a", "f"), ("a", "e"), ("a", "d")]
[("b", "f"), ("b", "e"), ("b", "d")]
[("c", "f"), ("c", "e"),
("c", "d")]
- : unit = ()

Got it!
I should have written:
utop # let s4 = S.group_by ~hash:(fun (a, _) -> String.hash a)
~eq:(fun (a1, _) (b1, _) -> String.equal a1 b1) s;;
val s4 : (string * string) list S.t = <fun>
utop # print2 s4;;
[("a", "f"), ("a", "e"), ("a", "d")]
[("b", "f"), ("b", "e"), ("b", "d")]
[("c", "f"), ("c", "e"),
("c", "d")]
- : unit = ()

So it was not clear for me, from the documentation, what the hash function had to do... Perhaps the doc should be updated here, but I don't really know how to formulate this...

Ok, I see. The invariant you were missing is quite classic: x = y ==> hash x = hash y. In this particular case it would not hold.

I added the invariant to the docs,thanks. Release incoming.