Displays strangely in Google Chrome Mac (stable and beta)

This is amazing work! At first I thought it wasn't working on my M1 Pro Macbook, but I realized it was due to Google Chrome. It looks great in Firefox and Safari, but for some reason the gradient streams do not appear within the glyphs themselves and instead appear as solid columns of green. I checked the docs and the issues to see if there was a known issue with Google Chrome but couldn't find any, so I'm posting this issue. I've attached a screenshot of what I see with Google Chrome (stable and beta versions), which occurs on several Macs.

Thanks for your kind words!
Will you please try appending ?renderer=regl to the URL, and let me know if that makes it appear as expected? If so, then there may be an issue in my WebGPU code, or in Chrome's almost-done WebGPU support.

I've switched the default renderer back to regl, as I'm investigating some discrepancies between the renders of the two codebases.

Hi there! I've tried adding the query string, e.g., https://rezmason.github.io/matrix/?renderer=regl but it still shows the same for me in Google Chrome. Any other query strings you'd like me to try?

Shoot, that rules out WebGPU entirely!
My next theory is that the issue is specific to MSDF rendering— the technique for drawing crisp symbols. Can you compare these websites across your browsers? Do any have the same issue in Chrome on your machine?
https://openglobus.org/examples/fonts/fonts.html
https://observablehq.com/@stwind/msdf-text-label (the text on the corners of the cube)
https://monkin.github.io/webgl-dsl/examples/build/roboto.html

Shoot, that rules out WebGPU entirely!
My next theory is that the issue is specific to MSDF rendering— the technique for drawing crisp symbols. Can you compare these websites across your browsers? Do any have the same issue (or any issue, really) in Chrome on your machine?
https://openglobus.org/examples/fonts/fonts.html

These look identical in Chrome and Firefox

https://observablehq.com/@stwind/msdf-text-label (the text on the corners of the cube)

There isn't a difference in the text per se, but note that there is a difference in the cube's shading, where Chrome fills it in with a dark grey whereas Firefox keeps the cube transparent. Screenshot below:

https://monkin.github.io/webgl-dsl/examples/build/roboto.html

These look identical in Chrome and Firefox

That one screenshot teases that something is rotten in the state of Denmark— but I fear I won't have much luck fixing this issue without an M1 Mac at my disposal.
I might ask some coworkers to help me isolate the issue after hours, or something, but it may be a while before this bug is fixed. 🙁

Great catch on thinking it might be M1 related. As a test I tried loading the Classic Matrix code on my Intel Mac Pro using Google Chrome, and indeed it works as expected. So it might very well be a Google Chrome + M1 issue.
Thanks again for the awesome work!

I had this same issue occur for me just now on my Lenovo Windows 10 laptop. I was using the webgl renderer.

As a test I tried loading the Classic Matrix code on my Intel Mac Pro using Google Chrome, and indeed it works as expected.

I had this same issue occur for me just now on my Lenovo Windows 10 laptop

I appreciate you both making the time to test that for me and share what you found!
This may provide enough rationale to attempt a fallback step in the shader that avoids what I think is messing up— though detecting the bug from within the software is an interesting challenge. I'll revisit this issue when I have some hardware I can repro it on.

I have the exact same issue on Edge in Windows 10 running on an i5-3570. On Firefox it's perfect.

I am seeing the same thing in Chrome on Win 10. Running it in Firefox and it renders correctly.

I had hardware acceleration disabled. Enabled this and now it renders perfectly.

Thanks, that's something folks should check.
I had another thought, which I'll also test out— maybe the WebGL extension I'm relying on isn't enabling on these devices. I'll push a change that'll make this easy to test without breaking anything.

I'm not confident in these potential fixes, but at least now there's a way to test them in the wild.
Do either of these fix these issues for anyone?
https://rezmason.github.io/matrix/?fwidth_10_1_2022_A
https://rezmason.github.io/matrix/?fwidth_10_1_2022_B

I got good and bad news. I went to try those links and they looked good. Then I tried the old example that didn't work and that also was working on my laptop now. To test I turned off hardware acceleration in Chrome and it then again looked bad. And these 2 new links also looked bad/broken without hardware acceleration. I don't know how I got my laptop in a state where it was off before, but after turning it back on it seems fine now. Ideally though I'd rather the animation stay consistent even without hardware acceleration.

EDIT: Just had a poke in the Chrome settings and noticed that I had hardware acceleration disabled. Enabled this and now it renders perfectly.

Wow, great catch @arnfiix ! On all my Chrome browsers I too had hardware acceleration disabled. I enabled it and now the Matrix code renders as it should.  I can't remember if I manually disabled hardware acceleration for performance reasons or if it is disabled by default. Anyway, it now works great.
I guess this can be closed now? Perhaps there just needs to be a note in the README stating that hardware acceleration needs to be enabled in order for it to work in Google Chrome.
What's interesting is that if I disable hardware acceleration in Firefox the Matrix code still renders correctly (even after a restart).

Flipped the switch you mentioned in Chrome Canary, and,

Eyyy, that's a repro! ...I'm utterly baffled.
"Hardware acceleration" conventionally means "uses the GPU", which is 100% what this effect does, it's all GPU all the time 😃. Reading your observations, I thought maybe Chrome was compositing your browser windows back on the CPU or something. But based on how slow this is running, I think maybe Chrome with hardware acceleration disabled, uh... emulates a GPU on the CPU? Would they do that?!
I'll update the readme with a note about this, and maybe try and detect it from the code, but I'll also try and research Chrome's "hardware acceleration", and maybe reach out to some Chrome folks. Meanwhile, I'll rename this ticket and link to it in those conversations.

Part 1 is done: we're now detecting Chrome's software renderer fallback, which I still can't quite believe exists, and presenting players with a choice: run the effect slowly through SwiftShader, or turn on their hardware acceleration.
Part 2 is, honestly, the thing going wrong in SwiftShader is unnecessary and in the process of being removed.

Now THAT is how you do an awesome notification dialog! Amazing 🙏☺

Turns out we substantially benefit from fwidth after all, at least for now, because the paradise version performs a polar transform on the full screen quad's UV coordinates, et cetera.
Instead, I've revisited chlumsky's original MSDF documentation and realized I might just be doing the math totally wrong.
The corrected algorithm now renders glyphs properly at the breakneck speed of 4 FPS in Chrome's software renderer.
Let me know if it's still broken. What a fun way to meet people.

Thanks, this looks good without HW acceleration on Chrome now! For me it actually looks as smooth as with HW acceleration, but I have decent CPU so maybe that helps. I'd like to use this new version on my website but is it possible for the fallback to not have that blue/red pill question, as I would only want it in a fallback situation in which perhaps the user has no hardware acceleration or it's off for some reason where they won't turn it on. Thanks again!
Running in SW mode

Actually I see the code for isRunningSwiftShader() so I can figure this out. Thanks again!

@Rezmason I have a machine that has no hardware acceleration of any kind, so I always get the bluepill/redpill greeting when I load the page, regardless of browser settings. Is there any way that I can bypass the SwiftShader dialog, perhaps with a URL parameter?

I should have thought of that. I'll see what I can do.

All right @JamesDBartlett3 try adding suppressWarnings=true to the URL. Also, from now on, clicking the "PLUG ME IN" button in the notice appends that parameter to the URL.

@Rezmason That's the fastest turnaround time on a new feature suggestion I've ever seen! Fantastic, thank you so much!


1.20 Update.

A 1.20 port. Has been tested in 1.20 - 1.20.2. (All predicates)
Also fixes entity/x running entity.getZ() instead of entity.getX()

Okay that should fix it now. My apologies that I didn't realize.

Okay now it should Actually be good. And once again apologies, I just forgot that I'm working in someone else codebase. And since I don't usually do this, just kind of got carried away.

Sorry for the runaround, this looks great! Thank you for contributing, I'll make a release immediately.

Thank you!


[wpf-graphics-rendering-overview.md] clarifying VisualTree traversal order

copyedit (medium): one paragraph, for your consideration and review.

Internal previews

📄 File
🔗 Preview link

dotnet-desktop-guide/framework/wpf/graphics-multimedia/wpf-graphics-rendering-overview.md
dotnet-desktop-guide/framework/wpf/graphics-multimedia/wpf-graphics-rendering-overview

Hi @glenn-slayden
I'll need to do some investigating on this PR as it's changing some of the wording that's very specific to behavior. I assume that when this content was originally written, it was done so with the product group. Like, why was "left to right" chosen as the phrase to communicate render order? Is it true? Does position factor into sibling rendering? I'll have to explore the code or find someone that knows more than myself.
Another example is that you introduced "child nodes are always rendered first" is that 100% without a doubt true? Or is this an assumption? Can something else in code or in behavior actually alter the order so that it isn't true? I don't know.
I'm curious, what's the motivation behind this PR?

@dotnet/wpf-developers

Thanks for the feedback. As you can check my logs, I don't make many PRs, but when I do I hope the information is solid, especially when proffered to a serious commercial venture. I am a past MS SDE dev and have specialized in working on Visual/Drawing/DrawingVisual-level code for WPF since it started in 2007 or so. I even have a few "actually retained graphics" successes in this type of WPF design, which is admittedly off-the-beaten-path.  Most people just stick with the Measure/Arrange layout pass model since it's easier and more comprehensible.
Retained-mode programming on WPF is not easy, but its reasonably capable and fantastically performant when it works. Just trying to improve things, but if my submission doesn't satisfy your standards then it's no offense.


[test-triage] rom_e2e_static_critical test runs over timelimit

Hierarchy of regression failure
Chip Level
Failure Description
Job chip_earlgrey_asic-sim-vcs_run_default killed due to: Exit reason: User job exceeded runlimit: User job timed out
Steps to Reproduce

Commit hash: 67a41e3bc
dvsim invocation command to reproduce the failure, inclusive of build and run seeds:
./util/dvsim/dvsim.py hw/top_earlgrey/dv/chip_sim_cfg.hjson -i rom_e2e_static_critical --fixed-seed<PHONE_NUMBER> --build-seed<PHONE_NUMBER> --waves -v h

Tests with similar or related failures

[ ] rom_e2e_shutdown_exception_c #15238
[ ] chip_sw_uart_rand_baudrate #15277

Closing this issue as the test has been passing for several days.

Tests
latest
2022.10.10
2022.10.08/1
2022.10.08/2
2022.10.06
2022.10.05/1
2022.10.05/2
2022.10.03/1
2022.10.03/2
...
2022.09.30
2022.09.29
2022.09.28
2022.09.27
2022.09.26/1
2022.09.26/2
2022.09.26
2022.09.24
2022.09.23
Suite

rom_e2e_static_critical
100.00
100.00
100.00
100.00
100.00
100.00
66.67
66.67
66.67
...
100.00
N/A
--
--
--
--
--
--
--
rom_e2e_static_critical


Integration tests

Added PatchNet with the integration tests

@KorenMary please take a look at my comments and changes made to the code and we can iterate once more on these


Add export to csv examples for host and container vulnerabilities

This PR to to add a basic example of CSV export for host and vulnerabilities using the API v2 features.

@alannix-lw based on your feedback I've merged the two separate examples into a single. Field mapping capability should allow for less rigid formatting.


Mechanism to customize/modify flags retrieved from CDB.

e.g. blacklist -fstack-usage or -fconserve-stack, which are flags we don't have.
e.g. insert -gcc-toolchain to work around standard library discovery.
Probably need the ability to scope to at least project, maybe match files/commandlines/flags with patterns.

Request: https://www.reddit.com/r/cpp/comments/cafj21/ccls_clangd_and_cquery/etc7a2v/

Ooops, missed that one somehow. But https://reviews.llvm.org/D62804 and https://reviews.llvm.org/D63194 should help with this.

This is done now via config system.


Update badges

The section "Documentation" in the README still contained the old broken links. Appveyor and Coveralls badges should be added again once the services are enabled for the moved repository.

Do you mind rebasing on master this since https://github.com/JunoLab/Weave.jl/pull/224 was already merged

This PR is already based on master. Actually, https://github.com/JunoLab/Weave.jl/pull/224 was the reason for this PR since I noticed that it doesn't fix the two additional broken links handled here.


[Fix] get_scores_realgm reports error

Hello again.
Still following along the introductory code, get_scores_realgm reports an error:
Error in get_scores_realgm("2017-10-01", "2017-11-01", league = "Polish TBL") :
  object 'ids' not found

The bug is fixed if this line:
league_id = ids$id[ids$league_name == league]

is substituted by this line:
league_id = leagues$id[leagues$league_name == league]

Fixed in the code. Thanks.


serial is updated but FetchFile returns 304 for objects and slurm is local and not changed

Hello,
I added the serial metric in https://github.com/bgp/stayrtr/pull/113 and then I saw that it was continuously increasing.
In the logs, I see that the objects are not updated:
time="2024-02-27T14:53:15Z" level=info msg="HTTP 304 Not modified for http://rpki-validator-rpki-client/objects/validated"
time="2024-02-27T14:53:16Z" level=info msg="New update (517256 uniques, 517256 total prefixes, 51 vaps, 2 router keys)."

However, I also see that a new "update" is triggered.
I have a static slurm.json file provided as a local path in the container (via -slurm /slurm.json option), and it's never updated.
I think the serial should only be updated if the vrps are updated or the slurm is changed, and that seems to be what the code want's to do as well:
// Only process the first time after there is either a cache or SLURM
// update.
if cacheUpdated || slurmNotPresentOrUpdated {

So I think there is unexpected behavior in :
slurmNotPresentOrUpdated, err = s.updateSlurm(slurmFile)

Maybe the FetchConfig could maintain a hash of the file (when it's a local file) to see if it has been modified (emulate etag behavior for local files) ?
Or maybe it should be in the state object ?
I you provide guidance I am happy to implement :)

Are you sure nothing was updated? The rpki-client JSON output contains a per-VRP expiration timestamp, so it could be that one or two VRPs expired, even though the source file didn’t change. The mere passing of time can cause change.

I am seeing
HTTP 304 Not modified for http://rpki-validator-rpki-client/objects/validated

in the logs, so I know that I exit here
		return nil, fhttp.StatusCode, true, HttpNotModified{
				File: file,
			}

which means that updateFile returns false, err, and thus (if this is correct :) ) this is not what triggers the serial update.
I have a relatively aggressive refresh interval (5 minutes much lower than the run interval of rpki-client, which is 15 minutes), so the file actually doesn't change as much.
Upon further inspection, I see that there is a check for actual sha change in the updateFile, but not in the updateSlurm func.
hsum := newSHA256(data)
	if s.lasthash != nil {
		cres := bytes.Compare(s.lasthash, hsum)
		if cres == 0 {
			return false, IdenticalFile{File: file}
		}
	}

maybe a similar block needs to be added on the slurm func ?
(Thanks for rpki-client btw, I am using this wrapper: https://github.com/ties/rpki-client-web/blob/27a08aaec3244e5183b37ab511d3bd3d690c26f0/rpkiclientweb/web.py#L74)

I tried a fix by using the lastUpdate time of the slurm file and doing a sha when on disk: https://github.com/netixx/stayrtr/blob/local-file-cache/utils/utils.go#L163
but now I get what I think is another issue:
ime="2024-02-27T15:52:47Z" level=error msg="Slurm: EOF"
time="2024-02-27T15:52:48Z" level=info msg="new cache file: Updating sha256 hash  -> f966bf54062d389cccee677118cb9b94839a34c160f018361cc73eb1278c93da"
time="2024-02-27T15:52:50Z" level=info msg="New update (517289 uniques, 517289 total prefixes, 51 vaps, 2 router keys)."
time="2024-02-27T15:52:52Z" level=info msg="Updated added, new serial 0"
time="2024-02-27T15:52:52Z" level=info msg="StayRTR Server started (sessionID:12203, refresh:3600, retry:600, expire:7200)"
time="2024-02-27T15:57:52Z" level=info msg="HTTP 304 Not modified for /slurm.json"
time="2024-02-27T15:57:52Z" level=info msg="HTTP 304 Not modified for http://rpki-validator-rpki-client/objects/validated"
time="2024-02-27T15:57:53Z" level=info msg="New update to old state (517288 uniques, 517288 total prefixes). (old 517342 - new 517288)"
time="2024-02-27T15:57:56Z" level=info msg="Updated added, new serial 1"
time="2024-02-27T16:02:52Z" level=info msg="HTTP 304 Not modified for /slurm.json"
time="2024-02-27T16:02:52Z" level=info msg="HTTP 304 Not modified for http://rpki-validator-rpki-client/objects/validated"
time="2024-02-27T16:02:53Z" level=info msg="New update to old state (517288 uniques, 517288 total prefixes). (old 517341 - new 517288)"
time="2024-02-27T16:02:56Z" level=info msg="Updated added, new serial 2"
time="2024-02-27T16:07:52Z" level=info msg="HTTP 304 Not modified for /slurm.json"
time="2024-02-27T16:07:53Z" level=info msg="new cache file: Updating sha256 hash f966bf54062d389cccee677118cb9b94839a34c160f018361cc73eb1278c93da -> a20adbde53f39b271639f824f722d4c49e0fb7e26eb3029bd4ea875d25fefe1e"
time="2024-02-27T16:07:55Z" level=info msg="New update (517292 uniques, 517292 total prefixes, 51 vaps, 2 router keys)."
time="2024-02-27T16:07:58Z" level=info msg="Updated added, new serial 3"
time="2024-02-27T16:12:52Z" level=info msg="HTTP 304 Not modified for /slurm.json"
2024/02/27 16:12:52 Unsolicited response received on idle HTTP channel starting with "\x1f\x8b\b\x00\x00\x00\x00\x00\x00\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00"; err=<nil>
time="2024-02-27T16:12:52Z" level=info msg="HTTP 304 Not modified for http://rpki-validator-rpki-client/objects/validated"
time="2024-02-27T16:12:53Z" level=info msg="New update to old state (517292 uniques, 517292 total prefixes). (old 517345 - new 517292)"
time="2024-02-27T16:12:56Z" level=info msg="Updated added, new serial 4"
time="2024-02-27T16:17:52Z" level=info msg="HTTP 304 Not modified for /slurm.json"
time="2024-02-27T16:17:52Z" level=info msg="HTTP 304 Not modified for http://rpki-validator-rpki-client/objects/validated"
time="2024-02-27T16:17:53Z" level=info msg="New update to old state (517292 uniques, 517292 total prefixes). (old 517345 - new 517292)"
time="2024-02-27T16:17:55Z" level=info msg="Updated added, new serial 5"
time="2024-02-27T16:22:52Z" level=info msg="HTTP 304 Not modified for /slurm.json"
time="2024-02-27T16:22:52Z" level=info msg="HTTP 304 Not modified for http://rpki-validator-rpki-client/objects/validated"
time="2024-02-27T16:22:53Z" level=info msg="New update to old state (517292 uniques, 517292 total prefixes). (old 517345 - new 517292)"
time="2024-02-27T16:22:55Z" level=info msg="Updated added, new serial 6"

It seems that s.server.CountSDs() != count is always triggered (notice how the same number old=517345 comes back, and the sha hash of the cache file has not been updated between those serial increase.

I meant to say that there always are ROAs about to expire:
feather$ date
Tue Feb 27 16:32:28 UTC 2024

feather$ curl -s https://console.rpki-client.org/rpki.csv | awk --csv '{ print $NF }' | sort | head -1
1709051516

feather$ date -r<PHONE_NUMBER>
Tue Feb 27 16:31:56 UTC 2024

This expiration moment is communicated from rpki-client to StayRTR via the "expires": field, StayRTR tracks those timestamps and yeets ROAs from its internal database when the moment elapses. This will cause an update to be send to the RTR clients, and a serial increase.
Have you excluded that this is what you are seeing? (I'm not excluding the possibility that there improvements to be made to stayrtr, but we have to make sure what exactly we're seeing) :-)

BTW - rpki-client-web is a cool project, but there also might be benefit to having as little middleware in the pipeline as possible, for example:
while true; do rpki-client -j -m; sleep 300; done in as one process, and stayrtr -cache /var/lib/rpki-client/json as another process cuts out the webserver in the middle. Stayrtr can just poll the filesystem. The -m flag gives you metrics in OpenMetrics format in /var/lib/rpki-client/metrics which you can load into grafana.

Mmm... from your log:
time="2024-02-27T16:17:52Z" level=info msg="HTTP 304 Not modified for /slurm.json"
time="2024-02-27T16:17:52Z" level=info msg="HTTP 304 Not modified for http://rpki-validator-rpki-client/objects/validated"
time="2024-02-27T16:17:53Z" level=info msg="New update to old state (517292 uniques, 517292 total prefixes). (old 517345 - new 517292)"
time="2024-02-27T16:17:55Z" level=info msg="Updated added, new serial 5"
time="2024-02-27T16:22:52Z" level=info msg="HTTP 304 Not modified for /slurm.json"
time="2024-02-27T16:22:52Z" level=info msg="HTTP 304 Not modified for http://rpki-validator-rpki-client/objects/validated"
time="2024-02-27T16:22:53Z" level=info msg="New update to old state (517292 uniques, 517292 total prefixes). (old 517345 - new 517292)"
time="2024-02-27T16:22:55Z" level=info msg="Updated added, new serial 6"

Old and New being the same values is a bit suspicious... if the expires functionality is in play I'd expect the New value to be lower at  2024-02-27T16:22:53Z

I did some checks on an example file
The closest expiration is<PHONE_NUMBER> which is Tuesday, February 27, 2024 5:28:32 PM UTC.
 cat validated-new.json | jq '.roas[].expires' | sort -n | uniq | head -n 10
1709054912
1709058016
1709058018
1709058032
1709058152
1709059412
1709059652
1709059813
1709059831
1709059837

While the build time is 		"buildtime": "2024-02-27T17:04:42Z".
So nothing should expire in the next 11 minutes after the build, however I still see serial update in the meantime:
time="2024-02-27T17:02:52Z" level=info msg="HTTP 304 Not modified for /slurm.json"
2024/02/27 17:02:52 Unsolicited response received on idle HTTP channel starting with "\x1f\x8b\b\x00\x00\x00\x00\x00\x00\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00"; err=<nil>
time="2024-02-27T17:02:52Z" level=info msg="HTTP 304 Not modified for http://rpki-validator-rpki-client/objects/validated"
time="2024-02-27T17:02:53Z" level=info msg="New update to old state (517312 uniques, 517312 total prefixes). (old 517365 - new 517312)"
time="2024-02-27T17:02:55Z" level=info msg="Updated added, new serial 14"
time="2024-02-27T17:07:52Z" level=info msg="HTTP 304 Not modified for /slurm.json"
time="2024-02-27T17:07:53Z" level=info msg="new cache file: Updating sha256 hash 44b481ff63399bc3bd6cd779acad03d0cd351fbd56ff0ea2b1306391812e1f87 -> cefaf622d83cf3090a70d9285265877bc902c4d25ea923fe009f6c2df087463e"
time="2024-02-27T17:07:55Z" level=info msg="New update (517327 uniques, 517327 total prefixes, 51 vaps, 2 router keys)."
time="2024-02-27T17:07:57Z" level=info msg="Updated added, new serial 15"
time="2024-02-27T17:12:52Z" level=info msg="HTTP 304 Not modified for /slurm.json"
time="2024-02-27T17:12:52Z" level=info msg="HTTP 304 Not modified for http://rpki-validator-rpki-client/objects/validated"
time="2024-02-27T17:12:53Z" level=info msg="New update to old state (517327 uniques, 517327 total prefixes). (old 517380 - new 517327)"
time="2024-02-27T17:12:55Z" level=info msg="Updated added, new serial 16"

I restarted stayrtr in with  -loglevel debug:
time="2024-02-27T17:46:33Z" level=debug msg="Refreshing cache from http://rpki-validator-rpki-client/objects/validated"
time="2024-02-27T17:46:33Z" level=debug msg="Refreshing slurm from /slurm.json"
time="2024-02-27T17:46:33Z" level=info msg="HTTP 304 Not modified for /slurm.json"
time="2024-02-27T17:46:34Z" level=info msg="new cache file: Updating sha256 hash b1e07c8304633016d3db1423d7cc87a3df9ad0db512a7f3e2785423c4825622b -> 31e6a281b605ba3154fdbda72a011098470268ac9626e23134642da12373688f"
time="2024-02-27T17:46:37Z" level=info msg="New update (517377 uniques, 517377 total prefixes, 51 vaps, 2 router keys)."
time="2024-02-27T17:46:39Z" level=debug msg="Computed diff: added ([VRP 2607:740:45::/48 -> /48, AS396356, Flags: 1 VRP 2607:6b80:41::/48 -> /48, AS396356, Flags: 1 VRP 2607:6b80:42::/48 -> /48, AS396356, Flags: 1 VRP 2607:6b80:43::/48 -> /48, AS396356, Flags: 1 VRP 2607:6b80:44::/48 -> /48, AS396356, Flags: 1 VRP 2607:6b80:45::/48 -> /48, AS396356, Flags: 1 VRP 2607:6b80:46::/48 -> /48, AS396356, Flags: 1 VRP 2607:6b80:47::/48 -> /48, AS396356, Flags: 1 VRP 2607:6b80:48::/48 -> /48, AS396356, Flags: 1 VRP 2607:6b80:4a::/48 -> /48, AS396356, Flags: 1 VRP 2607:6b80:53::/48 -> /48, AS396356, Flags: 1 VRP 2804:1778::/35 -> /35, AS263146, Flags: 1 VRP 2804:1778:4000::/35 -> /35, AS263146, Flags: 1 VRP 2804:1778:6000::/35 -> /35, AS263146, Flags: 1 VRP 2804:1778:8000::/35 -> /35, AS263146, Flags: 1 VRP 2804:1778:a000::/35 -> /35, AS263146, Flags: 1 VRP 2804:1778:c000::/35 -> /35, AS263146, Flags: 1 VRP 2804:1778:e000::/35 -> /35, AS263146, Flags: 1 VRP 2804:1778::/34 -> /34, AS263146, Flags: 1 VRP 2804:1778:4000::/34 -> /34, AS263146, Flags: 1 VRP 2804:1778:8000::/34 -> /34, AS263146, Flags: 1 VRP 2804:1778:c000::/34 -> /34, AS263146, Flags: 1 VRP 2804:1778::/33 -> /33, AS263146, Flags: 1 VRP 2804:1778:8000::/33 -> /33, AS263146, Flags: 1 VRP 2804:282c::/32 -> /128, AS263945, Flags: 1 VRP 2804:1778::/32 -> /32, AS263146, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS215433, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS215415, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS212598, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS263146, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS263146, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS263146, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS263146, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS263146, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS263146, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS263146, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS263146, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS7018, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS7018, Flags: 1 VRP <IP_ADDRESS>/23 -> /23, AS263146, Flags: 1 VRP <IP_ADDRESS>/23 -> /23, AS263146, Flags: 1 VRP <IP_ADDRESS>/23 -> /23, AS263146, Flags: 1 VRP <IP_ADDRESS>/23 -> /23, AS263146, Flags: 1 VRP <IP_ADDRESS>/22 -> /32, AS263945, Flags: 1 VRP <IP_ADDRESS>/22 -> /32, AS263945, Flags: 1 VRP <IP_ADDRESS>/22 -> /24, AS270305, Flags: 1 VRP <IP_ADDRESS>/22 -> /22, AS263146, Flags: 1 VRP <IP_ADDRESS>/22 -> /22, AS263146, Flags: 1 VRP <IP_ADDRESS>/21 -> /21, AS263146, Flags: 1]), removed ([VRP 2607:740:45::/48 -> /48, AS13213, Flags: 0 VRP <IP_ADDRESS>/24 -> /24, AS30938, Flags: 0 VRP <IP_ADDRESS>/24 -> /24, AS210531, Flags: 0 VRP <IP_ADDRESS>/24 -> /24, AS400098, Flags: 0])"
time="2024-02-27T17:46:41Z" level=info msg="Updated added, new serial 1"
time="2024-02-27T17:46:41Z" level=debug msg="Sending notifications to clients"
time="2024-02-27T17:51:33Z" level=debug msg="Refreshing cache from http://rpki-validator-rpki-client/objects/validated"
time="2024-02-27T17:51:33Z" level=debug msg="Refreshing slurm from /slurm.json"
time="2024-02-27T17:51:33Z" level=info msg="HTTP 304 Not modified for /slurm.json"
2024/02/27 17:51:33 Unsolicited response received on idle HTTP channel starting with "\x1f\x8b\b\x00\x00\x00\x00\x00\x00\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00"; err=<nil>
time="2024-02-27T17:51:33Z" level=info msg="HTTP 304 Not modified for http://rpki-validator-rpki-client/objects/validated"
time="2024-02-27T17:51:34Z" level=info msg="New update to old state (517377 uniques, 517377 total prefixes). (old 517430 - new 517377)"
time="2024-02-27T17:51:36Z" level=debug msg="Computed diff: added ([]), removed ([])"
time="2024-02-27T17:51:38Z" level=info msg="Updated added, new serial 2"
time="2024-02-27T17:51:38Z" level=debug msg="Sending notifications to clients"

We can see that serial gets updated, but no actual diff are found.
(I did some tests with rtrdump, but the example I used at that point did contain an update, so it was not highlighting the right behaviour)

It looks like the sdCurrent has less entries (517430) that what we want to push (517377).
However the diff between new and old is 0 (added, removed, _ := ComputeDiff(new, s.sdCurrent, false)).
There is a possibility that the count doesn't take into account duplicates (and I guess sdCurrent does not contain duplicates),
// func processData(vrplistjson []prefixfile.VRPJson,
if prefix.Addr().Is4() {
			countv4++
		} else {
			countv6++
		}

		key := fmt.Sprintf("%s,%d,%d", prefix, asn, v.Length)
		_, exists := filterDuplicates[key]
		if exists {
			continue
		}
		filterDuplicates[key] = struct{}{}

however, I didn't see any duplicates in my vrp file from rpki-client
❯ cat validated-new.json | jq -r '.roas[]|"\(.prefix)-\(.maxLength)-\(.asn)"' | wc -l                                                                                ⏎
  517327
❯ cat validated-new.json | jq -r '.roas[]|"\(.prefix)-\(.maxLength)-\(.asn)"' | sort | uniq | wc -l
  517327

The count only includes the roa payloads since it is countv4 + countv6.
This is just stupid, calculate the count by summing up the len of the slices.

I think the change I submitted is still valid, since I think there were actually 2 issues here:
my change makes it so so that we don't always fall into the, even when the slurm file has not been updated
if cacheUpdated || slurmNotPresentOrUpdated {
err := s.updateFromNewState()

case.
The fix you submitted covers the other branch of code:
} else {
			err := s.reloadFromCurrentState()

With my change:
time="2024-02-29T12:52:00Z" level=info msg="HTTP 304 Not modified for http://rpki-validator-rpki-client/objects/validated"
time="2024-02-29T12:57:00Z" level=debug msg="Refreshing cache from http://rpki-validator-rpki-client/objects/validated"
time="2024-02-29T12:57:00Z" level=debug msg="Refreshing slurm from /slurm.json"
time="2024-02-29T12:57:00Z" level=error msg="Slurm: File /slurm.json is identical to the previous version"
time="2024-02-29T12:57:00Z" level=info msg="HTTP 304 Not modified for http://rpki-validator-rpki-client/objects/validated"
time="2024-02-29T13:02:00Z" level=debug msg="Refreshing cache from http://rpki-validator-rpki-client/objects/validated"
time="2024-02-29T13:02:00Z" level=debug msg="Refreshing slurm from /slurm.json"
time="2024-02-29T13:02:00Z" level=error msg="Slurm: File /slurm.json is identical to the previous version"
2024/02/29 13:02:00 Unsolicited response received on idle HTTP channel starting with "\x1f\x8b\b\x00\x00\x00\x00\x00\x00\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00"; err=<nil>
time="2024-02-29T13:02:00Z" level=info msg="HTTP 304 Not modified for http://rpki-validator-rpki-client/objects/validated"
time="2024-02-29T13:07:00Z" level=debug msg="Refreshing cache from http://rpki-validator-rpki-client/objects/validated"
time="2024-02-29T13:07:00Z" level=debug msg="Refreshing slurm from /slurm.json"
time="2024-02-29T13:07:00Z" level=error msg="Slurm: File /slurm.json is identical to the previous version"
time="2024-02-29T13:07:02Z" level=info msg="new cache file: Updating sha256 hash b22742b5e8a6f11fb53aba6df70bf48e6526a0b0e7112b5f03cb5903ee724b86 -> 57c62a46013ef858c916385e09e97101dab7f706ca11fa3e182b11cffce1ce1e"
time="2024-02-29T13:07:04Z" level=info msg="New update (518065 uniques, 518116 total prefixes, 49 vaps, 2 router keys)."
time="2024-02-29T13:07:06Z" level=debug msg="Computed diff: added ([VRP 2a0e:f600::/48 -> /48, AS60781, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS44559, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS44559, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS44559, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS44559, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS44559, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS44559, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS44559, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS44559, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS44559, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS44559, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS44559, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS44559, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS44559, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS400098, Flags: 1]), removed ([VRP <IP_ADDRESS>/24 -> /24, AS132165, Flags: 0 VRP <IP_ADDRESS>/24 -> /24, AS132165, Flags: 0 VRP <IP_ADDRESS>/24 -> /24, AS132165, Flags: 0 VRP <IP_ADDRESS>/24 -> /24, AS132165, Flags: 0])"
time="2024-02-29T13:07:06Z" level=info msg="Updated added, new serial 7"
time="2024-02-29T13:07:06Z" level=debug msg="Sending notifications to clients"
time="2024-02-29T13:12:00Z" level=debug msg="Refreshing cache from http://rpki-validator-rpki-client/objects/validated"
time="2024-02-29T13:12:00Z" level=debug msg="Refreshing slurm from /slurm.json"
time="2024-02-29T13:12:00Z" level=error msg="Slurm: File /slurm.json is identical to the previous version"
2024/02/29 13:12:00 Unsolicited response received on idle HTTP channel starting with "\x1f\x8b\b\x00\x00\x00\x00\x00\x00\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00"; err=<nil>
time="2024-02-29T13:12:00Z" level=info msg="HTTP 304 Not modified for http://rpki-validator-rpki-client/objects/validated"
time="2024-02-29T13:12:01Z" level=info msg="New update to old state (518061 uniques, 518112 total prefixes). (old 518116 - new 518112)"
time="2024-02-29T13:12:03Z" level=debug msg="Computed diff: added ([]), removed ([VRP 2804:6bc::/32 -> /48, AS53078, Flags: 0 VRP <IP_ADDRESS>/22 -> /24, AS53078, Flags: 0 VRP <IP_ADDRESS>/20 -> /24, AS53078, Flags: 0 VRP <IP_ADDRESS>/20 -> /24, AS53078, Flags: 0])"
time="2024-02-29T13:12:04Z" level=info msg="Updated added, new serial 8"
time="2024-02-29T13:12:04Z" level=debug msg="Sending notifications to clients"
time="2024-02-29T13:17:00Z" level=debug msg="Refreshing cache from http://rpki-validator-rpki-client/objects/validated"
time="2024-02-29T13:17:00Z" level=debug msg="Refreshing slurm from /slurm.json"
time="2024-02-29T13:17:00Z" level=error msg="Slurm: File /slurm.json is identical to the previous version"
2024/02/29 13:17:00 Unsolicited response received on idle HTTP channel starting with "\x1f\x8b\b\x00\x00\x00\x00\x00\x00\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00"; err=<nil>
time="2024-02-29T13:17:00Z" level=info msg="HTTP 304 Not modified for http://rpki-validator-rpki-client/objects/validated"

Without
time="2024-02-29T13:38:21Z" level=debug msg="Refreshing cache from http://rpki-validator-rpki-client/objects/validated"
time="2024-02-29T13:38:21Z" level=debug msg="Refreshing slurm from /slurm.json"
2024/02/29 13:38:21 Unsolicited response received on idle HTTP channel starting with "\x1f\x8b\b\x00\x00\x00\x00\x00\x00\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00"; err=<nil>
time="2024-02-29T13:38:21Z" level=info msg="HTTP 304 Not modified for http://rpki-validator-rpki-client/objects/validated"
time="2024-02-29T13:38:22Z" level=info msg="New update (518079 uniques, 518130 total prefixes, 49 vaps, 2 router keys)."
time="2024-02-29T13:38:24Z" level=debug msg="Computed diff: added ([]), removed ([])"
time="2024-02-29T13:38:26Z" level=info msg="Updated added, new serial 1"
time="2024-02-29T13:38:26Z" level=debug msg="Sending notifications to clients"
time="2024-02-29T13:43:21Z" level=debug msg="Refreshing cache from http://rpki-validator-rpki-client/objects/validated"
time="2024-02-29T13:43:21Z" level=debug msg="Refreshing slurm from /slurm.json"
time="2024-02-29T13:43:21Z" level=info msg="HTTP 304 Not modified for http://rpki-validator-rpki-client/objects/validated"
time="2024-02-29T13:43:22Z" level=info msg="New update (518078 uniques, 518129 total prefixes, 49 vaps, 2 router keys)."
time="2024-02-29T13:43:24Z" level=debug msg="Computed diff: added ([]), removed ([VRP <IP_ADDRESS>/24 -> /24, AS45669, Flags: 0])"
time="2024-02-29T13:43:25Z" level=info msg="Updated added, new serial 2"
time="2024-02-29T13:43:25Z" level=debug msg="Sending notifications to clients"
time="2024-02-29T13:48:21Z" level=debug msg="Refreshing cache from http://rpki-validator-rpki-client/objects/validated"
time="2024-02-29T13:48:21Z" level=debug msg="Refreshing slurm from /slurm.json"
time="2024-02-29T13:48:22Z" level=info msg="new cache file: Updating sha256 hash e741f9bb354b4d0adc3b319720b914f294eb4cac8e32a5ccfef66b381b2b2be3 -> 3023d1c8cf12549e12e7a1a1d28e0e02f4a021ebc49a50f7d98c9113851e561f"
time="2024-02-29T13:48:25Z" level=info msg="New update (518090 uniques, 518141 total prefixes, 49 vaps, 2 router keys)."
time="2024-02-29T13:48:27Z" level=debug msg="Computed diff: added ([VRP 2402:5380:e000::/40 -> /48, AS63980, Flags: 1 VRP 2402:5380:e100::/40 -> /48, AS63980, Flags: 1 VRP 2402:5380:e200::/40 -> /48, AS63980, Flags: 1 VRP 2402:5380:e300::/40 -> /48, AS63980, Flags: 1 VRP 2402:5380:e400::/40 -> /48, AS63980, Flags: 1 VRP 2402:5380:e500::/40 -> /48, AS63980, Flags: 1 VRP 2402:5380:e600::/40 -> /48, AS63980, Flags: 1 VRP 2402:5380:e700::/40 -> /48, AS63980, Flags: 1 VRP 2402:5380:e800::/40 -> /48, AS63980, Flags: 1 VRP 2402:5380:e900::/40 -> /48, AS63980, Flags: 1 VRP 2402:5380:ea00::/40 -> /48, AS63980, Flags: 1 VRP 2402:5380:eb00::/40 -> /48, AS63980, Flags: 1 VRP 2402:5380:ec00::/40 -> /48, AS63980, Flags: 1 VRP 2402:5380:ed00::/40 -> /48, AS63980, Flags: 1 VRP 2402:5380:ee00::/40 -> /48, AS63980, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS3257, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS132429, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS49769, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS49769, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS49769, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS49769, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS49769, Flags: 1 VRP <IP_ADDRESS>/24 -> /24, AS49769, Flags: 1 VRP <IP_ADDRESS>/23 -> /23, AS61002, Flags: 1 VRP <IP_ADDRESS>/18 -> /24, AS44395, Flags: 1]), removed ([VRP 2605:9cc0:f014::/48 -> /48, AS16509, Flags: 0 VRP 2605:9cc0:f016::/48 -> /48, AS16509, Flags: 0 VRP 2605:9cc0:f018::/48 -> /48, AS16509, Flags: 0 VRP 2605:9cc0:f01c::/48 -> /48, AS16509, Flags: 0 VRP 2605:9cc0:f01e::/48 -> /48, AS16509, Flags: 0 VRP 2605:9cc0:f020::/48 -> /48, AS16509, Flags: 0 VRP <IP_ADDRESS>/24 -> /24, AS174, Flags: 0 VRP <IP_ADDRESS>/24 -> /24, AS45355, Flags: 0 VRP <IP_ADDRESS>/24 -> /24, AS45669, Flags: 0 VRP <IP_ADDRESS>/24 -> /24, AS45669, Flags: 0 VRP <IP_ADDRESS>/23 -> /23, AS31163, Flags: 0 VRP <IP_ADDRESS>/23 -> /23, AS48749, Flags: 0 VRP <IP_ADDRESS>/21 -> /24, AS8932, Flags: 0])"
time="2024-02-29T13:48:28Z" level=info msg="Updated added, new serial 3"
time="2024-02-29T13:48:28Z" level=debug msg="Sending notifications to clients"
time="2024-02-29T13:53:21Z" level=debug msg="Refreshing cache from http://rpki-validator-rpki-client/objects/validated"
time="2024-02-29T13:53:21Z" level=debug msg="Refreshing slurm from /slurm.json"
2024/02/29 13:53:21 Unsolicited response received on idle HTTP channel starting with "\x1f\x8b\b\x00\x00\x00\x00\x00\x00\x03\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00"; err=<nil>
time="2024-02-29T13:53:21Z" level=info msg="HTTP 304 Not modified for http://rpki-validator-rpki-client/objects/validated"
time="2024-02-29T13:53:22Z" level=info msg="New update (518090 uniques, 518141 total prefixes, 49 vaps, 2 router keys)."
time="2024-02-29T13:53:24Z" level=debug msg="Computed diff: added ([]), removed ([])"

Yes, I agree both your PR (#115) and my PRs (#116 and #117) need to be merged to properly fix this bug.

I believe all that's required is done.
Thank you for all the work :)


Error when compiling

Error messages are shown below.
ld: warning: direct access in function 'itk::MetaDataObject<itk::Array >::GetMetaDataObjectTypeInfo() const' from file '/Users/yanzexin/Public/yitu/build/ITK-prefix/lib/libITKCommon-4.12.a(itkMetaDataObject.cxx.o)' to global weak symbol 'typeinfo for itk::Array' from file '/Users/yanzexin/Public/yitu/build/Elastix-build/bin/libAdvancedKappaStatisticMetric-4.8.a(elxAdvancedKappaStatisticMetric.cxx.o)' means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
[ 70%] Built target ITKIntegration
[ 70%] Built target ImageRegistrationMethod2
make[3]: *** [all] Error 2
make[2]: *** [SimpleITK-prefix/src/SimpleITK-stamp/SimpleITK-build] Error 2
make[1]: *** [CMakeFiles/SimpleITK.dir/all] Error 2
make: *** [all] Error 2

Can you run with a single thread and then post the full error log? (These lines are only warnings, not the errors themselves.)

Closing due to inactivity. Feel free to reopen if this is still an issue.


Implementation of protobuf-go-lite

This issue is intended to organize anyone who wants to contribute to this effort.
I have forked go-protobuf and dropped everything that is not referenced by protoc-gen-go.
protoc-gen-go has been renamed to protoc-gen-go-lite
Now the task is to adjust protoc-gen-go-lite to generate just the bare minimum structs without importing "reflect."

This is now complete! Also see the vtprotobuf-lite repo


User Management | Create 'TFRS Admin' Role

Task:
Create 'Managing Users' role that will provide the following permissions:

Add a new user within your company [IDIR & BCeID]
Edit an existing user within your company, including setting active/inactive status [IDIR & BCeID]
Add a new organization [IDIR Only]
Edit a new organization, including setting active/inactive status and buy/sell, sell only, none [IDIR Only]https://trello.com/c/EBj5R04J/810-user-management-create-tfrs-admin-role

Duplicate issue. Please refer to #656


Hierarchically align left sidebar after main content for tabbing purposes

...And use CSS display: flex (which we already do) + order (which we don't) to visually position it on the left.
The skippers nav will still include "skip to sidebar", so no issue about getting to it when needed.
I do need to research if this is actually a good idea though. Just stealing from css for css baby 4 here.

🍽 GRID 🧯


Adding Chi's GetHead middleware

Before moving to Chi, HEAD requests were automatically answered by GET
handlers (SetAutoHead(true) from macaron was used).
This Change will restore the previous behaviour.

:rocket:


fix the issue 18809

fix the issue #18809 about storage blob batch
@jongio  for notification

@alzimmermsft - When I run this command mvn verify -f E:\PR\2021-4-16\18809\azure-sdk-for-java\sdk\storage\azure-storage-blob-batch\pom.xml -Dreadme-codesnippet-windows,  I  got this error, what should I do to fix this error.

@alzimmermsft - I have run the following commands
mvn clean package -Dreadme-codesnippet-windows -DskipTests -f pom.xml

mvn package -DskipTests -Dverify-readme-windows -f pom.xml

npx embedme README.md

It turned out that there was no problem.

What should I do for the new ci error?

@alzimmermsft - I have run the following commands
mvn clean package -Dreadme-codesnippet-windows -DskipTests -f pom.xml

mvn package -DskipTests -Dverify-readme-windows -f pom.xml

npx embedme README.md

It turned out that there was no problem.

What should I do for the new ci error?

Appears there are Checkstyle linting errors being reported:
[ERROR] /mnt/vss/_work/1/s/sdk/storage/azure-storage-blob-batch/src/samples/java/com/azure/storage/blob/batch/BlobBatchAsyncClientJavaDocCodeSnippets.java:9:8: Unused import - com.azure.storage.blob.BlobClientBuilder. [UnusedImports]
[ERROR] /mnt/vss/_work/1/s/sdk/storage/azure-storage-blob-batch/src/samples/java/com/azure/storage/blob/batch/BlobBatchAsyncClientJavaDocCodeSnippets.java:11:8: Unused import - com.azure.storage.blob.BlobServiceAsyncClient. [UnusedImports]
[ERROR] /mnt/vss/_work/1/s/sdk/storage/azure-storage-blob-batch/src/samples/java/com/azure/storage/blob/batch/BlobBatchClientJavaDocCodeSnippets.java:10:8: Unused import - com.azure.storage.blob.BlobClientBuilder. [UnusedImports]


Bluetooth: host: cancel limited adv timeout when advertising stopped

Advertising might stop when:

it was stopped by application
device connected to a peer
extended advertising reached stop condition
defined in BT_LE_EXT_ADV_START_PARAM - this is handled in ll

Signed-off-by: Krzysztof Kopyściński<EMAIL_ADDRESS>Fixes #37467

FYI @sjanc

@KKopyscinski can you please address the review comments?

@sjanc What's the reason for closing this pull request?


#4 resolved: using the line spacing feature messes up the alignment of …

…name: i noticed that adding a break before name properly aligns the name and made the css function happen once automatically to bring it in right place

I'll check it and get back to you soon.

Thanks @gurungrahul2 👍

If possible, Please say thanks by endorsing for my JS skill in LinkedIn https://www.linkedin.com/in/r4rahulgurung/ @amitmerchant1990 That's gonna help a lot for me to grow.


Fix $true and $false as $var name error

This PR fixed a bug which cannot use $true and $false as $var name in mbe.

bors r+

@vlad20012 says that any keyword can be identifier, not only bools

Hmm... https://github.com/rust-lang-nursery/packed_simd/blob/ba837650b983a71367f68695af99b89174ac7543/src/api/ops/vector_bitwise.rs#L3-L8

Yes, and others keywords are handled in tt::Ident already. In the original implementations, bools also are treated as Ident, but when i add lit matcher, i changed it as Literal.


Robyn/login nav

Do we need Test API in nav still? It gives an API error AxiosError', code: 'ERR_BAD_RESPONSE'
Added Login and Sign up to nav

Do we need Test API in nav still? It gives an API error AxiosError', code: 'ERR_BAD_RESPONSE'
Added Login and Sign up to nav

You can just comment them out if you are not using them, they should be commented out while in the develop branch and you can uncomment and use them as you see fit while building and testing.


refactor(context): skip jsx type import

Maybe fixes #2190
#2190 What is at stake here?
Importing "hono/client" is causing problems because hono's JSX types are being read.
import { hc } from "hono/client";

This is because "context.ts" imports "hono/jsx" and "hono/middleware/jsx-renderer". This PR eliminates this.
Where are the conflicts?
However, even after resolving this, if I try to use React.ElementType and "hono/jsx" at the same time (I am not aware if there is such a case or not), we still have problems.
The following part cannot avoid conflict with the React.ElementType definition in any way.
https://github.com/usualoma/hono/blob/33f2d484f651ea55913ebe7022ed028e8ac7743f/src/jsx/base.ts#L20-L22
If a workaround is needed, I think the only way is to remove [tagName: string]: Props.
Author should do the followings, if applicable

[x] yarn denoify to generate files for Deno

Thanks @usualoma !
As you mentioned, this PR can fix the issue.

If a workaround is needed, I think the only way is to remove [tagName: string]: Props.

Why do we need [tagName: string]: Props? To allow types other than the elements listed the followng, right?
https://github.com/usualoma/hono/blob/33f2d484f651ea55913ebe7022ed028e8ac7743f/src/jsx/intrinsic-elements.ts#L609

@yusukebe
Yes, I didn't actually add the commits involved in that, but it was added here first,
https://github.com/honojs/hono/pull/306
And I am aware that each HTML element was defined here, so it is no longer needed, but it is left in place, probably for compatibility. If the app is using custom elements, it would be useful to not have to set anything to avoid errors.
https://github.com/honojs/hono/pull/1614
Although, well, I think there is an option to remove [tagName: string]: Props to be the same as React.

@usualoma
Yeah, I wrote that :)

If the app is using custom elements, it would be useful to not have to set anything to avoid errors.

I know people use custom elements, so I am in favor of keeping the type loose.
Okay. Currently, I'll merge this PR without removing [tagName: string]: Props. Thanks!


update docs for 1.1.2 release

Docs update for 1.1.2 release:

Added new config param: client-id/ client-secret and instructions on how to add a new UAA client
Release notes

@luckyj5 Merged PR. Thanks!


JAWS reads entire window over SSH when typing into nano

Windows Terminal version
1.20.240129003-preview
Windows build number
10.0.22631.3007
Other Software
JAWS: 2024.2312.53
Win32-OpenSSH: v<IP_ADDRESS>p1-Beta
Debian: 12.5
gnu nano: 7.2
Steps to reproduce
Open a Debian SSH host with ssh.exe from WT with JAWS.
ssh user@host
Open nano and start typing.
nano testfile
Expected Behavior
Normal text writing and reading as in a normal editor, like notepad.exe on my local computer.
Actual Behavior
When I press any letter or symbol to write into the file, JAWS always starts to reread the entire window. I have same experience when I press CTRL+x or other combo. JAWS not reads only the new changed information, instead reads the entire screen.
I have the same experience in VI. Because it does not have head, I hear only the written letters.

Since you've given the bot a thumbs up, I'm assuming you agree that this is a duplicate of #14583. I'll be closing this issue then. 🙂 I'm sorry that this doesn't work very well in terminals today. But it is our intention to improve the situation at some point. See #14342 for instance.
/dup #14583


entry into host question

One of the example slides is  the entry into host simplification
but why do we still need?
GO:0052371    regulation by organism of entry into other organism involved in symbiotic interaction
GO:0075295 positive regulation by organism of entry into other organism involved in symbiotic interaction

I was doing this in this PR:
https://github.com/geneontology/go-ontology/pull/19019
However I need to change the parent class, or else it doesn't make sense. I created a new ticket #19028 Please have a look and comment.
Thanks, Pascale

Since those two terms are not used, I merged them into their children:

GO:0052371 regulation by organism of entry into other organism involved in symbiotic interaction
-> merged into  GO:0052372 modulation by symbiont of entry into host
GO:0075295 positive regulation by organism of entry into other organism involved in symbiotic interaction
-> merged into  GO:0075294 positive regulation by symbiont of entry into host

Thanks, Pascale


[New Feature]:  ADD A GUID to HOW to PLAY the match

🎮 feature Request
feature logic and basic description  improve playing
Point down the features
feature points more
Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

hey @subhankarrout251, I am a gssoc contributor. Can you assign this issue to me?


can't access elements with desendants

i want to query all elements (and there descendants) from a specific page, but somehow it only returns the baselement. This is the query. i can't use the __typename together with ... on xxx after the element.
Graphiql does however generate a query readBlocks which DOES give you acces to the descendants, but then again. In this query, i can't filter on pageID.
{
  readElementPages(ID:1) {
          MenuTitle
          ElementalArea {
            Elements {
              edges {
                node {
                  Title
                  ClassName
                }
              }
            }
          }
      }
    }

Support information
Core versions
            "name": "silverstripe/graphql",
            "version": "1.1.0",
            "source": {
                "type": "git",
                "url": "https://github.com/silverstripe/silverstripe-graphql.git",
                "reference": "4a7a972b1ed81bea53727d4373e8ad56694e6510"

                        "name": "silverstripe/recipe-core",
            "version": "1.1.0",
            "source": {
                "type": "git",
                "url": "https://github.com/silverstripe/recipe-core.git",
                "reference": "2ea41ab93589a34e492030367369457cca665ae6"
            },

GraphQL configuration
---
Name: api-graphql
After:
  - graphqlconfig
---
SilverStripe\GraphQL\Controller:
  cors:
    Enabled: true
    Allow-Origin: '*'
    Allow-Headers: 'Authorization, Content-Type'
    Allow-Methods:  'GET, POST, OPTIONS'
    Max-Age: 86400
  schema:
    scaffolding:
      types:
        DNADesign\Elemental\Models\BaseElement:
          fields: '*'
          operations:
            read:
              paginate: false
          nestedQueries:
            Personas: true
        TextImageLeft:
          fields: '*'
          operations:
            read: true
          nestedQueries:
            Personas: true
        TextImageRight:
          fields: '*'
          operations:
            read: true
          nestedQueries:
            Personas: true
        DNADesign\Elemental\Models\ElementContent:
          fields: '*'
          operations:
            read: true
        SharpspringPersona:
          fields: '*'
          operations:
            read: true
        DNADesign\Elemental\Models\ElementalArea:
          fields: '*'
          operations:
            read: true
          nestedQueries:
            Elements: true
        ElementPage:
          fields: '*'
          operations:
            read:
              args:
                ID: ID!
              paginate: false

@guyvanbael can you please provide the versions of elemental and SilverStripe core that you're using, as well as the GraphQL scaffolding configuration that you're using in your project?

@robbieaverill Hi Robbie, I've attached a file with the requested information. Thank you for looking into this!
issue_information.txt

This was using graphql version 1.1.0 - I'm going to go off on a limb here and assume this has long since been resolved.


Migrate the ZkpKeys class from Nightfall to SDK

The migration of the class ZkpKeys from Nightfall to Nightfall SDK is necessary, since the platform is going to heavily use it in order to generate the accounts for the actors and other additional things.

Closing this one for now since there's already a util that allows ZK keys creation. This is via Client (far from ideal), but bringing class from Nightfall into SDK will require some work - not priority.

Hello @imagobea, this task shouldn't be closed, but be kept in the TODO list, since it is a desirable feature.


Calling this.GetPrimaryKey() from base class is failing

I have a grain which is inheriting from a GrainBase. In the GrainBase I have a method which is using this.GetPrimaryKey() to perform another operation. I'm having the following error on this.GetPrimaryKey() when running the tests only.
Message: System.ArgumentException : Passing a half baked grain as an argument. It is possible that you instantiated a grain class explicitly, as a regular object and not via Orleans runtime or via proper test mocking
Parameter name: grain

Thanks for the report, @keithazzopardi. Is it possible for you to create and share some example code that reproduces the issue?

Digging into Orleans... I found the following GrainExtensions code:
...

var grainBase = grain as Grain;
if (grainBase != null)
{
    if (grainBase.Data == null || grainBase.Data.Identity == null)
    {
        throw new ArgumentException(WRONG_GRAIN_ERROR_MSG, "grain");
    }
    return grainBase.Data.Identity;
}

...

The grainBase.Data == null check leads to the error message you cite. And that appears problematic for the test kit based on the definition of Grain.Data:
// Do not use this directly because we currently don't provide a way to inject it;
// any interaction with it will result in non unit-testable code. Any behaviour that can be accessed
// from within client code (including subclasses of this class), should be exposed through IGrainRuntime.
// The better solution is to refactor this interface and make it injectable through the constructor.
internal IActivationData Data;

Check out https://github.com/dotnet/orleans/issues/3086 and https://github.com/dotnet/orleans/issues/3145. I think we may be stuck.
Now, it doesn't look like all GetPrimaryKey extension methods/overloads call the above code path. While far from ideal, it may be possible to get things working with implementation changes that force a different code path. I'm going to close this issue as it appears to be a limitation upstream. However, feel free to reopen this issue with some example code if you want to explore the possibilility of getting it work with code changes.


HomeKit Support via HomeBridge https://homebridge.io/

Could I please request HomeBridge integration for CYNC? I know a lot of people who'd like to see this: https://www.reddit.com/r/homebridge/comments/qr7k0q/cync_by_ge_plugin/

Checking-in if you've had a moment to review my request?

I will second this request.

Third'ing. Homebridge is super popular, this would be a great plugin.

Not quite Homebridge, but a workaround to get HomeKit support is using Home Assistant and https://github.com/nikshriv/cync_lights

Totally forgot about this, thanks so much.Sent from my iPhoneOn Sep 4, 2023, at 8:24 PM, Nils Schimmelmann @.***> wrote:
Not quite Homebridge, but a workaround to get HomeKit support is using Home Assistant and https://github.com/nikshriv/cync_lights
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>


Create input parameters sidebar

Overview
Adds an input parameters side-bar to the lab
Demo

Notes
I decided to hide the band selection controls until after a 'valid' input project is selected as they are sequential and one depends on the other. I used this as an opportunity to present the requirements of the tool. Once an initial project is selected, the UI matches the mockups fairly closely.
Testing Instructions

Go to the 'Lab' and select the NDVI tool
See that a sidebar is now visible
Test that a project can be selected
Test that a project can be changed

Good point there, I am pretty much scrapping run mode as it exists now so I will have to adjust the switcher and the routing in a subsequent PR.

Cool sounds good!


Document that the initial guess x0 is mutated during and after optimization

Either document the mutating x0, or maybe create a copy of x0 inside the function spgbox! which becomes the final answer?

Version 0.3.1 to be released at any moment will contain a spgbox version (without the !) which performs the copy of the input array and, thus, does not mutate it. The documentation is updated. (using the version that mutates is probably the most reasonable option most of the time).


Use separate package names for llvm 16 & 17

Okay as the CI is being truncated because of the step being too long, I'll use 2 PRs for the same.


Scan, dock, deliver: update dock elements

Dock elements in scan, dock, deliver still match those used in Hawaii. We should update them to look more like the ones they use in Sydney.

After obtaining and reviewing the pictures, it was decided that the current docks are more than adequate.


Validation of fn on input_col for Datapipes

Fixes #362
Changes

Uses validator from torch main to apply checks
Apply check on FlatMapperIterDataPipe

The believe the CI failures are caused by a different PR, but a rebase should be required since the file being edited has been changed by a different PR. Let me know if you can rebase. Thanks!

Yeah I can run a rebase

@pytorchbot rebase


--skip-rebase should be the default

I want to provide a small, but important feedback, as it bit me really hard and I believe it'll bite many other users.
First and foremost, I am using clean-css and now the new clean-css-cli for CSS minification. This is the reference tool for this job, and congratulation for making this huge achievement!
However, the default URL rebasing is an extremely bug prone feature. Running the tool with one path in development (where rebasing might not trigger) might produce a totally different result compared to running in from a different path, or when bundling files for production in a script, because of the "smart" auto rebasing option.
I recommend switching that option off by default (as in making --skip-rebase the default) as it'll bite many other users who just prefer to use this tool as a CSS minifier, without any of the path relative smart rebasing magic (personally I'd categorise that feature as -O2 or even -O3).

Interesting idea. Given 4.0 switched to safer -O1 optimization level it may be a good idea for rebasing to follow.
May I know whether you entirely disabled rebasing and if so how do you handle it when bundling assets?

I am using a custom build script where clean-css-cli is just an optimal minimization step.
For including external stylesheets, I'm also using sass imports via node-sass.

Got it - since it'd be a breaking change it needs to wait until the next major release.

Sure, no problem, I've finally found the right switch and if people run
into the same problem they might find this issue by Google.
On 19 April 2017 at 20:52, Jakub Pawlowicz<EMAIL_ADDRESS>wrote:

Got it - since it'd be a breaking change it needs to wait until the next
major release.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jakubpawlowicz/clean-css-cli/issues/6#issuecomment-295389158,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAeKj3q4z3arYGbyyXsRUyxB7H8Zfd_0ks5rxlfkgaJpZM4M9_Qg
.

And rebasing will be off by default in clean-css-cli v5 due soon.


Add FMT and GRT

Hi can you please add FTM and GRT? Thanks.
Currency name: Fantom
Symbol: FTM
Website: https://www.fantom.foundation/
Currency name: The Graph
Symbol: GRT
Website: https://thegraph.com/

@gnzlst hello. Please file one issue per currency, and provide all the required information.


Request: allow to set template type during runtime

Currently it's available only in layout XML file...
https://developers.google.com/admob/android/native/templates
<com.google.android.ads.nativetemplates.TemplateView...
   app:gnt_template_type="@layout/gnt_small_template_view" ... />

...

Hi @AndroidDeveloperLB
Can you expand further on what you are wanting and your specific use case?  Are you asking to construct the template view in code without a xml file ?

@NVentimiglia Sometimes you load an ad that has media, and sometimes you don't.
For example, if you fail to load an ad that has media, you might want to have a fallback to load an ad that doesn't.
Once you have the ad, you will choose which template type to use here. But currently this is only possible via layout XML and not via Java/Kotlin.

@AndroidDeveloperLB
Got it, you would like to define the view in pure Java / Kotlin without the XML file. I will bring this us as a needed enhancement.

@NVentimiglia It's not necessary without XML, just the part of the "gnt_template_type" , to be set in Java/Kotlin.

Request recorded. Closing the issue.

@JillSong Why close? This means it's now possible?

@AndroidDeveloperLB from https://support.google.com/admob/answer/6240809, the primary image (media view asset) is guaranteed to be returned. It just may not always have video. Are you saying that if the video is not returned, you don't want to render the primary image?
The way it's defined, it's expected that you know the size of ad you want to render (that is, you know the space made available from your app) at request time.

Maybe I misunderstood. Are you ok with specifying it at request time, you just want to be able to do it through code?

@ericleich What video/image?
The request is about the template. That we won't be forced to use as XML, and that we could use code instead, during runtime.

Nevermind, My initial question didn't make sense.
Agree with the use case: "I want to create a TemplateView and add it to my view hierarchy programmatically." This would require some API to be able to pass the template type.


Use raw URLs

Apparently, tumblr has a size bigger than 1280, and it's raw. Update the downloader so that it tries those first.

[ ] Change xx.media to s3.amazonaws.com/data
[ ] Replace the resolution number with raw (ie, tumblr_p244atnHUp1qln62zo2_1280.jpg to tumblr_p244atnHUp1qln62zo2_raw.jpg
[ ] Fall back to the standard URL if the raw URL doesn't exist for some reason

hey, thanks for your app.
according to this the link might change some more:
https://www.reddit.com/r/userscripts/comments/6qct3b/use_tumblr_raw_image/
and i also found some raws that have a smaller resolution than the 1280 ... these were all drawn images though. so you might have to add an option instead of just changing the code please.

Closing for now, as tumblr removed the raw image workaround a while back.


Channels and end walls

fixed the properties on the curb inlet
add a channel element along with channel shape aspects
Added headwalls -

this includes an enumeration with wall the InletControl coefficients
along with various aspects that describe the different ways headwalls can be treated: Outfall, PondInflow, PondOutflow, Transition

Since version 1.0.0 was already released and the goal is to preserve compatibility with it going forward, that means that only minor schema changes are allowed. That is, changes that don't break any existing ECSQL queries written against the released version (i.e. read-compatibility).
Any deletion of a class or property is considered a major schema-update.  This PR is deleting some schema content from the released schema: e.g.

CatchBasinTypeCurbInletHydraulicAspect.SlotWidth
CatchBasinTypeCurbInletHydraulicAspect.SlotLength
RectangularAspect class

In cases like these, you need to keep those properties/classes, but you can mark them "deprecated" and also hide them from the UX.
e.g.
<ECProperty propertyName=...>
  <ECCustomAttributes>
    <HiddenProperty xmlns="CoreCustomAttributes.01.00.03"/>
    <Deprecated xmlns="CoreCustomAttributes.01.00.03">
      <Description>TODO: Point existing readers of the deprecated property or class to how they can find the same data going forward. E.g. The new property or class.</Description>
    </Deprecated>
  </ECCustomAttributes>
</ECProperty>


Update Bower config to include CSS as main

Enables automation tools to find the CSS file by the config meta info.

thanks!


fontconfig: Escape FC_INCLUDE_DIR since it can contain spaces

fixes: fatal error C1083: Cannot open include file

@madebr,
Thanks for having already signed the Contribution License Agreement. Your agreement has not been validated yet. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Thanks!


X applications rendered without window frame and with blank decoration buttons

Version
10.0.22622.575
WSL Version

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>
Distro Version
Ubuntu-18.04
Other Software
x11-apps/bionic,now 7.7+6ubuntu1 amd64
Gnu Emacs 28.0.50
Repro Steps
Launch an X application, like xtem or xclock, from the terminal.
Expected Behavior
See the application window with a grabbable frame, iconify/maximize/quit buttons, and resize handles if you hover the mouse of the corners of the frame.
Actual Behavior
X application windows are being rendered without window frames, and with blank iconify/maximize/quit frame buttons.

I cannot grab the windows with the missing frames. (Clicks on where the frames should be go to the window or desktop below.)
The frame buttons still work - I can iconify, maximize and restore, and quit the window using them - but the buttons are blank gray squares, they lack the icon text.
I'm unable to find most of the window resize drag-handles except for the ones in the upper right corner (near or on the corner of the quit button). However, in some applications (Emacs) the resize handle doesn't work (but it does when the problem isn't happening).

I cleared my session Xresources db (xrdb) to ensure that the problem was not specific to any of my settings. No change.
Since the most recent Windows update (Windows Insider Beta Channel) the problem occurs every time.
The problem was happening sporadically in the last few Windows versions before this update. Sometimes the windows would lack frames and so on, and sometimes when I launched the same application it would have the frames and the buttons would have their text and so on.
Diagnostic Logs
No response

@kenmanheimer, thanks for reporting the issue, do you have the screen capture showing the issue? thanks!

@kenmanheimer, thanks for reporting the issue, do you have the screen capture showing the issue? thanks!

Sorry, I did not take a screen capture and the problem has gone away in subsequent updates.
Should the issue be closed?

I have an NVIDIA GeForce GTX 1050, driver is <IP_ADDRESS>12.
What do you mean by disabling the display driver? There is no extra driver installed it came from the windows update.
Also it came into my mind what I did when the problem firstly occured: I had an X-application (rendered correctly) that I wanted to resize. When grabbing the window corner to pull on it, the window completely disappeared. After restarting that application the window frame was gone and had blank decoration buttons. From this day on this affected every window.

@McIntozh, please launch Windows's device manager, and select NVIDIA display driver, then right click to disable. This way Windows including WSLg render everything in software emulation, thanks!

Hi,
aftter a reboot it was working again, then I did the same that initial caused the issue and the application crahed again (after some window resizes), causing the window frame to disappear again. Then I disabled the driver as you proposed but this had no influence on the window rendering, the frame was still missing.
Perhaps it is related to the application (an application written in perl with qt), since other xapps like xterm scale without causing the issue.
But it looks like a reboot sometime solves the problem.

@McIntozh, thanks for trying out, is that app publicly available? And does other Qt based app exhibit same issue? thanks!

It is a commercial application compiled especially for our company and not publicly available. Also it may be quite old (not current qt). I tried other qt apps wich are working fine. I also tried WLS (Debian and Ubuntu) on another machine and they are also working fine with our application. So this seems to be something very specific to my Ubtuntu WSL. Since I have no more information or stacktraces for the cause of the crash and it only affects me with that specific application, I'll just live with it.


Editor unresponsive when removing SoftBody node

Godot version: v3.2.beta.custom_build.318c69351
OS/device including version: macOS Catalina 10.15.1 / MacBook Pro (Retina, 13-inch, Early 2015)
Issue description:
When I delete a SoftBody node, the editor becomes unresponsive. It looks like an infinite loop, printing tons of the following error:
ERROR: _disconnect: Attempt to disconnect signal 'node_removed' while in emission callback. Use CONNECT_DEFERRED (to be able to safely disconnect) or CONNECT_ONESHOT (for automatic disconnection) as connection flags.
   At: core/object.cpp:1522.

Steps to reproduce:

Create a new 3D scene
Add a SoftBody node as the child of the default Spatial node
Assign the Spatial node to the SoftBody's Parent Collision Ignore property
Right click the SoftBody and select "Delete Node(s)"
Click "OK" when prompted

Update: I just tried the same thing with InterpolatedCamera. Assign the parent Spatial node to its Target property and try to delete the node, the editor became unresponsive too. (with the same error output.)

This should be slightly easier to debug after #34753 which improves the error message.

I think I located the cause.
The SceneTreeEditor connects to "node_removed" signal of the tree on enter tree, and disconnects on exit.
https://github.com/godotengine/godot/blob/9d3424f61ddd1e6bec78381aa4a0c6acec53d290/editor/scene_tree_editor.cpp#L665-L683
Once a SceneTreeEditor is created & opened by clicking the "Assign..." button, it's connected to the node_removed signal of the edited scene tree. This SceneTreeEditor instance is alive as long as the inspected node is still selected.
Once the inspected node is removed  (deleting the root node in my case, and switching the scene as in #34769), the scene tree emits the "node_removed" signal, the inspector will then be cleared, and propagates to the exit tree notification code above.
Thus, it is trying to disconnect the "node_removed" signal of the scene tree inside the scene tree's signal emission process.
I tried to change the connect call to CONNECT_DEFERRED,  but it crashes the editor. Likely because when the deferred node_removed call is finally executed, the node object in the argument has already been destroyed.


Migration problems with SQLite UNIQUE field constraint

Bug description
SQlite documentation states that:
CREATE TABLE t1(a, b UNIQUE);
and
CREATE TABLE t1(a, b);
CREATE UNIQUE INDEX t1b ON t1(b);

are equivalent statements.
Prisma migration engine currently enforces the variant with CREATE UNIQUE INDEX statement for models with @unique constraint. Since SQlite doesn't support ALTER TABLE ... DROP CONSTRAINT any SQlite table with UNIQUE constraint declared not as explicit named index currently will fail to baseline.
How to reproduce

Create sqlite db with table:

CREATE TABLE "test" (
	"id"	TEXT NOT NULL,
	"token"	TEXT UNIQUE,
	PRIMARY KEY("id")
);

Introspect the table. You will get the following model:

model test {
  id    String  @id
  token String? @unique
}

Create initial migration. You'll get:

-- CreateTable
CREATE TABLE "test" (
	"id"	TEXT NOT NULL PRIMARY KEY,
	"token"	TEXT,
);

-- CreateIndex
CREATE UNIQUE INDEX "test.token_unique" ON "test"("token");

Since this migration requires removal of constraint from original schema it requires full database reset.
Expected behavior
No response
Prisma information
model test {
  id    String  @id
  token String? @unique
}

Environment & setup

OS: Ubuntu (WSL2)
Database: SQLite
Node.js version: 16.3.0

Prisma Version
prisma               : 2.26.0
@prisma/client       : 2.26.0
Current platform     : debian-openssl-1.1.x
Query Engine         : query-engine 9b816b3aa13cc270074f172f30d6eda8a8ce867d (at<EMAIL_ADDRESS>Migration Engine     : migration-engine-cli 9b816b3aa13cc270074f172f30d6eda8a8ce867d (at<EMAIL_ADDRESS>Introspection Engine : introspection-core 9b816b3aa13cc270074f172f30d6eda8a8ce867d (at<EMAIL_ADDRESS>Format Binary        : prisma-fmt 9b816b3aa13cc270074f172f30d6eda8a8ce867d (at<EMAIL_ADDRESS>Default Engines Hash : 9b816b3aa13cc270074f172f30d6eda8a8ce867d
Studio               : 0.408.0

Currently the only workaround I can think of is manually alter table via full copy to adhere this enforced constraint removal:
-- CreateTable
BEGIN TRANSACTION;
CREATE TABLE "temp_table" (
	"id"	TEXT NOT NULL PRIMARY KEY,
	"token"	TEXT,
);
INSERT INTO "temp_table" ("id","token") SELECT "id","token" FROM "test";
DROP TABLE "test";
ALTER TABLE "temp_table" RENAME TO "test";
COMMIT;

-- CreateIndex
CREATE UNIQUE INDEX "test.token_unique" ON "test"("token");

Hi @Timsonrobl — it's a bit of an edge case but I think I understand the problem, thanks for reporting the issue, we'll work on it as soon as possible.

We have to park this one until the team has more capacity

@Timsonrobl Can you please take another look with Prisma 3+? With our changes to named constraints, this cycle should now work better.


TV visualizer GIFs

Is there a way to get a gif to play of every song that's playing like it plays in Spotify?

And a way to create a digital clock canvas that sits on the bottom left corner under the screen?


[Umbrella] GCS FT API improvement

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description

#2694
#2695
#2697

Use case
No response
Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

/assign @rueian

👌


Unable to use azure-native provider (or any provider with a dash in the provider alias)

Following the documentation to add the azure-native provider by running:
sst add azure-native
Will generate config.d.ts file like:
import "./src/global.d.ts"
import "../types.generated"
import { AppInput, App, Config } from "./src/config"
import * as _azure-native from "@pulumi/azure-native";

declare global {
  // @ts-expect-error
  export import azure-native = _azure-native
  interface Providers {
    providers?: {
      "azure-native"?:  (_azure-native.ProviderArgs & { version?: string }) | boolean;
    }
  }
  export const $config: (
    input: Omit<Config, "app"> & {
      app(input: AppInput): Omit<App, "providers"> & Providers;
    },
  ) => Config;
}

The issue with this is that the import/export statements are not valid javascript syntax due to the -.
install.go uses the provider alias without any conversion to generate this code. However it needs to convert the kebab case alias to either camel case or snake case to be valid syntax for javascript in order to handle any pulumi provider that has a - in the alias name.

Interesting, not sure if this is on our immediate roadmap yet but we'll take a look after our next major release.

SST Ion targeting Azure would be a huge help for our team in the near future as we're starting a brown field project and the company's assets are hosted entirely inside of Azure ❤

this is fixed in v0.0.463


Dart runtime does not allow declare a class with typed function parameter if it's parametrized contravariant or invariant.

Dart SDK Version: 2.1.0-dev.9.3
OS: Windows 10
This issue described a case which is the same as in #35114, but it's against runtime and #35114 describe analyzer problem.
Here is a source code example:
typedef G<X> = X Function(X);
class A<X extends G> {}

main() {
  G<dynamic> b;
  G<Null> a;
  G<int> c;

  A<G<dynamic>> b1;
  A<G<Null>> a1;
  A<G<int>> c1;
}

Seems like all the source lines are valid and should pass.
However, dart throws a compile error for the line 11 (A<G> c1;) here.
Dart sample output is:

test.dart:11:13: Error: Type argument '(dart.core::int) -> ’ dart.core::int' violates the corresponding type variable bound of 'A'.
Try changing type arguments so that they conform to the bounds.
A<G> c1;
^
test.dart:2:9: Context: Bound of this variable is violated.
class A {}
^

This happens for both contravariant (typedef G = void Function(X);) and invariant (typedef G = void Function(X);) cases.
The test passes for invariant (typedef G = X Function();) and unused parameter (typedef G = void Function();).
Please note that analyzer throws error for two lines - 10 and 11 with the same code, it's issue #35114).

I added a comment about the status of the specification on this topic.

The situation here is the same as in #35114, and I'm closing it for the same reason.
Note that this issue was intended to have area-front-end, reporting the same situation for the front end as #35114 does for the analyzer. It doesn't really matter now because I'm closing the issue, but I'll change the label anyway to clarify the situation, should anyone ever look at it again. ;-)


add Zhangjiakou University

add Zhangjiakou University

@malc1988 I have to close this request without merging, because you requested to add a non-existent domain to this repository: ;; connection timed out; no servers could be reached Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!


Mentioning the user when a nomination 'fails'

Currently, when someone has already nominated the user, it simply says that the nomination already exists, but doesn't mention the user.
The same goes for when someone edits the nomination reason for a user, it doesn't mention the user itself just the fact that the nomination reason changed.
It's helpful to know who the user is because most of the time you won't know the user by their ID which most people use for nominating.
Permission to open a PR directly:
https://discord.com/channels/267624335836053506/822920136150745168/928694255734632478

@Shom770 Wold you like this PR to go up for grabs if you're not able to work on it anymore?

@Shom770 Wold you like this PR to go up for grabs if you're not able to work on it anymore?

yeah sure, i've been really busy with school 😅

Very well. Thanks for the quick response!


Casing issues with module

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[x] Bug report
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ ] Other... Please describe:

Browser: not browser dependent

[x] Chrome version XX
[x] Firefox version XX
[x] IE version XX
[x] Edge version XX
[x] Safari version XX

Library version 1.1.3
Current behavior
The webpack.config.js script specifies the library as "Msal" instead of "msal". This produces this header in the bundled msal.js:
(function webpackUniversalModuleDefinition(root, factory) {
	if(typeof exports === 'object' && typeof module === 'object')
		module.exports = factory();
	else if(typeof define === 'function' && define.amd)
		define("Msal", [], factory);
	else if(typeof exports === 'object')
		exports["Msal"] = factory();
	else
		root["Msal"] = factory();
})

Expected behavior
Should be 'msal' to match library name.
Minimal reproduction of the problem with instructions
Try to dynamically import the library in typescript with import('msal'). This fails. Using import('Msal') succeeds at runtime, but causes issues because of the case mismatch.

@RMacfarlane Can you please clarify what you mean when you say import('Msal') causes issues? What sort of issues, e.g. typing errors in TypeScript? And if an application is currently doing import('Msal'), would changing the casing cause their app to break? Thanks!

@jasonnutter the problem here is that @RMacfarlane is trying to use a bundler (webpack/rollup/etc) the UMD bundle (which has its module name defined as Msal).
What @RMacfarlane should do instead is use the es-modules format of the library instead, which will prevent him from having this issue. This means npm install msal for their project and not using it as a script tag.

@TheLarkInn Gotya, thanks! We're currently planning to fix this in v2, as it would be a breaking change to switch.

Closing this as we have changed the export in @azure/msal-browser to match the name of the package.


Use mock config in tests

What does this PR do?
Introduce a config mock object authorizing set
Motivation
Make Set private in the config package

Codecov Report

Merging #2560 into master will increase coverage by <.01%.
The diff coverage is 68.96%.

@@            Coverage Diff             @@
##           master    #2560      +/-   ##
==========================================
+ Coverage   56.43%   56.43%   +<.01%
==========================================
  Files         379      380       +1
  Lines       24014    24022       +8
==========================================
+ Hits        13552    13558       +6
- Misses       9547     9551       +4
+ Partials      915      913       -2

Impacted Files
Coverage Δ

pkg/config/mock.go
0% <0%> (ø)

pkg/logs/agent.go
100% <100%> (ø)
:arrow_up:

pkg/logs/config/config.go
85.13% <93.75%> (ø)
:arrow_up:

pkg/util/kubernetes/kubelet/init.go
76.19% <0%> (-4.77%)
:arrow_down:

pkg/forwarder/transaction.go
82.9% <0%> (+0.85%)
:arrow_up:

pkg/forwarder/worker.go
93.75% <0%> (+1.25%)
:arrow_up:

pkg/util/kubernetes/kubelet/kubelet.go
66.43% <0%> (+1.73%)
:arrow_up:

If we are keeping Set and the package level exported Datadog identifier, then there is technically no use for this. It can just be overridden on a per-test basis.

Hey @gbbr this PR is only one part of the process, for example there are also #2556 and #2553 that goes into this direction. We choose an incremental approach to break-down the work in severals PRs but once everything is merged we'll definitely make Set private.

I've dismissed my PR to unblock this but consider that if we want to make the config read-only there are other methods which may be useful to agent that should potentially be left. Currently the trace agent uses Set for some of the environment variable loading. I think this is worth discussing because I fear it might be a bad move to make Set private, even though in an ideal case it would be.

Additionally, that SetOverrides method won't work with the legacy (A5) config loader as it is now. I strongly feel this is worth a discussion before considering removal. To my recall, during the last guild meeting that I was part of we were mostly in favor of leaving Set.


Additional fit options

We (@metincansiper) added additional parameters for fit in window functionality of this extension:

whether or not fit should be animated (see how animated fit in window works here: http://cs.bilkent.edu.tr/~ivis/SBGNViz.js_editor/sample-app)

a selector which decides on what nodes to perform the fit (we needed this for making sure hidden - currently not visible - graph objects are not considered during the operation)

@maxkfranz Let us know if you'd like either of these to be included in this extension.

@ugurdogrusoz Great, I've added you to npm so you guys can push a 2.4.0 release with the new features: https://www.npmjs.com/package/cytoscape-panzoom
Thanks

@metincansiper Maybe we can add animated zoom as well, and use this extension out of box from that point on.

Let's drop animated zoom since it's problematic due to multiple calls to the associated function when zoom slider is used.

@ugurdogrusoz  @maxkfranz
I drop animated zoom and published 2.4.0 with other changes mentioned in this issue.


Represent a chained relation as an "AssociationProxy"

I wonder what would the best way to represent a "has_many" relation with a chained relation as below. I did not find anything like this in neo4jrb doc.
MATCH (:Purple)-[:NEXT_STAGE*]-(n:Red)
RETURN n

n instantiate as an AssociationProxy ordered from first to last.

I currently use a QueryProxy, but it feels wrong
purple.query_as(:i)
    .match('(i)-[chained_node_rel:NEXT_STAGE*]->(n:Red)')
    .proxy_as(Red, :n)
    .order_by('length(chained_node_rel)')

#<QueryProxy  [#<Red ...>, …]>

There is a rel_length option for associations documented here
purple.next_stage(:n, :chained_node_rel, rel_length: :any).order('length(chained_node_rel)')

I've long wanted to have the ability to eagerly loaded some chain / tree / whatever structure via relative length relationship matches with one query, but it hasn't become a thing yet.  Though #1398 might be a piece of the puzzle

Thanks a lot, I will take a look into that.


Remove alpha_dash validation restriction on User->name

I can't figure out why there's an alpha-dash restriction on user names. Having full names with spaces seems fine. I've removed the alpha_dash rules in both the following places without incident:
https://github.com/guillaumebriday/laravel-blog/blob/master/app/Http/Requests/Admin/UsersRequest.php#L25
https://github.com/guillaumebriday/laravel-blog/blob/master/app/Http/Requests/UsersRequest.php#L25
Is there a reason not to allow spaces?

Hey !
I set alpha_dash because I think it's fine to prevent specials chars in the name. Spaces are not allowed with alpha_dash but it's not that bad because most of the time there is dashes in name instead of spaces.

But is there a problem caused by not having this rule?

There is no technical problem, I just want to prevent specials chars from a name 👍

I guess my view might be biased since I use the project mainly with self-registration disabled, and this is a kind of mitigation for XSS attacks if you make use of those usernames anywhere without proper {{}}/e() escaping. To me, that would seem like a steep usability price to pay, and I'd tend to just treat it like untrusted user input and not attempt to sanitize it to this extent.

Ok I see your point. I think a good compromise could be to extend Validation with an alpha_dash_spaces maybe ?

Oh, yeah! That would be a good improvement. I wasn't aware of that option.
You might even consider having that in the normal UserRequest rules, and absent from Admin/UserRequest rules, since admins can be trusted to not enter malicious strings, if you're comfortable with the normal edit profile form throwing error if those users try to use it. I would assume there are many languages where common names will fail alpha_dash_spaces.

I'm not seeing alpha_dash_spaces listed as a standard Laravel validation rule ( https://laravel.com/docs/5.6/validation#rule-alpha-dash ). For something as personal and important as names, if you want to be internationalization-friendly, it might be best to use a blacklist of undesired characters rather than a whitelist of acceptable ones. That said, for English and most French names, /[a-z\- ]+/i is probably a decent shortcut.

If you're interested, I've successfully tested adding some custom rules you might find more appropriate for the purpose of user names in my project fork, and I'd be happy to submit a PR to merge them back upstream:
https://github.com/tompenzer/penzone/commit/b721f78f4e3dfc479c6a171086ef4e1651798c88
I've looked into how best to address this scenario within the Laravel ecosystem, and it would appear  unlikely to me for such a feature PR to get accepted into Illuminate/Validation without an extensive set of tests and justifications. I'll maybe explore creating a small composer package for these rules, but pending that, this seems like a decent way to go about it.

yeah we need to create a custom validator for this use case.
Your AlphaName one looks like what I wanted to do.
I will propose this PR if I find free time !
If you want to submit a PR for AlphaName laravel-blog, it could be awesome !
Thanks for your contribution

Done here : https://github.com/guillaumebriday/laravel-blog/pull/39


Update org.yaml

Please consider adding @nicholas-abad to the organisation. He may not be as visibly active in the Kubeflow community as I am, but is doing plenty of heavy lifting in the backgroud. He will help me with Model Management topics, and has also (as confirmed by him in https://github.com/kubeflow/community/issues/342) volunteered to act as a calendar admin.

/lgtm
/approve


WinForm UI

"I have a WifiProfile class that's basic, but it wouldn't be hard to put a WinForms wrapper around this thing. It would be a fun challenge to DUPLICATE the Win7 dialog exactly."
Are you referring to the dialog that comes up after clicking the 5 bar wireless icon in the system tray on Win7? If so, what exactly are you thinking of for the UI experience?
I'm guessing you would have an icon in the system tray for the Wifi manager, clicking on it would open an equivalent dialog containing the the collapsible "Wireless Network Connection" section from the Win7 dialog and all wireless networks would then be displayed.
Thoughts?

I have similar thing, I think, in my network powershell module:
https://github.com/majkinetor/posh/tree/master/MM_Network
See, -Wireless functions.


Linux tests slow

https://github.com/water111/jak-project/runs/2032075038
All of the listener connections were extremely slow
2021-03-04T15:05:24.2416613Z [2021-03-04 15:05:24:241] [info] Got correct kernel version 2.0, loaded in 50.0 ms
2021-03-04T15:05:24.2424017Z [2021-03-04 15:05:24:242] [info] InitListenerConnect
2021-03-04T15:05:24.2428589Z [2021-03-04 15:05:24:242] [info] InitCheckListener
2021-03-04T15:08:05.7897540Z kernel: machine started
2021-03-04T15:08:05.7898581Z [Listener] Failed to get version number
2021-03-04T15:08:05.7899339Z [Listener] Failed to connect
2021-03-04T15:08:05.7900250Z [Listener] Socket connected established! (took 0 tries). Waiting for version...
2021-03-04T15:08:05.7901953Z [2021-03-04 15:08:05:789] [debug] [DECI2] Connected!
2021-03-04T15:08:05.8854763Z [DECI2] Got message: 166 0 0xe042 H -> E
2021-03-04T15:08:05.8866674Z [DECI2] Got message: 170 0 0xe042 H -> E
2021-03-04T15:08:05.8880151Z [DECI2] Got message: 240 0 0xe042 H -> E
2021-03-04T15:08:05.8893783Z [DECI2] Got message: 234 0 0xe042 H -> E
2021-03-04T15:08:05.8905858Z [DECI2] Got message: 186 0 0xe042 H -> E
2021-03-04T15:08:05.8916329Z [DECI2] Got message: 24 0 0xe042 H -> E
2021-03-04T15:08:05.8936555Z Got version 0.6 OK!

This issue did not repeat itself and has never reproduced itself on my computer, so I am tempted to blame it on the github actions.

Duplicate / more info here - https://github.com/water111/jak-project/issues/79


chore(starknet_sequencer_node): use default value for validator id

This change is

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#2602  👈 (View in Graphite)
#2494
#2409 : 1 other dependent PR (#2425 )
#2486
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


OrderedDict type annotation is rejected

Environment data

Language Server version: v2020.7.2
OS and version: Ubuntu 20.04
Python version (& distribution if applicable, e.g. Anaconda): 3.8.2

Expected behaviour
Ordered Dict types from typing are understood and used for type checking in type annotations
Actual behaviour
Warning: Expected Class but received _Alias. Type inferred to Any or other inference based on assignment
Logs

[FG] parsing: /tmp/test.py (0ms)
[FG] binding: /tmp/test.py (1ms)
[BG] analyzing: /tmp/test.py ...
[BG]   parsing: /tmp/test.py (0ms)
[BG]   binding: /tmp/test.py (0ms)
[BG]   checking: /tmp/test.py (10ms)
[BG] analyzing: /tmp/test.py (11ms)

Code Snippet / Additional information

from typing import OrderedDict as odt, Any
from collections import OrderedDict

if __name__ == "__main__":
    test: odt[str, Any] = OrderedDict({"asd": None})

Thanks for your bug report.
This was also reported (yesterday) in the Pyright repo, and it has already been addressed there. A fix will be included in the next release of Pylance.
https://github.com/microsoft/pyright/issues/864

Ah alright, would you like me to leave this open or close it?

You can leave it, and we'll close it after the release. Thanks!

This issue has been fixed in version 2020.7.3, which we've just released. You can find the changelog here: https://github.com/microsoft/pylance-release/blob/master/CHANGELOG.md#202073-21-july-2020


merge package template from Kronos-Tools/npm-package-template

Updated standard to latest version

Codecov Report

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

@@           Coverage Diff           @@
##           master     #207   +/-   ##
=======================================
  Coverage   88.53%   88.53%
=======================================
  Files           1        1
  Lines         218      218
=======================================
  Hits          193      193
  Misses         25       25

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 bca3781...dc6ae3b. Read the comment docs.


Typehint iterable/Iterator::current type

I see there has been some work and discussion on templates which may make this suggestion obsolete but it seems to have been going on forever and is stalled.
Arrays have a shorthand syntax int[] what about something similar for iterables int*? * because of  it's use as 0 or many in various notations.
eg
<?php

/**
 * @return int*
 */
function gen1()
{
    yield 1;
}

/**
 * @return (int|MyClass)*
 */
 function gen2()
 {
     yield 1;
     yield new MyClass;
 }

I'm afraid I need to defer this to @ashnazg as he is busy with PSR-5. Chuck, do you have a place where you track these suggestions?


plex: <IP_ADDRESS>76-3c3adfcb4 -> <IP_ADDRESS>43-a91458577

Motivation for this change
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 111794 run on x86_64-linux 1

2 packages built:

plex
plexRaw


Security station doesn't work for opped players

Issue description:
When a opped player interacts with a refined storage system the security system is bypassed.
What happens:
See above. I can understand that this is preferred on bigger servers.
What you expected to happen:
I would like to see a config option, so we get can decide for our self if we want this override.
Steps to reproduce:

Op a player
Set security options
See that the player can still access the storage system

Version (make sure you are on the latest version before reporting):

Minecraft: 1.12.2
Forge: <IP_ADDRESS>38
Refined Storage: 1.6.14

Does this issue occur on a server? [yes/no]
Yes

Intended