Support for Turso (libsql)

What do you want to change?
I would love native support for libsql that is a fork of sqlite.
I've had some problems with the sqlite engine not working as expected, so I've had to use mysql which is not optimal for my usecase.
I get this error based on the queries file bellow.
error generating code: source error: 72:49: expected ')', found `name`

user.sql
-- name: CreateUser :execresult
insert into `user` (`name`, `age`) values (?, ?);

-- name: GetUser :one
select * from `user` where `name` = ?; # bad
select * from `user` where `name` = :name; # good, use of named param
select * from `user` where `name` = ? and `age` = ?; # good, use of multiple...

user_table.sql
create table if not exists `user` (
    `id` integer primary key,
    `name` text not null,
    `age` integer not null
);

See now that this is sorta a feature request and bug report, hope that's alright.
I'm using Go.
What database engines need to be changed?
SQLite
What programming language backends need to be changed?
No response

Making this a bug report instead, hence closing this.


[TC-IDM-10-2] Failed in unexpected situation

Describe the bug
I'm using a DUT that supports the WiFi feature, so I selected the WiFi feature in the PICS file. However, I'm facing a strange issue: 'Problem: Required feature with mask 0x01 is not present in the feature map. Conformance: WI, implemented features: WI.
Please find attached logs and PICS file
Steps to reproduce the behavior

Commission Wifi supported DUT and execute TC_10_2

Expected behavior
It should pass because  correct PICS element is selected.
Log files
TC_IDM_10_2_esp32c3.log
TC_IDM_10_2_TH_2024_08_16_10_36_11 (1).log
PICS file
Network Commissioning Cluster Test Plan.zip
Screenshots

Environment
TH Version:  v2.11-beta2+fall2024
Additional Information
have read the feature map of the firmware that I used and attached the logs in the log file. You can check this for confirmation.

Hi @cecille could you please take a look at this?

This isn't PICS related, it's happening because the data model "source of truth" contains features that are not slated for inclusion in 1.4, but none the less appear in the scrape because I didn't have a definitive list before the test event started, so we're going off spec master.
But also, the error message has a typo, which doesn't help the situation.
Typo in the error message fixed here: https://github.com/project-chip/connectedhomeip/pull/35044
The data model XML scrape is something that's on the docket to address before SVE. The hope is that we'll have a better handle on what's in and what's out by SVE timeframe. Sorry about that - the feature list was heavily in flux, so we did what we could. For reference - it's the PDC feature from hrap that it's actually complaining about. See https://github.com/CHIP-Specifications/connectedhomeip-spec/blob/master/src/service_device_management/NetworkCommissioningCluster.adoc?plain=1#L140

Seems originator has lost interest. Please reopen if you are still facing the problem.


Werewolves shake when standing still

Type
GPU
Operating System
Windows
OS Version
Windows 10
Bug description
Werewolves in the GWD noticeably shake only when standing still. Just noticed it when doing a task in the GWD. Unsure if werewolves at other locations have the same issue but they probably do.
Screenshots or videos

RuneLite version
Runelite Version: 1.8.30
Launcher Version: 2.3.0
Logs
No response

...can you submit a video of this? A screenshot isn't going to show this happening.

Yeah, sorry about that. Here you go. Also it seems to be an issue specifically with animation smoothing as the issue stops when the plugin is turned of
https://user-images.githubusercontent.com/49293460/183559634-8bf04ffc-e95e-4c46-9543-13c6086fcffe.mp4

This appears to have been a Jagex bug, and was fixed in today's update:

Werewolves are now less jittery.


table wait

Is r.table('foo').wait() supported?
I don't seem to get a response for this. RethinkDB docs reference.
Looks like there was a api change in 2.3.x. Would have to wait for Reqlite to bump to 2.3.x support? The Readme says it supports 2.2.

Hum it looks like I just missed it.
The test coverage.js missed it too because it got confused with INDEX_WAIT.

👍


Astro with Tailwind strips away custom class with arbitrary values

Great package thx!
Describe the bug
When using custom tailwind classes with arbitrary value (eg. in my case grid-rows-[306px,minmax(auto,1fr)]) the css is purged and the class doesn't end up in the final bundle
To Reproduce
Steps to reproduce the behavior:

Install the project on a regular astro project and tailwindcss 3^
Add the astro-purge plugin
Add a tailwind class like grid-rows-[306px,minmax(auto,1fr)] to a div
In dev mode, everything's fine
Make a production build
Serve the dist folder (eg. npx serve dist)
See how the class is still in the dom but was striped from the css

Expected behavior
I expect a grid-rows-[306px,minmax(auto,1fr)] to still be present in the CSS file and apply to the element with the class on it.
Screenshots
See how the DOM element has the class but no style definition exists for this class

Additional context
I'm seeing warnings in my Lighthouse reports that there is unused CSS. I do not use any (or barely) regular CSS ans solely use tailwind utility classes to style my website. I assumed that the JIT compiler of Tailwind would take care of bundling only the CSS I needed. It didn't this is why I turned to this package in the hope to get rid of most unused CSS. And this is where I encountered the bug.

BTW. This also happens with utility classes such as @container and container based classes such as @xl:text-red

hey @vogelino You have 2 options

Add your classes to the safe list https://v2.tailwindcss.com/docs/optimizing-for-production#safelisting-specific-classes
Specify an extractor for tailwind: https://v2.tailwindcss.com/docs/optimizing-for-production#writing-purgeable-html

export default defineConfig({
  integrations: [
    purgecss({
      extractors: [{
            extractor: (content) => content.match(/[^<>"'`\s]*[^<>"'`\s:]/g) || [],
      }],
    })
  ]
});

@the-dijkstra It works like a charm! Thx for the help. Highly appreciated. I had seen this solution in an issue but it was then closed as resolved by a PR and I assumed the default extractor already took care of tailwindcss. It might be worth stating in the README. Will issue a PR.
Thx again 🙏

Thank you @vogelino :heart:


Can you add GeoJsonLayer Info Window?

This is not an issue but a question, in GeoJsonLayer can we add infowindows to feature? There's no sample in the code.

@chitgoks Right now info windows are displayed for GeoJSON and KML points as normal markers, but not lines or polygons.
Here's an example from the demo app "GeoJSON Layer":

Are info windows for polygons and polylines something you're interested in adding to your app?
I'll close this for now, and if it's something you're interested in we can re-open as a feature request.

i will get back to you on this. ill check how it looks like. i use the kml from google crisis map.
there are still many features lacking like reading the image that is included in the zip or from a url.

@chitgoks Thanks! Could you open individual issues for each feature that you think is lacking?

will do sean. thank you
On Fri, 7 Feb 2020, 11:02 pm Sean Barbeau<EMAIL_ADDRESS>wrote:

@chitgoks https://github.com/chitgoks Thanks! Could you open individual
issues for each feature that you think is lacking?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/googlemaps/android-maps-utils/issues/536?email_source=notifications&email_token=AA6FWDRPMKGYVXMBB5CLT6LRBVZWVA5CNFSM4IJ5NC5KYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELDIPAY#issuecomment-583436163,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA6FWDXUPGEL2ZXROAHYDRTRBVZWVANCNFSM4IJ5NC5A
.


ubuntu enable click to minimize

$ sudo apt install dconf-editor

https://itsfoss.com/click-to-minimize-ubuntu/
org/gnome/shell/extensions/dash-to-dock/click-action
minimize-or-overview

https://github.com/aben20807/dotfiles


sync: "Unable to pin block for finality notification"

I'm running with the command cargo run --release -- --sync fast-unsafe* and seeing a bunch of these errors:
Unable to pin block for finality notification. hash: 0x05bb…e8db, Error: UnknownBlock: State already discarded for `0x05bb4525e4d7cd1eb622573e5a8d433b7c8f3bf0919bcdf6eff9851f4e37e8db`

*: Background: Was trying to get a synced node as fast as possible for testing purposes. Realized later that warp sync is faster.

CC @skunert

The log message makes sense since the node was syncing, and fast-unsafe sync mode will only download state after downloading all blocks.
The real question to me is why we are seeing finalization notifications during sync, afaik we should not emit them.  I will try to reproduce.

We are sending finality notification every time there is a set change/we import a justification.

I confirm this is still happening. We get it also on Moonbeam when syncing with fast-unsafe


Question

How do you build and run this server? because i want to test it but there is no documentation or anything that says how to build it.

As stated at the top of the readme, this project is not yet ready for public use. I will work on documentation closer to release, once the server is stable and not likely to change significantly. As for building, just run make in the cloned repository. Note that the server currently requires a valid SSL certificate to start.

Does this not work on windows because the make command doesnt exist

For Windows, use the Mingw-w64 toolchain.

@CaiB I know you're here, and I've heard your complaints about Make and Cmake before. I can't provide other options, since I need to compile the Mbed TLS source alongside mine. If you're unhappy, go ask them to support 3 build systems without Python and Perl helper scripts.

MSYS has caused significant problems with my system before, and I'd never install it outside of a throwaway VM anymore. Definitely wouldn't ask someone else to use it.


python310Packages.types-python-dateutil: <IP_ADDRESS> -> <IP_ADDRESS>

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 217457 run on x86_64-linux 1

2 packages failed to build:

python311Packages.cirq
python311Packages.cirq-rigetti

6 packages built:

python310Packages.cirq
python310Packages.cirq-rigetti
python310Packages.pyquil
python310Packages.types-python-dateutil
python311Packages.pyquil
python311Packages.types-python-dateutil


crossterm::event::poll() causing delayed key inputs in Dioxus TUI

Problem
When using text input widgets, key events register with a noticeable delay. Moving the mouse causes buffered / backlogged key events to flush, but typing without mouse movement is extremely slow.
Steps to reproduce the behavior:

Clone the dioxus repo
Run the widgets example in the dioxus_tui package
Enter the text or number input widget
Type

Expected behavior
Typed characters should register immediately, without noticeable delay.
Environment:

Dioxus version: master (459d8d6)
Rust version: 1.69 stable
OS info: Linux
App platform: TUI

Mix of these two:

[X] I'm interested in fixing this myself but don't know where to start
[X] I would like to fix and I have a solution (Idea, but not solution)

I decreased the poll timeout from 1000ms to 10ms on line 101 of packages/rink/lib.rs for testing, and the key delays were significantly improved. There wasn't a noticable increase in CPU usage (in htop, at least), but I'm assuming the 1000ms timeout was implemented for performance-related reasons, so I'm not sure whether or not changing that would have significant drawbacks.
Happy to contribute a PR if wanted :)

I decreased the poll timeout from 1000ms to 10ms on line 101 of packages/rink/lib.rs for testing, and the key delays were significantly improved. There wasn't a noticable increase in CPU usage (in htop, at least), but I'm assuming the 1000ms timeout was implemented for performance-related reasons, so I'm not sure whether or not changing that would have significant drawbacks.
Happy to contribute a PR if wanted :)

I'm not sure why the polling rate was changed to 1 second? Changing it back to 10ms would work. I can confirm it doesn't effect the CPU usage on windows. A PR would be great!

Sounds good!

Done! May also look into using crossterm's EventStream, as reading events asynchronously could improve perf even more. Could be good to have as an optional feature for people who are already using tokio in their TUI apps :)


Sketchy link generator directs to incorrect destination

Sorry if this isn't the correct area to create an issue, I'm new to this.
Your "sketch" link generator at https://owo.vc/sketch generates links that all end up at a completely different website. It seems the IP address that is currently used in the links is no longer associated with your service.
Generating a link to https://example.org with your service results in http://0x2e65ae31/bIS1dIN7Mz:mfHGudHymMn:z[x== which ends up at Fulbright Hungary's site.
This issue applies to all previously generated links.
Thank you for the cool service!

You would be correct, I no longer have control of the IP address. Unfortunately there's not much I can do at this point, but I'll remove the current feature as soon as I'm able to prevent more users from generating links. In addition, I'll add a link decoder to the current sketchy page just in case - I know it won't get much use to people who find the links, but it'll be something at least.

I've removed the functionality in bee430b and added some notes to https://owo.vc/sketch. Sorry for the inconvenience, hopefully the rest of the service is still enjoyable to you. If you have any questions feel free to ask them, but I'll close this for now.

Sketchy link generation has now been added back into owo.vc, though this time I've been smart enough to use a domain rather than an IP address. Links shortened with this new generator will look something like this: https://0x6f776f2e7663.net/spotify.com/hidden/_uafe5GPoUOd-6pf3PahbE20OoqhCXpv5hMwC7-ipWI. I hope that this will fit the niche that the old sketchy generator filled, while adding a bit more fun to it as well. If anyone would like to see how these links are generated, the relevant code is in src/generators/sketchy.ts.


chore: Refactorize GeneralSettingsController and QualitySettingsController

Why?
After the implementation of the new Settings Panel and having each setting control separated and working with its own controller, which contains all the logic related to its behaviour, a second step to implement is to refactorize the classes GeneralSettingsController and QualitySettingsController (these classes contain all the logic related to the application of ALL the settings and it is very coupled in only 2 classes) in order to move each piece belonging to each specific control to its corresponding controller.
In this way these 2 classes would only contain the needed external references and all the contained logic (behaviour and aplication of the setting) would be moved to each specific control. It would make the system more scalable and would comply with the Single Responsibility Principle.
Changes included in this PR

Now GeneralSettingsController and QualitySettingsController classes only contain the scene references (for example: environment light, post-process volume, 1st and 3rd person cameras, etc.) that will be needed in any moment by the different settings.
All the logic that was contained in GeneralSettingsController and QualitySettingsController has been moved to each specific settings control. In this way all the logic belong to a specific setting is encapsulated in its corresponding controller (before this refactor, the logic was separated between GeneralSettingsController, QualitySettingsController and the specific controller).
SettingsPanelHUD improvements: Now the controls update is working better. Each time a setting is changed in the Settings class, the UI control is automatically updated without the needed of manage manual events.
All the tests that was contained in GeneralSettingsShould class have been separated (one for each settings control) and moved to SettingsControlTests_PlayMode class.
General code cleaning.

ADR updated
The corresponding ADR document has been updated in this PR.

Moving the settings implementation to the controllers means that we can't modify any setting if SettingsHUDController doesn't exist?

Hmmm... yes, each specific controller depend on the SettingsPanel system. I hadn't thought about the possibility of changing settings in a context where there is no exist the SettingsPanel. Do you think it could be necessary?
If so, I could move back the logic from each controller to the GeneralSettingsController and QualitySettingsController classes but separating it in a method for each individual setting, instead of only one method that applies all the settings at once (what was there before).
Thanks for your annotation, Pato! I would like to discuss it with the team because it seems to be an important point.

Moving the settings implementation to the controllers means that we can't modify any setting if SettingsHUDController doesn't exist?

Hmmm... yes, each specific controller depend on the SettingsPanel system. I hadn't thought about the possibility of changing settings in a context where there is no exist the SettingsPanel. Do you think it could be necessary?
If so, I could move back the logic from each controller to the GeneralSettingsController and QualitySettingsController classes but separating it in a method for each individual setting, instead of only one method that applies all the settings at once (what was there before).
Thanks for your annotation, Pato! I would like to discuss it with the team because it seems to be an important point.

Moving the settings implementation to the controllers means that we can't modify any setting if SettingsHUDController doesn't exist?

Hmmm... yes, each specific controller depend on the SettingsPanel system. I hadn't thought about the possibility of changing settings in a context where there is no exist the SettingsPanel. Do you think it could be necessary?
If so, I could move back the logic from each controller to the GeneralSettingsController and QualitySettingsController classes but separating it in a method for each individual setting, instead of only one method that applies all the settings at once (what was there before).
Thanks for your annotation, Pato! I would like to discuss it with the team because it seems to be an important point.

👍
In my opinion applying settings should be 100% independent from any UI controller
Plus we currently have the case of Builder that modifies settings but doesn't instantiates the SettingsHUDController

Moving the settings implementation to the controllers means that we can't modify any setting if SettingsHUDController doesn't exist?

Hmmm... yes, each specific controller depend on the SettingsPanel system. I hadn't thought about the possibility of changing settings in a context where there is no exist the SettingsPanel. Do you think it could be necessary?
If so, I could move back the logic from each controller to the GeneralSettingsController and QualitySettingsController classes but separating it in a method for each individual setting, instead of only one method that applies all the settings at once (what was there before).
Thanks for your annotation, Pato! I would like to discuss it with the team because it seems to be an important point.

👍
In my opinion applying settings should be 100% independent from any UI controller
Plus we currently have the case of Builder that modifies settings but doesn't instantiates the SettingsHUDController

@pbosio I have just update the refactor implementation to move back the logic from each controller to the GeneralSettingsController and QualitySettingsController classes but separating it in a method for each individual setting. Now the settings could be applied from other scenarios where the settings HUD wouldn't be needed.
This also let me separate all the tests in 2 different sides: one for the settings applying and other one for UI controls behaviour 👍

@pbosio I have just update the refactor implementation to move back the logic from each controller to the GeneralSettingsController and QualitySettingsController classes but separating it in a method for each individual setting. Now the settings could be applied from other scenarios where the settings HUD wouldn't be needed.
This also let me separate all the tests in 2 different sides: one for the settings applying and other one for UI controls behaviour 👍

I have been able to completely decouple all the settings controllers from the entire HUD system:

SettingsControlController no longer depends on any view and all the controllers for each specific setting can be used in an independent way (without the necessity of the HUD panel).
Now SettingsControlController only have the responsibility of appling and saving the corresponding value for each setting.
I have not deleted the GeneralSettingsController and QualitySettingsController classes but left them as 2 Monobehaviours with ONLY the scene references needed by the certain controllers.
Any interaction that is necessary between a view and its controller is now only done by events, so that the view would subscribe to the corresponding event of the controller.
I have also moved all the settings controller code out of the SettingsPanelHUD folder and into the Settings folder outside the HUDs. Now that it is undocked it makes more sense to have it like that.

@BrianAmadori @pbosio could you take a look to this new approach? I think we already have what we wanted, but next monday I would like to confirm it with you and if everything is ok, we can merge :)

I have been able to completely decouple all the settings controllers from the entire HUD system:

SettingsControlController no longer depends on any view and all the controllers for each specific setting can be used in an independent way (without the necessity of the HUD panel).
Now SettingsControlController only have the responsibility of appling and saving the corresponding value for each setting.
I have not deleted the GeneralSettingsController and QualitySettingsController classes but left them as 2 Monobehaviours with ONLY the scene references needed by the certain controllers.
Any interaction that is necessary between a view and its controller is now only done by events, so that the view would subscribe to the corresponding event of the controller.
I have also moved all the settings controller code out of the SettingsPanelHUD folder and into the Settings folder outside the HUDs. Now that it is undocked it makes more sense to have it like that.

@BrianAmadori @pbosio could you take a look to this new approach? I think we already have what we wanted, but next monday I would like to confirm it with you and if everything is ok, we can merge :)


Latest release does not include binaries

The latest release (v3.0.113) on GitHub releases does not have any binaries in the Assets section: https://github.com/aliyun/aliyun-cli/releases/tag/v3.0.113
At the moment the only way to download the latest release is with this link: https://aliyuncli.alicdn.com/aliyun-cli-windows-latest-amd64.zip
Please could you add the binaries back to the releases page?

Sorry for the problem. Now you can use tag v3.0.114 to download it.


Is cache implementation thread-safe?

I noticed that shaj13/libcache's documentation says that lru.New() initializes a non-thread safe cache (https://github.com/shaj13/libcache/blob/master/lru/lru.go#L15) and I couldn't find any code to handle thread safety in go-guardian so I'm wondering, is go-guardian thread-safe? Can it be used in the request path of a go web server safely?

@amorey thank you for reaching out, shaj13/libcache's and go-guardian, are operate completely independently.
go-guradian does not implement the underlying cache it only exposes an interface so the user can write their own implementation or use libcache.
However, go-guradian and libcache threaded safe and it's already running in production.
Regarding your question, all subpackage (lru, mru, etc..) initializes a non-thread safe, but the parent pkg offers a safe thread cache see example so the user can choose a safe cache or unsafe cache.


LDA and PLDA

We have linear regression but from what I can see we don't have linear discriminant analysis which is the equivalent algorithm for classification. We even have the iris dataset which was created to demonstrate LDA. And then a popular extension to LDA to PLDA which I've attached a TDS link for

https://en.wikipedia.org/wiki/Linear_discriminant_analysis
https://towardsdatascience.com/probabilistic-linear-discriminant-analysis-plda-explained-253b5effb96

PLDA has some complexities it seems different people have interpreted the paper differently and made different assumptions on scaling and unit variance. In the speech community kaldi's is standard and performs differently in benchmarks compared to scikit learns interpretation... Modelling these differences and allowing users to configure to the PLDA implementation they want would be useful for reproducing papers in the speech community - which is one of our usages of the algorithm

In the context of generalized eigenvalue decomposition the LDA algorithm is a variant of PCA with orthogonal eigenvalues in a within class covariance projection. I'm currently planing to add an implementation which has a spectrum of supervised/fisher's approach to discriminant analysis. You can find a reference here https://arxiv.org/pdf/1910.05437.pdf the biggest issue at the moment is to extend LOBPCG to the general eigenproblem setting and get that upstream to ndarray-linalg

can we move this issue to the #22 and add general probabilistic PCA as well?

If you think the PLDA is relevant as well sure, I'm not too familiar on probabilistic PCA so :shrug: there's also a short tutorial paper on the popular impl in speech https://arxiv.org/abs/1804.00403


hcloud: 1.29.0 -> 1.29.4

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/hcloud/versions.
meta.description for hcloud is: "A command-line interface for Hetzner Cloud, a provider for cloud virtual private servers"
meta.homepage for hcloud is: "https://github.com/hetznercloud/cli"
meta.changelog for hcloud is: ""
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/r27gg58gqw5ksyrshkx2z4gxsvvalncz-hcloud-1.29.4/bin/hcloud had a zero exit code or showed the expected version
0 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 1.29.4 in filename of file in /nix/store/r27gg58gqw5ksyrshkx2z4gxsvvalncz-hcloud-1.29.4

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
hcloud

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/r27gg58gqw5ksyrshkx2z4gxsvvalncz-hcloud-1.29.4 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A hcloud https://github.com/r-ryantm/nixpkgs/archive/a583e3866583457bcb5744296e56bb372b6f8dd0.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/r27gg58gqw5ksyrshkx2z4gxsvvalncz-hcloud-1.29.4
ls -la /nix/store/r27gg58gqw5ksyrshkx2z4gxsvvalncz-hcloud-1.29.4/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

hcloud

Maintainer pings
cc @zauberpony @kalbasit for testing.

Closed by #166884


Interpret item with preceding 0s as a string

Excluding a 0 directly before a decimal
0.5      ->     number
00.5    ->     string
-0.5     ->     number
10.3    ->     number
010.3  ->     string
11       ->     number
011     ->     string

I am not sure why the tests aren't passing. All tests pass when I run them locally on v0.12.7.

Disregard.


set.py gives error that ' no commands supplied' on windows

(aix360) C:\Users\ESISARP\AIX360>python setup.py
C:\Users\ESISARP\AppData\Local\Continuum\anaconda3\envs\aix360\lib\distutils\dist.py:261: UserWarning: Unknown distribution option: 'authos'
warnings.warn(msg)
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help
error: no commands supplied

All the packages have to be installed separately. As some requires Visual Studio , some requires earlier version on tensor package etc etc. I suggest to install all packages present on setup.py separately so that any issue can be resolved. try pip with conda also as cvxpy not available in conda.

Hey Arpit, Could you share all the versions which you used for this?

For windows you will require "Build tools for Microsoft visual studio”.  For windows 8 some time back and this version had worked for me:
https://www.microsoft.com/en-us/download/details.aspx?id=48159
Then Reboot.
For torch see this:
https://stackoverflow.com/questions/47754749/how-to-install-pytorch-in-windows/56172755
change Torchvision==0.4.1 in setup.py (this was a while back so higher versions might work as well).
For cvxpy use this:
Conda install -c Conda-forge cvxpy


Add REST API for list items

E.g. for
http://covid19.genenetwork.org/location?label=http://www.wikidata.org/entity/Q812
to prevent people from starting to scrape ;)

Now we are hosted on AWS I leave it open for people to use JSON. In fact, we'll make some of that metadata richer.


Fix invalid casts when fetching channels from cache

Description
Channels in the cache can sometimes be of a different type from the actual channel type, notably when converting text/announcement channels between each other or when using nyxx_interactions, which populates some entries in the cache with instances of PartialChannel.
This leads to issues when using getFromCache, as although the cache entry does exist, it isn't the correct type.
This PR changes casts that might fail to do extra checks.
Type of change

[x] Bug fix (non-breaking change which fixes an issue)

Checklist:

[x] Ran dart analyze or make analyze and fixed all issues
[x] Ran dart format --set-exit-if-changed -l 160 ./lib or make format and fixed all issues
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have checked my changes haven't lowered code coverage

Added commits from dev that would have been 5.0.4 before they were reverted.


Add current item indicator for header navigation

Add support for indicating the current section, using either current: true (if the user is currently on this exact page) or active: true (if the user is in that section but not necessarily that exact page). Both are styled the same but have different ARIA attributes.
When displayed in the regular view within the blue header, the active links have a light-grey border at the bottom, and no text underline:

When displayed in the expanded menu view (eg on mobile), they have a blue border to their left instead, and are slightly indented:

In addition, a <strong> tag wraps the current item text, to give some indication in any scenarios where CSS is unavailable - based on the GOVUK service navigation component.
Checklist

[ ] Tested against our testing policy (Resolution, Browser & Accessibility)
[ ] Follows our coding standards and style guide
[ ] CHANGELOG entry

I think this is a non-breaking change, and there aren’t any cross-dependencies on the header breaking change PR, so we could choose to either merge it in with those or ship it earlier as a minor release, depending on how things go?

@paulrobertlloyd @anandamaryon1 I've updated this now so that it's merging into header-breaking-changes rather than main. @paulrobertlloyd looks like you've updated the header to use box-shadow instead of border-bottom for the black line on focus? I've updated the PR to set that to grey instead of the border now.
The 'current' item in the expanded menu is unchanged, using a blue box-shadow on the left.  It does feel maybe a bit weird to use grey in one context and blue in the other, but then they're completely different designs so 🤷♂? Possibly the expanded navigation would feel like more of a natural extension of the main navigation if it was also blue instead of white - but that'd be a much bigger change...

Hey @frankieroberto, loving this work. I was just wondering do we know why the underlines were added to the nav items? The original nav didn't have underlines, I think they got added when the header was updated last year?! It feels a bit odd to me, and makes it a little harder to read, but maybe that's just me?
Other websites don't tend do underline nav items.
GOV.UK Design system

BBC

DAC

W3.org

While in-text links usually need an underline to help people with low vision or color blindness distinguish them from the surrounding text, this is not needed for links in menus if the menu can be clearly identified as such.
https://www.w3.org/WAI/EO/Drafts/tutorials/navigation/styling/

So it feels like if we have have evidence from users that underlines are needed on the main nav, then we should include them (and also feed that evidence back to gov.uk). But if we don't have any evidence, then maybe consider removing them again?

Hey @frankieroberto, loving this work. I was just wondering do we know why the underlines were added to the nav items? The original nav didn't have underlines, I think they got added when the header was updated last year?! It feels a bit odd to me, and makes it a little harder to read, but maybe that's just me?

Good question. I’d be up for removing the underlines on the links in the nav. Don't know if @anandamaryon1 has any history on this?

Good question. I’d be up for removing the underlines on the links in the nav. Don't know if @anandamaryon1 has any history on this?

Hmm I've had a look around and can't find anything definitive… I can see from some documentation that in June 2022 the header still had underlines. But in November 2020 the (nhs.uk website) header had no underlines. 🤔
I can try to do more digging and ask around.

@frankieroberto how were you expecting the focus style to work on a current link? Currently the styling for the indicator overrides the focus style:

Should it instead be overridden by the focus style, so it looks like this? i.e. same as other links.

Or some custom style? Not sure that it's important to see visually that you're focussed on the current link?

@frankieroberto how were you expecting the focus style to work on a current link? Currently the styling for the indicator overrides the focus style:

Opps, thought I’d checked this. Might have got un-done when I updated from the header breaking changes branch and had to switch from border-bottom to the box-shadow. Fixed in 860df16. 👍

@anandamaryon1 agree to having some good guidance around it - the Nunjucks macro options are often missed.
What do you think to the thickness of the line at the bottom? I did wonder if it was too subtle and should be increased, but maybe it’s ok as is.
Not quite sure how this PR also picked up the task list changes - will try and unpick that.

@frankieroberto hmmI thought it was showing task list stuff because the header-breaking-changes branch was out of date with main so I updated it, but it's still showing them. Maybe swapping the base branch out and back again will fix it?

[!NOTE]
This branch had gotten corrupted with changes from main, whereas it’s a branch of header-breaking-changes. Rebased header-breaking-changes with main, and then rebased this branch of header-breaking-changes. I then merged the 3 previous commits in this PR into one. Make sure you pull these changes from each branch before making further changes.

Given the above, also updated the comments to be a bit shorter and use 80 chars. Also updated the current/active state for the mobile menu, using the same 4px line weight, and removing the padding (I thought this was a bug until I later read your comment @frankieroberto). Sorry, bit forceful but I was in the branches and couldn’t help but tinker :blush:
Here’s what I’ve changed it to, can of course change back if we want:

Here’s the active/current item style on the white header:

Which makes me wonder, should it also then be grey in the drop down menu, which shares the same colour palette?

This branch had gotten corrupted with changes from main, whereas it’s a branch of header-breaking-changes. Rebased header-breaking-changes with main, and then rebased this branch of header-breaking-changes. I then merged the 3 previous commits in this PR into one.

@paulrobertlloyd thanks for sorting this! 👏  Originally I’d thought it’d be separate from the other header stuff so branched from main but switching the base branch then confused things.

Here’s what I’ve changed it to, can of course change back if we want:

Looks good! I had thought it might be too tight to fit it in the margin but it seems ok.
I’ve pushed a quick fix for focus style on the current item in the expanded menu, which was missing its black line at the bottom. See fd57863e.
I did also have a play with making the expanded menu use the same colours - ie white on blue with the grey indicator for the current item and it does at least feel more consistent and like an extension of the main nav to me:

(Whether it needs border between each item or not I’m less sure on)

Glad to see this being added.
Stylistically I feel like the active item should have a larger grey border - it's very subtle right now.
I also think we'd probably want to change its colour for the white header - it's currently far too low contrast on white.

The white org header current indicator should be blue I think, the grey is too light.
The mobile indicator at 4px and no indent gets a bit lost, particularly on my phone which has a slightly rounded bevel. Maybe 8px will work?
Blue background for overflow menu, I'll have to take more of a look at, not sure about it. The logic makes sense, but it's a bigger change that probably should be separate from this PR.

@anandamaryon1 @paulrobertlloyd mobile current item indicator bumped up to 8px in ae3aaba780d9d4b3e08164f81f8a548034959a2a:

4px
8px

Possibly a bit too close to the text but maybe it’s just about passable?

Current item indicator on the white header navigation variation changed from grey to blue in 74b72c8:

Grey
Blue

...and just for good measure, here’s how it currently looks in the variant with the white header but the blue nav (which I only just discovered was an option):

Possibly a bit too close to the text but maybe it’s just about passable?

@frankieroberto What about 6px?

@paulrobertlloyd @anandamaryon1 6px looks better to me. Means not being able to use the spacing scale but in this instance that seems ok? Changed in 3dc45ab


Make library Ethernet compatible

Just by adding these checks the library works fine with the Ethernet interface.
It's not the perfect check but it's workable right now

Added the header file

Is it work with version 2.0 I recently update today?
I don't have hardware on hand to test.
If yes, I will merge the pull request.

Yes
This is tested with V2.0.0
I only use the send Email function
And that works perfectly
But I suspect it will work fine for receive email

Ok thanks. I merge it and please test it for me for ethernet.


faq: update dm docs and add 4 FAQs

What is changed, added, or deleted? (Required)
Update dm docs and add 4 FAQs.
The changes in zh/dmctl-introduction.md have been partly aligned to en/dmctl-introduction.md in https://github.com/pingcap/docs-dm/pull/560. Confirmed with @lance6716 to align the rest changes when DM v2.0.2 is about to release.
Which DM version(s) do your changes apply to? (Required)

[x] master (the latest development version, including v3.0 changes)
[x] v2.0 (TiDB DM 2.0 versions)
[ ] v1.0 (TiDB DM 1.0 versions)

What is the related PR or file link(s)?

This PR is translated from: https://github.com/pingcap/docs-dm/pull/551
Other reference link(s): https://github.com/pingcap/docs-dm/pull/560

Do your changes match any of the following descriptions?

[ ] Delete files
[ ] Change aliases
[ ] Need modification after applied to another branch
[ ] Might cause conflicts after applied to another branch

/label needs-cherry-pick-2.0
/translation from-zh
/status PTAL

/label needs-cherry-pick-2.0

/cc lance6716 yikeke

/lgtm

In https://github.com/pingcap/docs-dm/pull/551/files, the "zh/dmctl-introduction.md” file is changed, but in this PR, there is no corresponding file. Is the translation done in other PRs?

As the PR description says "The changes in zh/dmctl-introduction.md have been partly aligned to en/dmctl-introduction.md in #560"

In https://github.com/pingcap/docs-dm/pull/551/files, the "zh/dmctl-introduction.md” file is changed, but in this PR, there is no corresponding file. Is the translation done in other PRs?

As the PR description says "The changes in zh/dmctl-introduction.md have been partly aligned to en/dmctl-introduction.md in #560"

Ok. Thanks for the explanation. Then please ignore this comment.

/lgtm

/label require-LGT1

/merge


feat: add temporary field to default error

Related Issue or Design Document
This feature allows to easily tell the client which errors it should retry and which need intervention.

Checklist

[x] I have read the contributing guidelines
and signed the CLA.
[x] I have referenced an issue containing the design document if my change
introduces a new feature.
[x] I have read the security policy.
[x] I confirm that this pull request does not address a security
vulnerability. If this pull request addresses a security vulnerability, I
confirm that I got green light (please contact
<EMAIL_ADDRESS>from the maintainers to push
the changes.
[x] I have added tests that prove my fix is effective or that my feature
works.
[x] I have added necessary documentation within the code base (if
appropriate).

Further comments

OK, closing as this fix is too specific.


Sort ZIP Entries again

This ensures that the entries in the zip file's central directory are grouped
together by folder, with each folder's directory entry coming before the
folder's contents, rather than being in the random order dictated by Ruby's
Hash implementation.
Before:
  $ unzip -l before.zip
  Archive:  before.zip
    Length      Date    Time    Name
  ---------  ---------- -----   ----
          7  03-11-2011 14:14   fruit/apple
          8  03-11-2011 14:14   fruit/orange
          6  03-11-2011 14:14   fruit/kiwi
          0  03-11-2011 14:14   uuid/5D8976B4-C3B5-4FC6-A9BA-E307173F0064
          0  03-11-2011 14:14   uuid/
          0  03-11-2011 14:14   uuid/B1D55A18-860D-4BE1-BCB3-7DFBCD7C8BC4
          0  03-11-2011 14:14   uuid/E5E1F8F6-60A3-4733-9648-86711E7CD02A
          0  03-11-2011 14:14   fruit/
          8  03-11-2011 14:14   fruit/mango
          0  03-11-2011 14:14   Vegetable/
          0  03-11-2011 14:14   uuid/47FD714B-1A38-46AB-B9EF-0E8B2098D3A5
          0  03-11-2011 14:14   uuid/8B6FD77A-9A4C-4D74-B1E0-5B0EBBF0C3A9
          7  03-11-2011 14:14   Vegetable/celery
          8  03-11-2011 14:14   Vegetable/carrot
          6  03-11-2011 14:14   Vegetable/bean
  ---------                     -------
         50                     15 files

After:
  $ unzip -l after.zip
  Archive:  after.zip
    Length      Date    Time    Name
  ---------  ---------- -----   ----
          0  03-11-2011 14:15   Vegetable/
          6  03-11-2011 14:15   Vegetable/bean
          8  03-11-2011 14:15   Vegetable/carrot
          7  03-11-2011 14:15   Vegetable/celery
          0  03-11-2011 14:15   fruit/
          7  03-11-2011 14:15   fruit/apple
          6  03-11-2011 14:15   fruit/kiwi
          8  03-11-2011 14:15   fruit/mango
          8  03-11-2011 14:15   fruit/orange
          0  03-11-2011 14:15   uuid/
          0  03-11-2011 14:15   uuid/47FD714B-1A38-46AB-B9EF-0E8B2098D3A5
          0  03-11-2011 14:15   uuid/5D8976B4-C3B5-4FC6-A9BA-E307173F0064
          0  03-11-2011 14:15   uuid/8B6FD77A-9A4C-4D74-B1E0-5B0EBBF0C3A9
          0  03-11-2011 14:15   uuid/B1D55A18-860D-4BE1-BCB3-7DFBCD7C8BC4
          0  03-11-2011 14:15   uuid/E5E1F8F6-60A3-4733-9648-86711E7CD02A
  ---------                     -------
         50                     15 files

Similar functionality has been committed before (see commit 74e4512387f6f7820ba6adb750fcc401513efaf7),
but was reverted in commit 963f23c9ed1275291c0394fbf3b1e573db3498e4 because it
breaks things (like EPUB) that require entries to appear in a particular order.
This re-enables sorting by default, but still allows custom ZipEntrySet
implementations to be used when a custom sort order is required.

Sorry but I think better way when you will sort entries before include them into zip archive.
In this case EPUB files will be work and unzip will work too.
ZipEntrySet is not a Hash, it class with Enumeration mixin.

Alex, please take a closer look at the code:
https://github.com/aussiegeek/rubyzip/blob/156c0c04b54857ab07df845c6722148e1b821683/lib/zip/zip_entry_set.rb:
    def initialize(anEnumerable = [])
      super()
      @entrySet = {}
      anEnumerable.each { |o| push(o) }
    end

    # ...

    def each(&aProc)
      @entrySet.values.each(&aProc)
    end

It's definitely returning entries in arbitrary Hash order.

Hm.. ok. In any case I will look deep on it tomorrow for better understanding how to fix EPUP files and sorting.


More advanced Dapr example

I'm new to Dapr (and Aspire!) so I may be missing something, but I've read everything I can find without finding an answer. I'm starting a new project using microservices and I'd like to use Aspire and Dapr (and Radius?) with the goal of easy local development and production deployment to Kubernetes. I can't find any examples that use Radius. The examples I can find using Aspire and Dapr only use pubsub and state components; there's no more detailed examples using other components such as configuration. I'm also unclear on how to provide Dapr config for production. The AspireWithDapr example in aspire-samples uses the default pubsub or state component if they exist, otherwise the config for the in-memory component is created and used. So where/when do we provide the prod config? Will configuration components be added to Aspire.Hosting.Dapr or should we use AddContainer, AddDaprComponent and a yaml config file to add them to the AppHost? I'd really appreciate any guidance on the best practice and intended workflow here. I'm happy to provide feedback as well as this is something I'm currently working on.

I can't find any examples that use Radius

Aspire has no support for radius.

Sorry if I got the wrong end of the stick, but I thought I'd read that the intent was they'd play well together? So we could use Aspire for local dev and then use the Aspire manifest with Radius for deployment.

So where/when do we provide the prod config?

This isn't customizable at the moment. The dapr API for the component support isn't fully featured as yet and needs to be fleshed out more.

It'd be great to understand the intent here. I'm guessing it'd be to define the Dapr components in Aspire and have it output the config? I've been playing today and created an overload of AddDaprComponent that takes a path to a Dapr config file. It reads the config file and uses that to set the name and type of the Dapr component as well as adding a container (I'm just experimenting with configuration.redis). This feels like it's the wrong way around though.
I do understand that this is all new and may not be all fleshed out yet, but I'd like to understand the bits that are working together, where the gaps are and where it's headed so I can align our solution with the current trajectory.

Sorry if I got the wrong end of the stick, but I thought I'd read that the intent was they'd play well together? So we could use Aspire for local dev and then use the Aspire manifest with Radius for deployment.

Sure you can do that, I'm just saying there's no first class support to produce radius assets in aspire.

There's what's here now and what I'd like to get to given sufficient time.  What's here now is that, except for the dynamic configuration of "generic" in-memory state store and pub-sub component support, configuration of Dapr components in Aspire still require defining and pointing to component YAML files, much like using Dapr without Aspire today.  The in-memory component support was a step toward a more dynamic component model where those YAML files are generated under the covers based on references to the underlying DB, service, etc.
I'd love to eventually see something like:
var builder = DistributedApplication.CreateBuilder(args);

var cache = builder.AddRedis("cache");

var daprStateStore =
     builder
        .AddDaprStateStore("my-state-store")
        .AddReference(cache);

builder
    .AddProject<Projects.AspireSample_Web>("webfrontend")
    .AddDaprSidecar()
    .WithReference(daprStateStore);

builder.Build().Run();

However, there are a lot of state store, pub-sub, and binding components supported today by Dapr, and customers all use a different subset.  There is a considerable amount of work to have dynamic configuration support for that subset of components likely to satisfy the bulk of Dapr customers.  At the moment, other priorities prevent me from contributing to Aspire as much as I would like so I've not been able to go further down that path.
(There's also considerably more that could be done on the deployment side for Dapr-based Aspire applications; I was only able to scratch the surface of ACA deployment via Azure Developer CLI.)

Moving to dotnet/aspire as this isn't directly a samples issue


Is there an official architecture document？

Hello, if I want to do secondary development, is there any architecture diagram, development document and other information? If so, where can I see it?
Thank you very much.

https://github.com/microsoft/vscode/wiki/Source-Code-Organization


the status bar is unhooked from the body when you resize the window

Does this issue occur when all extensions are disabled?: Yes/No

When I resize the window of vscode, the status bar is unhooked from the body of the vscode, is this a normal operation?

VS Code Version: Code 1.73.0 (https://github.com/microsoft/vscode/commit/8fa188b2b301d36553cbc9ce1b0a146ccb93351f, 2022-11-01T15:33:40.745Z)
OS Version: Darwin arm64 22.1.0

Steps to Reproduce:

the window of vscode is no on fullscreen
resize the window like you see on the clip

https://user-images.githubusercontent.com/75457081/200623535-ccd5ccc4-d7e7-4279-afda-f08a32f97a57.mov

I work on a Mac Studio computer with 32gb of ram, with 5 open windows, two browsers and three files

From my memories of looking into this I came to the conclusion that it is just how Electron behaves. For example while I can reproduce this for VS Code on desktop, I cannot reproduce it on https://insiders.vscode.dev.
For example: https://github.com/electron/electron/issues/23980
Moving to Deepak for comment, maybe there is a more recent issue. Would be great to understand what is causing the difference to the Chrome browser.

I just tested on vscode insiders desktop (not the web version) and the problem does not occur!

we can close the topic! I also just tested it on the non-insider vscode version, on the 1.73.1 update, there is no problem anymore

I'm still having this issue with VSCode 1.74.1 for mac intel.
VSCode Version: 1.74.1
Mac version: MacBook Pro 16" 2019 base model. macOS 13.1
as seen in this clip:
https://youtu.be/v0PooTM42jE

Yup, we still seem to have an issue, see related:
https://github.com/microsoft/vscode/issues/165835
https://github.com/microsoft/vscode/issues/168547
https://github.com/microsoft/vscode/issues/165441
https://github.com/microsoft/vscode/issues/169142

Please follow https://github.com/microsoft/vscode/issues/169142 for updates on this issue.


New-MigrationsRunner allows exceptions to cross AppDomain boundaries that are not serializable

If the database seed method throws an exception when calling update-database, that exception is allowed to pass through the AppDomain to be caught and written to the host, as can be seen here.
The problem is that sometimes these exceptions aren't serializable (and cannot be made so), which means the exception that gets reported is a SerializationException, which only reports the full name of the exception that was thrown, without any of the stuff you need to fix the problem.
I can't find the implementation of New-MigrationsRunner anywhere in this repository, so I cannot tell if this can be done, but, I'd suggest that the process in the second AppDomain catch any exception about to cross the border, check to see if it's [Serializable], and if not, call ToString() on it and pack that in an exception that is serializable for the trip back.

@WillSullivan We believe this is fixed in the 6.2 beta that was just released to NuGet. Can you try with that package and see if the issue is fixed for you?

Unfortunately, not in a timely manner, no.  It would be quicker to throw together a repro than get the codebase I'm working on updated with the beta.  I'll report back if I do try it out.


Determine the cost of operating a micro-reactor

This issue can be closed when a reasonable model for the operating costs of a micro-reactor on this campus has been established [$/kwh]

Closing for now because this issue is not reasonably within the scope of the project.


support 64-bit system call return value and add k_uptime_get()

Currently all the system call macros return a 32-bit quantity.
For those system calls that return u64_t or s64_t, pass in a pointer to the return value as the first system call argument.
Add k_uptime_get() to the set of system calls, other timekeeping related APIs which return 64-bit values will follow later.

Rebased and adjusted to new handler APIs


Reconsider strict scope checking for refresh access tokens

In Inferno 1.9, you checked that the scopes associated with a refresh access token were a strict subset of the scopes in the initial access token.  In Inferno 2.0, you upgraded that check to do a full equivalence check.
Initially, I thought this made sense, but after more discussion both internally and on chat.fhir.org (Expected scopes on a "refreshed" access token), I'd like to propose relaxing the scope check.  We can either relax it back to how it was in 1.9, or make special exceptions for fhirUser and openid scopes.  See the chat.fhir.org discussion for background on why I'm suggesting that change.

For reference, the SMART 1.0.0 spec (refresh token section) has this language:
scope - Scope of access authorized. Note that this will be the same as the scope of the original access token,
and it can be different from the scopes requested by the app.
This isn't formal SHALL/SHOULD language, but does kinda imply that all scopes should be the same.  However, further discussion on chat.fhir.org indicate that wasn't the intent of that statement.  Still, if this requires ONC clarification because of that language, let me know.

I realized I didn't mention the specific test, which is 1.4.02:

Thanks for doing the legwork here @cooperthompson.  I followed up on that thread, because I just want to be sure that I understand the intent -- this is particularly confusing because of the way that fhirUser and oauth are different than traditional access scopes, and "scope" is an overloaded term.  I understand there is no 'SHALL' language there, but if you search throughout the spec for "will", you'll see that term is used quite frequently in places where one of the actors has to do something specific in order for the flows to function.
Could there be a change request on the language there to be "will usually be the same...", or "will be a strict subset..."?

From Josh:

The fhirUser and openid scopes might well be excluded; but any patient/ or user/ scopes (FHIR data access scopes) from the original token scopes should be there

We'll plan on loosening this constraint in the next release of the g10 test kit, unless there is any clear disagreement from the community.

I submitted FHIR-36272 to clarify this, probably by loosening the language.


[scaffolder] Allow for mono-repo templates with template inheritance

I'd like to be able to use template inheritance when creating scaffolder templates. That way, more organizational parts of a project could be centrally maintained, and adapted to concrete templates.
This would be an alternative to having one big template with a lot of options.
One benefit I see to multiple templates is that you can document them individually, which should make it easier to decide what you want. Another one would be that the form can be reduced to the questions that matter to a particular template.
Related issue could be #6964.
Feature Suggestion
nunjucks supports template inheritance, but only finds templates in the specified lookup directories. If we want to support that, we'll need to add the lookup root, and we need to put the base templates into the same template repository as the inheriting ones. Which led me to a mono-repo for templates, and each template is then looked up in a source directory.
Possible Implementation
Add a sourceDir parameter to fetch:template to pick a subdirectory, and pass the templateDir to nunjucks.configure as first parameter.
Context

@benjdlambert I have a local patch, would it help if I pushed that into a PR?

Hey - sorry for not getting back soon on this, it's been on my list but had a lot of other stuff to do. I'd really like to try and keep the templating super simple, and not rely on the more view templating features that nunjucks supports. Feels like we would couple ourselves and templates to close to them. Maybe you could use a custom action instead and wrap up that in a more nunjucks specific name and action.


when use awq for qwen and tensor_parallel_size is 2, input size got error.

File "/usr/local/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/engine/ray_utils.py", line 32, in execute_method
return executor(*args, **kwargs)
File "/usr/local/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/worker/worker.py", line 70, in init_model
self.model = get_model(self.model_config)
File "/usr/local/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/model_executor/model_loader.py", line 90, in get_model
model = model_class(model_config.hf_config, linear_method)
File "/usr/local/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/model_executor/models/qwen.py", line 243, in init
self.transformer = QWenModel(config, linear_method)
File "/usr/local/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/model_executor/models/qwen.py", line 199, in init
self.h = nn.ModuleList([
File "/usr/local/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/model_executor/models/qwen.py", line 200, in
QWenBlock(config, linear_method)
File "/usr/local/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/model_executor/models/qwen.py", line 151, in init
self.mlp = QWenMLP(config.hidden_size,
File "/usr/local/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/model_executor/models/qwen.py", line 51, in init
self.c_proj = RowParallelLinear(intermediate_size,
File "/usr/local/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/model_executor/layers/linear.py", line 485, in init
self.linear_weights = self.linear_method.create_weights(
File "/usr/local/anaconda3/envs/vllm/lib/python3.10/site-packages/vllm/model_executor/layers/quantization/awq.py", line 84, in create_weights
raise ValueError(
ValueError: The input size is not aligned with the quantized weight shape. This can be caused by too large tensor parallel size.
maybe qwen model  is "intermediate_size": 27392，get input size is 6848 and AWQConfig(weight_bits=4, group_size=128, zero_point=True)

Hi @enbacoo, we found this bug after releasing v0.2.2. The bug was fixed by #1731. Please install vLLM from source until the next release. Sorry for the inconvenience.

Hi @enbacoo, we found this bug after releasing v0.2.2. The bug was fixed by #1731. Please install vLLM from source until the next release. Sorry for the inconvenience.

I use newest vllm source code and pip install from source，this bug still exist. Please use https://huggingface.co/TheBloke/Qwen-14B-Chat-AWQ this model for test.
ERROR:    Traceback (most recent call last):
File "/usr/local/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/routing.py", line 677, in lifespan
async with self.lifespan_context(app) as maybe_state:
File "/usr/local/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/routing.py", line 566, in aenter
await self._router.startup()
File "/usr/local/anaconda3/envs/vllm/lib/python3.10/site-packages/starlette/routing.py", line 654, in startup
await handler()
File "/home/minfeng.mf/model_server/model_server_workers.py", line 28, in startup_event
model = QwenVLLM(model_path,
File "/home/minfeng.mf/model_server/qwen.py", line 53, in init
super().init(model_path, model_name, **kwargs)
File "/home/minfeng.mf/model_server/inference.py", line 194, in init
self.model = LLM(model=model_path, **model_args)
File "/home/minfeng.mf/tools/vllm/vllm/entrypoints/llm.py", line 93, in init
self.llm_engine = LLMEngine.from_engine_args(engine_args)
File "/home/minfeng.mf/tools/vllm/vllm/engine/llm_engine.py", line 243, in from_engine_args
engine = cls(*engine_configs,
File "/home/minfeng.mf/tools/vllm/vllm/engine/llm_engine.py", line 108, in init
self._init_workers_ray(placement_group)
File "/home/minfeng.mf/tools/vllm/vllm/engine/llm_engine.py", line 191, in _init_workers_ray
self._run_workers(
File "/home/minfeng.mf/tools/vllm/vllm/engine/llm_engine.py", line 737, in _run_workers
self._run_workers_in_batch(workers, method, *args, **kwargs))
File "/home/minfeng.mf/tools/vllm/vllm/engine/llm_engine.py", line 714, in _run_workers_in_batch
all_outputs = ray.get(all_outputs)
File "/usr/local/anaconda3/envs/vllm/lib/python3.10/site-packages/ray/_private/auto_init_hook.py", line 24, in auto_init_wrapper
return fn(*args, **kwargs)
File "/usr/local/anaconda3/envs/vllm/lib/python3.10/site-packages/ray/_private/client_mode_hook.py", line 103, in wrapper
return func(*args, **kwargs)
File "/usr/local/anaconda3/envs/vllm/lib/python3.10/site-packages/ray/_private/worker.py", line 2524, in get
raise value.as_instanceof_cause()
ray.exceptions.RayTaskError(ValueError): ray::RayWorker.execute_method() (pid=81299, ip=<IP_ADDRESS>, actor_id=a80afdd5a05834e353b03aa801000000, repr=<vllm.engine.ray_utils.RayWorker object at 0x7fab7d9a2650>)
File "/home/minfeng.mf/tools/vllm/vllm/engine/ray_utils.py", line 31, in execute_method
return executor(*args, **kwargs)
File "/home/minfeng.mf/tools/vllm/vllm/worker/worker.py", line 72, in load_model
self.model = get_model(self.model_config)
File "/home/minfeng.mf/tools/vllm/vllm/model_executor/model_loader.py", line 91, in get_model
model = model_class(model_config.hf_config, linear_method)
File "/home/minfeng.mf/tools/vllm/vllm/model_executor/models/qwen.py", line 236, in init
self.transformer = QWenModel(config, linear_method)
File "/home/minfeng.mf/tools/vllm/vllm/model_executor/models/qwen.py", line 195, in init
self.h = nn.ModuleList([
File "/home/minfeng.mf/tools/vllm/vllm/model_executor/models/qwen.py", line 196, in
QWenBlock(config, linear_method)
File "/home/minfeng.mf/tools/vllm/vllm/model_executor/models/qwen.py", line 147, in init
self.mlp = QWenMLP(config.hidden_size,
File "/home/minfeng.mf/tools/vllm/vllm/model_executor/models/qwen.py", line 47, in init
self.c_proj = RowParallelLinear(intermediate_size,
File "/home/minfeng.mf/tools/vllm/vllm/model_executor/layers/linear.py", line 483, in init
self.linear_weights = self.linear_method.create_weights(
File "/home/minfeng.mf/tools/vllm/vllm/model_executor/layers/quantization/awq.py", line 84, in create_weights
raise ValueError(
ValueError: The input size is not aligned with the quantized weight shape. This can be caused by too large tensor parallel size.

Hi @enbacoo, we found this bug after releasing v0.2.2. The bug was fixed by #1731. Please install vLLM from source until the next release. Sorry for the inconvenience.

intermediate_size//quant.gourp_size is not integer， 27392/2/2= 6848 and 6848/128 is not integer，when I use groupsize 64 to quantize，it workers well. I don`t konw how to fix it .

the bug still exists when I build from master  souce code. Any one could suggest me?


Use view_model in generated adminhtml block

While reading https://alanstorm.com/magento_2_admin_mvcmvvm_endpoints/ , it's pointed out that an adminhtml block must extend \Magento\Backend\Block\Template . When I went and opened that class, the comments  prefer another method for a custom adminhtml block:

Standard admin block. Adds admin-specific behavior and event.
Should be used when you declare a block in admin layout handle.
Avoid extending this class if possible.
If you need custom presentation logic in your blocks, use this class as block, and declare
custom view models in block arguments in layout handle file.
Example:
<block name="my.block" class="Magento\Backend\Block\Template" template="My_Module::template.phtml" >
     <arguments>
         <argument name="view_model" xsi:type="object">My\Module\ViewModel\Custom</argument>
     </arguments>
</block>

Your class object can then be accessed by doing $block->getViewModel()

I think it's better Pestle generates this setup.

Thank you for the explanation. I might create a PR, but won't expect one soon.


ABCOpts: fix a miscompile in case a value is added to the array index

For example: array[i + x]. In this case the addition of x was misinterpreted as pre-increment of the induction variable
rdar://118026862

@swift-ci test

@swift-ci benchmark


About the invert res-block module

Hi, I have a question about the invert res-block module in your code. When I implemented this model, I feel confused about how to build the invert res-block module.
I found that in your code, you use this:
self.use_res_connect = self.stride == 1 and inp == oup
to ensure that input channels match with output channels. However, the input channels and output channels are always different. Thus, seems that there is no use for the this skip connection because (inp == oup) is always false.
Hope you can reply this issue, thanks very match.

@tonylins I don't think input channel and output channel number is the same according to the paper Table 2.

So as for the shortcut, I think there is a 1*1 conv layer that is used to adapt the input channel num to the output.


Count article views for 1 day 1 week etc

currently, we can count only the total number of visits where the landing page corresponded to a specific article.

I do not think this is working as is. Need to test on staging for a while. rolling back.

I think it would help to detail what is missing from the goal.
What other metrics do we want to have? What is the current error message and how are things off?

In the index.html.erb for Analytics, there are at least three lines with multiple compound scopes in the view:
104:  <% Article.order(updated_at: :desc).first(10).each_with_index do |article, i| %>
133: <% Article.order(follows_count: :desc).first(10).each_with_index do |article, i| %>
160: <% Visit.where(started_at: 7.days.ago..Time.now).group(:landing_page).order('count_id DESC').limit(13).count(:id).each_with_index do |visit, i| %>
Each of these should be  a custom scope that is associated with the model. The following lines should read as follows:
104:  <% Article.recently_updated do |article, i| %>
133: <% Article.most_followed do |article, i| %>
160: <% Visit.most_in_last_week do |visit, i| %>
and the logic in that index should be in those scopes.

Ok this works.  When we were looking at views all time, I had removed the first element on the list, since it would always be the root page.  We currently look at the past 7 days, so that is no longer appropriate.
One remaining issue is that depending on how many non-article pages are included in the top viewed articles the length of the list changes.  That will be alleviated when we implement uniform fixed lengths for these lists and scrolling which is the subject of another issue.
Closing this.


could you provider some tips about combining dynamic conditions in where(func()), especially meaning 'or'

sorry for my pooring english skill. thank you.
I got the following trouble. I build a sqlbuilder service for my domain bussinessw with your sqlkata,and whatever the  tables or properties I want to join and search in the postgresql are depending on the viewpage form's dynamic condition, such as adding a extra input text or operator(if you have heard of i2b2,a medical service,I do the same things. ).
so, the form may have serveral groups('组' in chinese),it is 'and' relation between those groups. and in a specific group, there were several conditions, it is 'or' relation between those condition.

between the group, I could use 'foreach' and your fluent api to continually adding the where method.but in a specific group, I can't guarantee the count of 'or' condition,so ……
query.From("Countries")
    .Where(q =>
        q.Where("Population", "<", 100)
         .OrWhere("Population", ">", 200) // i can't guarantee the count.
    )

so , could you provider some tips, thanks any way.if you do not understand my poor english, i am sorry

Something like:
class Group {
 public List<Condition> Conditions {get; set;}
}

class Condition {
 public string Field {get; set;}
 public string Operator {get; set;}
 public object Value {get; set;}
}

var query = new Query("Countries");

foreach(Group group in groups)
{
   query.Where(q => {
      foreach(Condition c in group.Conditions)
      {
         q.OrWhere(c.Field, c.Operator, c.Value);
      }
   });
}

I will close this for now, feel free to reopen if something is not clear

@ahmad-moussawi I need to create groups like you have above but your code will not compile.
.NetFiddle here

Compilation error (line 37, col 18): Not all code paths return a value in lambda expression of type 'System.Func<SqlKata.Query,SqlKata.Query>'
Compilation error (line 37, col 18): Cannot convert lambda expression to type 'object' because it is not a delegate type

Expected output:
SELECT * FROM [Countries] WHERE ([Group1Field1] = @p0 OR [Group1Field2] > @p1 OR [Group1Field3] < @p2 OR [Group1Field4] = @p3) OR( [Group2Field1] = @p4 OR [Group2Field2] >= @p5 OR [Group2Field3] <= @p6)

@rs199483 thanks for the update, yes this is outdated now, I will update the original answer

I think this should work:
        var query = new Query("Countries");

	foreach (Group group in groups)
	{
		query.OrWhere(q => {
		foreach (Condition c in group.Conditions)
		{
			q.OrWhere(c.Field, c.Operator, c.Value);
		}
		return q;

		});

	}


Support spring 6

Feature
Spring 6 requires Java 17+ and jakarta packages.
This makes things more complicated than now because we release with JDK11, so that old spring can compile to Java 6 bytecode.
Rationale
We can add jakarta-friendly instrumenation for spring-web and spring-webmvc
Example Scenario
Spring boot 3 code requires spring 6

my thinking is this, knowing there's no new LTS until Sep 2025, and our Java 6,7 projects already default to Java 8 but use the lower version when the release profile is active...

constrain the non-release profile to minimal JDK17 (17 can still compile Java 8 bytecode). This will allow instrumentation that use min Java 17 (currently just spring 6), to compile
make the release profile either use toolchains or a property override when compiling the java 6,7 bytecode modules. Otherwise use the default JDK (which would be 17)
install the extra JDK on the deploy and test workflows, and any variables to use them

This way, everything complicated is constrained to the release profile, which means dev/x normally is same as now (Except can no longer use JDK 11). If snapshot builds publish fine, and target the correct bytecode, we know a release will also work fine.
bonus points for a src/it test for the 6, 7 modules which.. when it is a release profile, fails if the bytecode of the classes is not the correct version!
cc @reta @anuraaga @shakuzen for input

cc @reta @anuraaga @shakuzen for input

We've been tackling this issue in different projects, they way it seem to work (and not requiring too much maintenance overhead):

keep the byte code at 8 (or 11) level
use JDK-17 to build and test (minimal baseline for Spring 6)
document that JDK baseline is JDK-8 (or 11) but for Spring dependent components it should be at least JDK-17

Not sure if that makes sense for Brave, but it seems to be viable option in general, wdyt @codefromthecrypt ?

@reta everything works except for this below part as we shouldn't kill the <6,7 part just for spring

keep the byte code at 8 (or 11) level

so I was thinking we use toolchain or a maven-compiler-plugin setting to make sure that in the release profile, we use an alternate JDK to compile the several modules we have which are pre-8. In their normal profile we claim they are bytecode 8, but basically they aren't at release time. Does this make sense?
https://github.com/openzipkin/brave/blob/master/brave/pom.xml#L110-L148

seems like setup-java can already configure multiple JDKs.. https://github.com/actions/setup-java?tab=readme-ov-file#install-multiple-jdks

In their normal profile we claim they are bytecode 8, but basically they aren't at release time. Does this make sense?

👍 I think it makes perfect sense, and yes, should be possible with GA


Install rails admin or similar

https://github.com/sferik/rails_admin
For easily CRUDing data.

Did you consider Active Admin?  http://activeadmin.info/  We use it, and it's awesome.  If you're more familiar or like rails_admin better, then cool, but if you don't have a preference, I'd at least look at Active Admin.

Nice, will check active admin out. I don't really have a strong preference, as long as it plays nice with mongo.

Active admin not playing nice with Mongoid + Rails 4. We're going to use the Admin UI provided on heroku for MongoDB for now and see how well that works.


how to define the different structure of the messages when consume one topoc?

I have another product client, and it will product different structure messages.
So, how do I define the structure? Or not use pydantic, Just use json to load messages?
Thanks!

Hi!
Please take a look at this guide on encoding/decoding messages
My guess is that you probably want to implement a custom decoder for your consumer function which differentiates between two message types.


Update Komoju::Client class by latest json schema

Komoju::Payment#capture is not implemented for now.
I added that by latest json schema.
I did just bin/generate-client.

@rramsden Could you check this PR when you have time ❓

@camelmasa Thanks LGTM

@rramsden Thanks for review 👍


There is a problem with the interaction logic of the button on the lower left corner.

VSCode Version:1.28.2
OS Version:Windows 10 Home 1803

I think its interaction logic should be like the Windows menu button.
Steps to Reproduce:
1.Open your VSCode ;
2.Repeat click gear button, It does not rotate alternately like opening / closing.
3.Sometimes you can offset a little bit and you'll find that the menu's position has changed, not fixed.

What gear on the lower right corner are you talking about?
Please provide a screenshot.

What gear on the lower right corner are you talking about?
Please provide a screenshot.

@weinand
1). I mean the button in the yellow circle.

2).If the button is clicked at different locations within the clickable range of the button, the position of the menu will change rather than be fixed to a certain location.

I don't consider this a problem that need fixing.

I mean this button should be like any other button's interaction logic: the menu switches between open and close when clicked repeatedly.
If this interaction logic reaches your expectations, please ignore what I have said. Thank you.

Yes, you are right:
clicking the gear once opens the menu, but clicking the gear again does not close it.

Imho not a big deal. On macOS the menu closes though when clicked again.


Update authorize-access-azure-active-directory.md

The defaultToOAuthAuthentication property of a storage account is not set by default.
When trying from Portal, the value gets explicitly set for this either true or false depending upon if we select that option during the creation of account. However, if we try Powershell and don't set this property, the value doesn't get set explicitly and shall return a null for this property.
Updating documentation to clarify the same.

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

Hi @Amrinder-Singh29, thanks for your contribution! We have some existing documentation around this configuration setting in a different article, so I think we have coverage. Are there particular use cases where you're seeing confusion from customers?
Thanks again.

@Amrinder-Singh29 Since we addressed this issue in a separate PR, could you please close this PR when you get a chance? Thanks so much.

The changes have been made as part of below request so we can close this one for now
https://github.com/MicrosoftDocs/azure-docs/pull/118904#issuecomment-1894121168
Thanks @pauljewellmsft for the assistance.


The Reverse Engineering output is not correct

Hi,sir.
I want do some experiment on mnist data/model . I used Badnet method.Here is my trigger image.

I just modify four pixel on the upper left corner . turn the value 0 to  255 . And label about 2000  trigger image  to 1  which original label is 8.  Add those dataset to 60000 train image.
The  infect model on test dataset  accuracy is  around 99%  . and The attack accuracy is 100%
But I used the reverse engineering's output is not correct:
this is the pixel_mnist_fusion_label_1.png:

this is the pixel_mnist_mask_label_1.png

and the output of outlier detection is:

10 labels found
median: 482.968628, MAD: 107.412963
anomaly index: 1.030401
flagged label list:
elapsed time 0.01 s

Here is my setting. Those setting is the same on train time :
` #input size
IMG_ROWS = 28
IMG_COLS = 28
IMG_COLOR = 1
INPUT_SHAPE = (IMG_ROWS, IMG_COLS, IMG_COLOR)
NUM_CLASSES = 10  # total number of classes in the model
Y_TARGET = 1  # (optional) infected target label, used for prioritizing label scanning
INTENSITY_RANGE = 'mnist'  # preprocessing method for the task, GTSRB uses raw pixel intensities
`
Can you give me some advice where is wrong?
Thank you

Hi sorry for the late reply. Based on what you mentioned in the injection process, this is more similar to a partial backdoor. We also included that in the paper, and you need to change the optimization set up to only use images from the source label.

Thank you for you reply.  It's my careless don't read the section VII in paper before do the experiment.
Here I want show you something new in my experiment.
After read your advice, first I  changed my infected model.  Choose  2000  random image  and change the upper left corner four position pixel 0 to 255. Add those infect image into train dataset and all target label to 1.  In the reverse engineering  use all the test image data as input.
The mad_outlier_detection result is:
10 labels found
median: 486.388245, MAD: 94.031715
anomaly index: 1.126529
flagged label list:

The seems like don't have the correct answer can't detection the trigger.
Next in the partial backdoor infect model.  Actually I still not clearly how do this experiment after read the section VII E (source-label-specific) and your advice, even after watch your talk on the s&p conference.
I choose all the 1 label in the test data as the reverse engineering's input  and the result is:
median: 390.419617, MAD: 8.843274
anomaly index: 44.148765
flagged label list: 1: 0.000000, 8: 250.176483

I choose all the 0 label in the test data as input the result is:
median: 391.001953, MAD: 12.886965
anomaly index: 30.340888
flagged label list: 0: 0.000000

I choose all the 8 label in the test data as input the result is:
median: 393.096100, MAD: 5.003074
anomaly index: 2.522766
flagged label list: 2: 380.474518

I choose all the 9 label in the test data as input the result is:
median: 420.045105, MAD: 41.393601
anomaly index: 1.231080
flagged label list:

In my partial backdoor infect model. Do I just need prepare the image which label is 8 and don't need change the code?
Both the infected model have around 99% attack accuracy  and test accuracy.
By the way, can I ask questions by email in Chinese next time?......

Hi, sorry for the late reply.
I can't really give much good answer right now, without access to some of the optimization details. Could you share your code with us, and we could help make sure there's no error in the implementation. Could you point us to a repo or just send the code over. It would be great if you could cc all the student authors, Yuanshun, Shawn, Huiying, and me. Really appreciate it!

I'm glad to update the new results.
After change the config use the L2 norm, it works. Here is the result:

I noticed that for the partial backdoor infected model.  I did't change the  reverse engineering input the algorithm  still work.
Thank you for your excellent work!


Added did:web support to holder for JSON-LD proof presentation

Problem description
When the holder uses a did:web in a credential, it is unable to present proofs for that credential. The /present-proof-2.0/records/{pres_ex_id}/send-presentation API endpoint terminates with the message: Unable to retrieve verification method for did.
Where the problem occurs
When the send-presentation endpoint is called, it builds the VP by calling the following functions:

Function present_proof_send_presentation at aries_cloudagent/protocols/present_proof/v2_0/routes.py
create_pres at aries_cloudagent/protocols/present_proof/v2_0/manager.py
create_pres at aries_cloudagent/protocols/present_proof/v2_0/formats/dif/handler.py
create_vp at aries_cloudagent/protocols/present_proof/dif/pres_exch_handler.py
_get_issue_suite at aries_cloudagent/protocols/present_proof/dif/pres_exch_handler.py
get_verification_method_id_for_did at aries_cloudagent/wallet/default_verification_key_strategy.py. This is where the error occurs.

How we are fixing it:

As per current observation we need to add a verification key derivation strategy for did:web in the function default_verification_key_strategy.
To do this, we can resolve the did:web using ACA-py's resolve method, look at the services, and use the verification key for a service.
We need to do this because the function assumes a did:key or did:sov is used as the holder id in the credential subject ID.

Interoperability and performance:

The implementation works for preliminary testing of did:web credential issuance and verification flow.
The unit tests that came with ACA-py also pass.
The implementation has the performance overhead of a did:web resolve call which is essentially dependent on the network of the user.

NOTE
When checking for verification method id for did:web, we resolve the DID and take the first key available in the DID document. There might be better approaches to this which the contributors can suggest.

I think these changes are acceptable but agree that there might be better approaches to determining which verification method ID to use based on the DID. For this particular scenario, we should know the VM id because the credential proof should contain a VM ID.
@PatStLouis might be a good idea to keep this scenario in mind as you work on DataIntegrity and VCDM 2.0 updates.

Would it make sense to use the first VM referenced or embedded in the assertionMethod verification relationship?

@dbluhm wasn't there a way to bind a verificationMethod to a did in the didcomm-v2 PR? I think this is a much better approach, when a client creates a did, they can optionally provide a default verificationMethod

I'm currently not convinced by this solution as this assumes that the first verification method corresponds to the keypair used to sign the document. I would rather see a field for user provided verificationMethod like it's the case for issuing credentials. I believe this fix would break the current issuance model where provides the verificaitonMethod through the issuance options.
@aritroCoder could you expand on the issue you are having and how I can reproduce it? What is the /create-presentation endpoint? Afaik this isn't an existing endpoint in aca-py.

Yes, that was a typo from me and I corrected it. It should be /present-proof-2.0/records/{pres_ex_id}/send-presentation endpoint. For a credential whose subject contains the holder DID which is not did:sov or did:key, then this API endpoint fails to run with error message: Unable to retrieve verification method for did
Steps to reproduce:

Use a Credential offer body (/issue-credential-2.0/send-offer):

{
  "auto_issue": false,
  "auto_remove": false,
  "comment": "Credential from minimal example",
  "connection_id": "df82e639-c15c-4374-8e9a-f820be2a1c6f",    #
  "filter": {
    "ld_proof": {
      "credential": {
        "@context": [
          "https://www.w3.org/2018/credentials/v1",
          "https://w3id.org/citizenship/v1"
        ],
        "credentialSubject": {
          "birthCountry": "Bahamas",
          "birthDate": "1958-07-17",
          "familyName": "Builder",
          "gender": "Male",
          "givenName": "Bob",
          "id": "did:web:aritrocoder.github.io:didwebholder",   #
          "type": [
            "PermanentResident"
          ]
        },
        "issuanceDate": "2024-05-24",
        "issuer": "did:web:aritra-issuer-faber.nborbit.ca",   #
        "type": [
          "VerifiableCredential",
          "PermanentResident"
        ]
      },
      "options": {
        "proofType": "Ed25519Signature2018",
        "proofPurpose": "assertionMethod",
        "verificationMethod": "did:web:aritra-issuer-faber.nborbit.ca#key-1"      #
      }
    }
  },
  "trace": false
}

In the above body, replace fields marked # with the information relevant to your agent (just make sure all the DID and verification methods are for did:web).

In the holder agent, send the issuer a request for the credential using /issue-credential-2.0/records/{cred_ex_id}/send-request
In the issuer, issue the credential using /issue-credential-2.0/records/{cred_ex_id}/issue
In holder, save the credential using /issue-credential-2.0/records/{cred_ex_id}/store
In the verifier, send a proof request to holder containing the body (using /present-proof-2.0/send-request)

{
  "auto_verify": false,
  "comment": "Presentation request from minimal",
  "connection_id": "6a54d6e2-f371-403a-84ab-0e633b4939f3",     # get from conn id
  "presentation_request": {
    "dif": {
      "options": {
        "challenge": "bdf0c9e7-2d2b-45f7-aae6-961329835d85",
        "domain": "test-degree"
      },
      "presentation_definition": {
        "format": {
          "ldp_vp": {
            "proof_type": [
              "Ed25519Signature2018"
            ]
          }
        },
        "id": "a5487d6d-50e6-4bfe-bb94-52c2deb8d2a2",
        "input_descriptors": [
          {
            "constraints": {
              "fields": [
                {
                  "filter": {
                    "const": "Builder"
                  },
                  "id": "1f44d55f-f161-4938-a659-f8026467f126",
                  "path": [
                    "$.credentialSubject.familyName"
                  ],
                  "purpose": "The claim must be from one of the specified issuers"
                },
                {
                  "path": [
                    "$.credentialSubject.givenName"
                  ],
                  "purpose": "The claim must be from one of the specified issuers"
                }
              ],
              "is_holder": [
                {
                  "directive": "required",
                  "field_id": [
                    "1f44d55f-f161-4938-a659-f8026467f126"
                  ]
                }
              ]
            },
            "id": "citizenship_input_1",
            "name": "EU Driver's License",
            "schema": [
              {
                "uri": "https://www.w3.org/2018/credentials#VerifiableCredential"
              },
              {
                "uri": "https://w3id.org/citizenship#PermanentResident"
              }
            ]
          }
        ]
      }
    }
  },
  "trace": false
}

In the holder, use /present-proof-2.0/records/{pres_ex_id}/send-presentation with the body:

{
  "dif": {
    "presentation_definition": {
      "format": {
        "ldp_vp": {
          "proof_type": [
            "Ed25519Signature2018"
          ]
        }
      },
      "id": "a5487d6d-50e6-4bfe-bb94-52c2deb8d2a2",   # from var_id_1
      "input_descriptors": [
        {
          "constraints": {
            "fields": [
              {
                "filter": {
                  "const": "Builder"
                },
                "id": "1f44d55f-f161-4938-a659-f8026467f126",  # from var_id_2
                "path": [
                  "$.credentialSubject.familyName"
                ],
                "purpose": "The claim must be from one of the specified issuers"
              },
              {
                "path": [
                  "$.credentialSubject.givenName"
                ],
                "purpose": "The claim must be from one of the specified issuers"
              }
            ],
            "is_holder": [
              {
                "directive": "required",
                "field_id": [
                  "1f44d55f-f161-4938-a659-f8026467f126"   # from var_id_2
                ]
              }
            ]
          },
          "id": "citizenship_input_1",
          "name": "EU Driver's License",
          "schema": [
            {
              "uri": "https://www.w3.org/2018/credentials#VerifiableCredential"
            },
            {
              "uri": "https://w3id.org/citizenship#PermanentResident"
            }
          ]
        }
      ]
    }
  }
}

At this step the error occurs

Thanks for clarifying. One way to create a binding is to ensure that the verificationMethod matches at least one of the ldp_vp.proof_type. In your example, you use the Ed25519Signature2018 proof_type. So you could create a mapping of proof types and pick the first verificationMethod that matches the proof_type you will use for the signature.
Here's so pseudo code:
key_types_mapping = {
    "Ed25519Signature2018": "Ed25519VerificationKey2018",
    "Ed25519Signature2020": "Ed25519VerificationKey2020",
}
proof_type = "Ed25519Signature2018"
verification_method_type = key_types_mapping[proof_type]
verification_method_list = did_document.get("verificationMethod", {})
verification_method_id = next(
    (
        verification_method["id"]
        for verification_method in verification_method_list
        if verification_method["type"] == verification_method_type
    ),
    None,
)

In the current state, this feature is undocumented and is inserting a behavior which could be problematic in some cases.

@PatStLouis I implemented the change you suggested, you can have a look at it. I did the preliminary testing and it was working.

This should do the trick, however I still want to point out I'm not convinced by this solution as it makes a lot of opinions and is currently undocumented. Let's wait before 1.0 release before looking at merging this. I would also strongly consider alternatives such as binding a verificationMethod to a key pair or providing an explicit verificationMethod as part of the presentation creation step.
@dbluhm I think the issue here is that this isn't a verification but the holder looking to sign the presentation, so it's unrelated to the proof of the VC. With the issuance we can provide a verificationMethod.id through the options but here, since this is a call made during the present-proof exchange, we don't have a way to automate it.
We could add a verificationMethod field to the dif filter:
{
  "dif": {
    "presentation_definition": {},
    "options": {
      "verificationMethod": "did:web:...#key"
    }
  }
}

This would serve a similar purpose, providing the holder the ability to select which keypair to use for the presentation proof.

Hi @PatStLouis you can take your time and think of the best way this can be done according to you, and then I can implement it so that you can merge it. I can also add the verification method with the issuance object if that looks better. We can finalize it after a discussion with the community.

I thought I heard on one of the calls that this might be better as a plugin.  Is that the approach that should be taken?

@aritroCoder it's not the issuance, but the presentation request. Issuance already supports passing the verification method. The issue is that the step where the holder signs the credential is midway through the protocol and cannot be set deterministically, if the protocol is automated unless the verifier knows in advance which verification method to request.
I'm assuming you are doing a business to business use case since the dif presentation exchange implementation was designed around did:key / did:sov where each did is self resolvable to 1 verification method only. Did web introduces verification method entropy. I think your suggestion is the best current way to automate this, unless we make it a requirement for did:web to have the protocol request a "manual" presentation step, requiring the holder to declare which verification method to use.
This being said, if you have a use case that you need to leverage present-proof-v2 where the holder is using did:web (highly correlatable, no privacy), this is the simplest way I can think of achieving this.
The other option is to have a "default" verificationMethod associated with a given did.
If you are willing to spend some more time with this, I would look at adding an optional field to the did:web registration call to provide a default verificationMethod. This option should only be enabled for specific did methods, did:web only for now.
{
  "method": "web",
  "options": {
    "did": "did:web:example.com",
    "verification_method": "did:web:example.com#verkey",
    "key_type": "ed25519"
  }
}

@dbluhm how do you feel about this approach? This would require a modificaiton to the didInfo class, adding a default_verificaiton_method attribute. How does this conflict/overlap with the verificationMethod binding approach from the did peer work?

Closing this issue as it is covered by #3279.  Thanks for the contribution. Nice work!


Used expect() instead of unwrap() in build.rs.

See https://github.com/slint-ui/slint/issues/6407.

An alternative would maybe be to return a Result.


Gallery build

Still working through bugs for the gallery.  need to make the const [imagePublicIDs, setImagePublicIDs] = useState([{}]); work with the context providers for the carousel and hit requirements;


Split add_noqa process into distinctive edit generation and edit application stages

Summary
--add-noqa now runs in two stages: first, the linter finds all diagnostics that need noqa comments and generate edits on a per-line basis. Second, these edits are applied, in order, to the document.
A public-facing function, generate_noqa_edits, has also been introduced, which returns noqa edits generated on a per-diagnostic basis. This will be used by ruff server for noqa comment quick-fixes.
Test Plan
Unit tests have been updated.

Would you mind running some hyperfine benchmarks on this change. The Contributing.md explains how. I'm asking because hashing Diagnostic can be somewhat expensive.
I wonder if we should do some manual testing. What's your experience @charliermarsh with this kind of change?
I won't have time to review this today. I plan to look into it on Monday.

Is there an LSP PR that I can look at in tandem to understand how the API will be used?

I think --add-noqa has effectively no tests... @snowsignal, would you minding first opening a PR on main to add a few basic tests to crates/ruff/tests/lint.rs?

@charliermarsh Sure, I can do that 😄

Is there an LSP PR that I can look at in tandem to understand how the API will be used?

I've opened it here.

@charliermarsh Sure, I can do that 😄

Thanks, ultimately it will get this merged faster if we have some test coverage.

I'm holding off on merging this until I investigate the root cause of this issue.

The root of the related issue in the follow-up PR appears to be caused by noqa mappings not generated/passed through to the edit generation function. I've added a test to show that this does work correctly when the proper NoqaMapping is given.