add a confidence key

I'm trying to add a confidence key to duckling's output.
{:dim :number, :body "43", :value {:type "value", :value 43}, :start 0, :end 2, :confidence 1.0}
I'm using Math/exp to convert the log probability
https://github.com/gnardari/duckling/blob/confidence/src/duckling/engine.clj#L236
I'm trying to normalize the probability with
P(d|c) / P(d) where
P(d) = P(d|c1) + P(d|c2) + ... P(d|cn) and
P(d|c) = P(x1|c) . P(x2|c) ... (Pxn|c) . P(c)

https://github.com/gnardari/duckling/blob/confidence/src/duckling/ml/naivebayes.clj#L21
but couldn't get it right. Maybe someone here could help me..

You don't need to add the confidence key. It's simply enough not to remove the log-prob key that is already there (see select-winners in core.clj).
Besides, log-prob numerically is much nicer than plain probabilities, because products of probabilities like P(d|c) = P(x1|c) . P(x2|c) ... (Pxn|c) . P(c) can underflow rather quickly.

I see your point, but log probabilities are not as intuitive for API users as [0,1] IMO.

I think that those API users who would care about confidence and -- more importantly! -- know how to use it correctly would prefer plain log-prob.
Consider a sentence "Wake me up at five am tomorrow". Duckling yields these parses:

number ("five"), log-prob: -0.14
distance ("five"), log-prob: -2.31
volume ("five"), log-prob: -2.20
temperature ("five"), log-prob: -2.29
time ("at five am tomorrow"), log-prob: -18.26

If you selected a parse simply by max(log-prob) or even max(exp(log-prob)), you would have to say that  the winning parse is #1, and that the user wants to see a number. Certainly, this is incorrect. So instead of using log-prob of a whole parse, you would probably want to use another metric: some kind of measure of confidence per character. For instance, log-prob * exp(-(end - start)) would be a metric that would favor longer parses, and the parse #5 would then be winning.
Moreover, any person who would want to compute confidence, would also have to take into the account whether the parse is latent or not. More likely than not, you would want to disfavor latent parses.
Summa summarum: I don't think that you can appease all the people by adding :confidence key, so it would be best not to do it. A more constructive and more general approach would be to expose :log-prob and let the people do whatever they want with it.

Thanks for your feedback, decided to use something close to what you suggested on my fork. Maybe someone from wit can comment on this issue since it looks like their version of Duckling running on production has a confidence key with a [0,1] interval.


Updates libcontainer to v2.2.1

@LK4D4 PTAL.
Signed-off-by: Mrunal Patel<EMAIL_ADDRESS>

@mrunalp Uh-oh, some failures around groups :/

@LK4D4 hmm, looks like related to not finding /etc/group in that particular image.

@LK4D4 I am working on a fix.

Pushed the update with fix; will wait for builds now.

TestLogsFollowSlowStdoutConsumer failed in janky but it passed for me locally. The failure seems unrelated to this PR.

Also, looks like none of the tests failed on experimental but failure during teardown.

LGTM
It's impossible  to get all CI steps green today :D

@LK4D4 Yes, sometimes it is better to move on :)

@crosbymichael PTAL

LGTM

Thanks!


Missing Onion Seeds

Onion seeds are missing from the MegaSeed Servitor and the normal seed crate
Currently the only way to get onions are from a maintenance spawn on bagel

looks like we both had the same idea #6951

oh yeah

do i just close this one?
if i even can


Apply OpenSSL CVE fixes for OpenSSL 1.1.1

OpenSSL just announced a few patches to OpenSSL 1.1.1:
https://www.openssl.org/news/vulnerabilities-1.1.1.html
Those patches fix the following vulnerabilities: CVE-2024-4741 and CVE-2024-2511
We should update agent-runtime to include the above fixes.

Fixed in https://github.com/puppetlabs/puppet-runtime/pull/866 and https://github.com/puppetlabs/puppet-runtime/pull/824


bind_actual_formal

bind_actual_formal:
takes in 3 parameters:

current_env
actual_param_list: a list of expressions that need to be evaluated
formal_param_list: a list of atoms

and returns the formal params bound to the actual params
such that the returned value can be used for newenvironment's "params" arg
example:
assume current_env has a=1, b=2
(bind_actual_formal '(a 10 (+ a b)) '(x y z) current_env)
should return something like
((x y z) (#&1 #&10 #&3))

closed by #81
(bind-actual-formal)


curation of the covid-19 topic

Thank you for contributing! Please confirm this pull request meets the following requirements:

[ ] I followed the contributing guidelines: https://github.com/github/explore/blob/master/CONTRIBUTING.md
[ ] I have no affiliation with the project I am suggesting (as a maintainer, creator, contractor, or employee).

Which change are you proposing?

[ ] Suggesting edits to an existing topic or collection
[x] Curating a new topic or collection

Curating a new topic or collection

[x] I've formatted my changes as a new folder directory, named for the topic or collection as it appears in the URL on GitHub (e.g. https://github.com/topics/[NAME] or https://github.com/collections/[NAME])
[ ] My folder contains a *.png image (if applicable) and index.md
[x] All required fields in my index.md conform to the Style Guide and API docs: https://github.com/github/explore/tree/master/docs

There are a number of projects on GitHub supporting the awareness and research for this pandemic. Having curation and a shareable resource is ideal.
Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Stand by, I am creating an image that meets the requirements.


Some thoughts on accessibility

@BoCupp-Microsoft and I had a brief chat about accessibility implications of EditContext that I wanted to follow up on. The "Open Issues" page references AOM, but I don't think it's needed. I think instead, if we give the browser enough information to map an EditContext into its accessibility view of the DOM, a lot of existing support will just work.
The explainer mentions:

The coordinates of the selection and of a logically editable element so that UI relating to text input can be appropriately positioned.

What if we upgraded this a bit and linked an EditContext to a DOM element, without coupling it back to the content of that element? That would allow the browser to relate the EditContext to the rest of the document. With that information:

The browser would understand how to integrate an EditContext into tab order
An EditContext could become just another node in the browser's accessibility tree representation, meaning assistive technologies don't need to have any special understanding of how to work with an EditContext

Apart from that, I think the pieces you would need to make EditContext accessible is already covered by the explainer:

Which EditContext, if any, currently has input focus
Selection / caret position
Style / annotation / highlight information
Consumption of input events (accessibility APIs can generate these too, but they would be mapped to DOM events)

Q: Is this possible to hook-up to the existing accessibility tree?

Q: Is this possible to hook-up to the existing accessibility tree?

That's what I'm hoping for with my suggestion :)

This issue has been migrated to the Edit-context repo: https://github.com/w3c/edit-context/issues/6


Add support for V7 keepalive

NodeToNode version 7 fixed the cbor encoding for the keepalive
miniprotocol.

Fixes #3187.

tested successfully on alonzo-blue.

bors r+


File watcher recognizes only first file change

Using oranda dev (version 0.1.0) inside of a Rust project path only seems to detect the first change to a file, but not subsequent changes.
How I can reproduce it:

File README.md and oranda.json exist in the same path.
Run orange dev.
Change oranda.json (to a different theme). Project gets rebuild.
Change oranda.json again. Project is not rebuild, no new command output.
Change README.md. Project gets rebuild.
Change README.md again. Project is not rebuild, no new command output.

hey! i can't reproduce this, here's my command log output:

log output
lu@koishi weird-oranda-test > oranda dev
↪ >o_o< INFO: Found 3 paths to watch, starting watch...
↪ >o_o< DEBUG: Files watched: ["/Users/lu/Projects/Checkouts/weird-oranda-test/README.md", "./oranda.json", "/Users/lu/Projects/Checkouts/weird-oranda-test/Cargo.toml"]
↪ >o_o< INFO: Running build...
↪ >o_o< INFO: Building components: artifacts
✓ >o_o< SUCCESS: Your site build is located in `public`.
✓ >o_o< SUCCESS: Your project is available at: http://<IP_ADDRESS>:7979
↪ >o_o< INFO: Path(s) ["/Users/lu/Projects/Checkouts/weird-oranda-test/oranda.json"] changed, rebuilding...
↪ >o_o< INFO: Running build...
↪ >o_o< INFO: Building components: artifacts
✓ >o_o< SUCCESS: Your site build is located in `public`.
↪ >o_o< INFO: Path(s) ["/Users/lu/Projects/Checkouts/weird-oranda-test/oranda.json"] changed, rebuilding...
↪ >o_o< INFO: Running build...
↪ >o_o< INFO: Building components: artifacts
✓ >o_o< SUCCESS: Your site build is located in `public`.
↪ >o_o< INFO: Path(s) ["/Users/lu/Projects/Checkouts/weird-oranda-test/README.md"] changed, rebuilding...
↪ >o_o< INFO: Running build...
↪ >o_o< INFO: Building components: artifacts
✓ >o_o< SUCCESS: Your site build is located in `public`.
↪ >o_o< INFO: Path(s) ["/Users/lu/Projects/Checkouts/weird-oranda-test/README.md"] changed, rebuilding...
↪ >o_o< INFO: Running build...
↪ >o_o< INFO: Building components: artifacts
✓ >o_o< SUCCESS: Your site build is located in `public`.
↪ >o_o< INFO: Path(s) ["/Users/lu/Projects/Checkouts/weird-oranda-test/README.md"] changed, rebuilding...
↪ >o_o< INFO: Running build...
↪ >o_o< INFO: Building components: artifacts
✓ >o_o< SUCCESS: Your site build is located in `public`.

maybe you're running into some file-descriptor-related trouble? we use notify under the hood, maybe you can try seeing if you run into the same kinds of issues using something like cargo-watch (which also uses notify)?

I tried it again and this time changing README.md triggerd every time as expected, but changes to (using different editors, also during the same orange dev run) and even deleting and recreating oranda.json was not detected. I wonder if it could be specific to that one file(name) for some reason.
I don't usually use cargo-watch and don't have it at the ready, so testing that will have to wait for another day.
On bit that (according to prior experience) could be important: I have taken the binary from the tarball download, but not precompiled itself. Maybe the issue only appears with that pre-built binary.

there shouldn't be a difference between those two versions. can you paste your log output (specifically the "Files watched" line)?

For the record: In the case I remember, the binary in question was built on a CI with a different version of some (system) library than expected and that resulted in a bug.
If I find the time I might built oranda from source myself and see how that build behaves.
Here is the log:
$ oranda dev
↪ >o_o< INFO: Found 3 paths to watch, starting watch...
↪ >o_o< DEBUG: Files watched: ["/home/user/projects/project/README.md", "./oranda.json", "/home/user/projects/project/Cargo.toml"]
↪ >o_o< INFO: Running build...
↪ >o_o< INFO: Building components: artifacts
✓ >o_o< SUCCESS: Your site build is located in `public`.
✓ >o_o< SUCCESS: Your project is available at: http://<IP_ADDRESS>:7979
# --- Editing and saving `oranda.json` for the first time.
↪ >o_o< INFO: Path(s) ["/home/user/projects/project/./oranda.json"] changed, rebuilding...
↪ >o_o< INFO: Running build...
↪ >o_o< INFO: Building components: artifacts
✓ >o_o< SUCCESS: Your site build is located in `public`.
# ---Editing and saving `oranda.json` for the second time.
# ---Editing and saving `oranda.json` for the third time.

In any case, this sounds more like something related to the library we use for file watching (https://github.com/notify-rs/notify), so maybe it's worth filing a bug there? All we do on oranda's side is listen to events from that library, so it shouldn't really happen according to our usage.

It could be related to the way vim writes backups; see https://github.com/notify-rs/notify/issues/394. A recommendation there is to watch the whole directory. The way the library is used is still in the scope of this project.

Stumbled on this issue...
I recently dealt with what I imagine is this same issue in another program. The gist is that some editors may rename/remove files on save which can bork watching depending on how you handle it. I haven't dug into how oranda handles events from the file watcher, but the way that I fixed it for the other project was to .unwatch() the old file and re-.watch() the new file on removal/rename events
https://github.com/trimental/inlyne/blob/312c9ee229a8156945c1a6d2a317346ea92c9a88/src/watcher/mod.rs#L106-L117
This is documented in the notify crate (although this seems to be a common issue to run into still. It feels like switching to the "new" file on rename/removal is the common desired case)
https://docs.rs/notify/latest/notify/event/enum.EventKind.html#variant.Remove

...
Some editors also trigger Remove events when saving files as they may opt for removing (or renaming) the original then creating a new file in-place.


Enable Support for Repository Specific Wallet

For testing purposes it could be useful to run the production code but on a different (insolvent) wallet.
I also think that in large organizations it might be better for budgeting purposes to allow for wallet configuration per repository.
We already have support for this in the organization config so I imagine that adding the capability for repository config should be pretty straightforward.
Originally posted by @ubiquibot in https://github.com/ubiquibot/production/issues/50#issuecomment-1704294859

@pavlovcik where is it located

found it

/start

/start

assuming that repo wallet takes precedence


nint and nuint cannot be used as enum base type

Section Miscellaneous mentions the possibility of using nint and nuint types as enum base types:

nint and nuint can be used as an enum base type.

However, this is not mentioned in C# ECMA specification nor is it supported even in the latest compiler (.NET 6, C# 10). Visual Studio 2022 also shows an error.

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

ID: de63b2ae-2018-b52e-0cb4-d19ac77093c1
Version Independent ID: 9805d223-c541-8a6b-f79f-3ae3dd71023f
Content: Native sized integers - C# 9.0 draft specifications
Content Source: proposals/csharp-9.0/native-integers.md
Product: dotnet-csharp
Technology: csharp-spec
GitHub Login: @dotnet-bot
Microsoft Alias: wiwagn

ading @tannergooding

CC. @cston; this is supported at the IL level (by ECMA-335) and is something C# can support; but I believe the support never actually got added due to time constraints, etc.

@sajagi, thanks for reporting this.
I've created a PR to update the documentation: https://github.com/dotnet/csharplang/pull/5709

closing as fixed in dotnet/csharplang#5709

Is there a possibility of having nint and nuint as enum base types?

@ImmuneLion318 That's a question for the dotnet/csharplang [repo](https://github.com/dotnet/csharplant. That's where the language design team works on any new features in the language.  @tannergooding can point to any current discussions or proposals for this feature.


Note creating new note...

Hi,
Every time I create a new quick note it opens a new window but without a tab. If I'm in the default theme, it shows me a new note or open note, but it does not create a note.
Best
M

Hi @Superelmanu, I'm not able to reproduce this.
When using this plug-in you should see a window that looks like the screenshot below:

The note file will be created in the location where you have told Obsidian to create notes so perhaps check your settings?
Can I ask you to try the plugin in the Obsidian Sandbox without any other plugins and let me know if you still experience this issue.

Out of interest, did you change the 'Quick note title' setting? An invalid title setting can prevent notes from being created by Obsidian.
Ideally if you can share a screenshot of the console output showing any errors would help me to debug this for you.

It is working now. I believe it has something to do with the minimal themes or something. I removed it and it's working.
One idea: It will be great to have templates associated to shortcuts for quicknote.
Best
Manu

From: James Greenhalgh @.>
Sent: Thursday, August 31, 2023 09:41
To: jamesgreenblue/obsidian-quicknote @.>
Cc: Superelmanu @.>; Mention @.>
Subject: Re: [jamesgreenblue/obsidian-quicknote] Note creating new note... (Issue #4)
Out of interest, did you change the 'Quick note title' setting? An invalid title setting can prevent notes from being created by Obsidian.
Ideally if you can share a screenshot of the console output showing any errors would help me to debug this for you.
—
Reply to this email directly, view it on GitHubhttps://github.com/jamesgreenblue/obsidian-quicknote/issues/4#issuecomment-1701063225, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVFQTHVF5CA3PII75LIGDTTXYCIBTANCNFSM6AAAAAA4AAX5MI.
You are receiving this because you were mentioned.Message ID: @.***>

Glad to hear that it is working.
Please can you make a separate issue for your idea with more detail of how it would work. I'm capacity constrained at the moment so can't make any promises, but at least by documenting the feature it is there for me or someone else to pick up and implement at some point in the future. Contributions are welcome!


KeyError in ZHA

The problem

I see this in my error logs, 18 occurrences
Error doing job: Future exception was never retrieved

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/src/homeassistant/homeassistant/components/zha/core/device.py", line 288, in _check_available
    basic_ch = pool.all_channels[f"{pool.id}:0"]
KeyError: '1:0'

Environment

Home Assistant release with the issue: 107dev
Last working Home Assistant release (if known): Don't know
Operating environment (Hass.io/Docker/Windows/etc.): Home Assistant
Integration causing this issue: ZHA
Link to integration documentation on our website:

Problem-relevant configuration.yaml

Traceback/Error logs

Additional information

Do you see any of your zigbee devices as unavailable?

Yes, they are also not plugged into the power atm. (test stuff etc)

yep, I'll have a fix for this shortly.  Fix is easy, but for the tests: any pointers on how to trigger time changed event for the async_track_time_interval listener to kick in?

My bad, forgot to look this up yesterday. Look in the tests at things that use: async_fire_time_changed

thanks. Will take a look later tonight.


Aux scanner does not scan secondary aux files when \include is used in the tex document

When the main.tex file includes contents from secondary files, each file has its own .aux and main.aux contains lines like:
@input{secondary.aux}
The aux scanner ignores those lines, so references from secondary.tex are lost, moreover, if all uses of \cite are in secondary files, zotero-better-bibtex reports:
"The selected file is not in a supported format."
for main.aux.
Steps to reproduce:

Create a main.tex file with the following contents:
\documentclass{article}
\begin{document}
\include{secondary}
\end{document}

Create a secondary.tex file with the following content (change A_key to fit your zotero database):
\cite{A_key}

compile main.tex
pdflatex main

run zotero and import main.aux

Actual result:
A dialog pop up, with the message:
"The selected file is not in a supported format."
"A_key" is not imported.
Expected result:
"A_key" is importeed in zotero.
Note:
If  the line:
\cite{B_key}
is added in main.tex inside the document environment, then the dialog does not pop up, but only "B_key" is imported correctly, while "A_key" is ignored.

This cannot be fixed using the current import mechanism. Import translators are handed the contents of the file but not its location, so I can't know what path they are relative to, and even if I could find out, import translators are not allowed to open files themselves. I might be able to fudge around this by treating them as attachments, but even if that would work, nested inputs beyond the main file would be out of reach.
For the short term, you might be able to use latexpand to flatten the aux files into a single file, but I haven't tried that myself. For the longer term, I'll look into a non-import way to do aux scanning.

Well that is unfortunate, but since I use a Makefile for my documents I can do the flattening on my own using a simple minded script that acts on the .aux directly.
For example I am trying with this, flataux.py:
#! /usr/bin/env python

# usage flataux.py file.aux
# will output to flattened_file.aux

def flataux(fname):
    import re
    pattern = re.compile('\\\@input{([^}]*)}')
    with open(fname, 'r') as source:
        for line in source:
            match = pattern.search(line)
            if match is not None:
                print 'found ', line
                for secondary in flataux(match.groups()[0]):
                    yield secondary
            else:
                yield line

if __name__ == '__main__':
    import sys
    name = sys.argv[1]
    with open('flattened_'+name, 'w') as destination:
        destination.writelines(flataux(name))

Ideally I should be able to query zotero from the script and get it to export  the relevant keys, but I am not that good.
A possible workaround for you, is to allow importing from "main.fls".
This file is only generated when latex is run with the "--recorder" option and, at least in my setup, it dumps the full path of all input and output files: it can be filtered to extract output files with the .aux extension. The users have to remember using the "--recorder" option, but it seems acceptable.
I am leaving this open just in case, but you can close it if you feel it is beyond the scope of the plugin.
Thank you again for looking into it.

Can you attach such an fls file?

Can you try https://github.com/retorquere/zotero-better-bibtex/releases/download/builds/zotero-better-bibtex-1.6.65-circle-2559.xpi ? The bibtex aux importer is gone, replaced by a menu item in the gear menu.
I don't get such \input behavior myself, I have multi-file latex documents but they all collect into one aux file. Perhaps because I'm using biblatex?

Hi, sorry for the inordinate amount of trouble.
Regarding the creation of an aux file for each include, I do not know if it is a default enabled in the (pdf)ltex build I use or caused by some package, butthey pop out on my disk whenecver I compile the document.
I checked 1.6.65-circle-2559.xpi  and it appears that issue #521 crept back into it: when I have sub.aux files the citation is not imported. when all is in one aux file it works as expected.
I also attach the main.fls I get using the '--recorder' option and the two aux fies that displayed the issue auxfls.zip although I feel that scanning the aux should be the better way to go (everyone will have aux).
Have a good day.

Can you zip up your aux files for me too?

Oh, hold on, they're in the zip too. But in what way is #521 back? That sub.aux is not imported is this bug, not #521.
I got the regex for the inclusion wrong, a new build is on its way.

Yes sorry about the bug number I was posting from the office when people came in to ask me something and I got the numbers mixed.

Can  you try https://github.com/retorquere/zotero-better-bibtex/releases/download/builds/zotero-better-bibtex-1.6.65-circle-2574.xpi ?

Looks like now the scanner is expecting to have sub files and bails out if not.
If I have a secondary aux, nothing is imported at all. I tried to delete the @input{test.tex} line and the citations from main were imported.

Nope, no expectations, but it's probably encountering an error and stopping. Enable extended debugging in the BBT prefs, try to scan again, and then from the gear menu select "report better bibtex error". It will show an ID in red, if you  post that here, I can investigate

Ok, done,
ReportID: Z8UKSKFF

Try https://github.com/retorquere/zotero-better-bibtex/releases/download/builds/zotero-better-bibtex-1.6.65-circle-2582.xpi

Hi,
I tried the circle-2582 with the document I currently write and it worked just fine.
Sorry that this issue took you so much work, but we can close it now.
Thank you so much for being so supportive.

No apologies please, you're helping improve BBT. I'll merge this and release a new version somewhere today or tomorrow.


Feature request: Control the visibility of DiscoveredServicesExtensions

Hi!
Thanks for putting this project together. It's saved me a fair bit of boilerplate. 🙂
I was wondering if it would be possible to add an MSBuild property to control the visibility of the generated DiscoveredServicesExtensions class? Specifically, here:
https://github.com/loresoft/Injectio/blob/89941f30bd4de823c4ca16c31bc3cddb1352548b/src/Injectio.Generators/ServiceRegistrationWriter.cs#L50-L54
In my solution, I have a few different projects for different areas of the application. Each such project already exposes a <Project>ServiceCollectionExtensions class with methods to register everything. This class needs to stay because, even when using Injectio, there are various essential services defined outside the assembly that also need to be added (e.g. ASP.NET Core stuff, AddOptions<T>(), etc...). So I figure I'll just call Injectio's generated method from there. That means exposing DiscoveredServicesExtensions publicly isn't necessary (and kind of a trap since it lacks those essential service registrations).
I figure this feature could just look something like <InjectioVisibility>internal</InjectioVisibility> (defaulting to public).

seems reasonable, I'll add it to list of things todo.   thanks for the suggestion.

Any update on this request? I'd benefit from this greatly as I have a similar setup within some of my projects.
I'd be happy to author and submit a pull request to add this if that is preferable.


"when" clause with context keys not working anymore for custom views

VSCode Version: Code - Insiders 1.16.0-insider (8b942faafb2d1bee6fd6a346853548d528c7eb5a, 2017-08-31T07:27:43.804Z)
OS Version: Windows_NT x64 10.0.15063

Steps to Reproduce:

Create a custom view extension with a value of "scmProvider == git" for the contributes.views.explorer.when key in package.json.
Observe that the extension doesn't get activated even though the current scm provider is git.

Note that this is working in 1.15.1 and older versions.

The notion of a single scmProvider value is now gone from the entire workbench context... since it is now possible to have multiple scm providers active.

https://marketplace.visualstudio.com/items?itemName=letmaik.git-tree-compare
Basically I want to activate the custom view when there is at least one git repo in the workspace. Previously I used scmProvider == git && config.git.enabled && gitState != norepo as condition.

Got it. There is now a specific git context key around: gitOpenRepositoryCount which is set to the number of git repositories. Can you try using that?
For stable that will be available from 1.16.0 onwards.

That works, great. If only it would be possible to have OR conditions in "when" clauses to support both old and new behaviours.

It's definitely not possible right now, unfortunately... I'll close this for now.

Note that my concern about supporting both old and new versions is not relevant as I found out: https://github.com/Microsoft/vscode/issues/33959


Request/csverror typescript support: Approach 2

Here is a variant PR for #295

If we confirm this second approache, I will have 2 requests:

Rename ErrorCode with ErrorCodes
import the error defintions in lib/es5/index.d.ts from lib/index.d.ts insteady of duplicating them

Okay, sounds good to me. It might also be worth pointing out that there is a discrepancy between the Options interface in lib/index.d.ts and lib/es5/index.d.ts. The definition in the main index.d.ts file supports the alternate setting names (eg. auto_parse and autoParse) whereas the one for es5 does not.
Actually... I just noticed that the preversion script will copy any .ts file from the root of lib to lib/es5 so, maybe it can just be removed?

Actually... I just noticed that the preversion script will copy any .ts file from the root of lib to lib/es5 so, maybe it can just be removed?

Right


README: aim for subtleness, not paranoia

Can you tweak this line with the new wording as well? https://github.com/chainguard-dev/malcontent/blob/417a3e0fd46b0d3f9f5e51842dbedee91e1070c0/SECURITY.md?plain=1#L17

Can you tweak this line with the new wording as well?
https://github.com/chainguard-dev/malcontent/blob/417a3e0fd46b0d3f9f5e51842dbedee91e1070c0/SECURITY.md?plain=1#L17

done.


Teach MetadataReader how to skip artificial subclasses.

Even when the API isn't being used, this has the side-effect of preventing MetadataReader from going off into the weeds when it sees a null NominalTypeDescriptor reference.

@swift-ci Please smoke test and commit.

@swift-ci Please smoke test.

Do we want this for 3.1 as well?

Not unless someone's asking for it.  RemoteAST didn't have a getHeapMetadataForObject accessor before, so I suspect that LLDB just does this itself, in which case maybe it looks through artificial classes, too.


loading out-of-tree module taints kernel

[  370.304665] project: loading out-of-tree module taints kernel.
[  370.305426] project: module verification failed: signature and/or required key missing - tainting kernel

Even since module is not signed, it will be still loaded and functionable (tested rn on fresh installation of ubuntu server 22.04 LTS). If you dont want this warning to show, you will need to sign module:
https://www.kernel.org/doc/html/v5.15/admin-guide/module-signing.html?highlight=signing


How to improve our loss function

https://arxiv.org/abs/1503.03832

Important information from the work:

It is crucial to select hard triplets, that are active and can therefore contribute to improving the model.

Use hard positive and hard negative images in triplets.
Hard positive argmax_xip||f(xia) - f(xip)||^2
Hard negative argmin_xin ||f(xia) - f(xin)||^2
Two possible choices:

Generate triplets offline every n steps, using the most
recent network checkpoint and computing the argmin
and argmax on a subset of the data
Generate triplets online. This can be done by select-
ing the hard positive/negative exemplars from within a
mini-batch.  (probably this second way is good for us).

Important to note:
Hard negatives examples can lead to bad local minima of model. Model can collapsed.
SO: it is important (especially on early phase of training) to choose such negatives that:
distance_between(anchor, positive) < distance_between(anchor, negative)

Proposition:
In each batch find some hard positives examples (for example):

for each 32 mini-batch , get 10 examples of (most hard positives).

And get most hard negatives to the triplets that meet the condition :

distance_between(anchor, positive) < distance_between(anchor, negative)

Train only on that examples in each batch

Based on this we have maybe the answer (why sometimes it happend that our model did not learn). The accuracy top1 was 50%. So at the beginning model could get some hard negatives which had a strong negative impact on further learning and the model became blocked.

Articles that i think will help with implementation:
https://omoindrot.github.io/triplet-loss
https://arxiv.org/abs/1703.07737
And repository:
https://github.com/omoindrot/tensorflow-triplet-loss


fdo-rs / fido-device-onboard-rs not allowed to run Packit CI

After the repo migration we have to update some permissions in Packit, as it is now the RPM builds are not allowed to run.
See this warning for instance:
Packit-as-a-Service / rpm-build:centos-stream-9-aarch64
github.com/fdo-rs/fido-device-onboard-rs.git not allowed!

It looks like we need @nullr0ute to respond to this packit issue - https://github.com/packit/notifications/issues/569

Yep, I saw the email, I mentioned this with @7flying when we were talking earlier today but I've not had time to get to it yet

This should now be fixed


constraints in schema.py should be sorted deterministically

PrimaryKey
FKey
Unique
Check

this seems fine. it's not sorted this way but it doesn't seem to change on subsequent codegens so closing. can revisit if things change


Region's play() does not fire pause/finish event after whole region is played

I'm using wavesurfer together with html video tag and trying to achieve full sync of video with waveform.
Unfortunately when I use region's play() function, it's impossible to stop video from playing because it does not fire any events beside region-play (undocumented in readme, found in code) and play.
Could backend fire pause or finish after whole region is played?
Also when region starts playing it does not fire seek event when setting audio position to region's start value.

Hi Andrzej,
There's a region event called region-out. Both region-play and region-out events are listed in the README under the Region events section.

region-play is not listed in README.md file.
But region-out works for me, thank you very much. I assumed that region-out will fire even with normal playback, not only with region.play() function, my bad.

region-play is not listed in README.
And region-out does not work for me. It fires even when normal playback leaves region, not only when clicked region finished playing (region.play() plays specific part from beginning to end and after it finished there is no pause event). So right now for workaround I would probably have to bind my region-out callback on region-click and unbind on region-out.

You are right, thanks for clarifying. So the following should be done:

[ ] Region should fire the global seek event when it starts playing from start to end.
[ ] Region should fire region-pause when it finishes playing from start to end.
[ ] Document region-play in the README. Also make it clearer that region events correspond to global events prefixed with region-.

Yes.
But probably backend* should fire global events instead of region having its own.
Also it appears that when we use wavesurfer's play after region's play, it rewinds back to the region's start time and plays from there (shouldn't it start playing when it last stopped?).
*MediaElement and WebAudio - they are the ones with seekTo, play and pause not firing events, region just uses wavesurfer's play which uses backend's play (so it's probably impossible for region to have its own region-pause event, but global play and pause should be fine).

I'm looking for this feature as well. Seems inconsistent that when the region stops/pauses that the global pause event is not fired since the audio is indeed pausing.

I'll raise the priority of this issue. A PR would also be welcomed.

I was able to fix region-out not being fired when playing a specific region. The problem was the audioprocess time was milliseconds under the official end time of the region.
// line 237 in regions plugin
my.end <= time // ex: 20 <= 19.998345121 would be the last audioprocess

I rounded the time to the nearest thousandth ms and now region-out fires
if (!my.firedOut && my.firedIn && my.end <= Math.round(time*100)/100 ) {

Solved in #473 + d44c0464d5c79e9510df866f5e3ed21101408cad.


Subscriptions are not sending data

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

How did you install the Amplify CLI?
nom
If applicable, what version of Node.js are you using?
14.17.0
Amplify CLI Version
7.6.2
What operating system are you using?
Mac
Amplify Categories
auth, storage, api
Amplify Commands
push
Describe the bug
I am using Amplify for my react native project. I am holding two of my phones next to each other logged in with two different accounts. I've opened a screen where users can post comments/replies. I am using subscriptions so that everyone can see real-time updates. Subscriptions are not working I can't see data on user X when I post comment with user Y.
Please note that I do receive data on user X when I make a comment as user X but user Y does not see it unless I reload.
For example onCreateGroupComment does work and it sends data back (I update redux state upon receiving updates from subscriptions) but others don't see the updates immediately they need to reload the screen...
My subscriptions

Expected behavior
Users should see real-time updates when someone pots a comment/reply.
Reproduction steps

Amplify init
add api, auth (with unauthenticated logins), storage
add graphql schema
amplify push
remove excess properties in subscriptions.ts. e.g, onCreateGroupComment also had a group object attached to it which I don't use
Subscribe to real-time updates showing in code example images

GraphQL schema(s)

# Put schemas below this line
type Group
    @model(subscriptions: null)
    @auth(
        rules: [
            { allow: owner},
            { allow: private, operations: [read, update] }
         ]
    ) {
    id: ID!
    owner: String!
    members: [String]!
    title: String!
    description: String!
    files: [File]!
    comments: [GroupComment] @hasMany
    tasks: [GroupTask] @hasMany
    meetingLink: String
    createdAt: AWSDateTime!
    updatedAt: AWSDateTime
}

type GroupComment
    @model
    @auth(
        rules: [
            { allow: owner },
            { allow: private, operations: [read, update] }
        ]
    ) {
    id: ID!
    owner: String!
    content: String!
    groupId: String! @index(name:"groupCommentsByDate",queryField:"groupCommentsByDate", sortKeyFields:["createdAt"])
    group: Group @belongsTo
    replies: [GroupReply] @hasMany
    likes: [Like]!
    createdAt: AWSDateTime!
    updatedAt: AWSDateTime
}

type GroupReply
    @model
    @auth(
        rules: [
            { allow: owner },
            { allow: private, operations: [read, update] }
        ]
    ) {
    id: ID!
    owner: String!
    content: String!
    commentId: String! @index(name:"groupRepliesByDate",queryField:"groupRepliesByDate", sortKeyFields:["createdAt"])
    comment: GroupComment @belongsTo
    likes: [Like]!
    createdAt: AWSDateTime!
    updatedAt: AWSDateTime
}

type GroupTask  @model @auth(rules: [{ allow: owner }, { allow: private }]) {
    id: ID!
    owner: String!
    task: String!
    assignees: [String]!
    steps: [Step]!
    type: String!
    files: [File]!
    dueDate: String!
    reminder: Int!
    status: String!
    groupId: String!
    group: Group @belongsTo
    notificationId: String
    createdAt: AWSDateTime!
    updatedAt: AWSDateTime
}

Log output

# Put your logs below this line

Additional information
No response

Hi, @yuth  the owner filed is the username of the currently logged-in user. This field did not exist in subscriptions before the update to transformer V2 and everything was just fine... everyone was receiving real-time data.
Why would I need custom resolvers now? I thought it was supposed to be pretty straightforward as it was in transformer V1 where everything worked great regarding subscriptions.

This is the error I get if I remove the owner field from a subscription.

I see now. This is what I tested.

Now users who are currently viewing that particular group do receive updates on comment creation. I assume I can do the same on comment edit/delete but in this case, instead of groupId it would be better to provide commented and add subscription on a comment level for edit/delete not on a group level because you might delete/edit a comment which user looking at that particular group has not loaded yet.

This field did not exist in subscriptions before the update to transformer V2 and everything was just fine... everyone was receiving real-time data.

Could you share the schema before the v2 migration. Before/after schema would be helpful to figure out why the subscription stopped working

This is how the generated subscriptions.ts looked like before v2. There was no requirement for providing owner parameter.

Schema would be more helpful as it contains auth rules

type Group
	@model(subscriptions: null)
	@auth(
		rules: [
			{ allow: owner }
			{ allow: groups, groups: ["Admin"] }
			{ allow: private, operations: [update, read] }
		]
	) {
	id: ID!
	owner: String!
	ownerPicture: String!
	ownerFirstName: String!
	ownerLastName: String!
	members: [String]
	title: String!
	description: String!
	files: [File]!
	comments: [GroupComment]! @connection(name: "GroupComments")
	tasks: [GroupTask]! @connection(name:"GroupTasks")
	meetingLink: String
	createdAt: AWSDateTime!
	updatedAt: AWSDateTime
}

type GroupComment
	@model
	@key(name: "groupCommentsByDate", fields: ["groupCommentGroupId", "createdAt"], queryField: "groupCommentsByDate")
	@auth(
		rules: [
			{ allow: owner }
			{ allow: groups, groups: ["Admin"] }
			{ allow: private, operations: [read, update] }
		]
	) {
	id: ID!
	owner: String!
	ownerPicture: String!
	ownerFirstName: String!
	ownerLastName: String!
	ownerUniversity: String!
	content: String!
	groupCommentGroupId: String!
	group: Group @connection(name: "GroupComments")
	replies: [GroupReply]! @connection(name: "GroupCommentReplies")
	audio: String
	likes: [Like]!
	createdAt: AWSDateTime!
	updatedAt: AWSDateTime
}

type GroupReply
	@model
	@key(name: "groupRepliesByDate", fields: ["groupReplyCommentId", "createdAt"], queryField: "groupRepliesByDate")
	@auth(
		rules: [
			{ allow: owner }
			{ allow: groups, groups: ["Admin"] }
			{ allow: private, operations: [read, update] }
		]
	) {
	id: ID!
	owner: String!
	ownerPicture: String!
	ownerFirstName: String!
	ownerLastName: String!
	ownerUniversity: String!
	content: String!
	receiver: String!
	groupReplyCommentId: String!
	groupComment: GroupComment @connection(name: "GroupCommentReplies")
	audio: String
	likes: [Like]!
	createdAt: AWSDateTime!
	updatedAt: AWSDateTime
}

type GroupTask 	@model @auth(rules: [{ allow: owner }, { allow: groups, groups: ["Admin"] }, { allow: private, operations: [read, update] }]) {
	id: ID!
	owner: String!
	task: String!
	assignees: [String]!
	steps: [Step]!
	type: String!
	files: [File]!
	dueDate: String!
	reminder: Int!
	status: String!
	groupTaskGroupId: String!
	group: Group @connection(name:"GroupTasks")
	notificationId: String
	createdAt: AWSDateTime!
	updatedAt: AWSDateTime
}


Connection Manager UX/UI

Description
We are doing the following issues which amount to a new "connection manager" that is being designed.
https://github.com/raiden-network/light-client/issues/2631
https://github.com/raiden-network/light-client/issues/2598
Acceptance criteria

A connection is possible for user in the following options:

WalletConnect
Connecting to device wallet app
Manual configuration

Tasks

[x] Design draft
[x] Review
[ ] Implementation

Figma file with UX/UI suggestions:
https://www.figma.com/file/jhvnwl0PZ6ZVagmChreWrs/LC-Connection-Manager?node-id=0%3A1

The suggestions are to have the three optional entry points (sole connection to raiden) as three prominent but not too large at the start screen.
Each leads to a configuration screen that enables the connection, when possible.
We agreed the subject needs to be researched further as to which best ways the implementation will go.


Fixed #1455

Fixed writing out of array bounds
Adjusted FPS comment to match value
Deleted unused function at the end, which has never been in use in the history of this file
For Issue: https://github.com/raysan5/raylib/issues/1455

@Buhlean thanks!


Fix stack traces when reflection is disabled

This enables stack trace metadata when IlcDisableReflection == true and IlcGenerateStackTraceData == true. Enabling stack trace metadata had no effect before this change.
This also has a side effect of always generating the metadata blob. This is necessary because ModuleList tends to ignore modules that don't have the embedded metadata blob (https://github.com/dotnet/corert/blob/635cf21aca11265ded9d78d216424bd609c052f5/src/System.Private.TypeLoader/src/Internal/Runtime/TypeLoader/ModuleList.cs#L713-L720). Emitting an empty blob fixes the bug where delegate interop didn't work with reflection disabled.

Emitting an empty blob fixes the bug where delegate interop didn't work with reflection disabled.

@mjsabby This fixes the marshal getfuncpointer not working in the no reflection mode.

cc @timmydo even though we moved to calli the rest of the stack can use it if they need to.


api.vhx.tv embed.vhx.tv

Checklist

[x] I'm asking a question
[x] I've looked through the README and FAQ for similar questions
[x] I've searched the bugtracker for similar questions including closed ones

Question

WRITE QUESTION HERE
Hi,
I'm trying to download a video from a website I payed for. Tried header,referer, cookie, different URL combinations. But maybe it just doesn't work with youtube-dl or maybe i'm missing something obvious? Anyone give me some tips/pointers?
Thank you!
youtube-dl.exe -v https://embed.vhx.tv/videos/445362 -referer "https://tomovhxtv.vhx.tv/videos/tf-lesson-002/"
--add-header referrer:"https://tomovhxtv.vhx.tv/browse&sharing=1&title=0&vimeo=1"
--cookie cookie.txt
[vhx:embed] 445362: Downloading webpage
ERROR: Unable to extract ott data;

https://embed.vhx.tv/videos/737843?api=1&autoplay=1&back=Music Theory I&color=22b9b0&context=https%3A%2F%2Ftomovhxtv.vhx.tv%2Fmusic-theory-i&live=0&playsinline=1&referrer=https%3A%2F%2Ftomovhxtv.vhx.tv%2Fbrowse&sharing=1&title=0&vimeo=1

The above URL contains the following info:
window.OTTData = {"api_data":{"api_host":"https://api.vhx.tv","api_token":"7d3ec910f0cf6ba64565444e54cb0cb9a2d37e3724d871e10556acc7d18","user_auth_token":{"session":"BAh7DEkiD3Nlc3Npb65454665454546iNWMwNjM3ZWY4MGNjNTdhNzYxMGZhBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMXo2WE90dWxxZFFSeisvYVlvVzNLUEhNYmxkblRiYlBaYW5JSjdMV1o1T1E9BjsARkkiHHdhcmRlbi51c2VyLmRlZmF1bHQua2V5BjsAVGkDg/rhSSILYXV0aGVkBjsARlRJIg9leHBpcmVzX2F0BjsARmwrB96apV5JIgx2ZXJzaW9uBjsARmkGSSIVaW52YWxpZGF0aW9uX2tleQY7AEZJIik1OGEwOWI1Yy1mM2YwLTRhNGYtYTgwMS0wMDRhYzc0OTIwMzQGOwBG--10e814a7d0e439f4b3456b8c4a732a200d4"}},"buy_button":{"label":null,"url":null},"product":{"id":null},"redirect_button":{"label":"Music Theory I","url":"https://tomovhxtv.vhx.tv/music-theory-i"},"site":{"id":67785,"subdomain":"tomovhxtv","twitter_name":"backbaymusic"},"video":{"duration":728,"id":737843,"title":"Theory 04 D Major D Dorian","url":"https://tomovhxtv.vhx.tv/videos/theory-04-d-major-d-dorian"},"config_url":"https://player.vimeo.com/video/392961580/config?autoplay=1\u0026color=22b9b0\u0026token=eyJhbG45645564jE1ODUzMjMwMjcsImV4cCI6MTU4NTMyMzA4NywiY2xpcF9pZCI6MzkyOTYxNTgwLCJkcm0iOmZhbHNlfQ.bEBGpXZp4WqpKbg9zMtXC-nIvP-idV8zYxM4ASKIACg","hide_chrome":null,"initial_time":null,"js_api_enabled":true,"show_share_actions":true,"user_id":12345645}
There is also part for mobile?
var environment = "production",
config = {
autoplay: false,
debug: false,
nativeControlsForTouch: navigator.userAgent.toLowerCase().indexOf('android') !== -1,
credentials: {
authorization: null,
ticket: null,
access_token: "09b7ac239135464564456455465471bdf48284dc3",
authUserToken: undefined,
},
source: {
href: "https://api.vhx.tv/videos/737843",
country: "US",
referrer: undefined
},

seems it should work
https://git.azlux.fr/Azlux/youtube-dl/commit/ca01d178844129bd4b6ed74740fbd30e7f84c1c2

So much easier with the source code!
youtube-dl.exe -v https://embed.vhx.tv/videos/737843?vimeo=1 --cookies cookies.txt
"window.OTTData" is only in the html code when you add "?vimeo=1"
you need cookie.txt for the login.
Works, thanks for the great tool!

how to specify quality?

Hi, I am trying to get the same "sources" you downloaded. I also subscribed...
Can you tell me how exactly you did it? It has problems requesting header and the site does not reply...


Passes style from drawer navigator to view.

Thanks for building react-navigation!  Operation Tire-Kicking is going great!
This PR addresses an issue with the drawer contents.  It adds an additional style property that makes it's way down to DrawerSidebar.js from DrawerNavigator.js.
See the white area up top:

It can now be targetted like so:
DrawerNavigator(
  awesomeRoutes,
  { contentComponent: OmgGreen, style: { paddingTop: 0 } }
)

I considered calling this drawerStyle to be specific, but opted for style.  Also, much of this functionality was already in place (from the DrawerView down I didn't even have to touch).  Just seemed this was the missing piece.

Thanks again.  Lovely API so far.

Thank you. I'm planning to do this, to make it consistent with stack navigator,
DrawerNavigator(
  {...},
  {
    navigationOptions: {
      drawer: {
        style: {}
      }
    }
};

Love it!  Feel free to close this bad boy if the timing isn't right.

Thank you. I'll probably get to it over the weekend.


add missing fields to SOA

Closes #1282
Closes #1295

Coverage decreased (-0.4%) to 81.834% when pulling aa48192ddb815d55b74ccea8397b01c98ae12f5a on na3d:soa-record-changes into 75694de8aabd29bdd341369b32c38816245a8932 on linode:master.

Coverage decreased (-0.4%) to 81.839% when pulling a070e4c2e887ac2425470a1303ac53129217341b on na3d:soa-record-changes into 75694de8aabd29bdd341369b32c38816245a8932 on linode:master.

Coverage decreased (-0.7%) to 81.614% when pulling 9bedbe55b33a93e0ebbb16eec303ba76310b63f9 on na3d:soa-record-changes into 46eb5e1d6e1ba2ab31c1be0f9200a113f7d5d253 on linode:master.


bug: workspace (type) documentation is outdated

Describe the bug
Our docs at https://docs.kcp.io/kcp/v0.26/concepts/workspaces/ seem really really outdated:

The workspace type reference in the example YAML is no longer valid as far as I can say from the spec.
We don't document workspace type references at all, making it clear that they can be cross-workspaced AND require RBAC (see https://github.com/kcp-dev/kcp/blob/main/config/root/clusterrole-workspacetype-use.yaml for an example).
Do home workspaces even work the way they're documented? Are buckets still a thing? I don't seem to see a "full path" when I use a home workspace, just a logical cluster name.

Steps To Reproduce

Go to docs and try to make sense of them.

Expected Behaviour
Docs should reflect the current situation and document how to use things.
Additional Context
Slack thread reference.

/assign


Add logging to indicate when exceeding max ADV PDU data size

Description
Add logging when user attempts setting BT/BLE advertising data over the max ADV PDU data size, for our stack (BT/BLE v4.2). This mitigates issues like this.
Also increases default length for esp32 ble demos, so that if fully displays default device name in advertisement, instead of truncating it as it was.
Checklist:

[x] I have tested my changes. No regression in existing tests.
[x] My code is Linted.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/bot run checks


[hw/dv] Update Unr flow for Xcelium

The implemented flow in #10729 can be cleaned up as suggested by @rswarbrick

[ ] Generate command line in hjson, to avoid having the path to the output script in the make file
[ ] merge ´cov_unr_xcelium´ and ´cov_unr_vcs´ into ´cov_unr_${SIMULATOR}´

This looks like a cleanup item and is not of priority for Earlgrey-PROD. I am moving this to Backlog now. @rswarbrick if you think it's not needed anymore, we can also close the issue.


[BUG] [harvester IPAM load balancer] LB service included a space in the random string for its name

Tracking bug rancher/rancher#36956

I didn't notice this before and created the duplicated issue https://github.com/harvester/harvester/issues/2122. Close this one and track the bug by issue 2122.


Next changes

Prerequisites

[x] My Pull Request is filled against the next branch
[x] All commits in my Pull Request conform to Elegant Git commit Guidelines

Recommended Steps

[ ] My patch adds a new feature, therefore I have also added a help article about it
[ ] My patch changes Elegant behavior, therefore I have updated the help article to reflect this change
[x] My commits are signed

Description
Documentation fixes to address 308, 513 and 514.

:tada: This PR is included in version 5.2.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Delete redundant retry logic in multikueue controller

What would you like to be cleaned:
Multikueue controller sets AdmissionCheck to Pending after it was set to Retry. Workload controller already does, after the #3323
Why is this needed:
Cleanup

@PBundyra Will you work on this part of https://github.com/kubernetes-sigs/kueue/issues/3231?
Or separately?

@PBundyra Will you work on this part of #3231? Or separately?

I believe it should be approached separately

@PBundyra Will you work on this part of #3231? Or separately?

I believe it should be approached separately

That makes sense. In that case, you can focus on #3231, and anyone can help with this issue.

FYI I summarized the redundant code in the https://github.com/kubernetes-sigs/kueue/issues/3351#issuecomment-2444059575.

/assign


Small Time affects darkness on scenes where Darkness is set to not affect

Foundry 308, PF 5.4.0
On scenes where Darkness Control is set to OFF, changing the time resets the darkness level according to the hour.

My bad, conflict with internal support for darkness synchronization.


bevy-rust-gpu pipeline

Need to set up a shader crate and verify that rust-gpu-sdf can be compiled into SPIR-V.

On deeper workflow:
Since SDFs are heavily-nested rust types, it shouldn't be too hard to pass them across the bevy / shader workspace boundary in textual form via a new types param for permutate-macro. And since rust-gpu-sdf can be used in both, all manner of interesting CPU-side functionality could be implemented by extending SignedDistanceField with custom attributes.
A few ideas:

Bake SDFs into regular meshes for setups that don't take advantage of features like high-res curves or dynamic blending
Generate bevy entity hierarchy by splitting a SDF tree at Union nodes and letting the depth buffer handle composition
Generating bind group structure for injection during material specialization
Triangulate SDFs into shell meshes tighter first-intersection rasterization
Generate composite rapier colliders for an SDF type
Generate nested BVH from a SDF type


Transactions working on SVGNFT but fails on RandomSVG

Hey, I have been trying to follow the instruction mentioned in one of your tutorials  and I am unable to mint the random SVG.
I have set up the correct URLs and private key environment variables.

You can view the SVGNFT on Opensea here: https://testnets.opensea.io/collection/svg-nft-vtylbuyrlg
You can view the RandomSVG on Opensea here: https://testnets.opensea.io/collection/randomsvg-b7ehetxhj9

I am getting the following error:
`Let's wait for the Chainlink VRF node to respond...
Now let's finsih the mint...
An unexpected error occurred:
Error: ERROR processing /Users/raviagrawal/Work/NFT On Chain/all-on-chain-generated-nft/deploy/02_Deploy_RandomSVG.js:
Error: transaction failed (transactionHash="0xd7930b5bba305cdda3bfd8b998824caf54aad80414c2997880e95efabe42a833", transaction={"hash":"0xd7930b5bba305cdda3bfd8b998824caf54aad80414c2997880e95efabe42a833","type":2,"accessList":[],"blockHash":null,"blockNumber":null,"transactionIndex":null,"confirmations":0,"from":"0x9894ED3DD29241DB5229DD9E54FA6C8ABd044EE5","gasPrice":{"type":"BigNumber","hex":"0x69fc890b"},"maxPriorityFeePerGas":{"type":"BigNumber","hex":"0x59600ed7"},"maxFeePerGas":{"type":"BigNumber","hex":"0x69fc890b"},"gasLimit":{"type":"BigNumber","hex":"0x1e8480"},"to":"0xdCF351e91BBA51125FA871A93FAC873022D9E24e","value":{"type":"BigNumber","hex":"0x00"},"nonce":15,"data":"0x624194c70000000000000000000000000000000000000000000000000000000000000003","r":"0xa8a37caf2a32071c9824fae1bf5cee88b84896a8102944dff67cb9c21b64fe56","s":"0x349d07927fcf29df6c9a65684ed2a6ecc2d07ff50560b3a0f56aeaa588373edb","v":1,"creates":null,"chainId":4}, receipt={"to":"0xdCF351e91BBA51125FA871A93FAC873022D9E24e","from":"0x9894ED3DD29241DB5229DD9E54FA6C8ABd044EE5","contractAddress":null,"transactionIndex":36,"gasUsed":{"type":"BigNumber","hex":"0x5eba"},"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","blockHash":"0x47c5a77fc2b388222e59bb67b1714a807eb3ae88db544ad0652e26a301d479a7","transactionHash":"0xd7930b5bba305cdda3bfd8b998824caf54aad80414c2997880e95efabe42a833","logs":[],"blockNumber":10006270,"confirmations":1,"cumulativeGasUsed":{"type":"BigNumber","hex":"0x0122e634"},"effectiveGasPrice":{"type":"BigNumber","hex":"0x66800a43"},"status":0,"type":2,"byzantium":true}, code=CALL_EXCEPTION, version=providers/5.5.2)
at Logger.makeError (/Users/raviagrawal/Work/NFT On Chain/all-on-chain-generated-nft/node_modules/@ethersproject/logger/src.ts/index.ts:225:28)
at Logger.throwError (/Users/raviagrawal/Work/NFT On Chain/all-on-chain-generated-nft/node_modules/@ethersproject/logger/src.ts/index.ts:237:20)
at EthersProviderWrapper. (/Users/raviagrawal/Work/NFT On Chain/all-on-chain-generated-nft/node_modules/@ethersproject/providers/src.ts/base-provider.ts:1336:24)
at step (/Users/raviagrawal/Work/NFT On Chain/all-on-chain-generated-nft/node_modules/@ethersproject/providers/lib/base-provider.js:48:23)
at Object.next (/Users/raviagrawal/Work/NFT On Chain/all-on-chain-generated-nft/node_modules/@ethersproject/providers/lib/base-provider.js:29:53)
at fulfilled (/Users/raviagrawal/Work/NFT On Chain/all-on-chain-generated-nft/node_modules/@ethersproject/providers/lib/base-provider.js:20:58)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at DeploymentsManager.executeDeployScripts (/Users/raviagrawal/Work/NFT On Chain/all-on-chain-generated-nft/node_modules/hardhat-deploy/src/DeploymentsManager.ts:1014:19)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at DeploymentsManager.runDeploy (/Users/raviagrawal/Work/NFT On Chain/all-on-chain-generated-nft/node_modules/hardhat-deploy/src/DeploymentsManager.ts:849:5)
at Environment._runTaskDefinition (/Users/raviagrawal/Work/NFT On Chain/all-on-chain-generated-nft/node_modules/hardhat/src/internal/core/runtime-environment.ts:217:14)
at Environment.run (/Users/raviagrawal/Work/NFT On Chain/all-on-chain-generated-nft/node_modules/hardhat/src/internal/core/runtime-environment.ts:129:14)
at SimpleTaskDefinition.action (/Users/raviagrawal/Work/NFT On Chain/all-on-chain-generated-nft/node_modules/hardhat-deploy/src/index.ts:446:32)
at Environment._runTaskDefinition (/Users/raviagrawal/Work/NFT On Chain/all-on-chain-generated-nft/node_modules/hardhat/src/internal/core/runtime-environment.ts:217:14)
at Environment.run (/Users/raviagrawal/Work/NFT On Chain/all-on-chain-generated-nft/node_modules/hardhat/src/internal/core/runtime-environment.ts:129:14)
at SimpleTaskDefinition.action (/Users/raviagrawal/Work/NFT On Chain/all-on-chain-generated-nft/node_modules/hardhat-deploy/src/index.ts:521:5)
at Environment._runTaskDefinition (/Users/raviagrawal/Work/NFT On Chain/all-on-chain-generated-nft/node_modules/hardhat/src/internal/core/runtime-environment.ts:217:14)
`
On checking the transaction details on Etherscan
The error I see is: Fail with error 'ERC721URIStorage: URI query for nonexistent token'
I havent made any changes to the JS or the SOL files, so I assume, it must be passing the generated tokenID.
I am unable to understand what might be wrong here. Can someone please help?

You're calling finishMint, but you need to mint the token first... You might need to wait longer for the original transaction to go through. Could add a simple tx.wait() between transactions.

same issue `let { networkConfig, getNetworkIdFromName } = require('../helper-hardhat-config')
const fs = require('fs')
module.exports = async ({
getNamedAccounts,
deployments,
getChainId
}) => {
const { deploy, get, log } = deployments
const { deployer } = await getNamedAccounts()
const chainId = await getChainId()
let linkTokenAddress
let vrfCoordinatorAddress

if (chainId == 31337) {
    let linkToken = await get('LinkToken')
    let VRFCoordinatorMock = await get('VRFCoordinatorMock')
    linkTokenAddress = linkToken.address
    vrfCoordinatorAddress = VRFCoordinatorMock.address
    additionalMessage = " --linkaddress " + linkTokenAddress
} else {
    linkTokenAddress = networkConfig[chainId]['linkToken']
    vrfCoordinatorAddress = networkConfig[chainId]['vrfCoordinator']
}
const keyHash = networkConfig[chainId]['keyHash']
const fee = networkConfig[chainId]['fee']
args = [vrfCoordinatorAddress, linkTokenAddress, keyHash, fee]
console.log("----------------------------------------------------")
const RandomSVG = await deploy('Duel_NFTs', {
    from: deployer,
    args: args,
    log: true
})
console.log(`You have deployed an NFT contract to ${RandomSVG.address}`)
const networkName = networkConfig[chainId]['name']
console.log(`Verify with:\n npx hardhat verify --network ${networkName} ${RandomSVG.address} ${args.toString().replace(/,/g, " ")}`)
const RandomSVGContract = await ethers.getContractFactory("Duel_NFTs")
const accounts = await hre.ethers.getSigners()
const signer = accounts[0]
const randomSVG = new ethers.Contract(RandomSVG.address, RandomSVGContract.interface, signer)

// fund with LINK
let networkId = await getNetworkIdFromName(network.name)
const fundAmount = networkConfig[networkId]['fundAmount']
const linkTokenContract = await ethers.getContractFactory("LinkToken")
const linkToken = new ethers.Contract(linkTokenAddress, linkTokenContract.interface, signer)
let fund_tx = await linkToken.transfer(RandomSVG.address, fundAmount)
await fund_tx.wait(1)
// await new Promise(r => setTimeout(r, 5000))
console.log("Let's create an NFT now!")
tx = await randomSVG.openBooster_Yugi({ gasLimit: 300000 })
let receipt = await tx.wait(1)
let tokenId = receipt.events[3].topics[2]
console.log(`You've made your NFT! This is number ${tokenId}`)
console.log("Let's wait for the Chainlink VRF node to respond...")

await new Promise(r => setTimeout(r, 180000))
console.log(`Now let's finish the mint... (on chain)`)
tx = await randomSVG.finishMint(tokenId, { gasLimit: 2000000 })
await tx.wait(1)
console.log(`You can view the tokenURI here ${await randomSVG.tokenURI(0)}`)

}
module.exports.tags = ['all', 'rsvg']
`
here is my deploy.js

Error: ERROR processing D:\Projects\Dapps\nft_duel\deploy\deploy.js: Error: transaction failed (transactionHash="0x6095953a2ef18f0e4b508f1ec4d268453e5bcd87128951b8c965d1789c18270d", transaction={"hash":"0x6095953a2ef18f0e4b508f1ec4d268453e5bcd87128951b8c965d1789c18270d","type":2,"accessList":[],"blockHash":null,"blockNumber":null,"transactionIndex":null,"confirmations":0,"from":"0xa49d133457064fd5d1510700fcE56d24F3f0EeED","gasPrice":{"type":"BigNumber","hex":"0x77359414"},"maxPriorityFeePerGas":{"type":"BigNumber","hex":"0x77359400"},"maxFeePerGas":{"type":"BigNumber","hex":"0x77359414"},"gasLimit":{"type":"BigNumber","hex":"0x1e8480"},"to":"0x11fd6f29dB00f13dF945d4565a8e3Ca8F06beCAd","value":{"type":"BigNumber","hex":"0x00"},"nonce":59,"data":"0x624194c70000000000000000000000000000000000000000000000000000000000000001","r":"0x26f9a28e2eb504666c91020569c3be749cfaa0f3133d1c7c917b774bb44ca656","s":"0x7daf9e0273d4f8a79350a52f68324df70b5a3870fe50c0af26da3ceb51298926","v":0,"creates":null,"chainId":4}, receipt={"to":"0x11fd6f29dB00f13dF945d4565a8e3Ca8F06beCAd","from":"0xa49d133457064fd5d1510700fcE56d24F3f0EeED","contractAddress":null,"transactionIndex":18,"gasUsed":{"type":"BigNumber","hex":"0x5e70"},"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","blockHash":"0x56621732cb981e54fafba8887af63b42e7ab38e1747e4cd6e9dbc4d6bc8213a2","transactionHash":"0x6095953a2ef18f0e4b508f1ec4d268453e5bcd87128951b8c965d1789c18270d","logs":[],"blockNumber":10012550,"confirmations":1,"cumulativeGasUsed":{"type":"BigNumber","hex":"0xa4fd2d"},"effectiveGasPrice":{"type":"BigNumber","hex":"0x77359410"},"status":0,"type":2,"byzantium":true}, code=CALL_EXCEPTION, version=providers/5.5.2)     at Logger.makeError (D:\Projects\Dapps\nft_duel\node_modules\@ethersproject\logger\src.ts\index.ts:225:28)     at Logger.throwError (D:\Projects\Dapps\nft_duel\node_modules\@ethersproject\logger\src.ts\index.ts:237:20)     at EthersProviderWrapper.<anonymous> (D:\Projects\Dapps\nft_duel\node_modules\@ethersproject\providers\src.ts\base-provider.ts:1336:24)     at step (D:\Projects\Dapps\nft_duel\node_modules\@ethersproject\providers\lib\base-provider.js:48:23)     at Object.next (D:\Projects\Dapps\nft_duel\node_modules\@ethersproject\providers\lib\base-provider.js:29:53)     at fulfilled (D:\Projects\Dapps\nft_duel\node_modules\@ethersproject\providers\lib\base-provider.js:20:58)     at DeploymentsManager.executeDeployScripts (D:\Projects\Dapps\nft_duel\node_modules\hardhat-deploy\src\DeploymentsManager.ts:1232:19)     at DeploymentsManager.runDeploy (D:\Projects\Dapps\nft_duel\node_modules\hardhat-deploy\src\DeploymentsManager.ts:1062:5)     at SimpleTaskDefinition.action (D:\Projects\Dapps\nft_duel\node_modules\hardhat-deploy\src\index.ts:409:5)     at Environment._runTaskDefinition (D:\Projects\Dapps\nft_duel\node_modules\hardhat\src\internal\core\runtime-environment.ts:217:14)     at Environment.run (D:\Projects\Dapps\nft_duel\node_modules\hardhat\src\internal\core\runtime-environment.ts:129:14)     at SimpleTaskDefinition.action (D:\Projects\Dapps\nft_duel\node_modules\hardhat-deploy\src\index.ts:555:32)     at Environment._runTaskDefinition (D:\Projects\Dapps\nft_duel\node_modules\hardhat\src\internal\core\runtime-environment.ts:217:14)     at Environment.run (D:\Projects\Dapps\nft_duel\node_modules\hardhat\src\internal\core\runtime-environment.ts:129:14)     at SimpleTaskDefinition.action (D:\Projects\Dapps\nft_duel\node_modules\hardhat-deploy\src\index.ts:640:5)     at Environment._runTaskDefinition (D:\Projects\Dapps\nft_duel\node_modules\hardhat\src\internal\core\runtime-environment.ts:217:14)
Error is likely the same

Error is the same. I am trying by increasing the timeout limit to 360000 instead of 180000.
However, as per @PatrickAlphaC's suggestion, we need to add a tx.wait() somewhere.
However, I have a query. The finish_tx is being initialized after the timeout.
So while processing, the time will run out, then the finish_tx would be initialized and a transaction would be created.
Post which there is anyway a finish_tx.wait(1)
So, still confused about where to wait. @PatrickAlphaC Would you please be so kind to help us out?

Update: So I put a wait time of 50 mins instead of 3 minutes and the mint was successful.
While working on the ehtereum mainnet, how would we know what time frame is right?

Yikes... Thats a long time.
Ideally we just listen for the event instead of the "dumb" wait. That would be the next improvement to this repo. That way you never have to guess. Will close this for now, but would love to see someone add that...

Hey Patrick, I was trying to debug this better and understand if even waiting for the event would solve this. So I did the following things:

Defined a global variable in solidity — isRandomNumberAvailable along with getter and setter methods. The setter method is only called in fulfillRandomness.
In the deploy script, instead of waiting for 3 mins or 50 mins, I started polling this function as a workaround for the event listener so I could debug more granularly.
I understood that randomNumber could be set to 0 from Chainlink VRF, then it is assigned a value.

`
Chainlink Loop No: 41
Chainlink Loop No: 42
Chainlink Loop No: 43
Chainlink Loop No: 44
RandomNumber for token ID: 0x0000000000000000000000000000000000000000000000000000000000000001is 0
Chainlink Loop No: 45
RandomNumber for token ID: 0x0000000000000000000000000000000000000000000000000000000000000001is 0
Chainlink Loop No: 46
RandomNumber for token ID: 0x0000000000000000000000000000000000000000000000000000000000000001is 0
Chainlink Loop No: 47
RandomNumber for token ID: 0x0000000000000000000000000000000000000000000000000000000000000001is<PHONE_NUMBER>8208692960995938654514283952044381582290496409877110548879264498308
========Finishing Minting SVG==========
`
Each loop number is a 30 second poll. So sometimes, the randomnumber is assigned within 28 loops, sometimes 50. This could be replaced with an event watcher. I will do that. However, the transaction still failed after the randomNumber was available. Here are a few errors I ran into. I shall try to understand each one of them, but the ones that still boggles me is the error output below:
`Random Number:<PHONE_NUMBER>2816311227596533905343866662236909673002470801314673367413233837750
An unexpected error occurred:
Error: ERROR processing /Users/raviagrawal/Work/NFT On Chain/trial-01/deploy/02_deploy_randomSVG.js:
Error: transaction failed (transactionHash="0x5b4247144eb0d595276151d819d0a90339a8defa244dae8835468f4b56614c27", transaction={"hash":"0x5b4247144eb0d595276151d819d0a90339a8defa244dae8835468f4b56614c27","type":2,"accessList":[],"blockHash":null,"blockNumber":null,"transactionIndex":null,"confirmations":0,"from":"0x9894ED3DD29241DB5229DD9E54FA6C8ABd044EE5","gasPrice":{"type":"BigNumber","hex":"0x9502f912"},"maxPriorityFeePerGas":{"type":"BigNumber","hex":"0x9502f900"},"maxFeePerGas":{"type":"BigNumber","hex":"0x9502f912"},"gasLimit":{"type":"BigNumber","hex":"0x1e8480"},"to":"0xdE587d44ADDf51B6F0661B30a46c7aA4c033641F","value":{"type":"BigNumber","hex":"0x00"},"nonce":177,"data":"0x624194c70000000000000000000000000000000000000000000000000000000000000001","r":"0x24099a1e07947337194241330f16ba9db1fb89792908e09943079a1eebe7b906","s":"0x2c8bb01265794b5ee8c6d8c1f29601e5fcf856e215a6f479d513f4da78b17f45","v":1,"creates":null,"chainId":4}, receipt={"to":"0xdE587d44ADDf51B6F0661B30a46c7aA4c033641F","from":"0x9894ED3DD29241DB5229DD9E54FA6C8ABd044EE5","contractAddress":null,"transactionIndex":11,"gasUsed":{"type":"BigNumber","hex":"0x1e8480"},"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","blockHash":"0xac51f1365ec9acc55f79f8b82704e04ca8be5c2c69df5045aaceeab04be26c49","transactionHash":"0x5b4247144eb0d595276151d819d0a90339a8defa244dae8835468f4b56614c27","logs":[],"blockNumber":10035321,"confirmations":1,"cumulativeGasUsed":{"type":"BigNumber","hex":"0x2efad6"},"effectiveGasPrice":{"type":"BigNumber","hex":"0x9502f90f"},"status":0,"type":2,"byzantium":true}, code=CALL_EXCEPTION, version=providers/5.5.2)
`
On verifying on Rinkeby etherscan — I can see the same error — Fail with error 'ERC721URIStorage: URI query for nonexistent token.
Weird thing is — the success rate of the application after implementing the while loop for checking validity of randomNumber has increased. But it is still very hideous as to why is the transaction failing now. It breaks while calling the finish_tx.wait(1) function.
Should we wait for the event here as well and then do a wait?
My question is — implementing these while loops — will it increase the gas price when the contract runs on the mainnet?
Apologies for so many questions — but I shall be really grateful if you could take sometime to go through my query.

Should we wait for the event here as well and then do a "finish_tx.wait(1)"?
Yes

My question is — implementing these while loops — will it increase the gas price when the contract runs on the mainnet?
Yes. Adding any data (even a boolean flag) and doing any computation (changing the boolean flag) on-chain will increase gas price.

Hopefully that helps.

I am also getting the same error however it happens when waiting for the randomSVG.create() function to complete. I have a tx.wait(1) as suggested yet still receiving the same error. Deploying SVG works successfully on rinkeby. The rinkeby eter does not reveal much either

Error: ERROR processing C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\deploy\02_deploy_randomSVG.js:
Error: transaction failed (transactionHash="0xe40a797055ade03893ed76fcbd1f51e7cbff44b457be2c442014af0d5eda6cac", transaction={"hash":"0xe40a797055ade03893ed76fcbd1f51e7cbff44b457be2c442014af0d5eda6cac","type":2,"accessList":[],"blockHash":null,"blockNumber":null,"transactionIndex":null,"confirmations":0,"from":"0x67cF969cD864E915E45d84eD416053148B61C6AE","gasPrice":{"type":"BigNumber","hex":"0x3b9aca1d"},"maxPriorityFeePerGas":{"type":"BigNumber","hex":"0x3b9aca11"},"maxFeePerGas":{"type":"BigNumber","hex":"0x3b9aca1d"},"gasLimit":{"type":"BigNumber","hex":"0x98967f"},"to":"0xb7402F1527bBF603018A21ee46194D3Ebc940890","value":{"type":"BigNumber","hex":"0x00"},"nonce":47,"data":"0xefc81a8c","r":"0x7e02bdbe9ec497f542c096752b123460288ab2bc6fece599d470f77e7809b2dd","s":"0x676a56f0d924fa15e5bed21b3c8df262faac36224643e3b3af2e4d9e64f3300f","v":1,"creates":null,"chainId":4}, receipt={"to":"0xb7402F1527bBF603018A21ee46194D3Ebc940890","from":"0x67cF969cD864E915E45d84eD416053148B61C6AE","contractAddress":null,"transactionIndex":23,"gasUsed":{"type":"BigNumber","hex":"0xcb9c"},"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","blockHash":"0x71e2fa49c8281e0bf27c4d47f525718dfc0f72356cbd94a2e16436d28e88e7e2","transactionHash":"0xe40a797055ade03893ed76fcbd1f51e7cbff44b457be2c442014af0d5eda6cac","logs":[],"blockNumber":10302431,"confirmations":1,"cumulativeGasUsed":{"type":"BigNumber","hex":"0x3fe15d"},"effectiveGasPrice":{"type":"BigNumber","hex":"0x3b9aca1b"},"status":0,"type":2,"byzantium":true}, code=CALL_EXCEPTION, version=providers/5.5.3)
    at Logger.makeError (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\@ethersproject\logger\src.ts\index.ts:225:28)
    at Logger.throwError (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\@ethersproject\logger\src.ts\index.ts:237:20)
    at EthersProviderWrapper.<anonymous> (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\@ethersproject\providers\src.ts\base-provider.ts:1352:24)
    at step (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\@ethersproject\providers\lib\base-provider.js:48:23)
    at Object.next (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\@ethersproject\providers\lib\base-provider.js:29:53)
    at fulfilled (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\@ethersproject\providers\lib\base-provider.js:20:58)
    at DeploymentsManager.executeDeployScripts (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\hardhat-deploy\src\DeploymentsManager.ts:1223:19)
    at DeploymentsManager.runDeploy (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\hardhat-deploy\src\DeploymentsManager.ts:1053:5)
    at SimpleTaskDefinition.action (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\hardhat-deploy\src\index.ts:422:5)
    at Environment._runTaskDefinition (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\hardhat\src\internal\core\runtime-environment.ts:217:14)
    at Environment.run (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\hardhat\src\internal\core\runtime-environment.ts:129:14)
    at SimpleTaskDefinition.action (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\hardhat-deploy\src\index.ts:568:32)
    at Environment._runTaskDefinition (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\hardhat\src\internal\core\runtime-environment.ts:217:14)
    at Environment.run (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\hardhat\src\internal\core\runtime-environment.ts:129:14)
    at SimpleTaskDefinition.action (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\hardhat-deploy\src\index.ts:653:5)
    at Environment._runTaskDefinition (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\hardhat\src\internal\core\runtime-environment.ts:217:14)

harri@DESKTOP-01G6233 MINGW64 ~/Desktop/SideProj/Prophecy/Prophecy-Smart-Contract
$ npx hardhat deploy --network rinkeby --tags rsvg
Compiled 1 Solidity file successfully
---------------------------------
deploying "RandomSVG" (tx: 0x0513be012626dc4f663e76dbce4e054b5e9e611c2ddbcc77ab6ef7478c8734a5)...: deployed at 0xaC130C6ECa213451b0eeEbAe74Dfc6BbAC840382 with 4547588 gas
You have deployed your NFT contract!
Verify with:
 npx hardhat verify --network rinkeby 0xaC130C6ECa213451b0eeEbAe74Dfc6BbAC840382 0x6168499c0cFfCaCD319c818142124B7A15E857ab 0x01BE23585060835E02B77ef475b0Cc51aA1e0709 0xd89b2bf150e3b9e13446986e571fb9cab24b13cea0a43ea20a6049a85cc807cc<PHONE_NUMBER>00000000
linkTokenContract
accounts
Duplicate definition of Transfer (Transfer(address,address,uint256,bytes), Transfer(address,address,uint256))
fund_tx
creation_tx
An unexpected error occurred:

Error: ERROR processing C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\deploy\02_deploy_randomSVG.js:
Error: transaction failed (transactionHash="0x020c88c9742991bb8c93d018daa153ce6916916d8fd726c9adce30240da0f2e2", transaction={"hash":"0x020c88c9742991bb8c93d018daa153ce6916916d8fd726c9adce30240da0f2e2","type":2,"accessList":[],"blockHash":null,"blockNumber":null,"transactionIndex":null,"confirmations":0,"from":"0x67cF969cD864E915E45d84eD416053148B61C6AE","gasPrice":{"type":"BigNumber","hex":"0x59682f0b"},"maxPriorityFeePerGas":{"type":"BigNumber","hex":"0x59682f00"},"maxFeePerGas":{"type":"BigNumber","hex":"0x59682f0b"},"gasLimit":{"type":"BigNumber","hex":"0x98967f"},"to":"0xaC130C6ECa213451b0eeEbAe74Dfc6BbAC840382","value":{"type":"BigNumber","hex":"0x00"},"nonce":50,"data":"0xefc81a8c","r":"0x02bad9fdecc258b0d4435792528e50eff08489ae6171a989f71b6bab4c613923","s":"0x6ed9b5942dff55b78b7fcb0c0fae10d475518b9b839af858fa9fcd9badef298b","v":1,"creates":null,"chainId":4}, receipt={"to":"0xaC130C6ECa213451b0eeEbAe74Dfc6BbAC840382","from":"0x67cF969cD864E915E45d84eD416053148B61C6AE","contractAddress":null,"transactionIndex":40,"gasUsed":{"type":"BigNumber","hex":"0xd8e6"},"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","blockHash":"0x5ea44c88f90f0bf79f91570c57648b694ec9af1f0183055b4dc5c7bc6a277cb7","transactionHash":"0x020c88c9742991bb8c93d018daa153ce6916916d8fd726c9adce30240da0f2e2","logs":[],"blockNumber":10302445,"confirmations":1,"cumulativeGasUsed":{"type":"BigNumber","hex":"0x218ee3"},"effectiveGasPrice":{"type":"BigNumber","hex":"0x59682f09"},"status":0,"type":2,"byzantium":true}, code=CALL_EXCEPTION, version=providers/5.5.3)
    at Logger.makeError (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\@ethersproject\logger\src.ts\index.ts:225:28)
    at Logger.throwError (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\@ethersproject\logger\src.ts\index.ts:237:20)
    at EthersProviderWrapper.<anonymous> (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\@ethersproject\providers\src.ts\base-provider.ts:1352:24)
    at step (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\@ethersproject\providers\lib\base-provider.js:48:23)
    at Object.next (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\@ethersproject\providers\lib\base-provider.js:29:53)
    at fulfilled (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\@ethersproject\providers\lib\base-provider.js:20:58)
    at runNextTicks (node:internal/process/task_queues:61:5)
    at processTimers (node:internal/timers:497:9)
    at DeploymentsManager.executeDeployScripts (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\hardhat-deploy\src\DeploymentsManager.ts:1223:19)
    at runNextTicks (node:internal/process/task_queues:61:5)
    at processTimers (node:internal/timers:497:9)
    at DeploymentsManager.runDeploy (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\hardhat-deploy\src\DeploymentsManager.ts:1053:5)
    at SimpleTaskDefinition.action (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\hardhat-deploy\src\index.ts:422:5)
    at Environment._runTaskDefinition (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\hardhat\src\internal\core\runtime-environment.ts:217:14)
    at Environment.run (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\hardhat\src\internal\core\runtime-environment.ts:129:14)
    at SimpleTaskDefinition.action (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\hardhat-deploy\src\index.ts:568:32)
    at Environment._runTaskDefinition (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\hardhat\src\internal\core\runtime-environment.ts:217:14)
    at Environment.run (C:\Users\harri\Desktop\SideProj\Prophecy\Prophecy-Smart-Contract\node_modules\hardhat\src\internal\core\runtime-environment.ts:129:14)

I just pushed a new commit. Could you git pull and try again?


Delegate drag to remaining finger after pinch or support multi-finger drag

Describe the bug
Suppose you start dragging a box. The gesture has only one finger initially. Then you use a second finger to start pinching. Although you're using 2 fingers, it's the first one who's responsible for the drag, so if you stop pinching by removing the second finger (and keep moving the first one), the drag will continue happening, but if instead you stop pinching by removing the first finger (and keep moving the second one), your attempt to keep dragging will be ignored.
It's a bit strange because my intuition says I should be able to keep dragging regardless of which finger I removed from the screen after a pinch.
I think it would be nice if the second finger automatically assumed the drag, or a new drag was automatically started with the finger that remained on the screen.
Ideally though, I'd like multi-finger drags to be supported. I'm replacing a custom gesture implementation with @use-gesture/react. In my implementation I would calculate the drag with the midpoint of all fingers touching the screen, so all of them would contribute to the drag. Isn't that something @use-gesture could also do? It feels much better. At least my intuition says all my fingers should contribute. I don't intuitively think the whole drag should be performed by a single finger if I'm touching the screen with 2 or more.
P.S.: thanks for this awesome lib.
Information:

Use Gesture version: 10.2.27
Device: iPhone XR
OS: iOS 16
Browser: Safari

Checklist:

[x] I've read the documentation.
[x] If this is an issue with drag, I've tried setting touch-action: none to the draggable element.

Hey, thanks for the comment. Let me think about it.

Here's the implementation that I mentioned: https://gist.github.com/gustavopch/adcbe559eaa1efaeb42f2a81120536e1
As long as there's at least 1 finger on the screen, it considers a drag to be happening and calculates the midpoint between all fingers to determine the movement. You can see the delta is calculated as the difference between the current midpoint and previous midpoint. Of course, when you add or remove a finger, the midpoint abruptly changes, but we know it's not because of a real, intentional movement. So whenever the quantity of fingers change, the previous midpoint is reset to null, forcing the delta to be zero instead of generating an abrupt delta.
    if (events[0].buttons === 1) {
      // ...

      const midPointX =
        events.reduce((value, event) => {
          return value + event.pageX
        }, 0) / events.length

      const midPointY =
        events.reduce((value, event) => {
          return value + event.pageY
        }, 0) / events.length

      if (events.length !== prevEvents.length) {
        prevMidPointX = null
        prevMidPointY = null
      }

      if (prevMidPointX != null && prevMidPointY != null) {
        delta.panX += midPointX - prevMidPointX
        delta.panY += midPointY - prevMidPointY
      }

This is nowhere near the complexity of @use-gesture, but I hope it can illustrate what's on my mind.

westures is a good reference. It works exactly how I want, as described in its README:

Westures is a robust multitouch gesture engine for JavaScript. Each gesture is capable of working seamlessly as touch points are added and removed, with no limit on the number of touch points, and with each touch point contributing to the gesture.

Yeah sorry. I really don't have time for OSS atm but westures is indeed super interesting and possibly a more solid gesture engine than what use-gesture is relying on.

No problem. BTW, their whole code is about ~900 LoC (not considering comment lines). Quite impressive indeed.


Wrong badgeUrl when rootPath is not empty in the page of repo badge settings

Component
web-ui
Describe the bug
When rootPath is not empty the badge image src link is wrong in the page of repo badge settings.
System Info
{
    "source": "https://github.com/woodpecker-ci/woodpecker",
    "version": "2.1.0"
}

Additional context

Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Checked that the bug isn't fixed in the next version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]
[X] Check that this is a concrete bug. For Q&A join our Discord Chat Server or the Matrix room.

Cause another problem that needs to be fixed again.


Issue with VK_KHR_depth_stencil_resolve

I have been using VK_KHR_depth_stencil_resolve with success on my Intel and Nvidia machines, but across two windows machines now I am getting an access violation issue within amdvlk64.dll.
Callstack within amdvlk64.dll is:
>	amdvlk64.dll!00007ff9c519c8f5()	Unknown
 	amdvlk64.dll!00007ff9c519cf49()	Unknown

Some vulkaninfo snippets
VkPhysicalDeviceProperties:
---------------------------
        apiVersion     = 4202627 (1.2.131)
        driverVersion  = 8388735 (0x80007f)
        vendorID       = 0x1002
        deviceID       = 0x687f
        deviceType     = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
        deviceName     = Radeon RX Vega

VkPhysicalDeviceDriverProperties:
---------------------------------
        driverID           = DRIVER_ID_AMD_PROPRIETARY
        driverName         = AMD proprietary driver
        driverInfo         = 20.2.1
        conformanceVersion = <IP_ADDRESS>
VkPhysicalDeviceDepthStencilResolveProperties:
----------------------------------------------
        supportedDepthResolveModes:
                RESOLVE_MODE_SAMPLE_ZERO_BIT
                RESOLVE_MODE_MIN_BIT
                RESOLVE_MODE_MAX_BIT
        supportedStencilResolveModes:
                RESOLVE_MODE_SAMPLE_ZERO_BIT
                RESOLVE_MODE_MIN_BIT
                RESOLVE_MODE_MAX_BIT
        independentResolveNone = true
        independentResolve     = true

Upon further reverse engineering of the offending amdvlk64.dll assembly I have found that it is trying to iterate the pDepthStencilResolveAttachment field of VkSubpassDescriptionDepthStencilResolve when it should only be de-referencing a single one, causing the crash when trying to dereference any index other than 0.
https://khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSubpassDescriptionDepthStencilResolve.html
// r11 seems to be the "index"
00007FF9C519C8CE  mov         rax,r11
// rax = r11 * 32, aka r11 * sizeof(VkAttachmentReference2)
00007FF9C519C8D1  shl         rax,5
00007FF9C519C8D5  add         rax,qword ptr [rcx+18h]
// rcx is VkSubpassDescriptionDepthStencilResolveKHR

// The above three instructions are the equivalent of:
// VkSubpassDescriptionDepthStencilResolveKHR myDepthStencilResolve
// myDepthStencilResolve.pDepthStencilResolveAttachment[r11]
---
00007FF9C519C8D9  mov         edx,dword ptr [rax+10h]
00007FF9C519C8DC  mov         dword ptr [r8+58h],edx
00007FF9C519C8E0  mov         edx,dword ptr [rax+14h]
00007FF9C519C8E3  mov         dword ptr [r8+5Ch],edx
00007FF9C519C8E7  mov         edx,dword ptr [rax+18h]
00007FF9C519C8EA  mov         dword ptr [r8+64h],edx
00007FF9C519C8EE  mov         edx,dword ptr [rax+14h]
00007FF9C519C8F1  mov         dword ptr [r8+60h],edx
// At this point, rdx is full of garbage(or 0xCC, in MSVC debug mode), and is writing garbage to r8's offsets
---
00007FF9C519C8F5  cmp         dword ptr [rax],3B9E7769h  << 💥💥💥 crashes here
// Tests the "sType" field for
//<PHONE_NUMBER>(VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_STENCIL_LAYOUT)

This is isolated code causing the issue.
		vk::AttachmentReference2 depthResolveAttachmentRef = { 7, vk::ImageLayout::eDepthStencilAttachmentOptimal, vk::ImageAspectFlagBits::eDepth | vk::ImageAspectFlagBits::eStencil };

		vk::SubpassDescriptionDepthStencilResolveKHR depthStencilResolveInfo = {};
		depthStencilResolveInfo.depthResolveMode = vk::ResolveModeFlagBitsKHR::eSampleZero;
		depthStencilResolveInfo.stencilResolveMode = vk::ResolveModeFlagBitsKHR::eSampleZero;
		depthStencilResolveInfo.pDepthStencilResolveAttachment = &depthResolveAttachmentRef;
...
subpass.pNext = &depthStencilResolveInfo; // Removing this pNext removes the crash, but also depth/stencil resolving

Which works fine on Nvidia and Intel
The AMD-only "Fix" would be something silly like this, which gets the code running and with no validation errors, but with some pretty chaotic visual issues where the resolved depth/stencil texture is used.
I have 6-color attachments in this particular instance, and the bypass requires me to have pDepthStencilResolveAttachment point to 6 redundant depth-resolve attachment references due to the fact that it iterates this variable rather than referencing it once.
		vk::AttachmentReference2 depthResolveAttachmentRef[] = {
			{ 7, vk::ImageLayout::eDepthStencilAttachmentOptimal, vk::ImageAspectFlagBits::eDepth | vk::ImageAspectFlagBits::eStencil },
			{ 7, vk::ImageLayout::eDepthStencilAttachmentOptimal, vk::ImageAspectFlagBits::eDepth | vk::ImageAspectFlagBits::eStencil },
			{ 7, vk::ImageLayout::eDepthStencilAttachmentOptimal, vk::ImageAspectFlagBits::eDepth | vk::ImageAspectFlagBits::eStencil },
			{ 7, vk::ImageLayout::eDepthStencilAttachmentOptimal, vk::ImageAspectFlagBits::eDepth | vk::ImageAspectFlagBits::eStencil },
			{ 7, vk::ImageLayout::eDepthStencilAttachmentOptimal, vk::ImageAspectFlagBits::eDepth | vk::ImageAspectFlagBits::eStencil },
			{ 7, vk::ImageLayout::eDepthStencilAttachmentOptimal, vk::ImageAspectFlagBits::eDepth | vk::ImageAspectFlagBits::eStencil },
		};

		vk::SubpassDescriptionDepthStencilResolveKHR depthStencilResolveInfo = {};
		depthStencilResolveInfo.depthResolveMode = vk::ResolveModeFlagBitsKHR::eSampleZero;
		depthStencilResolveInfo.stencilResolveMode = vk::ResolveModeFlagBitsKHR::eSampleZero;
		depthStencilResolveInfo.pDepthStencilResolveAttachment = depthResolveAttachmentRef;

Any updates on this? The issue is still consistent and even the most latest driver and Vulkan 1.2 specification states that it will only be reading a single VkAttachmentReference2 from the pointer given, not colorAttachmentCount.
https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkSubpassDescriptionDepthStencilResolve.html

If pDepthStencilResolveAttachment is not NULL, pDepthStencilResolveAttachment must be a valid pointer to a valid VkAttachmentReference2 structure

I tested some CTS cases about this with AMDVLK on Linux.

~/amdvlk/VulkanCTS_lnx_dev_63ad_0327$ ./deqp-vk -n dEQP-VK.renderpass2.depth_stencil_resolve*
Test run totals:
Passed:        4645/16633 (27.9%)
Failed:        0/16633 (0.0%)
Not supported: 11988/16633 (72.1%)
Warnings:      0/16633 (0.0%)
Waived:        0/16633 (0.0%)

It seems no failure.
Could you give your test sample soure code for more check on this issue, please?
BTW, below is a tipcal trace log about  DepthStencilResolveAttachment.
 pNext:                          VkSubpassDescriptionDepthStencilResolve = 0x7ffe1d438830:
     sType:                          VkStructureType = VK_STRUCTURE_TYPE_SUBPASS_DESCRIPTION_DEPTH_STENCIL_RESOLVE<PHONE_NUMBER>)
     pNext:                          const void* = NULL
     depthResolveMode:               VkResolveModeFlagBits = 8 (VK_RESOLVE_MODE_MAX_BIT)
     stencilResolveMode:             VkResolveModeFlagBits = 1 (VK_RESOLVE_MODE_SAMPLE_ZERO_BIT)
     pDepthStencilResolveAttachment: const VkAttachmentReference2* = 0x7ffe1d438810:
         sType:                          VkStructureType = VK_STRUCTURE_TYPE_ATTACHMENT_REFERENCE_2<PHONE_NUMBER>)
         pNext:                          const void* = NULL
         attachment:                     uint32_t = 1
         layout:                         VkImageLayout = VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL (3)
         aspectMask:                     VkImageAspectFlags = 6 (VK_IMAGE_ASPECT_DEPTH_BIT | VK_IMAGE_ASPECT_STENCIL_BIT)

The codebase has steered away from using MSAA at all due to this bug so I do not have a minimal test case of this issue anymore in the original context but I can likely repurpose a pre-existing sample project to contain and recreate the issue again.
This issue in particular is due to the number of color attachments causing pDepthStencilResolveAttachment to dereference multiple structures rather than just the one. Not sure if your test cases are recreating the original situation.

I have no idea about the behavior of the driver when using an array of VkAttachmentReference2 here, it is not aligned with spec.
I had a try to modify the CTS source code to verify it.

The modified test seems no crash.
We can do more tracing on your original source code.
BTW, I think we should align with spec.