Dep package version without ^

Saw that at least in one place
https://github.com/rofrischmann/fela/blob/master/packages/react-fela/package.json#L31
version is set as "prop-types": "15.5.8" which leads to package duplication in node_modules tree of user's project that uses react-fela.
Would not it be better to always use ^ for direct dependencies so that we have cleaner yarn.locks and smaller bundles?

Yeah, I removed the ^ after we had several semver issues (damn, managing a monorepo is hard).
I’d love to get a PR that adds those back if you want to! Got the semver problem fixed pretty soon with a new tool :p

Will be happy to do PR, but could not quite grasp the right way to upgrade dependency though.
As far as I understand fela uses lerna but not using yarn workspaces.
Running yarn add<EMAIL_ADDRESS>in packages/react-fela leads to adding lots of fela-* packages to packages/react-fela/yarn.lock. Could you please point to the proper way of upgrading packages?

hmm. I was actually doing it manually :/ just adding the ^ to all external deps.
We have an open PR to use yarn workspaces soon, but I'm not deeply into that at all.

Well, I guess we should leave this issue opened until workspaces PR is hopefully merged and then upgrade all the deps.


modify "lichess account not linked" error message

to prevent https://discord.com/channels/421490568502181889/573664728639995945/885523157841235988 from happening again

Hi there,
Sorry, I didn't see this until now. Not getting push notifications for some reason. I already implemented this change in parallel this morning.
Thanks for the contribution though!


[ESBuild]  [error] RangeError: Set maximum size exceeded

Command
build
Is this a regression?

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

The previous version in which this bug was not present was
17-next8 (I think)
Description
Switching to Esbuild gives this error when trying to build:
[error] RangeError: Set maximum size exceeded
Minimal Reproduction
ng build
Exception or Error
No response
Your Environment
Angular CLI: 17.0.0-rc.1
Node: 18.18.1
Package Manager: npm 9.8.1
OS: darwin arm64

Angular: 17.0.0-rc.1
... animations, cdk, cli, common, compiler, compiler-cli, core
... forms, localize, material, material-date-fns-adapter
... platform-browser, platform-browser-dynamic, router
... service-worker, ssr

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1700.0-rc.1
@angular-devkit/build-angular   17.0.0-rc.1
@angular-devkit/core            17.0.0-rc.1
@angular-devkit/schematics      17.0.0-rc.1
@angular/fire                   7.5.0
@schematics/angular             17.0.0-rc.1
rxjs                            7.5.7
typescript                      5.2.2
zone.js                         0.14.0

Anything else relevant?
Angular.json:
{
    "$schema"<EMAIL_ADDRESS>    "version": 1,
    "cli": {
        "packageManager": "npm",
        "analytics": "ac59db6d-a680-408f-af50-2623fb62aeae"
    },
    "newProjectRoot": "projects",
    "projects": {
        "totti": {
            "projectType": "application",
            "schematics": {
                "@schematics/angular:component": {
                    "style": "scss",
                    "skipTests": true,
                    "standalone": true,
                    "changeDetection": "OnPush"
                },
                "@schematics/angular:class": {
                    "skipTests": true
                },
                "@schematics/angular:directive": {
                    "skipTests": true,
                    "standalone": true
                },
                "@schematics/angular:guard": {
                    "skipTests": true
                },
                "@schematics/angular:interceptor": {
                    "skipTests": true
                },
                "@schematics/angular:pipe": {
                    "skipTests": true,
                    "standalone": true
                },
                "@schematics/angular:resolver": {
                    "skipTests": true
                },
                "@schematics/angular:service": {
                    "skipTests": true
                }
            },
            "root": "",
            "sourceRoot": "src",
            "prefix": "app",
            "i18n": {
                "sourceLocale": "en-US",
                "locales": {
                    "da": {
                        "translation": "src/locale/messages.da.json"
                    },
                    "en": {
                        "translation": "src/locale/messages.en.json"
                    }
                }
            },
            "architect": {
                "build": {
                    "builder": "@angular-devkit/build-angular:browser-esbuild",
                    "options": {
                        "allowedCommonJsDependencies": [],
                        "outputPath": "dist/totti/",
                        "index": "src/index.html",
                        "main": "src/main.ts",
                        "polyfills": ["zone.js"],
                        "tsConfig": "tsconfig.app.json",
                        "inlineStyleLanguage": "scss",
                        "styles": ["src/styles/index.scss"],
                        "assets": ["src/assets", "src/robots.txt", "src/manifest.json"],
                        "scripts": [],
                        "serviceWorker": true,
                        "ngswConfigPath": "ngsw-config.json",
                        "localize": true,
                        "i18nDuplicateTranslation": "ignore"
                    },
                    "configurations": {
                        "production": {
                            "fileReplacements": [
                                {
                                    "replace": "src/environments/environment.ts",
                                    "with": "src/environments/environment.prod.ts"
                                },
                                {
                                    "replace": "src/app/shared/store/build-specifics/index.ts",
                                    "with": "src/app/shared/store/build-specifics/index.prod.ts"
                                }
                            ],
                            "outputHashing": "all",
                            "vendorChunk": false,
                            "buildOptimizer": true,
                            "serviceWorker": true,
                            "namedChunks": false
                        },
                        "localprod": {
                            "fileReplacements": [
                                {
                                    "replace": "src/environments/environment.ts",
                                    "with": "src/environments/environment.localprod.ts"
                                }
                            ],
                            "outputHashing": "all"
                        },
                        "test": {
                            "fileReplacements": [
                                {
                                    "replace": "src/environments/environment.ts",
                                    "with": "src/environments/environment.test.ts"
                                },
                                {
                                    "replace": "src/app/shared/store/build-specifics/index.ts",
                                    "with": "src/app/shared/store/build-specifics/index.prod.ts"
                                }
                            ],
                            "outputHashing": "all",
                            "vendorChunk": false,
                            "buildOptimizer": true,
                            "serviceWorker": true,
                            "namedChunks": false
                        },
                        "localtest": {
                            "fileReplacements": [
                                {
                                    "replace": "src/environments/environment.ts",
                                    "with": "src/environments/environment.test.ts"
                                }
                            ],
                            "outputHashing": "all"
                        },
                        "development": {
                            "fileReplacements": [
                                {
                                    "replace": "src/environments/environment.ts",
                                    "with": "src/environments/environment.dev.ts"
                                },
                                {
                                    "replace": "src/app/shared/store/build-specifics/index.ts",
                                    "with": "src/app/shared/store/build-specifics/index.prod.ts"
                                }
                            ],
                            "outputHashing": "all",
                            "sourceMap": true,
                            "vendorChunk": false,
                            "buildOptimizer": false,
                            "serviceWorker": true,
                            "namedChunks": false
                        },
                        "local": {
                            "buildOptimizer": false,
                            "optimization": false,
                            "sourceMap": true
                        },
                        "da": {
                            "localize": ["da"]
                        },
                        "en": {
                            "localize": ["en"]
                        }
                    },
                    "defaultConfiguration": "production"
                },
                "serve": {
                    "builder": "@angular-devkit/build-angular:dev-server",
                    "configurations": {
                        "production": {
                            "buildTarget": "totti:build:production"
                        },
                        "localprod": {
                            "buildTarget": "totti:build:localprod"
                        },
                        "localtest": {
                            "buildTarget": "totti:build:localtest"
                        },
                        "test": {
                            "buildTarget": "totti:build:test"
                        },
                        "development": {
                            "buildTarget": "totti:build:development"
                        },
                        "local": {
                            "buildTarget": "totti:build:local,en"
                        },

                        "da": {
                            "buildTarget": "totti:build:local,da"
                        },
                        "en": {
                            "buildTarget": "totti:build:local,en"
                        }
                    },
                    "defaultConfiguration": "local"
                },
                "extract-i18n": {
                    "builder": "@angular-devkit/build-angular:extract-i18n",
                    "options": {
                        "buildTarget": "totti:build"
                    }
                },
                "test": {
                    "builder": "@angular-devkit/build-angular:karma",
                    "options": {
                        "polyfills": ["zone.js", "zone.js/testing"],
                        "tsConfig": "tsconfig.spec.json",
                        "inlineStyleLanguage": "scss",
                        "assets": ["src/favicon.ico", "src/assets", "src/manifest.json"],
                        "styles": ["src/styles/index.scss"],
                        "scripts": []
                    }
                },
                "deploy": {
                    "builder": "@angular/fire:deploy",
                    "options": {
                        "prerender": false,
                        "ssr": false,
                        "browserTarget": "totti:build:production",
                        "firebaseProject": "fastorder-dev",
                        "firebaseHostingSite": "fresto-totti-dev"
                    }
                }
            }
        }
    }
}

This seems like a bug but we'll need to look at a reproduction to find and fix the problem. Can you setup a minimal repro please?
You can read here why this is needed. A good way to make a minimal repro is to create a new app via ng new repro-app and adding the minimum possible code to show the problem. Then you can push this repository to github and link it here.
This might be related to your directory structure so its really important to get an accurate repro to diagnose this.

Hi @alan-agius4 , I'll try to strip down the project to see if I can generate a repro.
To add more info, I also tried adding "budgets" for builds but the error still occurred.

The full error message is:
An unhandled exception occurred: Set maximum size exceeded
See "/private/var/folders/fm/sdg8xwzx1bd78dgtf26l56b40000gn/T/ng-tGJvQK/angular-errors.log" for further details.
/Users/spock/projects/fresto/apps/totti/node_modules/@angular-devkit/architect/node_modules/rxjs/dist/cjs/internal/util/reportUnhandledError.js:13
            throw err;
            ^

RangeError: Set maximum size exceeded
    at Set.add (<anonymous>)
    at visitor (/Users/spock/projects/fresto/apps/totti/node_modules/@angular-devkit/core/src/json/schema/registry.js:280:65)
    at _visitJsonRecursive (/Users/spock/projects/fresto/apps/totti/node_modules/@angular-devkit/core/src/json/schema/visitor.js:47:19)
    at /Users/spock/projects/fresto/apps/totti/node_modules/@angular-devkit/core/src/json/schema/visitor.js:56:24
    at doInnerSub (/Users/spock/projects/fresto/apps/totti/node_modules/@angular-devkit/core/node_modules/rxjs/dist/cjs/internal/operators/mergeInternals.js:22:31)
    at outerNext (/Users/spock/projects/fresto/apps/totti/node_modules/@angular-devkit/core/node_modules/rxjs/dist/cjs/internal/operators/mergeInternals.js:17:70)
    at OperatorSubscriber._this._next (/Users/spock/projects/fresto/apps/totti/node_modules/@angular-devkit/core/node_modules/rxjs/dist/cjs/internal/operators/OperatorSubscriber.js:33:21)
    at Subscriber.next (/Users/spock/projects/fresto/apps/totti/node_modules/@angular-devkit/core/node_modules/rxjs/dist/cjs/internal/Subscriber.js:51:18)
    at Observable._subscribe (/Users/spock/projects/fresto/apps/totti/node_modules/@angular-devkit/core/node_modules/rxjs/dist/cjs/internal/observable/innerFrom.js:109:24)
    at Observable._trySubscribe (/Users/spock/projects/fresto/apps/totti/node_modules/@angular-devkit/core/node_modules/rxjs/dist/cjs/internal/Observable.js:41:25)

Node.js v18.18.1
ERROR: "build:dev-code" exited with 1.
ERROR: "build:dev" exited with 1.

@alan-agius4  I tried to make a repro, but when I stripped off the application code, it now compiled without errors.
So I guess I have to go back and strip off bit by bit to find the threshold for when the error is thrown. There are no large bundled files in the original build.

Does this happen before the build starts or after the build appears to finish?

@clydin  After the build has apparently finished. The build takes around 14 secs, then the process just appears to hang for around 20 seconds before the error message comes out.
There is nothing unusual about my structure @alan-agius4 , and I have been using all next-releases without issues. The only version I didn't use with esbuild was RC0 (possibly next8). Before that esbuild worked fine with same project.

Console when it happens - it appears the bundles are generated fine before the error occurs..
... other bundles removed for brevity
chunk-5O6S6MZC.js     | -                   |   1.05 kB |               623 bytes
chunk-WIXVRXUX.js     | index               | 605 bytes |               605 bytes
chunk-IPKIJE2V.js     | index               | 492 bytes |               492 bytes
chunk-DJ6WDPS3.js     | index               | 295 bytes |               295 bytes
chunk-XB7ZS24I.js     | -                   | 118 bytes |               118 bytes

Application bundle generation complete. [11.067 seconds]
An unhandled exception occurred: Set maximum size exceeded
See "/private/var/folders/fm/sdg8xwzx1bd78dgtf26l56b40000gn/T/ng-jD8b8N/angular-errors.log" for further details.
/Users/spock/projects/fresto/apps/totti/node_modules/@angular-devkit/architect/node_modules/rxjs/dist/cjs/internal/util/reportUnhandledError.js:13
            throw err;
            ^

RangeError: Set maximum size exceeded

@clydin  Damn you're fast, I'm still iterating my repro here to find where it breaks :) .. impressive


Incorrect output

Hi, This looks very interesting, but it doesn't seem to work. The output is jumble of triangles. Could you confirm the code in the repo is correct. Thanks.

I can't confirm it's correct beyond it seems to work for the few examples I've tried - you can checkout the unit tests to see what I tried. Can you post your code? I mostly transcribed code written Javascript and Java into golang, so it's likely there are errors.

I tried the output in Meshlab (which I don't normally use) and it worked. Turns out that it was 'Normal' not being it lowercase in the output that was causing the issue. Thanks for your time.


Implement linkchecker CI

In order to get ensure that all the links available in our docs are still on-line. We need to set up a CI to ensure all links works.
After playing a bit with https://pypi.org/project/LinkChecker/ I can see errors if a url is not correct/exists:
lander@landeru-pc:~/github/rtwg_documentation(foxy)$ linkchecker build/index.html
INFO linkcheck.cmdline 2021-04-28 19:03:04,123 MainThread Checking intern URLs only; use --check-extern to check extern URLs.
LinkChecker 10.0.1
Copyright (C) 2000-2016 Bastian Kleineidam, 2010-2021 LinkChecker Authors
LinkChecker comes with ABSOLUTELY NO WARRANTY!
This is free software, and you are welcome to redistribute it under
certain conditions. Look at the file `LICENSE' within this distribution.
Get the newest version at https://linkchecker.github.io/linkchecker/
Write comments and bugs to https://github.com/linkchecker/linkchecker/issues

Start checking at 2021-04-28 19:03:04+002

URL        `jjjjj'
Name       `kk'
Parent URL file:///home/lander/github/rtwg_documentation/build/index.html, line 109, col 4
Real URL   file:///home/lander/github/rtwg_documentation/build/jjjjj
Check time 0.000 seconds
Result     Error: URLError: <urlopen error [Errno 2] No such file or directory: '/home/lander/github/rtwg_documentation/build/jjjjj'>

Statistics:
Downloaded: 202.34KB.
Content types: 2 image, 16 text, 0 video, 0 audio, 23 application, 0 mail and 13 other.
URL lengths: min=23, max=95, avg=73.

That's it. 54 links in 54 URLs checked. 0 warnings found. 1 error found.
Stopped checking at 2021-04-28 19:03:05+002 (1 seconds)
lander@landeru-pc:~/github/rtwg_documentation(foxy)$ sudo vim build/index.html
lander@landeru-pc:~/github/rtwg_documentation(foxy)$ linkchecker build/index.html
INFO linkcheck.cmdline 2021-04-28 19:03:17,711 MainThread Checking intern URLs only; use --check-extern to check extern URLs.
LinkChecker 10.0.1
Copyright (C) 2000-2016 Bastian Kleineidam, 2010-2021 LinkChecker Authors
LinkChecker comes with ABSOLUTELY NO WARRANTY!
This is free software, and you are welcome to redistribute it under
certain conditions. Look at the file `LICENSE' within this distribution.
Get the newest version at https://linkchecker.github.io/linkchecker/
Write comments and bugs to https://github.com/linkchecker/linkchecker/issues

Start checking at 2021-04-28 19:03:17+002

Statistics:
Downloaded: 202.32KB.
Content types: 2 image, 16 text, 0 video, 0 audio, 23 application, 0 mail and 12 other.
URL lengths: min=23, max=95, avg=73.

That's it. 53 links in 53 URLs checked. 0 warnings found. 0 errors found.
Stopped checking at 2021-04-28 19:03:19+002 (1 seconds)

@carlossvg @razr, I'll go ahead and implement this in our CI. Also, It'd be great to run this nightly to ensure all links are still available. Thoughts?


edited the view budgets command to display the budget as a floating point number with 2 sf

Pull Request Test Coverage Report for Build 347

3 of 12 (25.0%)  changed or added relevant lines in 6 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.04%) to 68.02%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/main/java/seedu/address/logic/arithmetic/TotalAttendees.java
0
1
0.0%

src/main/java/seedu/address/logic/commands/ViewClubBudgetsCommand.java
0
1
0.0%

src/main/java/seedu/address/logic/BudgetCalculationManager.java
0
2
0.0%

src/main/java/seedu/address/logic/commands/BudgetCalculationCommand.java
0
5
0.0%

Totals

Change from base Build 345:
-0.04%

Covered Lines:
2212

Relevant Lines:
3252

💛  - Coveralls


Benchmark

I saw golang was handling at 200mbps bandwidth and wanted to test it myself.
root@alma-dev-env ~/dev-env/atacama/bench/rust-echo$ uname -a                                                                              130 ↵ main
Linux alma-dev-env 5.14.0-362.8.1.el9_3.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Nov 7 14:54:22 EST 2023 x86_64 x86_64 x86_64 GNU/Linux

root@alma-dev-env ~/dev-env/atacama/bench/rust-echo$ go version                                                                                main
go version go1.21.5 linux/amd64

Golang test result
root@alma-dev-env ~/dev-env/atacama/bench$ tcpkali <IP_ADDRESS>:2112 -m 'hello world' -c 100 -T 10s                                                 main

Destination: [<IP_ADDRESS>]:2112
Interface lo address [<IP_ADDRESS>]:0
Using interface lo to connect to [<IP_ADDRESS>]:2112
Ramped up to 100 connections.
Total data sent:     62276.9 MiB<PHONE_NUMBER>3 bytes)
Total data received: 62323.5 MiB<PHONE_NUMBER>4 bytes)
Bandwidth per channel: 1044.599⇅ Mbps (130574.8 kBps)
Aggregate bandwidth: 52249.464↓, 52210.402↑ Mbps
Packet rate estimate: 4786058.3↓, 4536452.9↑ (12↓, 45↑ TCP MSS/op)

Rust test result
Destination: [<IP_ADDRESS>]:2112
Interface lo address [<IP_ADDRESS>]:0
Using interface lo to connect to [<IP_ADDRESS>]:2112
Ramped up to 100 connections.
Total data sent:     63535.5 MiB<PHONE_NUMBER>6 bytes)
Total data received: 63199.2 MiB<PHONE_NUMBER>5 bytes)
Bandwidth per channel: 1062.681⇅ Mbps (132835.2 kBps)
Aggregate bandwidth: 52993.073↓, 53275.056↑ Mbps
Packet rate estimate: 4861914.7↓, 4657961.4↑ (12↓, 43↑ TCP MSS/op)
Test duration: 10.0042 s.

Easily both of them handles 1 gbps.

I don't really understand what hardware or OS the benchmark results are from, on this machine (6C/12T Zen2 @ 2.1GHz) I get ~570 Mbps for Rust (both --release and unoptimized!), Go and Atacama.
It even fails to scale when unlocking the CPU frequency, leading me to believe this is benchmarking the Linux TCP stack and/or context-switching for me (and I guess you'd see throughput proportional to core count).
I did try dune exec bench/echo_eio.exe out of curiosity and that did only 16 Mbps (28 Mbps with unlocked CPU frequency), so maybe the benchmark was done on a machine with more cores, 8C/16T maybe?
But then the fact that none of the other results are better than my ~570 Mbps upper bound, confuses me greatly.
Is this an already loaded system? I did this on a desktop machine and got shockingly repeatable numbers (as long as I wasn't actively using a browser or any other apps etc.).
Was the benchmarking done on Windows or macOS? I'm not super familiar with their TCP stacks but I wouldn't be surprised if they were consistently (or, worse, inconsistently) slower than Linux (and that's before you add in scheduling, async APIs, etc.).

Not sure if this is even the right thing to modify but on a whim I decided to try this:
diff --git a/bench/echo_eio.ml b/bench/echo_eio.ml
index ae2dfb8..bd58be6 100644
--- a/bench/echo_eio.ml
+++ b/bench/echo_eio.ml
@@ -6,7 +6,7 @@ module Server = struct
   module Read = Eio.Buf_read

   let handle_client flow _addr =
-    let data = Read.of_flow flow ~max_size:128 in
+    let data = Read.of_flow flow ~max_size:(50*1024) in
     Eio.Flow.copy (Read.as_flow data) flow

   let run socket =

This gives me 280 Mbps (400 Mbps w/ unlocked CPU frequency) from echo_eio, which is still worse than the 570 Mbps everything else reaches, but the difference can at least now be explained by OCaml Eio inefficiency (which Atacama bypasses, or maybe this is again just bad benchmarking, I have never worked with Eio so it's hard to tell at a glance if there's extra copies in there), instead of being an absurd gap.
I still have no idea how the reported results even make sense (other than the macOS theory which I can't test).

For what it's worth, the numbers by themselves are not that important. It's the numbers relative to the other languages/stacks that are important. So we can compare how Atacama is doing.
The Rust and Go ones were comically bad, so it's clear that something is likely wrong, and I think he's hoping the broader dev community can help make them better.
Also, the goal shouldn't be optimizing the Go or Rust (or any of them) to a fine degree, but doing it in a way that is generally considered the proper and standard way to do something like this.

The Rust and Go ones were comically bad, so it's clear that something is likely wrong, and I think he's hoping the broader dev community can help make them better.

I'm not sure it was clear what was observed: what's wrong is on @leostera's end, Atacama, Rust, Go (and even weird combinations like Rust with optimizations disabled) all have the same numbers on Linux.
On Linux, there's nothing really to optimize, outside of echo_eio (which seems to mostly just be missing the buffer size).
The problem is @leostera's numbers both don't make sense (the benchmarks just saturate the OS TCP stack, there's no interesting differences between languages or even frameworks, that I can think of), and have not been reproduced.
My best hope is that someone with macOS can reproduce the bad numbers so we can figure out what the bad macOS syscalls are, or whatever pitfall is happening (could even be the default heap allocator for all I know).

Hi folks! Thanks for the thread. Let me clarify some stuff:

I'm runnning on a Macbook Pro M1 Max (10 cores according to htop/nproc) with 64GB of RAM.

Atacama (Riot) uses kqueue on macOS and epoll on Linux.

The goal is to illustrate the relative performance, but this can be made more explicit in the README.md too.

The lower-level syscalls between Eio and Riot (the scheduler Atacama builds on) should be roughly the same, but the scheduling between Riot and Eio is very different.

@ryanwinchester: For what it's worth, the numbers by themselves are not that important. It's the numbers relative to the other languages/stacks that are important. So we can compare how Atacama is doing.

As @ryanwinchester said, this is just a way to compare how Atacama is doing. One of these day's we'll do the work to submit to techempower.

Also noticing the same thing here -- on linux, the performance delta is nowhere near as huge. Go performs roughly the same as elixir/erlang implementations with your current benchmark code. If using io.copy(conn, conn) instead of conn.Read / conn.Write it's roughly 2-3x the performance of the elixir implementation.

That's good tho! Feel free to PR the Go improvements 🙏🏼 – I don't want to misrepresent any platform here.

I don't want to misrepresent any platform here.

The problem we were trying to communicate to you is that you already are misrepresenting (and not just one or two, but almost everyone!).
Your relative distinctions have not reproduced so far for anyone on Linux, where it appears that there is basically no difference between languages or frameworks, with OCaml5's Eio being the only exception.
And even the eio benchmark becomes only 2x slower (instead of 20x or worse) than everything else, once you remember to update it to use 50kB buffers instead of 128 byte buffers.
Best case scenario you found a real problem on macOS: if so, you should show both macOS and Linux numbers (tho the Linux numbers are going to be really boringly all equal to eachother for the most part).
But it's also possible you had any other software running at the same time on your macOS - given you don't seem to be doing any advanced benchmarking techniques like core pinning, and presumably all benchmark use all your cores, any background load will make your testing highly unscientific.
Thankfully, there is a way to check: run all the benchmarks again, in different orders, and discard any outliers because those must've been unrelated load on your macOS machine.

 That may be saturating the network stack? Seems like a nice ceil to work towards.
If any of you has all the linux numbers, I'd be happy to add them there too! ✨
Leaving this open because I think this is a good discussion to have, as long as the focus is on improving the code in the benchmarks and collaborating to get a better idea of how Atacama performs on different machines.

And it goes without saying but if you can improve on the Eio or Go code, just do it, or tell me how to do it and I'll get it done. Super happy to.

@eddyb did you see this? https://github.com/ocaml-multicore/eio/pull/663 🚀


ochre-stars.Rmd not displaying properly

Captions weren't loading for two of the four figures in ochre-stars.Rmd, even though the code chunks were present and (mostly) correct. Debugging proved fruitful, however the "figure info" isn't loading for the fourth figure ("CHIS: Ochre Seastars at Individual Islands". I cannot get it to work. What do you think @bbest, @superjai ?

Welp, seems to be working now. Closing issue


minor layout update

What does this PR do?
minor fix for two integrations readme

We changed the layout for further Reading.
If there is just one sub-section then we don't display the subtitle.
If there is two sub-section then the two subtitles are:

Datadog Blog
Knowledge Base


Bad upgrade path from TJ’s serve

Hallo!
Nice to see serve is having a new function! But I see stuff breaking because I expected it to just be a new version of the package, which is not.
Could you at least give some information if someone is trying to render Jade files and similar that this is not that serve?

To make it clear: You're talking about that serve?

That docs still say it is called serve on npm!

npm info<EMAIL_ADDRESS>author
# TJ Holowaychuk<EMAIL_ADDRESS>
npm info<EMAIL_ADDRESS>author
# leo

<EMAIL_ADDRESS>– tj/serve
<EMAIL_ADDRESS>– this repo

This should probably be mentioned in the docs of tj/serve.

In fact I currently solved it by installing 1.x.

According to the SemVer spec, we acted just right. Consider this change a complete rewrite of the package (which, in turn, is considered a major/breaking SemVer change).
Please use the old version of the package, if you'd like to take advantage of the functionalities that existed before the "rewrite".
:blush:

@yuchi Would you submit a PR at tj/serve to clarify in the docs that server>=2 is in a different repo?

@leo that's right. Obviously right. But a small note should do the job.

@derhuerst I will.


JavaScript: 1.18.1 cherry-picks

This cherry-picks the following analysis PRs onto 1.18:

https://github.com/Semmle/ql/pull/255 (typo in query help)
https://github.com/Semmle/ql/pull/257 (improved model of DOMException)
https://github.com/Semmle/ql/pull/275 (improved model of non-toplevel imports), plus a revert of the QL-level workaround which is obviated by the extractor PR
https://github.com/Semmle/ql/pull/302 (support for Spanner)
https://github.com/Semmle/ql/pull/316 (exported variables with definitions lacking right-hand sides)
https://github.com/Semmle/ql/pull/263 (tokenisation test cases)
https://github.com/Semmle/ql/pull/271 (test case for type expansion through function type parameter)
https://github.com/Semmle/ql/pull/315 (avoid flagging early returns in use-controlled bypass)

Moreover, I've included a revert of https://github.com/Semmle/ql/pull/150, since the underlying problem has been fixed in the extractor.
I've evaluated these changes together with the corresponding extractor changes, showing no performance impact. The only result changes were the expected bug fixes.

Internal PR has passed its tests, so merging.


Add --system to uv pip install in guide/docker under "Container from a Python Package"

Steps to reproduce
Running on Ubuntu I followed the steps under Container from a Python Package
rye build --wheel --clean
docker build . --tag your-image-name

with  the run command as described on the page as
RUN --mount=source=dist,target=/dist uv pip install --no-cache /dist/*.whl

Which I think may be missing the  --system flag in uv pip install?
If I use --system it works and if if I don't it doesn't, see below :slightly_smiling_face: .
Expected result
docker build -f ./my_app/Dockerfile --tag my-app .
[+] Building 14.9s (13/13) FINISHED                                                                                docker:desktop-linux
 => [internal] load build definition from Dockerfile                                                                                0.0s
 => => transferring dockerfile: 2.98kB                                                                                0.0s
 => [internal] load metadata for docker.io/library/python:3.12-slim                                                                           1.3s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 2B                                                                                0.0s
 => [stage-0 1/8] FROM docker.io/library/python:3.12-slim@sha256:59c7332a4a24373861c4a5f0eec2c92b87e3efeb8ddef011744ef9a751b1d11c             0.0s
 => [internal] load build context                                                                                0.0s
 => => transferring context: 9.73kB                                                                                0.0s
 => CACHED [stage-0 2/8] WORKDIR /work                                                                                0.0s
 => CACHED [stage-0 3/8] COPY .streamlit /work/.streamlit                                                                                0.0s
 => [stage-0 4/8] COPY my_app /work/my_app                                                                                0.1s
 => [stage-0 5/8] RUN pip install uv                                                                                3.7s
 => [stage-0 6/8] RUN --mount=source=dist,target=/dist uv pip install --system --no-cache /dist/*.whl                                         6.5s
 => [stage-0 7/8] COPY configs /work/configs                                                                                0.1s
 => [stage-0 8/8] COPY logs /work/logs                                                                                0.1s
 => exporting to image                                                                                3.0s
 => => exporting layers                                                                                3.0s
 => => writing image sha256:080dc1eb61fb4c0d5ed275c4eb547b4d92df5d4e083e2bbdfcb89846479da43c                                                  0.0s
 => => naming to docker.io/library/my-app                                                                                0.0s

Actual Result
docker build -f ./my_app/Dockerfile --tag my-app .
[+] Building 5.7s (10/12)                                                                                docker:desktop-linux
 => [internal] load build definition from Dockerfile                                                                                0.0s
 => => transferring dockerfile: 2.97kB                                                                                0.0s
 => [internal] load metadata for docker.io/library/python:3.12-slim                                                                           1.3s
 => [internal] load .dockerignore                                                                                0.0s
 => => transferring context: 2B                                                                                0.0s
 => [stage-0 1/8] FROM docker.io/library/python:3.12-slim@sha256:59c7332a4a24373861c4a5f0eec2c92b87e3efeb8ddef011744ef9a751b1d11c             0.0s
 => [internal] load build context                                                                                0.0s
 => => transferring context: 9.72kB                                                                                0.0s
 => CACHED [stage-0 2/8] WORKDIR /work                                                                                0.0s
 => [stage-0 3/8] COPY .streamlit /work/.streamlit                                                                                0.1s
 => [stage-0 4/8] COPY my_app /work/my_app                                                                                0.1s
 => [stage-0 5/8] RUN pip install uv                                                                                3.5s
 => ERROR [stage-0 6/8] RUN --mount=source=dist,target=/dist uv pip install --no-cache /dist/*.whl                                            0.5s
------
 > [stage-0 6/8] RUN --mount=source=dist,target=/dist uv pip install --no-cache /dist/*.whl:
0.480 error: No virtual environment found
------
Dockerfile:46
--------------------
  44 |
  45 |     RUN pip install uv
  46 | >>> RUN --mount=source=dist,target=/dist uv pip install --no-cache /dist/*.whl
  47 |
  48 |     # RUN \
--------------------
ERROR: failed to solve: process "/bin/sh -c uv pip install --no-cache /dist/*.whl" did not complete successfully: exit code: 2

Version Info
rye 0.38.0
commit: 0.38.0 (3e3c8540f 2024-08-02)
platform: linux (x86_64)
self-python<EMAIL_ADDRESS>symlink support: true
uv enabled: true

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."


"fonts" injected parameter: pass TTFont objects instead?

Observed behaviour
Check com.google.fonts/check/002 features the magic fonts parameter, which is a list of str-paths.
Expected behaviour
I'd like to get a list of TTFont/defcon.Font objects (optionally or instead) to save me the trouble of opening the fonts myself.
Maybe the parameter can be split into

font: a TTFont/defcon.Font object, determined by the specification object. Would replace the ttFont parameter.
fonts: a list of above, i.e. all fonts to check.
font_paths: a list of os.PathLike objects, i.e. the file paths of the fonts.

with FontsSpec use ttFonts, it's already there, as a "derived iterable" you can define your own derrived iterables in UfoSpec. Just like in:
https://github.com/googlefonts/fontbakery/blob/a6c76dd9ae5526019dec5d75bd610906a0afd19a/Lib/fontbakery/fonts_spec.py#L61-L67

I'd need to run benchmarks, but fontTools loads binaries lazily.

Ugh, that's hardcore. Okay, found the docs on https://github.com/googlefonts/fontbakery/blob/master/docs/writing-specifications.md...

I'd have to dig into the loca test -- I remember that I had to poke the font object in a certain sequence or fontTools would silently fix the corrupt table entries.

fontTools would silently fix

Yep, that's bad! Maybe we can ask if fontTools could have a kind of inspection mode that doesn't do these things.

Or maybe it was related to saving and loading the object for the test...? Hm... I can't prove it right now, so maybe it's not relevant here, may come back when I find something.

I think we should simply have a FAIL level check that round trips the TTF through fonttools and md5s the input and output and fails if they aren't the same. I think there was a timestamp neutral mode added to allow this.

Upon loading, fonttools should not "silently fix" anything, it should just read the incoming data. If you can show me that it is modifying things when reading, than it's a bug and we need to fix it.
I'm a bit skeptical about the latter suggestion of checking that roundtripping through fonttools doesn't change the output, binary-wise.
FontTools can only guarantee that it will roundtrip a file that was in turn generated by the same version of FontTools. It this is not the case, then there could be some hidden bugs that prevent it from generating a deterministic output. However, things may and do change (for the better, I hope) across versions.


Sent ADA To Coinbase Wallet Never Got It

I sent some ADA I had from my Nami wallet to my coinbase ADA wallet 3 days ago and never even received an email from Coinbase I check on my Nami wallet it shows it was sent. Here is the address the transaction is in  what's going on?

Please post the link to the transaction.

@katakombi I have that same problem.

https://cardanoscan.io/transaction/5f2d265b39d5e12adb49643519581b4092c905ee40247824cee4fffcef70d11e
On Wed, Apr 27, 2022 at 1:04 AM katakombi @.***> wrote:

Please post the link to the transaction.
—
Reply to this email directly, view it on GitHub
https://github.com/Berry-Pool/nami-wallet/issues/534#issuecomment-1110544016,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AY2YSKLRJHZD6D6CUYGQSQ3VHDDD7ANCNFSM5UAWHE3Q
.
You are receiving this because you authored the thread.Message ID:
@.***>

@ThaCapone Talk to Cardano Support on the Live support page so that your issue can be looked into.

Please ignore KelvinEthDev he has posted a scam link!


Coil-head move without control

I play with my friends and we find that the coil-head run so quickly and it would not hurt anyone. howerver, we see it and still run everywhere. it would not happened in official map.
our custom map are dust2, telamon and etc.

I have seen the same issue except for the host. The coil-head will run with great speed at the host and will not react to other players. Once the host is dead they will not harm the other players but will run through the map at top speed. Because they run so quickly there is no way for the host to survive.

I play with my friends and we find that the coil-head run so quickly and it would not hurt anyone. howerver, we see it and still run everywhere. it would not happened in official map.
our custom map are dust2, telamon and etc.

For comparison I need to know if this still happening on wateridge
I still have too few clues on this issue

Yeah this is still happening on Wateridge on normal maps coil-head act as expected.

Yeah this is still happening on Wateridge on normal maps coil-head act as expected.

Can you try the 1.3.15 version of the mod and tell me if it still happen ?

Took so many runs and you weren't kidding about the other issues but yes on 1.3.15 the coil-head does react as expected.

Took so many runs and you weren't kidding about the other issues but yes on 1.3.15 the coil-head does react as expected.

I finally know what to focus to fix the issue
But it's tricky..

I uploaded a 1.3.27 in the preview channel
could you try it and tell me the result ?
https://thunderstore.io/c/lethal-company/p/HolographicWings/LethalExpansion/

It is still broken on the preview build

After playing a few times even tho it only reacts to the host its speed is normal so it is possible to escape him now.

It's too tricky to fix ;c and i don't understand Unity Netcode
When fixing it all entrances will have ID 0
I need help to fix this issue

I only have basic programming skills and know nothing about unity otherwise I would help out. I thank you for all the hard work you have put into this mod. Hopefully someone will be able to offer some insight. I have no problem testing it out when you find a fix.

Hello @nightbreed813
Could you test the 1.3.28 ?
https://thunderstore.io/c/lethal-company/p/HolographicWings/LethalExpansion_Preview/

When you say on Wateridge the sdk will need updated does that mean I'll have to wait to test that level? I tried it on Wateridge and the coil-head does not react to anyone but the host still.

When you say on Wateridge the sdk will need updated does that mean I'll have to wait to test that level? I tried it on Wateridge and the coil-head does not react to anyone but the host still.

on Wateridge from https://thunderstore.io/c/lethal-company/p/HolographicWings/LEDefaultModules/

Oof I'm a bad tester. Just double checked and I was on the wrong version. I'll update and retest tomorrow, well later today and let you know.

Okay ^^

hello everyone
I try the version 1.3.29(maybe 1.3.30) with my friend,the problem still exist. i do not know the reason if it's because my map i test, i try itin dust2 and poltegust. the coil-head still react as expect. maybe offer some map what you use.

I tested it with the latest version and it does work as expected now.

hello everyone
I try the version 1.3.29(maybe 1.3.30) with my friend,the problem still exist. i do not know the reason if it's because my map i test, i try itin dust2 and poltegust. the coil-head still react as expect. maybe offer some map what you use.

Because all maps have to be updated with the new entrances

I tested it with the latest version and it does work as expected now.

Nice to know !

it is good to see the issue solved,but there are still lots of map using the old entrances.luckily,the Chirstmas villager moon has solved the problem.

Because christmas village is mine :P
Peoples have to update their entrances to fix the coilhead


Build fails with local includes using <> and not quotes

Environment
Provide version numbers for the following components (information can be retrieved by running tns info in your project folder or by inspecting the package.json of the project):

CLI: 5.3.0
Cross-platform modules: 5.3.1
iOS Runtime: 5.3.0
Plugin(s): @teammaestro/nativescript-svg

Describe the bug
Build fails when this plugin is added (assuming cocoapod SVGKit is doing something in platforms for itself causing the issue).
To Reproduce
Not produceable on every machine, some other users I've talked with don't have the issue and some do have the issue.
Expected behavior
Successful build
Sample project
https://github.com/bradmartin/xcode-bad-build (master has the <> in main.m causing failed build)
https://github.com/bradmartin/xcode-bad-build/tree/fix-build (has the main.m modified using "" for local includes to fix the build)
Additional context
Teodor Dermendzhiev - replied on NS Slack asking for some extra info. So internally he's at least somewhat aware of this happening on my machine.
This SO post https://stackoverflow.com/questions/1044360/import-using-angle-brackets-and-quote-marks/1044399#1044399 provides some context on using <> and "" quotes for includes.
Output from failed build:
Brads-MBP:demo bradmartin$ tns build ios
Copying template files...
Platform ios successfully added. v5.3.0
Preparing project...
Successfully prepared plugin @teammaestro/nativescript-svg for ios.
Successfully prepared plugin tns-core-modules for ios.
Successfully prepared plugin tns-core-modules-widgets for ios.
Installing pods...
Analyzing dependencies
Pre-downloading: `SVGKit` from `https://github.com/SVGKit/SVGKit.git`, branch `2.x`
Downloading dependencies
Installing CocoaLumberjack (3.4.2)
Installing SVGKit (2.1.0)
Generating Pods project
Integrating client project

[!] Please close any current Xcode sessions and use `demo.xcworkspace` for this project from now on.
Sending stats
Pod installation complete! There is 1 dependency from the Podfile and 2 total pods installed.

[!] Automatically assigning platform `ios` with version `9.0` on target `demo` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.
Project successfully prepared (ios)
Building project...
Xcode build...
/Users/bradmartin/Desktop/nativescript-svg/demo/platforms/ios/internal/main.m:8:10: error:
      'TNSExceptionHandler.h' file not found with <angled> include; use "quotes" instead
#include <TNSExceptionHandler.h>
         ^~~~~~~~~~~~~~~~~~~~~~~
         "TNSExceptionHandler.h"
/Users/bradmartin/Desktop/nativescript-svg/demo/platforms/ios/internal/main.m:11:10: error:
      'TNSDebugging.h' file not found with <angled> include; use "quotes" instead
#include <TNSDebugging.h>
         ^~~~~~~~~~~~~~~~
         "TNSDebugging.h"
/Users/bradmartin/Desktop/nativescript-svg/demo/platforms/ios/internal/main.m:12:10: fatal error:
      'TKLiveSync.h' file not found
#include <TKLiveSync.h>
         ^~~~~~~~~~~~~~
3 errors generated.
error: the following command failed with exit code 1 but produced no further output
CompileC /Users/bradmartin/Library/Developer/Xcode/DerivedData/demo-agkbvoazyfqvuvdhxoolsrrthxzw/Build/Intermediates.noindex/demo.build/Debug-iphonesimulator/demo.build/Objects-normal/x86_64/main.o /Users/bradmartin/Desktop/nativescript-svg/demo/platforms/ios/internal/main.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
note: Using new build systemnote: Planning buildnote: Constructing build description
** BUILD FAILED **

Command xcodebuild failed with exit code 65

This only happens when the plugin is added. I've currently got a fork of the plugin https://github.com/bradmartin/nativescript-svg that I'm going to PR to the @teammaestro version to get that in master. However, that's not the issue as this seems to happen regardless which fork I'm using. I discovered it working on a private project, and have repro'd it on 3 projects, with xcode 10.1 and 10.2. Also with NS 5.2.x and 5.3.x

In the meantime, I've documented the fix which is to change the platforms/ios/internal/main.m includes to the following:

#include <Foundation/Foundation.h>
#include <JavaScriptCore/JavaScriptCore.h>
#include <NativeScript/NativeScript.h>
#include "TNSExceptionHandler.h"

#if DEBUG
#include "TNSDebugging.h"
#include "./TKLiveSync/include/TKLiveSync.h"
#endif

Only changing the NS includes there for TNS and livesync to use "" as the xcode build error indicates. Then I'm able to run the projects just fine and the SVGKit plugin works 💯

As of now, I'm on xcode 10.2 and latest MacOS update 10.14.4

Informed @tdermendjiev of findings. I was running cocoapods 1.6.0-beta.1. After updating to 1.6.1 the problem went away. So this should be repro'd by using that version of Cocoapods, but it's a beta so likely just a bug with the SVGKit and cocoapods. Since it's not happening on the 1.6.1 release of cocoapods.

I will install the same cocoapods version so I am able to reproduce the issue. Right now I can only speculate that it generates a xcworkspace with the wrong settings (probably Header search paths). What I know about the angle-bracketed includes is they should be used for adding system headers while the quotes - for local headers. That said, it seems a good idea to update them.


{PostgreSQL} Add tests for revive dropped for PG flexible servers

Related command
postgresql flexible-server revive-dropped
Description
Added test coverage for revive dropped functionality for PostgreSQL flexible servers
Testing Guide
Added automated test coverage for revive dropped functionality for PostgreSQL flexible servers

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR title and description has followed the guideline in Submitting Pull Requests.

[ ] I adhere to the Command Guidelines.

[ ] I adhere to the Error Handling Guidelines.

/azp run

@evelyn-ys looks like the style errors are from other modules and not rdbms. Do you want me to fix all those exceptions?

Thanks @ambrahma, we will fix CI from our side, pls wait for some time


Offer .gz and .br compression simultaneously

I want to compress a file with gz and with brotli, so that browsers with brotli support get the .br file and the others get the .gz file.
Please provide an example with the shotest possible syntax that provides both brotli and .gz output from the same input.

Interesting use case, I haven't thought of that before...
Have you tried adding the plugin twice to your build config? One instance to generate gz, and the other one for brotli. It might look something like this:
import { compress } from 'brotli'
import gzipPlugin from 'rollup-plugin-gzip'

const commonGzipPluginOptions = {
  // ...
}

// ...
    plugins: [
        gzipPlugin(commonGzipPluginOptions),
        gzipPlugin({
            ...commonGzipPluginOptions,
            customCompression: content => compress(Buffer.from(content)),
            fileName: '.br',
        }),
    ],

Yes, that works.  But I ask you to update the documentation and recommend this config.


#253 - Added "final" keyword to classes that are not inherited, added…

… "abstract" keyword to classes that are not instantiated.
Classes that can be neither final nor abstract include: UserException, GATKException, GenomeLoc, HashedListExonCollection, LocusIteratorByStateBaseTest, ReadClipper, OverhangFixingManager, BasicInputParser

Coverage remained the same at 71.06% when pulling 43a24c88d065dd50e9721ae386eba983f6073aeb on nenewell:make_final_or_abstract into 42ee88989fedbd767ea1b9add6a9770c65999074 on broadinstitute:master.

Thank you.
From: Adam Kiezun
Sent: Monday, May 11, 2015 5:07 PM
To: broadinstitute/hellbender
Cc: nenewell
Subject: Re: [hellbender] #253 - Added "final" keyword to classes that are not inherited, added… (#512)
Merged #512.
—
Reply to this email directly or view it on GitHub.

thank you for your contribution, @nenewell
BTW, check out the AUTHORS file


OSError: no library called "cairo" was found

🐛 Bug
I installed doctr on macOS Mojave 10.14.6, python version 3.8.
When running the sample code:
from doctr.documents import DocumentFile
from doctr.models import ocr_predictor

model = ocr_predictor(pretrained=True)
# PDF
doc = DocumentFile.from_images(["table.png"])
# Analyze
result = model(doc)

I get the error:
Traceback (most recent call last):
  File "main.py", line 1, in <module>
    from doctr.documents import DocumentFile
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/doctr/__init__.py", line 2, in <module>
    from . import documents, models, transforms, utils
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/doctr/documents/__init__.py", line 2, in <module>
    from .reader import *
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/doctr/documents/reader.py", line 10, in <module>
    from weasyprint import HTML
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/weasyprint/__init__.py", line 469, in <module>
    from .css import preprocess_stylesheet  # noqa isort:skip
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/weasyprint/css/__init__.py", line 27, in <module>
    from . import computed_values, counters, media_queries
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/weasyprint/css/computed_values.py", line 15, in <module>
    from .. import text
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/weasyprint/text.py", line 11, in <module>
    import cairocffi as cairo
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/cairocffi/__init__.py", line 48, in <module>
    cairo = dlopen(
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/cairocffi/__init__.py", line 45, in dlopen
    raise OSError(error_message)  # pragma: no cover
OSError: no library called "cairo" was found
no library called "libcairo-2" was found
cannot load library 'libcairo.so.2': dlopen(libcairo.so.2, 2): image not found
cannot load library 'libcairo.2.dylib': dlopen(libcairo.2.dylib, 2): image not found
cannot load library 'libcairo-2.dll': dlopen(libcairo-2.dll, 2): image not found

Thanks, I'll add a CI job to install on a MacOS environment (#265) !
For reference, given the traceback, the error is most likely due to https://github.com/Kozea/WeasyPrint/issues/1279 & https://github.com/Kozea/WeasyPrint/issues/79 . I'll confirm that adding the MacOS job, and will probably fix this by installing the prerequisites from https://weasyprint.readthedocs.io/en/stable/install.html#macos

I'm editing the installation instructions for MacOS users in the PR I just mentioned, here is how to solve your problem:
brew install cairo pango gdk-pixbuf libffi

SImply put, there is a recent new dependency (weasyprint) whose own deps are included on Ubuntu but not on MacOS or Windows. The PR will solve this :ok_hand:


slint: include link to crates.io

The repo tag is automatically picked up from crates.io

It would be fair to mention that it's a commertial product, imho.

Sure, could do that. As a sentence in the description? Like "Triple-licensed: GPLv3, Royalty-free, and Commercial" or so?

@madsmtm what do you think regarding the description?
This may be a good thing to flag as part of #119. (but also... maybe it is "unfair" to put some proprietary icon/etc on the crate when there is an OSS license option)
I'd wait for madsmtm's opinion. If we do agree to update the description, this looks good to me:

Triple-licensed: GPLv3, Royalty-free, and Commercial

I don't think we should really deal with the licensing issue, mostly 'cause I think Slint is fine, and if people care about it, then they already have other tools in place to check that their crates have proper licenses (e.g. cargo deny).

Thanks @tronical!


Export and import as gltf2 node

I have tooling to do this in an engine branch, but I don't have the personal bandwidth to port the engine module to gdnative.
https://github.com/godot-extended-libraries/gltf/tree/ae821b1ec58ece1d5ea8fe2dc9107c68051d55e6

That's an often requested feature. I'm adding it to the roadmap but I don't know when I will actually have time to port it

Added in ac0e5b2ec7f92cb6069d518033bd52b822b50033


ImportError: pycurl: libcurl link-time version (7.64.1) is older than compile-time version.The package version is 0.6

File "/Users/rhf/workspace/seatower_analytics/seatower_analytics/tiktok/admin.py", line 20, in
from . import models, tasks
File "/Users/rhf/workspace/seatower_analytics/seatower_analytics/tiktok/tasks.py", line 14, in
from proxy_checker import ProxyChecker
File "/Users/rhf/workspace/seatower_analytics/.venv/lib/python3.8/site-packages/proxy_checker/init.py", line 1, in
from .proxy_checker import ProxyChecker
File "/Users/rhf/workspace/seatower_analytics/.venv/lib/python3.8/site-packages/proxy_checker/proxy_checker.py", line 1, in
import pycurl
ImportError: pycurl: libcurl link-time version (7.64.1) is older than compile-time version (7.74.0)

Uninstall pycurl and check the LD_LIBRARY_PATH, then. It has to be the correct libcurl path. Then, install pycurl again and it should work. It is a common error when using environments and such. Hope it helps!


Admin: Page titles missing for all 4 sections

This is NOT a release blocker but it's a pretty annoying from a basic wayfinding standpoint.
Issue
As someone getting used to the new Admin, I am constantly trying to figure out where I am... Am I in Countries? Users? Organizations? Programs? Sure, I can train myself to hunt for the upper left table column header. But really, can't we have page titles? (Page titles were in all of the wiki mockups, and I pointed out that they were missing in the original demo meeting with Parthenon. )
Acceptance criteria.

[x] 1. Users section has the page title Admin: Users
[x] 2. Programs section has the page title Admin: Programs
[x] 3. Organizations section has the page title Admin: Organizations
[x] 4. Countries section has the page title Admin: Countries

Housekeeping (where applicable)

[ ] Unit test/s written
[x] i18n strings included
[x] Is accessible to people using screen readers

Fixed with d1984b24

QA - PASSED

I checked country, admin, organization and users, and all had the proper heading per admin page.


Add a warning on unsaved data in packaging input

What

Add a warning on unsaved data in packaging input

In the new structured packagings page? It's already there.

Actually there's a tricky bug.
Imagine you have 5 packagings' elements.
Not everything fits in the screen.
The current related bug I see is:

you land on the edit structured packagings page
therefore you cannot see everything, just the first 2 elements
go back, and you'll get a pop-up - do you want to save your modifications?
which is incorrect because there was no modification
if you land on the same page, scroll to the end and go back, now there's no pop-up, as expected

I use controllers to store the edits.
It looks like the controller is not at all "activated" when it's not visible. Meaning its text values are empty, even after I set a text.
@g123k @M123-dev @AshAman999 Interesting, isn't it?
Investigating... I'll keep you posted.

Or I just coded the bug myself: I used to set the controller text only when I displayed the element.
No element, no set text. No set text, no data. No data, ... no data.
About to PR.


Add git checkout in addition to file copy

Right now, files are distributed to JupyterHub through this service using web addresses of the files. Let's expand this functionality to distribute using git.
Advantages:
(1) we can easily distribute whole directories (such as a lab or project)
(2) we can update the distributed content via git pull
(3) no need to try to keep multiple versions of the same file with renaming
(4) publishing new content to be distributed is simpler: just check it into a public github repo. Connector instructors can do that.
So, for example, we'd have a link such as...
http://data8.berkeley.edu/hub/interact?git=github.com/dsten/gitbook-text.git&path=images&path=notebooks/Arrays.ipynb

The server would execute something like...
mkdir -p dsten/gitbook-text
cd dsten/gitbook-text/
git init
git remote add origin https://github.com/dsten/gitbook-text.git
git config core.sparsecheckout true
echo images >> .git/info/sparse-checkout
echo notebooks/Arrays.ipynb >> .git/info/sparse-checkout
git pull -Xours origin master

We'll need some checks to see if the git repo has already been checked out (in which case no need to repeat the first 5 lines) and think about what happens when the same thing is checked out twice (probably skip the changes to .git/info/sparse-checkout and just git pull). We also need to make sure that the pull doesn't overwrite local changes, but I think -Xours sets a merge strategy that keeps local changes. In a pinch, a TA could execute git commands locally to resolve any hairy conflicts.
If we had this option, we could distribute all labs, projects, etc. through this server in addition to notebooks from the textbook. Also, textbook notebooks could be distributed with images and data as separate files.
Comments or suggestions? This is about distributing materials — submission will be handled separately. Students never need to push. @SamLau95 @alvinwan @ryanlovett

Reference: http://jasonkarns.com/blog/subdirectory-checkouts-with-git-sparse-checkout/

Versioning the labs was useful because otherwise we had no way to push
fixes to bugs discovered after some students have started working.  If we
plan to have a much better QA process for labs this semester, maybe we can
assume no bugfixes will be necessary.
-Henry
On Saturday, January 9, 2016, John DeNero<EMAIL_ADDRESS>wrote:

Reference:
http://jasonkarns.com/blog/subdirectory-checkouts-with-git-sparse-checkout/
—
Reply to this email directly or view it on GitHub
https://github.com/dsten/DS8-Interact/issues/3#issuecomment-170279510.

Well, we could always check in a new version in a different location in a
pinch if we need to distribute two versions of the same thing. I think the
more common scenario is that we'd update the lab between sections, and the
later students would get a version debugged by the earlier students, but
the earlier students would just be stuck with the old one (or optionally
start over with a new version).
In any case, we'll build in more time for debugging this semester.
On Sat, Jan 9, 2016 at 5:21 PM, henryem<EMAIL_ADDRESS>wrote:

Versioning the labs was useful because otherwise we had no way to push
fixes to bugs discovered after some students have started working. If we
plan to have a much better QA process for labs this semester, maybe we can
assume no bugfixes will be necessary.
-Henry
On Saturday, January 9, 2016, John DeNero<EMAIL_ADDRESS>wrote:

Reference:

http://jasonkarns.com/blog/subdirectory-checkouts-with-git-sparse-checkout/

—
Reply to this email directly or view it on GitHub
https://github.com/dsten/DS8-Interact/issues/3#issuecomment-170279510.

—
Reply to this email directly or view it on GitHub
https://github.com/dsten/DS8-Interact/issues/3#issuecomment-170299168.

I'm for this idea.
This means we'll never have copies of files (eg. Books.ipynb, Books-Copy.ipynb,
etc.). Is that right?
Doing -Xours means that we'll never override student work while allowing the easy
case to get the updates. This means we'll have to post about updates anyway but should
result in an easier time for students overall.
If we adopt this policy for the entire ds8 server then we'll have to let connectors
know about the new behavior for file linking. Right now they know that clicking the
file link twice will result in a copy.

Let's implement this change and then give some direction to the connector
instructors when we have a really smooth system in place. I think we can
get this running this week.
On Sun, Jan 10, 2016 at 12:34 AM, Sam Lau<EMAIL_ADDRESS>wrote:

I'm for this idea.
This means we'll never have copies of files (eg. Books.ipynb,
Books-Copy.ipynb,
etc.). Is that right?
Doing -Xours means that we'll never override student work while allowing
the easy
case to get the updates. This means we'll have to post about updates
anyway but should
result in an easier time for students overall.
If we adopt this policy for the entire ds8 server then we'll have to let
connectors
know about the new behavior for file linking. Right now they know that
clicking the
file link twice will result in a copy.
—
Reply to this email directly or view it on GitHub
https://github.com/dsten/DS8-Interact/issues/3#issuecomment-170325935.


Duplicate row in table

The "Use Identity Protection and Conditional Access" also appears two rows above.

@kengaderdus
Can you review the proposed changes?
When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

emailed author

@xenloops
Thanks for your contribution. There's is a conflict in this PR, so the update has been made in another PR, so we will closet his PR. #please-close


Bounded Queue with lossy Readers

Currently when the Bounded Queue is full, writes block - is it possible to introduce behavior that lets writes complete successfully when the queue is full? Our use case is a bounded queue of ephemeral, timely data - we do not want to throttle the writer and prefer to have readers that lose messages.
I have not dug into the internals of the library, but noticed some of this kind of behavior with the dupChan:

slower readers of duplicated OutChan may fall arbitrarily behind.

is it possible to bring this behavior in for even a single reader?
I asked about this issue on haskell-cafe, and we ended up with an implementation following the suggested strategy. But would still love to move off our homegrown stuff and on to something hopefully more performant. As mentioned on the email thread, Pipes.Concurrent kind of has this with the newest, though I was unsure of the implementation approach:
        Newest n  -> do
            q <- S.newTBQueueIO n
            let write x = S.writeTBQueue q x <|> (S.tryReadTBQueue q *> write x)
            return (write, S.readTBQueue q)

(at the time, we wanted to be able to have multiple readers from our channels).
I'm happy to help out with the implementation. Thanks!

Cool, I think I understand. It's tempting to try to organize this around a pre-allocated ring buffer:

a bounds-length array is allocated in newChan
writer increments a counter as in Control.Concurrent.Chan.Unagi, cycling through the array indexing at mod bounds count, possibly overwriting an unread value. It would also need to include a "lap" value in the payload for the reader, so that readers can see whether they have gone past the writer (and would be reading an old value)
coordination for blocking readers would happen similarly to Control.Concurrent.Chan.Unagi, only taking into account the reader's "lap" and the "lap" from the payload.

As usual you need to take into account counter wrap-around (e.g. lap probably must never wrap around), and things can be made to go a little faster if you don't need multiple or blocking readers.
That's one approach I can see at least. Feel free to dig into the code, if you have time. I'm happy to try to help with advice or with understanding the code, but probably won't be able to work on this much myself in the near future.
Thanks for reporting!

Sounds great and thanks for the response! I had played around with a sliding buffer before, and think it makes a lot of sense. If a reader is keeping track of its lap and index into the buffer, it seems like supporting multiple readers would come for free. There could also be a couple of options for lapped readers:

When a reader is lapped (readLap < writeLap), set it to the writer's lap and reset the reader's index.
When a reader is lapped, but only a single lap behind and ahead of the writer's index (readLap == writeLap - 1 && readIndex > writeIndex) keep going - otherwise, reset the reader's index.

Would have to ensure all the counters stay within bounds and respect the constraints.
Excited about this functionality - snowed in with work at the moment, but looking forward to working on it.

Haven't thought about your description, but I realized my hand-wavy description was inadequate: so if the writer laps the reader, and then shortl after the reader laps the writer, then of course we're no longer FIFO (we've just read new then old). So the reader would need to look at the lap and, if it was decreasing, CAS the read counter to reset it to index 0 or something gross like that. That means effectively dropping nondeterministically between 0 and all existing elements in the queue. (actually I think that's your first bullet above)
I guess my advice would be unless you can get some nicer properties (like not needing to allocate new arrays), just try to implement what you need by adding a new function that conditionally atomically increments the read counter by n on a write (effectively dropping n elements).

Nice timing - I made a prototype of this idea last night with TArray's:
{-# LANGUAGE NoImplicitPrelude #-}

-- | Circular STM buffer for bounded channels.
--
module TBuf
  ( TBuf
  , newTBuf
  , dupTBuf
  , writeTBuf
  , readTBuf
  , sinkTBuf
  , sourceTBuf
  ) where

import           Control.Concurrent.STM
import           Data.Array.MArray
import           Data.Conduit
import qualified Data.Conduit.List       as CL

-- | Internal data type for item in buffer, including current epoch.
--
data TRec a = TNil | TRec Word a

-- | Opaque data type containing size of buffer, current index and epoch, and array.
--
data TBuf a = TBuf Word
              {-# UNPACK #-} !(TVar Word)
              {-# UNPACK #-} !(TVar Word)
              {-# UNPACK #-} !(TArray Word (TRec a))

-- | Create a new buffer of size n.
--
newTBuf :: Word -> STM (TBuf a)
newTBuf n = do
  ti <- newTVar 0
  te <- newTVar 0
  ta <- newArray (0, n - 1) TNil
  return (TBuf n ti te ta)

-- | Duplicate a buffer for reading from.
--
dupTBuf :: TBuf a -> STM (TBuf a)
dupTBuf (TBuf n ti te ta) = do
  i <- readTVar ti
  e <- readTVar te
  ti' <- newTVar i
  te' <- newTVar e
  return (TBuf n ti' te' ta)

-- | Write to buffer, lapping if necessary.
--
writeTBuf :: TBuf a -> a -> STM ()
writeTBuf (TBuf n ti te ta) d = do
  i <- readTVar ti
  e <- readTVar te
  -- write the data and increment the index and epoch if needed.
  writeArray ta i (TRec e d)
  writeTVar ti ((i + 1) `mod` n)
  when (i + 1 >= n) $
    writeTVar te (e + 1)

-- | Read from buffer, getting lapped if necessary.
--
readTBuf :: TBuf a -> STM a
readTBuf (TBuf n ti te ta) = do
  i <- readTVar ti
  e <- readTVar te
  loop i e
  where
    loop i e = do
      r <- readArray ta i
      case r of
        TNil ->
          retry
        TRec e' d
          -- the epoch ahead is lower - retry until it's not
          -- (this will not handle epoch wrap-around)
          | e > e' ->
            retry
          -- the epoch ahead is great - we've been lapped.
          -- reset and move on to the new lap from the beginning.
          | e < e' -> do
            writeTVar ti 0
            writeTVar te e'
            loop 0 e'
          -- the epoch is the same - we're on the same lap.
          -- return the data and increment the index and
          -- epoch if needed.
          | otherwise -> do
            writeTVar ti ((i + 1) `mod` n)
            when (i + 1 >= n) $
              writeTVar te (e + 1)
            return d

-- | Conduit sink for writing to TBuf.
--
sinkTBuf :: MonadIO m => TBuf a -> Sink a m ()
sinkTBuf buf = CL.mapM_ $ liftIO . atomically . writeTBuf buf

-- | Confuit source for reading from TBuf.
--
sourceTBuf :: MonadIO m => TBuf a -> Source m a
sourceTBuf buf = forever $ liftIO (atomically $ readTBuf buf) >>= yield

I put the writer's current lap when it writes in the entries to make for less contention between the reader and writer. The dropping of the elements ended when the reader moved down to zero did end up being gross! My application had a lot of problems with the sporadic large drops


Audubon Core Maintenance Group call 12:00 UTC, Wednesday, August 26

The Audubon Core Maintenance Group will have an online meeting at 12:00 UTC Wednesday, 2020-08-26. That corresponds to 8:00 AM Wednesday Eastern (US) Daylight Time (New York), 1:00 PM Wednesday, British Summer Time (London), 2:00 PM Wednesday, Central European Summer Time (Stockholm), and 10:00 PM Wednesday Australian Eastern Standard Time (Canberra).
We will follow up on the action items from the last meeting with the goal of having as many of the draft proposals ready to go to public comment as possible.
Meeting details:
Join Zoom Meeting
https://vanderbilt.zoom.us/j/97586016928
NOTE: to prevent Zoom bombing, the meeting has a waiting room. So there may be a delay in admitting you if the meeting has already started and the host doesn't notice you are waiting.
Meeting ID: 975 8601 6928
Find your local number: https://vanderbilt.zoom.us/u/ac8djPSKdx
Click for Outlook .ics calendar invitation
Click for Google calendar invitation

This is a reminder that there will be an Audubon Core Maintenance Group meeting at 12:00 UTC Wednesday. We will review the various proposals on the table to assess which ones are ready for public comment and what work needs to be done on the others. See https://github.com/tdwg/ac/issues/174 for meeting details.

See https://github.com/tdwg/ac/milestone/2 for proposals

Ed and I have added the audio term proposals, as discussed (3 separate items):
https://github.com/tdwg/ac/milestone/2

Great! I've looked them over and with some minor corrections and comments, I think they are ready to go.
If you can create a separate issue for changing the ac:resourceCreationTechnique, that would be great. However, just ping it as something to work on rather than making a formal proposal. Since we are dealing with examples, the AC MG can just change it without a formal term change proposal and public comment. I'll clean it up with the next version as long as it gets put in as an issue so that I don't forget.

Meeting notes are here


adding StakerRash as a validator

suggesting StakerRash as a pre-genesis validator

discord: rashid | StakerRash#8591
web: https://stakerrash.co


nested field config not applied as docs

Hi,
I am trying to encrypt a nested field inside object, by setting the following field_config value.
        "transforms":"cipher",
        "transforms.cipher.type": "com.github.hpgrahsl.kafka.connect.transforms.kryptonite.CipherField$Value",
        "transforms.cipher.cipher_mode": "ENCRYPT",
        "transforms.cipher.cipher_data_keys": "[ { \"identifier\": \"my-demo-secret-key-123\", \"material\": { \"primaryKeyId\":<PHONE_NUMBER>, \"key\": [ { \"keyData\": { \"typeUrl\": \"type.googleapis.com/google.crypto.tink.AesGcmKey\", \"value\": \"GhDRulECKAC8/19NMXDjeCjK\", \"keyMaterialType\": \"SYMMETRIC\" }, \"status\": \"ENABLED\", \"keyId\":<PHONE_NUMBER>, \"outputPrefixType\": \"TINK\" } ] } } ]",
        "transforms.cipher.cipher_data_key_identifier": "my-demo-secret-key-123",
        "transforms.cipher.field_config": "[{\"name\":\"before.mobile_no\"},{\"name\":\"after.mobile_no\"}]"

Yet, when I trigger an update on the DB, I still can see the data untouched, as below, things get to work only when I use unwrap transformer, this is just getting the after section
{
    "before": {
        "Id": 1,
        "mobile_no": "122222222222"
    },
    "after": {
        "Id": 1,
        "mobile_no": "122222222222"
    },
    "source": {
        ...
    },
    "op": "u",
    "transaction": null
}

What is missing in my configuration to get the nested object encryption working fine?

@ktawfik88 In the case of nested objects, the parent object itself must also be specified as an encrypted field; setting field_config as follows should encrypt the fields of the nested object.
{
    [
      {"name": "before"},
      {"name": "after"},
      {"name": "before.mobile_no"},
      {"name": "after.mobile_no"}
    ]
]


Feature request

Hi! I am using your plugin a while since, its great so far but i encountered a problem that resulted in willing to request a feature.
I am using fzf-lua plugin. There are 2 special commands:
:FzfLua buffers -  opens a window with all buffers and i can switch them.
:FzfLua lines -  shows all lines from all opened buffers.
When i leave neovim with a bunch of buffers, and enter it again, i ended up on the buffer i lastly was, thats correct, and when i use :FzfLua buffers, it shows only the buffer i am in, the others are not shown, the same way acts :FzfLua lines.
I asked about this mechanic the fzf-lua maintainer and he said i should ask you instead for the request.
Could you make that all buffers are loaded and not only the buffer i end up on entering neovim ?
It could be something like a property in setup() method pre_load_buffers = true

This plugin simply use mks(:h mksession) to create session and use source to restore session. All buffers are surely retored, but I'm not sure if they are loaded in the way you expected.
You can try adding vim.cmd("bufdo e")  or any other command to reload buffers in on_session_restored, to see if it works as you expected.
Alternatively, you can use "toppair/reach.nvim" to switch buffers, and "nvim-telescope/telescope.nvim" to search content. They must be able to work properly.

This plugin simply use mks(:h mksession) to create session and use source to restore session. All buffers are surely retored, but I'm not sure if they are loaded in the way you expected.
You can try adding vim.cmd("bufdo e") or any other command to reload buffers in on_session_restored, to see if it works as you expected.
Alternatively, you can use "toppair/reach.nvim" to switch buffers, and "nvim-telescope/telescope.nvim" to search content. They must be able to work properly.

Adding vim.cmd("bufdo e") to on_session_restored worked!


feat: error reporting callback

Closes #524
Using refactor/removal-env-variables branch as a base only for better readability.

🐝 PR preview in Swarm
Preview URL: https://bah5acgzaocdvl27qgqwh64cta3v6szase3e7v2dewr6owx3mti6jo2h4it4q.bzz.link
Swarm Hash: 708755ebf0342c7f705306ebe9641226c9fae864b47ceb5f6c9a3c9768fc44f9
Commit Hash: 8a322573c4e64795267b5c1e171aa310ea286c5e
Commit Message: feat: error reporting callback


Copy clip not working first click for async load clipboard.js

Minimal example
$.getScript('https://github.com/zenorocha/clipboard.js', function(){
  let clipboard = new Clipboard('.btn', {
    text: function () {
             return 'asdfasdf';
    }
  });

  clipboard.on('success', function(){

  });
})

Describe
Copy clip not working first time for async load clipboard.js
Browsers affected
I tested on all major browsers and all does not work.

I have this problem too, on mobile browser. Have you solved it?

@lolipop99 Are you sing this as part of a webcomponent? Is there HTML associated with this function? If so, could you include the rest of the HTML code?

Since browser security, document.execCommand('copy') must be triggered by user
I recommend you do it in this way
https://codepen.io/anon/pen/pdaqaK


Eliminate nils

This PR paves the way for making unset variables raise an error (#136) which in turn will pave the way for lazily evaluating variables in command arguments (#197).
After attempting to implement lazy variable evaluation directly it became apparent that staying consistent with the way general purpose Unix shells handle unset variables is going to introduce a lot of complexity, far more than keeping that behaviour would justify (@mike-burns never liked it anyway—see discussion on #136—and I probably should have listened).

Modify Gitsh::Environment#fetch and Gitsh::GitRepository#config to raise if no default value is given.
Move default values from arguments to blocks to easily distinguish between “there is no default” and “the default is set to nil”.
Remove Gitsh::Environment#[] and Gitsh::MagicVariables#[] entirely, in favour of #fetch methods.
Update Gitsh::Environment#fetch to read from magic variables, which were previously only accessible via #[].

Spec failure is unrelated (it's a Ruby/readline/threading bug)

Thanks for the reviews, all.


[Notification-Banner] Documentation not visible on dev-site

Summary

Small PR just renamed NotificationBanner.mdx to NotificationBanner.app.mdx as without app the mdx is not rendered on our dev-site.

Closes #141
Deployment Link

https://terra-applic-.herokuapp.com/
Testing

Additional Details

Thank you for contributing to Terra.
@cerner/terra

For reference, this documentation was left hidden initially with the thought this would be advertised with terra-application v2 incase any rendering placement changed with the new layouts/app design.

This documentation should remain non visible until terra application v2.


how to use RestoreDetail node?, Please share workflow using IC-Light and replace background

Connect the processed image and the image you want to restore detail from. If you want a premade workflow, try not5's https://old.reddit.com/r/StableDiffusion/comments/1dy8jcd/relighting_better_than_magnific_and_krea_local/


Resolves #13 -- check for URL and return error if invalid

Checks for invalid URLs in sportsdataverse.cfb.load_cfb_schedule and sportsdataverse.cfb.load_cfb_pbp, raising SeasonNotFoundError if the URL is not valid

I didn't notice how sportsdataverse.cfb.load_cfb_team_info handles Exceptions until after I had written valid_url, so hopefully you don't mind the different approach.


Not installable on Debian Unstable

Hi,
I'm attempting to install the heroku toolbelt on a debian unstable system via the recommend command:
wget -O- https://toolbelt.heroku.com/install-ubuntu.sh | sh

.. but I get the following error:
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 heroku-toolbelt : Depends: heroku (= 3.42.39) but it is not going to be installed

I then attempt to install it via apt-get directly:
sudo apt-get install heroku-toolbelt heroku

.. and got a more descriptive error:
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 heroku : Depends: ruby2.1 but it is not installable or
                   ruby2.0 but it is not installable or
                   libopenssl-ruby1.9.1 but it is not installable
          Depends: ruby2.1 but it is not installable or
                   ruby2.0 but it is not installable or
                   libreadline-ruby1.9.1 but it is not installable
          Depends: ruby2.1 but it is not installable or
                   ruby2.0 but it is not installable or
                   ruby1.9.1 but it is not installable

According the this page, ruby 2.1 was removed from unstable on 2016-03-05. ruby2.2 and ruby2.3 are available - is it possible to make them valid alternative dependencies?

@yob I just pushed a new release to allow 2.2 and 2.3, could you please try again?

Thanks @ransombriggs, it installed without an issue


docs: Migrate usage guide

What type of PR is this?

Uncomment only one  /kind line, and delete the rest.
For example, > /kind bug would simply become: /kind bug

/kind bug
/kind cleanup
/kind failing-test
/kind enhancement
/kind documentation
/kind code-refactoring

What does this PR do / why we need it:
Migrates the gitops usage guide from internal google doc to markdown
Have you updated the necessary documentation?

[x] Documentation update is required by this PR.
[x] Documentation has been updated.

Which issue(s) this PR fixes:
Fixes https://issues.redhat.com/browse/GITOPS-1692?
Test acceptance criteria:

[ ] Unit Test
[ ] E2E Test

How to test changes / Special notes to the reviewer:
Click on docs > Openshift Gitops Usage Guide.md

@jaideepr97 The PR looks good. Thanks for the efforts in migrating the doc in MD file :)

Can we setup Integration with Readthedocs ? I am not sure if redhat-developer has an account in Readthedocs but the integration is very simple. I see a lot of advantage in this integration.

We were also discussing about using GitHub wiki.

You can edit wikis directly on GitHub, or you can edit wiki files locally. By default, only people with write access to your repository can make changes to wikis, although you can allow everyone on GitHub.com to contribute to a wiki in a public repository. For more information, see "[Changing access permissions for wikis](https://docs.github.com/en/communities/documenting-your-project-with-wikis/changing-access-permissions-for-wikis)".

Thanks @iam-veeramalla, addressed your comment
I agree, having readthedocs integration would be the best long-term option and could be the next step we look into
I believe this story was just about moving the usage guide out of google docs for now
I think asking users to reference this guide from the release branch is a good intermediate solution while we look into readthedocs integration

/retest v4.7-e2e

/test v4.7-e2e

@wtam2018 could you PTAL

/approve
/lgtm


Some webkit version doesn't implement classList for SVGElement but only for HTMLElement. Add condition to check that.

Hi,
The first condition was "if classList exists on createElement", but it would be useful to check it for SVG too.
Old Webkit versions implement classList for HTMLElement but not for SVGElement. This is fixed in last releases. See https://bugs.webkit.org/show_bug.cgi?id=74959
That was annoying because PhantomJS 1.9.2 + QUnit on a SVG library can be annoying.
Have a nice day :)

:+1:
The suggested edit fixed the IE problem for me. (But I only tested on IE 9+, firefox, and chrome)

this PR fixed the issue for me as well on IE11.  angular2 shims_for_IE.js uses this code.  I'll be submitting PR for this change in that file directly to angular team, but it would be nice to see this PR merged here too.


$fsx is not defined in runProd()

I searched dist for $fsx = and it appears to never be set.  Where is it supposed to be set?  App or Vendor?

It should be in API.js or dev.js

@SephReed then it should be in vendor.js at the very top

I can see where it would be.  I've just been adding it myself to make things work.
But it's not there by default.

I think your configuration is missing "target" that's why it's not there ...

which targets will should add it, and which should not?

@SephReed I think there is a bug with undefined target... Could you verity that?

setting target does the trick.

Given that these settings work fine for dev, it would probably be nice if they continued working for prod.

@SephReed can you please confirm if the issue still occurs with<EMAIL_ADDRESS>Also see here for info on major changes

Closed as no response received.


Don't use hard tabs

Markdown linters don't like hard tabs by default.  Could the code be changed to use spaces instead (converted to 4 spaces according to github flavour markdown spec)

I would personally like an option for 2 spaces. Maybe make this a setting?

I am running into a problem where the tab is creating a PRE block in the two markdown converters that I use.


Nuget example not working or no impact.

Hi
In my pipeline I have added
Environment variable : NUGET_PACKAGES with value $(Pipeline.Workspace)/.nuget/packages
In the cachebeta task i have :
key : nugetCacheRS_v3
value : $(NUGET_PACKAGES)
I can see the cache is hit the first time with no cache found.
At the post job i can see it upload 400+- mb.
Next build i can see the cache is downloaded.
But the restore keeps it current time mark +- 2.5min.
I can see in the output the http get calls.
I also in the dotnet restore task under Advanced to set
Destination directory -> $(NUGET_PACKAGES)
But also this did not affect the speed of restoring.
What am i doing wrong ?
Thanks.

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

ID: 77c20289-dab2-7a6e-4f63-4b30eaff2c71
Version Independent ID: d75cc196-90c1-8291-9907-ff405bde4edf
Content: Pipeline caching - Azure Pipelines
Content Source: docs/pipelines/caching/index.md
Product: devops
Technology: devops-cicd
GitHub Login: @willsmythe
Microsoft Alias: wismythe

Hi @christophedemey, Thanks for the feedback! From how I'm reading your question, it doesn't seem like an issue with docs. Is this correct? If it's to do with the product, you can reach out to the Developer Community to talk to the engineers :)

@chasewilson well i followed documentation and dont see it working so it might be documentation or the task implementation or both ?
I have created an issue now at the Developer Community aswel.
If you can confirm i configured the task correctly that would be great :)

@chistophedemey Everything appears to be in order. Have you heard anything from the developer community?


Add support for dropping root privileges and exiting immediately if there's an unhandled exception

I wanted the ability to drop root privileges after opening the sockets. This assumes one can run eap_proxy.py via an external service like supervisord that supports restarting in the event the program exits.
This PR adds a couple options to support this use case.
Sample supervisord config (place in /etc/supervisor/conf.d/eap_proxy.conf):
[program:eap_proxy]
command=/usr/bin/python2 /root/eap_proxy.py --drop-root eth0 eth2
autostart=true
startretries=100
stdout_syslog=true
stderr_syslog=true

@tobiasmcnulty I added a --run-as USER[:GROUP] option and made exiting immediately the default when not run with --daemon. Let me know if this works for you.

@jaysoffian Much better and confirming that works -- thanks!


'phase' not used in cm_per_epoch()

The "phase" parameter in the cm_per_epoch() function is not passed to the dice_confusion_matrix() function. Instead, the "train" mode is used even in the validation phase.
https://github.com/ai-med/quickNAT_pytorch/blob/920d85ea5cfb621a5f574796677778df58e31d55/utils/log_utils.py#L62

Good catch! I updated the line. Thanks.


LL-2842 Deep Link

(DeepLink): add deep link support for the app -> check ReadMe for more details
Type
Feature
Context
LL-2842
Parts of the app affected / Test plan
Install the app
then for Android run
  adb shell am start -W -a android.intent.action.VIEW -d "ledgerlive://{{YOUR_URL}}" com.ledger.live.debug

(use com.ledger.live.staging for staging build)
on IOS run
xcrun simctl openurl booted ledgerlive://{{YOUR_URL}}

It should redirect to the correct page
Deep Linking Test Page App
to run it
yarn run test-deep-links

AFAIK for iOS, we need to do something special (there is nothing to do for Android? curious) in Obj C to enable the deep link feature.

conflicts

Solution not found, it probably needs a rework of the navigation stack which is a bit out of scope here.
Well we can merge it, no issue is remaining.


chore: compare xml parsers

Codecov Report

Merging #142 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #142   +/-   ##
=======================================
  Coverage   99.71%   99.71%
=======================================
  Files          35       35
  Lines        2093     2093
  Branches      112      112
=======================================
  Hits         2087     2087
  Misses          4        4
  Partials        2        2

Continue to review full report at Codecov.

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

XML Parsers to benchmark

fast-xml-parser
xml2js

Name
Run 1
Run 2
Run 3

fast-xml-parser

From xml2js

This is cool, and I definitely didn't see this earlier.
In GetCompetitivePricingForASINResponse's fixture https://github.com/ScaleLeap/amazon-mws-api-sdk/blob/de12f95866581d34fa9e9cd485a64fd2a39a3182/test/unit/fixtures/products_get_competitive_pricing_for_asin.xml#L32-L36
fast-xml-parser just gets the value and disregards the condition attribute which makes
OfferListingCount` = `[11,1,10]

which isn't particularly useful
but with xml2js
OfferListingCount = [
{
  "$": {
    "condition": "Any",
  },
  "_": 11,
},
{
  "$": {
    "condition": "Used",
  },
  "_": 1,
},
{
  "$": {
    "condition": "New",
  },
  "_": 10,
}]

where $ contains the attributes and _ contains the values, also $ and _ could be renamed to whatever variable in the settings

oh ya, that's pretty sweet!

Changes required to make xml2js to work

setup

await xml2js.parseStringPromise(response.data, {
        explicitArray: false,
        valueProcessors: [parseNumbers, parseBooleans],
        emptyTag: '',
        trim: true,
      })

Had to fix some fixtures that had invalid XML files

Some XML values i.e. https://github.com/ScaleLeap/amazon-mws-api-sdk/blob/de12f95866581d34fa9e9cd485a64fd2a39a3182/test/unit/fixtures/subscriptions_deregister_destination.xml#L2-L3

get parsed to "/n   " instead of '' see the following difference in Subscriptions unit test snapshot https://github.com/ScaleLeap/amazon-mws-api-sdk/pull/142/commits/846202fac3e3e5c97b13ba1aee10210eae72320d#diff-973ce94a6aa7a940f8bc0588b0401817

Parsing error message had to be changed https://github.com/ScaleLeap/amazon-mws-api-sdk/pull/142/commits
/846202fac3e3e5c97b13ba1aee10210eae72320d#diff-614f14483603a8f5f71537a5bec76491
Probably not that big of change mostly pedantic

I'm really liking xml2js over fast-xml-parser due to configurability and it's much more precise with its parsing (compare the snapshots of the old to the new in the latest commit). Also it validates the XML (it throws an error when the received XML is invalid, apparentlyfast-xml-parser is just silent). Will explore other options

On the other hand fast XML parser is TypeScript native.

That's a good point. I could've sworn xml2js had its own .d.ts file, but apparently something installed @types/xml2js because I don't remember installing it

Can't get xml2json to work without substantial changes to both tests and codecs.
It's mostly because of how it parses empty or self closing tags, i.e. <Condition/>, to {} instead of '' like how fast-xml-parser or xml2js parses empty or self closing tags. See the following https://github.com/ScaleLeap/amazon-mws-api-sdk/blob/de12f95866581d34fa9e9cd485a64fd2a39a3182/test/unit/snapshots/fulfillment-inventory.test.ts.snap#L83
This isn't bad in itself but it means changing things like the parsing error unit tests. It throws ParsingError: Problem with property "ListInventorySupplyByNextTokenResponse": it does not exist in received object {} instead of ParsingError: Expected an object, but received null.

Can't get xml2json to work without substantial changes to both tests and codecs.

Given that the difference in speed seems to be negligible and fast parser is TS native, I think let's just keep it as is for now.

Given that the difference in speed seems to be negligible and fast parser is TS native, I think let's just keep it as is for now.

I'm okay with this for now, but I think this might be good to think about in the future. Issues could arise with things like not having a way to access a tags' attributes, and maybe there would be a preference to have the actual character \\" in the response as opposed to having the user sanitize the string themselves

I'm okay with this for now, but I think this might be good to think about in the future.

Well, let's keep the branch alive for now. Maybe we'll do it eventually.

Issues could arise with things like not having a way to access a tags' attributes, and maybe there would be a preference to have the actual character \\" in the response as opposed to having the user sanitize the string themselves

These really sound like defects with the library though. Can we maybe contribute a fix to that? Or at least raise an issue in their repo?

These really sound like defects with the library though. Can we maybe contribute a fix to that? Or at least raise an issue in their repo?

I'm making an issue to resolve the things that became apparent in this PR. I wasn't really fair with fast-xml-parser. I think if I tweak the options for FXP's parser, I could fix the attributes and the sanitized strings. Good thing xml2js handled attributes differently, that put these types of things into light

Also I'm closing this PR, I think you're right that it'd be better to stick fast-xml-parser due to native TS and also fast-xml-parser actually has benchmarks of it against xml2js in its GH page


Thanks for the review!