Support for graphql-java v6

graphql-java had a major release that brings a ton of new features and some breaking changes.
To properly support it, grahql-spqr needs to:

support v4 with the current feature-set
enable usage of the new features of v4 from within spqr itself

I'll probably split this issue into sub-issues when I start working on it.

Hope #27 may be a good starting point 😉

Any update on this?  We had to manually bump graphql-java to 4.0 because enum types were not properly returning with a GraphQL query and in 4.0, there is a fix for that.

This should be updated to "Support for graphql-java v6", I suppose.

Thankfully, there's very few breaking changes, so the first commit adding v6 compatibility is in master (based on @heruan 's v4.2 PR). CompletableFutures should work as expected.
I'm now working on supporting subscriptions.

I'm now working on supporting subscriptions.

This is the one! 👍

Subscriptions should now work :) It was a pretty tiny change, really.
I want to refactor the code around it somewhat, to avoid the duplication but, in general, the basic support is complete.
The resolver method has to return a Publisher, and by default you expose it via the new @GraphQLSubscription annotation (other strategies are applicable as usual).
There's a minimal test showcasing the usage (with more coming), but graphql-java-subscription-example is much more comprehensive for that purpose.
I could now really use some brainstorming and opinions on what should SPQR provide around subscriptions. Is the basic support currently available all? Could it do more to support common usage?

Hi, Im very exciting for supporting subscription for spqr (and supporting graphql-java v6).
Can u tell please, when u roughly speaking plan to release it?
And also, can i found snapshot versions somewhere in maven repositories?

I'm planning a release with subscriptions tomorrow (0.9.5).
I currently do not deploy SNAPSHOTs anywhere, but could start if it makes people's lives easier.
Feature wise, this is pretty much it for v1.0.0. I'm only planning to fix bugs, refactor some things and add docs.

SNAPSHOTs would be useful to test your commits before releasing, without the need of a local copy of the repo. Great to know we are approaching v1.0.0! 🎉

Closing this one as v0.9.5 has been out for a while.


update client path to use latest.deb

Current URL for the F@H client is statically defined to use version 7.6.9.
This PR updates the URL to use latest.deb, which is linked to the latest patch version within the train, rather than the explicit URL; this ensures instances will fetch the latest 7.6 client at creation.
An further expansion could be to allow users to select the major/minor version as a parameter, defaulting to 7.6 (or newer versions as required), though this is not included in this PR.

Closing as I'll rework this PR into one that pulls the latest major version instead.


STT0056: prepare training data for colloquial dataset in hugging face.

Description
The task is to prepare training dataset for colloquial transcription model that will transcribe the spoken text into a written text.
Completion Criteria
a training dataset in hugging face ready for use in model training.

share with yash, gaychay
and cc to others developers

https://huggingface.co/datasets/ganga4364/Colloquial_training_data


Update package.json

Getting some errors from HACS:

ERROR (MainThread) [custom_components.hacs] Could not use repository with ID 0 ('NoneType' object has no attribute 'data')

Not sure this is related, but at least I guess all the links should be updated, and it might be the difference between "repository" here and the actual repo used that causes them.

Description

Related issues

Motivation and Context

How has this been tested

Types of changes

[ ] Docs change / refactoring.
[ ] Non-breaking change (fix or feature that wouldn't cause existing functionality to change/break).
[ ] Breaking change (fix or feature that would cause existing functionality to change/break).

Checklist

[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[ ] My changes don't generate new warnings.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] All new and existing tests pass.

Maybe the "version"-tag should be updated as well?
Don't know how hacs work, but I guess it won't be updated there unless the version here is changed?


Archimate Relationships shows wrong Archimate version

The Archimate Relationships window references Archimate 2.1 spec not the 3.0 spec.

Please elaborate...

Fixed for next version.


Initial support for requests in JSON format

Overview
This PR adds initial support for requests in JSON format
Related Issue / Discussion
This might have something to do with wps-rest-binding
But I didn't get to check it out yet.
Example JSON requests:
I've taken the internal JSON format and tried to make it a valid request (which now work).
Original XML request:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<wps:Execute service="WPS" version="1.0.0" xmlns:wps="http://www.opengis.net/wps/1.0.0" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/wps/1.0.0 ../wpsExecute_request.xsd">
	<!-- <ows:Identifier>say_hello</ows:Identifier> -->

    <wps:ResponseForm>
        <wps:RawDataOutput>
          <ows:Identifier>output</ows:Identifier>
        </wps:RawDataOutput>
    </wps:ResponseForm>

    <wps:DataInputs>
        <wps:Input>
            <ows:Identifier>name</ows:Identifier>
            <wps:Data>
                <wps:LiteralData>Idan</wps:LiteralData>
            </wps:Data>
        </wps:Input>
	</wps:DataInputs>

</wps:Execute>

JSON request taken from internal pywps (which now accepted as a valid request):
{
	"operation": "execute",
	"version": "1.0.0",
	"language": "en-US",
	"identifier": "say_hello",
	"identifiers": null,
	"store_execute": "false",
	"status": "false",
	"lineage": "false",
	"inputs": {
		"name": [
			{
				"identifier": "name",
				"title": "Input name",
				"abstract": "",
				"keywords": [],
				"metadata": [],
				"type": "literal",
				"data_type": "string",
				"workdir": "D:\\dev\\gis\\wps-flask\\workdir\\pywps_process_uxjnrc6i",
				"allowed_values": [],
				"any_value": false,
				"mode": 1,
				"min_occurs": 1,
				"max_occurs": 1,
				"translations": null,
				"data": "Idan"
			}
		]
	},
	"outputs": {
		"output": {
			"output": "",
			"mimetype": "",
			"encoding": "",
			"schema": "",
			"uom": ""
		}
	},
	"raw": true
}

Then I wanted to make a much more minimalistic request also valid as follows, so the following also works:
{
	"identifier": "say_hello",
	"outputs": "output",
	"inputs": {
		"name":"Idan"
	}
}

outputs can be a string (which implies raw output), or a list or a dict.
Each input inside inputs can be a string (which implies literal input) or a dict.
Contribution Agreement
(as per https://github.com/geopython/pywps/blob/master/CONTRIBUTING.rst#contributions-and-licensing)

[X] I'd like to contribute [feature X|bugfix Y|docs|something else] to PyWPS. I confirm that my contributions to PyWPS will be compatible with the PyWPS license guidelines at the time of contribution.
[X] I have already previously agreed to the PyWPS Contributions and Licensing Guidelines

Coverage decreased (-2.4%) to 73.022% when pulling 88b6153fda4f74f5caf214c0989837d87e5cf0ae on talos-gis:Branch_json_request into 9fa56cc17bf545a9a583271d83affa5b479d3373 on geopython:pywps-4.2.

I've made a new PR: https://github.com/geopython/pywps/pull/588


[SDK-609]: Create Yoti v2 module

I've gone with the "Major branch" strategy outlined in the Go wiki on Modules . This allows us to carry on working on master, and if we do need to change anything for version 2 (after we've released version 3), then we can make a branch for v2, and make any bug fixes there.
I'll add further detail to a wiki shortly, including what we'll need to do with each minor and major release going forwards.
When we release the major version, it will just be a case of renaming the module, and changing the v2s to v3s (or using this handy tool).
Also updated some fields to make them read only.
This will require an update to the developer docs.

Accompanying decision log: https://lampkicking.atlassian.net/wiki/spaces/SDK/pages/917831708/Version+Management+for+Go+SDK

Regarding the modules part, LGTM :+1:

I have reverted the addition of modules for this minor release. We will look at adding them in the next release.


Rename shouldLockout

New PR from release branch
cc @divega

:shipit:

@HaoK can you please update the templates repo as well. This is in the release branch.
https://github.com/aspnet/Templates/blob/release/src/Rules/StarterWeb/IndividualAuth/Controllers/AccountController.cs#L66

1ed2ebcd962cf86c57da9e54626732c9feb0d21c


Left-pointing double angle quotation mark in translations

What steps will reproduce the problem?
I've seen in serveral translations (especially in romanian transaltions) that the parameters are quoted with « and ». I think that these are pretty ugly and I don't see no benefit from quoting with it.
For example:
'The format of {attribute} is invalid.' => 'Formatul «{attribute}» nu este valid.',
What is the expected result?
'The format of {attribute} is invalid.' => 'Formatul {attribute} nu este valid.',

Q
A

Yii version
2.0.6

PHP version
5.6.30

Operating system
Ubuntu 16.04

It depends on the language traditions. I'm not expert in Romanian so it's better to discuss with local community. When decided, send a pull request and I'll merge it.


Create data model

In this pull request, we have completed the following items:

Create and run the necessary migration files:
e.g. rails generate migration CreateUsers name:string

Add foreign keys and indices:
e.g. generate migration AddUserRefToFoods user:references

Migration for User table should have the following columns:

name :string

Migration for Food table should have the following columns:

name :string
measurement_unit :number
price :number
quantity :number
user_id :number [FK]

Migration for Recipe table should have the following columns:

name :string
preparation_time :number
cooking_time :number
description :string
public :boolean
user_id :number [FK]

Migration for Recipe Food table should have the following columns:

quantity :number
recipe_id :number [FK]
food_id :number [FK]

Migration for Inventory table should have the following columns:

name :string
user_id :number [FK]

Migration for Inventory Food table should have the following columns:

quantity :number
inventory_id :number [FK]
food_id :number [FK]

🔥 Status: Approved 🟢
Hi @Abdulwhbhussain  👋🏻,
Your task has been completed! There is nothing else to say other than... it's time to merge it :shipit: Congratulations! 🎉
To Highlight
✅ No linter errors.
✅ You used correct GitHub Flow.
✅ Well-written database.
✅ Descriptive pull request.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
As described in the Code reviews limits policy you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Malordered Data Received. Send exactly one config, followed by audio data.

Originally posted in https://github.com/googleapis/nodejs-speech/issues/62#issuecomment-420943003
I've updated to v2.1.0 and I'm getting the following error (error event in streamingRecognize() returned instance:
[3 INVALID_ARGUMENT: Malordered Data Received. Send exactly one config, followed by audio data.]

Would you be so kind to respond these questions,

How has the API changed for this error to happen?

Is v2.1.0 stable or beta?

In summary. I just would like to upgrade to the fixed version and make it work as before.
Thanks

@jmillan -- is this repo still the one that will reproduce this error?

Hi,

@jmillan -- is this repo still the one that will reproduce this error?

Not in that repo.
Just run the tests of this (yes nodejs-speech) repo:
jmillan@Mac.local:~/src/nodejs-speech/samples (master)$ node recognize.js listen
Listening, press Ctrl+C to stop.
(node:45299) DeprecationWarning: grpc.load: Use the @grpc/proto-loader module with grpc.loadPackageDefinition instead
{ Error: 3 INVALID_ARGUMENT: Malordered Data Received. Send exactly one config, followed by audio data.
    at Object.exports.createStatusError (/Users/jmillan/src/nodejs-speech/samples/node_modules/grpc/src/common.js:87:15)
    at ClientDuplexStream._emitStatusIfDone (/Users/jmillan/src/nodejs-speech/samples/node_modules/grpc/src/client.js:235:26)
    at ClientDuplexStream._receiveStatus (/Users/jmillan/src/nodejs-speech/samples/node_modules/grpc/src/client.js:213:8)
    at Object.onReceiveStatus (/Users/jmillan/src/nodejs-speech/samples/node_modules/grpc/src/client_interceptors.js:1290:15)
    at InterceptingListener._callNext (/Users/jmillan/src/nodejs-speech/samples/node_modules/grpc/src/client_interceptors.js:564:42)
    at InterceptingListener.onReceiveStatus (/Users/jmillan/src/nodejs-speech/samples/node_modules/grpc/src/client_interceptors.js:614:8)
    at /Users/jmillan/src/nodejs-speech/samples/node_modules/grpc/src/client_interceptors.js:1110:18
  code: 3,
  metadata: Metadata { _internal_repr: {} },
  details: 'Malordered Data Received. Send exactly one config, followed by audio data.' }

Duplicate of #173

Just to provide a little more context - I'm experiencing this both with my own code, and as a sanity check, with @vin-ni's Socket Playground here.
I'm able to use my credentials for other Speech requests. So it seems like I can rule out my code being bad (in this specific case, hah) and my auth being bad. Strange stuff.


[Explore] slice standalone mode doesn't work correctly after refresh browser

When going to standalone slice, for example http://localhost:9000/superset/slice/23/?standalone=true
We wil be redirect to http://localhost:9000/superset/explore/?form_data={"slice_id"%3A 23}&standalone=true
In explore screen, the url will be replaced by ful form_data. Currenly it doesn't include standalone=true in final url which cause problem when we refresh the browser. It brings us to visualization design screen instead of standalone chart.
Expected results
Standalone slice should be shown when we refresh page http://localhost:9000/superset/slice/23/?standalone=true
Actual results
Visualization design screen is shown.
How to reproduce the bug

Go to standalone slice, example http://localhost:9000/superset/slice/23/?standalone=true
Waiting it to be rendered fully
Refresh browser (F5 or Ctrl R)
See the page is now visualization design page, not standalone slice

Environment
(please complete the following information):

superset version: master
python version: 3.8
node.js version: 123

Checklist
Make sure to follow these steps before submitting your issue - thank you!

[ ] I have checked the superset logs for python stacktraces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

Issue fixed by #12359

Issue fixed by #12359


[$500] Avatar - Updated User's B avatar is not visible in real time on User A search page

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.14-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause-Internal Team
Slack conversation:
Action Performed:
Preconditions:

User A and User B should have previous conversation
Steps:
User A navigates to Search page ( last conversation with User B should be visible)
User B update profile Avatar

Expected Result:
Avatar from User B in 1:1 conversation in Search page should be updated in real time
Actual Result:
Updated User's B avatar is not visible in real time on User A search page
User A must refresh the app or navigate to other page to see updated Avatar
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence
https://github.com/Expensify/App/assets/93399543/b5638fdf-6c4e-4d9a-a0eb-f1b15c5c5000
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01c0216790020f8fbe
Upwork Job ID:<PHONE_NUMBER>592098304
Last Price Increase: 2023-12-20

@bernhardoj's proposal looks good to me
🎀 👀 🎀 C+ reviewed

@situchan @bernhardoj that ! was very recently added by @TMisiukiewicz for performance reasons. Please tell me how we will address the performance issue in the solution to this issue. See this comment for context.

@blimpich this is regression from function migration refactor
class component:

function component:

As you see all conditions are inverted but only that line.

@situchan @bernhardoj that ! was very recently added by @TMisiukiewicz for performance reasons. Please tell me how we will address the performance issue in the solution to this issue. See this comment for context.

This PR removed ! (not added !) 😄  but it was reverted due to regressions.
So all of us are going in right direction 🙂

So in latest main (with !), OptionRow is re-rendered always whenever any prop is changed.
Removing ! will fix 2 bugs:

this performance issue (re-render) (not noticeable by user)
this GH (clearly noticeable by user)

PR with this change is open again after fixing regressions: #33347 🙂

Ah I see, I misunderstood. My App repo is a few days out of date and so when I looked at the git blame locally I was getting slightly out of date information. Thank you for the explanation @situchan.
Looks like https://github.com/Expensify/App/pull/33347 fixes this bug. @TMisiukiewicz can you add this issue to the list of issues fixed by your PR?

I see that PR was already C+ reviewed but I can review again focusing on testing repro step in this GH.

@situchan That sounds good to me. Assigning @TMisiukiewicz since they have fixed the bug with their PR.

Linked this issue in a PR ✅

[x] The PR that introduced the bug has been identified. Link to the PR: https://github.com/Expensify/App/pull/28977
[x] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment: https://github.com/Expensify/App/pull/28977/files#r1440372517
[x] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion: This was purely PR author's mistake and could have been caught earlier during PR review.

We can skip regression test as caught by Applause team

@trjExpensify I think you accidentally closed this issue

I did indeed!

Thanks, settled up $500 with @situchan for the C+ PR review.


Write a GO program to find sum of ap series

Description
Write a GO program to find sum of ap series
An arithmetic progression (AP) is a sequence of numbers such that the difference of any two consecutive terms is a constant. The nth term of an AP is given by the formula an = a1 + (n-1)d where a1 is the first term and d is the common difference.
a = 2
n = 5
d = 3

Output : 40

How to contribute

Save the solution in program/find_sum_of_ap_series.go file
Add find_sum_of_ap_series.go file in find-sum-of-ap-series folder

!assign


Support concept of ClientApplication in identity core

Should try to roll that into the 2.0 schema and eliminate the Microsoft.AspNetCore.Identity.Service.EntityFrameworkCore
This would likely look something like:
Microsoft.Extensions.Identity:

ClientApplicationManager, IClientApplicationStore

Microsoft.Extensions.Identity.Stores:

IdentityClientApplication, IdentityClientApplicationClaim, IdentityClientApplicationScope, IdentityClientApplicationRedirectUri

What about scenarios where customers don't want their own token service and just want an identity database? Shouldn't all this config for the onprem B2C be in a separate DB and corresponding config system? // @danroth27

Its no different than roles, today you can mark them as ignored in the model and just don't use the new manager, similar to what I'm sure you are doing with roles :)

you can also just stick to IdentityStoreVersion1 which won't have any of the new stuff

@HaoK what's the problem with having these entities - specific to the B2C emulator - in a separate package?

I'd like to address the underlying issue more directly which we've struggled with for a while anyways (how do we start adding features + schema in an optional way and let people opt out of specific schema/functionality).  If we solve that, there shouldn't be as much of an issue right?  You won't get any of the conflated stuff unless you ask for it via something like AddEntityFrameworkStoresLatest/AddIdentity<TUser, TRole, TApplication>.

If we solve that, there shouldn't be as much of an issue right?

The problem is not adding new features nor modifying the DB schema (1), it's adding the "identity service" entities directly in the Identity core components, adding totally unnecessary tables for people that don't plan to use the B2C emulator.
I know the Azure folks are pushing hard to add their "Trojan horses" everywhere in ASP.NET Core to promote their stuff (e.g ApplicationInsights, that you can't avoid 'cause it's automagically added at runtime by VS in 2.0...), but at some point, you guys will have to be honest about this aggressive marketing strategy, instead of pretending you're just adding new features to make everyone's life easier (@danroth27... if you read me...) :smile:
(1): if you do that, I'd love to see a ClaimValueType property for UserClaim :smile:

Yeah so this is a bit similar to IdentityRoles, there's a bunch of people that will never use the RoleManager similarly. So it's still going to be 'additive' in that it doesn't affect UserManager.  There will be a new manager/store which will shield any 'taint' into existing identity APIs.  The only bleed will be in the default EF implementation/schema, which has versioning now, so if you don't want any of the taint, the old APIs won't give you any of it...
AddIdentity<TUser, TRole>.AddEntityFrameworkStores()
File a bug for (1), definitely something we can just do for the Version 2.0 schema

These are two different features: Identity database and token service database. It's like saying let's put Program.cs and Startup.cs all into a single file. Oh wait...
Anyway, it does affect people even if they don't use the APIs -- it's non-trivial to not use the EF stuff out of the box and thus my DB gets polluted with all these "additive" features that are unused.

Yeah so this is a bit similar to IdentityRoles, there's a bunch of people that will never use the RoleManager similarly.

Except roles have a real use in the core components: you can register them using the role manager, associate them to profiles via the user manager ; they are automatically added in the app authentication cookie and they can be retrieved from user code to define authorization policies.
If you add the "identity service entities" in the core components, they'll have absolutely no use.

The only bleed will be in the default EF implementation/schema, which has versioning now, so if you don't want any of the taint, the old APIs won't give you any of it...

So the solution is to explicitly opt for an obsolete scheme, just to avoid having the identity service entities? :trollface:
(BTW, this versioning story is insane... it will be a total PITA for community folks who maintain non-EF Identity stores as they'll have to develop a user/role store per version :open_mouth:)

(BTW, this versioning story is insane... it will be a total PITA for community folks who maintain non-EF Identity stores as they'll have to develop a user/role store per version 😮)

There's no concept of store versioning in core identity, this is an implementation detail for the EF store.  The base IdentityStoreOption lives in Microsoft.Extensions.Identity.Stores which you can think of as the opinionated helpers (that the default EF UserStore derives from and uses).  non-EF identity stores can continue having a single version no?  This madness is only needed if you want to enable the most definitely a big PITA scenario of optional/schemas features...
The UserManager continues to behave the same as it does today, it looks for whether the store implements interfaces, so custom stores just need to decide whether they want to implement IUserActivityStore or not, and IClientApplicationStore or not, they can totally just ignore them if they want.  They definitely do not have to do the crazyness I had to do to enable optional schema updates...
That said, if they are reusing the Identity.Store.UserStoreBase, they will need to pick a version (or always use latest)

non-EF identity stores can continue having a single version no?

Only if there are no "breaking changes" between versions (e.g a table or a property name change, or a property type change). Is this something you can guarantee?
One thing I don't understand is why you have to support the 1.0 schema in 2.0 (for the EF provider). Why not providing a migration script/class to make the necessary changes in the DB?

One thing I don't understand is why you have to support the 1.0 schema in 2.0 (for the EF provider). Why not providing a migration script/class to make the necessary changes in the DB?

Unfortunately, EF migrations have never been and aren't currently designed for library authors, as they are provider specific.

Only if there are no "breaking changes" between versions (e.g a table or a property name change, or a property type change). Is this something you can guarantee?

Tables are an implementation detail for the stores themselves no?  Traditionally we only add things via IUserXyzStore interfaces in core.  But long story short for stores that aren't trying to reuse the default EF implementations, nothing has changed.
Things will be a bit more interesting going forward as I'm going to have to version things in the new Microsoft.Extensions.Identity.Store package

Unfortunately, EF migrations have never been and aren't currently designed for library authors, as they are provider specific.

Doh, really? I thought the migrations stack was supposed to be decoupled from the actual relational provider and that things like IMigrationsSqlGenerator - implemented by the providers - were there to deal with the actual migration queries?

Tables are an implementation detail for the stores themselves no?

Yeah, "table" was not the appropriate word, I meant "type"/"entity". Stores that depend on the CLR generic entities from Microsoft.Extensions.Identity.Stores to dynamically generate their queries will stop working correctly if types or properties are renamed or deleted (just like EF).

Yeah so depending on anything in Microsoft.Extensions.Identity.Stores will be subject to the many of the versioning issues that the EF default implementation has.  The current existing path still is valid though, which is derive from UserStore which matches staying on the latest train.  Most of this complexity is there so people can stick to a specific version and not be broken...
The new pattern most likely will be the following for a new feature

In Extensions.Core: New IXyzStore added with new Manager code using the store if its supported.
In Extensions.Stores: Updates to the POCOs, almost always additive only, with a new major/minor version in IdentityStoreOptions
New AspNet.EF: OnModelCreating/AddEntityFrameworkStoresVX matching new version in IdentityDbContext/UserStore to implement new functionality and add the new versioned stores

almost always additive only, with a new major/minor version in IdentityStoreOptions

I suppose even that would break ORMs like EF6, that don't like when new properties are added :cry:

Most of this complexity is there so people can stick to a specific version and not be broken...

I still don't get why it's preferable to the "database migration" path. A schema change is no different from a API/contract change. Folks who migrate to 2.0 should also migrate their DB to be compatible with 2.0 (using migration scripts or by manually applying the needed changes if they use a provider that doesn't support migrations).

Historically the 'database migration' path has been rocky, the intent is so folks can control when they want to migrate, as opposed to requiring migrations which tends to really make the bar for schema changes really high

Historically the 'database migration' path has been rocky

This is the only way a 1.x project can move to use these new 2.0 features, right?

@HaoK Let's hold off on this until we've had a chance to more fully discuss it. I'd like to avoid baking in any identity service concepts to ASP.NET Core Identity that might impede the development of 3rd party identity service implementations.
@PinpointTownes If you're seeing issues with the local app insights integration in VS or you have general feedback on the feature, then please file an issue in the https://github.com/aspnet/azureintegration repo so we can discuss. The VS integration is intended to aid with local debugging, but if it's causing harm or irritation then we should talk about whether it's the right default behavior.

@danroth27 Sure that's why I created an issue instead of a PR.   I'd also like to continue discussions on what the final name of the "identity service" should be, because I don't think there are currently many fans of the current naming...
In terms of constraints from previous discussions, it sounds like OIDC, Azure, Tokens, and Server were ruled out from names for various reasons, which is why we ended up with something pretty generic and confusing.
Identity is already a "service" today, but I'm guessing the intent was to imply Identity providing authentication as a  service.  So how about Identity.Authentication as the namespace/term we use to describe this.

The VS integration is intended to aid with local debugging, but if it's causing harm or irritation then we should talk about whether it's the right default behavior.

Oh it's not, but it certainly gives Azure's services an unfair advantage their competitors can't have (and will likely never have). But I suppose telemetry is one of these... strategic things? :trollface:

@danroth27 Sure that's why I created an issue instead of a PR. I'd also like to continue discussions on what the final name of the "identity service" should be, because I don't think there are currently many fans of the current naming...

The naming is just the visible part of the iceberg, IMHO.
@danroth27 pretends that IdentityService should be regarded as a development server meant to offer a smooth migration to B2C or OSS projects but that's not really the impression I have when seeing all these tickets: https://github.com/aspnet/Identity/labels/identity-service.
If your intention is to make this thing a "real" OIDC server (that can be "officially" used in production), then you should be clear and sincere about that. Having another competitor in the field is not a bad thing - people like and need having multiple options - but the way you Microsofties communicate about this project is not really satisfying.

Yeah, but as of now, there aren't a lot of new 2.0 features in core they'd get (asking for creation date/last sign in/password change).  We'll likely be adding some behavior around enforcing password expiration policy, but basically we would be forcing everyone to migrate for basically no features

@PinpointTownes I'm not sure how much tracking you are going to get on moving the whole 'iceberg'.  But I believe we can at least give it a sensible name :)

OK we've talked about this, and @HaoK has promised that he can make the tables optional, so they won't appear unless you ask for them in code in your constructors. Which hopefully alleviates @brockallen's concern.
Naming on the other hand is a whole other discussion :D

Moving to preview 2 for visibility

As part of this work, we would also make IdentityRoles optional

As part of this work, we would also make IdentityRoles optional

Sounds interesting.


gnome.gnome-bluetooth: 42.2 -> 42.4

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for gnome.gnome-bluetooth is: "Application that lets you manage Bluetooth in the GNOME desktop"
meta.homepage for gnome.gnome-bluetooth is: "https://gitlab.gnome.org/GNOME/gnome-bluetooth"
meta.changelog for gnome.gnome-bluetooth is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 42.4 with grep in /nix/store/q7g6wl5ggrcnqh1zrysgpc1mk2w0qkpm-gnome-bluetooth-42.4
found 42.4 in filename of file in /nix/store/q7g6wl5ggrcnqh1zrysgpc1mk2w0qkpm-gnome-bluetooth-42.4

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

16 total rebuild path(s)

16 package rebuild(s)

First fifty rebuilds by attrpath
adapta-gtk-theme
chrome-gnome-shell
gnome.gnome-bluetooth
gnome.gnome-control-center
gnome.gnome-session
gnome.gnome-shell
gnome.gnome-terminal
gnome.gnome-tweaks
gnomeExtensions.easyScreenCast
gnomeExtensions.gsconnect
gnomeExtensions.system-monitor
mojave-gtk-theme
pantheon.elementary-session-settings
phosh
vimix-gtk-themes
whitesur-gtk-theme

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/q7g6wl5ggrcnqh1zrysgpc1mk2w0qkpm-gnome-bluetooth-42.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 gnome.gnome-bluetooth https://github.com/r-ryantm/nixpkgs/archive/8d911daf727248e4934d73ecbdc453ec2ed6b7a2.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/q7g6wl5ggrcnqh1zrysgpc1mk2w0qkpm-gnome-bluetooth-42.4
ls -la /nix/store/q7g6wl5ggrcnqh1zrysgpc1mk2w0qkpm-gnome-bluetooth-42.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

16 packages built:

adapta-gtk-theme
chrome-gnome-shell
gnome.gnome-bluetooth
gnome.gnome-control-center
gnome.gnome-session
gnome.gnome-shell
gnome.gnome-terminal
gnome.gnome-tweaks
gnomeExtensions.easyScreenCast
gnomeExtensions.gsconnect
gnomeExtensions.system-monitor
mojave-gtk-theme
pantheon.elementary-session-settings
phosh
vimix-gtk-themes
whitesur-gtk-theme

Maintainer pings
cc @bobby285271 @hedning @jtojnar @dasj19 @maxeaubrey for testing.

Closing in favour of #182618.


feat(providers): add gpt-4-turbo provider

Very simple start - Adding gpt-4-turbo as a possible provider

@CodiumAI-Agent /describe

@CodiumAI-Agent /review


Datapack installer for ease of use with Modrinth app

CurseForge link
No response
CurseForge Mod Distribution
Unknown
Modrinth link
https://modrinth.com/mod/dp-installer
Source/other link
https://github.com/MacaylaMarvelous81/DatapackInstaller
Mod file size
5.87 KiB
License
(any other license, specifically MIT)
What it does
Automatically copies data packs in datapacks (for Modrinth) or installed_datapacks folders to the world's temp folder. This allows datapacks to be installed from the Modrinth App, and potentially others, to be installed easily to worlds upon creation.
Why should it be in the modpack
Datapacks are a vanilla feature, they're just kind of annoying to install.
Why shouldn't it be in the modpack
It's not available on CurseForge, but I don't know if it even would have functionality in the CurseForge app.
Additional details
It's completely standalone

That seems like something the launchers should do themselves: let you pick the world to apply the data pack on upon install. That said, I don't even see the datapacks get installed now, because for me they don't appear in the instance's datapacks either.

Should be done by the launcher(s) itself.


Access current rowname and url in markdown_pattern

As part of #824 we allow access to $self object in row_markdown_pattern. We should investigate whether adding something similar is possible in source syntax's markdown_pattern or not. We already can access the row values without any namespace, but we might want to see whether we can somehow access the current rowName and uri.detailed.
We cannot use $self namespace since it returns the values of the current visible-column/visible-foreign-key, and not the main row values.
One way to get around this is to use a self_link. So if you have a sourcekey definition like this:
{
  "sources": {
    "key_1": {
        "source": "RID",
        "self_link": true
    }
  }
}

Then you can use key_1 namespace to access the rowName and uri.detailed:
rowName: {{{key_1.rowName}}}, url: {{{key_1.uri.detailed}}}

Adde the workaround to our docs. We should create a new issue with more details if we decided to add a shorthand syntax for this.


Unable To Build for UWP.

I am using unity 2018.4.12 LTS version and MRTK-2.1.0 version in sample project and created a script which downloads a zip file and unzip it. It is working file in editor but when trying build for UWP Hololens build always failed here I am attaching project build configuration and error due to which build was failing.

Please help me on this problem.

@Vangos
Please reply to the same. I am waiting for your reply.

Thank you for reporting the issue. Our team will check the issue and provide a solution when ready.

any update

https://forum.unity.com/threads/c-compression-zip-missing.577492/#post-3849472

Check this https://github.com/LightBuzz/Archiver-Unity/issues/8#issuecomment-1073952037


Cbusman/add d2l navigation button highlight

Creation of highlight buttons for the nav.

I believe I've hit all the comments, this PR can be reviewed once more @dlockhart @dbatiste @m6jones @mtjandra

LGTM!

@dlockhart I believe I've touched all the comments, let me know if I've missed any, or if there are any other issues with this PR.


Import tracktor error - No module named 'tracktor'

Hi,
I am trying to work through the example file, but I got this error msg when I ran cell 1:
ModuleNotFoundError                       Traceback (most recent call last)
 in
1 import numpy as np
2 import pandas as pd
----> 3 import tracktor as tr
4 import cv2
5 import sys
ModuleNotFoundError: No module named 'tracktor'
Is there a tracktor library / package and how to install it?
Thank you.

All the functions for tracktor are in the tracktor.py file. This file has to remain in the same folder as your example
Cheers!
Vivek
Vivek Hari Sridhar
website: www.vhsridhar.wordpress.com http://www.vhsridhar.wordpress.com/

On 04-Nov-2020, at 07:28, emelynetjw<EMAIL_ADDRESS>wrote:
Hi,
I am trying to work through the example file, but I got this error msg when I ran cell 1:
ModuleNotFoundError Traceback (most recent call last)
in
1 import numpy as np
2 import pandas as pd
----> 3 import tracktor as tr
4 import cv2
5 import sys
ModuleNotFoundError: No module named 'tracktor'
Is there a tracktor library / package and how to install it?
Thank you.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/vivekhsridhar/tracktor/issues/24, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADH73DL5CMBOTL2YIACKS6LSODX77ANCNFSM4TJUI6XQ.

I see. Thank you!


Usability: NVDA is not announcing the name for the "Close button", "split editor" and "More menu option".

VS Code Version: 1.6.1
OS Version:1607
NVDA version:-2016.2.1
Steps to Reproduce:
Prerequisite: NVDA need to be opened.
1.Open visual studio code editor.
2.Using "Tab", key navigate to the "Close button", "split editor" and "More menu option" present in the editor section.
Expected Result:
NVDA should announce the name for the  "Close button", "split editor" and "More menu option"
Actual Result:
NVDA is not reciting anything for the  "Close button", "split editor" and "More menu option".
User Impact:
Screen Reader user doesn't get to know the purpose of the control as it's not getting announced.
Attachments:

@WiproPSAccTest this should be ok if you are using Code 1.8. Can you please try?

@bpasero The issue is fixed in 1.8.1.


Offer AsyncWebContext generation from existing WebContext

On reflection, this isn't realistic, and we have to abandon it. The tight bidirectional coupling of sync web context and sync profile manager essentially make this unrealistic.


Why does GRPC enforce use of std::system_clock for deadlines ?

Dear GRPC maintainers,
In an issue about this very same problem, that @stale closed, a workaround for this problem was Originally posted by @JamesOldfield in https://github.com/grpc/grpc/issues/16891#issuecomment-561782971
The default deadline API offered by the doc or the blog https://grpc.io/blog/deadlines/ bring the developers using grpc to make a serious mistake :

grpc calls will hang for so long you've reset your system time back
grpc calls will be cancelled if you've set your system time forth

The solution is naturally to use one of the gpr_timespec overload of set_deadline with either the monotonic clock or a time_span.
However it's not obviously stated in the doc. Adding your own specialization of TimePoint looks a bit strange to me when it comes to an IMHO misbehaving default.
To that, and that's the reason of my issue, at some point perhaps I'll do a PR but I cannot plan it now, the workaround posted by @JamesOldfield in https://github.com/grpc/grpc/issues/16891#issuecomment-561782971_ doesn't work (anymore at least).
The solution is simple, just changing the clock type to GPR_CLOCK_MONOTONIC :
template<class Rep, class Ratio>
inline gpr_timespec MakeGRPCSteadyDeadline(std::chrono::duration<Rep, Ratio> timeoutDuration)
{
  using namespace std::chrono;
  nanoseconds timeoutAsNanoseconds = duration_cast<nanoseconds>(timeoutDuration);
  seconds timeoutAsSeconds = duration_cast<seconds>(timeoutAsNanoseconds);
  nanoseconds tiemoutFractionalNanoseconds = timeoutAsNanoseconds - timeoutAsSeconds;
  gpr_timespec timeoutGpr = gpr_now(GPR_CLOCK_MONOTONIC);
  timeoutGpr.tv_sec += timeoutAsSeconds.count();
  timeoutGpr.tv_nsec += tiemoutFractionalNanoseconds.count();
  return timeoutGpr;
}

Using it :
grpc::ClientContext clientContext;
clientContext.set_deadline(MakeSteadyDeadline(timeoutDuration));

Finally my question, is isn't this a bug that actually woud make sense to fix ? I know a handful of IoT systems and servers that get their clock adjusted regularly or as they boot have crazy dates due to RTC batteries issues, once they adjust all grpc based calls hangs for years.
Cheers

So to add news on this, it appears that using GPR_TIMESPAN leads to strange behaviour on some timeout.
For example in the case of Channel WaitForConnected there is an issue, that for example if you add a timeout of 60seconds, it will wait 166seconds. No idea why.
I finally fixed the workaround proposed below with the use of gpr_now on the monotonick clok, to avoid the TIMESPAN :
inline gpr_timespec MakeGRPCSteadyDeadline(std::chrono::duration<Rep, Ratio> timeoutDuration)
{
  using namespace std::chrono;
  nanoseconds timeoutAsNanoseconds = duration_cast<nanoseconds>(timeoutDuration);
  seconds timeoutAsSeconds = duration_cast<seconds>(timeoutAsNanoseconds);
  nanoseconds tiemoutFractionalNanoseconds = timeoutAsNanoseconds - timeoutAsSeconds;
  gpr_timespec timeoutGpr = gpr_now(GPR_CLOCK_MONOTONIC);
  timeoutGpr.tv_sec += timeoutAsSeconds.count();
  timeoutGpr.tv_nsec += tiemoutFractionalNanoseconds.count();
  return timeoutGpr;
}

This remains a problem.

ping!

@vjpai Can you take a look at this?

@vjpai Can you take a look at this?

Hi, we had quite some problems with deadlines expiring early after systemclock adjustments, when using the chrono set_deadline overload with systemclock
Now we are looking into using the workaround/hack proposed by @DamienBuhl-EH here.
A reliable and officially supported version would be great :)
Is there any news on this after all those years?

It might be as simple as implementing a Timepoint specialization with an std::steady_clock constructor. However I am unsure how to convert std::steady_clock to gpr_timespec. Do they have same Epoch?

The Timepoint specialization is all that's needed, but changes to APIs that we're gonna support forever need formal processes.
My understanding is that gpr_timespec with the monotonic clock should have the same epoch as steady_clock.

Hi @ctiller is there any update on the above problem?  I have been facing same issue and would like to have an API to set deadline with std::chrono::steady_clock.

  timeoutGpr.tv_sec += timeoutAsSeconds.count();
  timeoutGpr.tv_nsec += tiemoutFractionalNanoseconds.count();

Will it work if timeoutGpr.tv_nsec + tiemoutFractionalNanoseconds.count() > 10^9?
I think it's better to do something like:
gpr_time_add(timeoutGpr, gpr_time_from_nanos(duration_cast<nanoseconds>(timeoutDuration).count(), GPR_TIMESPAN)));

there is a test helper in grpc, mybe help
gpr_timespec grpc_timeout_milliseconds_to_deadline(int64_t time_ms) {
  return gpr_time_add(
      gpr_now(GPR_CLOCK_MONOTONIC),
      gpr_time_from_micros(
          grpc_test_slowdown_factor() * static_cast<int64_t>(1e3) * time_ms,
          GPR_TIMESPAN));
}


docs: add rust-toolchain.toml

Description
Use rust-toolchain.toml to describe rust toolchain information
Related Issue
Related #3367

I like having CI use the latest stable, so we notice breakages due to new releases of Rust.


MixitUp + Pagination endlessly re-requests assets and media files

Hello.
MixItUp rocks, i have used it many times and so far i had no real problem + many other words of goodness. With that said, I am facing a peculiar problem.
I am using MixitUp + Multifilter to show products in my collection pages without any trouble.
However, one of my collections has too many items and each item has a featured image + in most cases an .mp4. Even though this sea of media is somewhat managed+balanced out with lazyloading, i decided to try out the Pagination extension of MixItUp to see if i could achieve better performance results and/or experiment.
The result is very weird.
When i scroll to bottom, the Network tab in dev tools goes BERZERK with requests and files, requesting files that shouldnt be normally loaded (for example, lazyloaded secondary media that should show/load only when a product is hovered).
If i scroll up, the same files are re-requested and re-fetched and re-downloaded.
So if you keep scrolling up and down and up and down, it keeps re-requesting and re-fetching and re-downloading the same files. (Very funny to see a page requesting 600 files and 1.6gb of data - now thats a 3g-4g mobile friendly policy keke).
See this
This behavior goes away when i remove the pagination extension.
Any ideas?
@patrickkunka I cant share the URL of the page publicly yet, so if you need to see the page i have to send you the URL in some private way.
THANKS!

i guess this plugin is now dead. T_T, shame it was a wonderful little thing


How to run Admin like GraphQl mutations for users in Lambda?

Amplify CLI Version
12.5.2
Question
Hello,
Is there a possibility to run admin like GraphQl mutations for multiple users inside Lambda function?
My case is that I have app with Cognito user pool and each of users has it's own data stored in DynamoDb e.g.
type TodoDb @model @auth(rules: [{allow: owner, operations: [create, read, update]}]) {
  id: ID!
  param: Boolean!
}

I would like to have recurring Lambda function that each day makes a change in user record in TodoDb table. I can't use DynamoDb SDK because updates in database won't be reflected in my app's frontend (DataStore is subscribing to AppSync, not to DB itself). How can I achieve that in Lambda using GraphQl client?

Do you know that ?
@auth(rules: [{ allow: owner, ownerField: "members" }])

I figured it out, in case someone stumbles on similar issue I leave information how to deal with such case:

Add rule for each model you'll want to run mutations/queries on for Admin group

type TodoDb @model @auth(rules: [{allow: owner, operations: [create, read, update]},
 { allow: groups, groups: ["Admin"]}]) {
  id: ID!
  param: Boolean!
}

In your User Pool create group called Admin and add IAM role that has AdministratorAccess-Amplify policy
Create user in User Pool e.g. admin@admin and add it to Admin group
In your User Pool go to App Integrations -> scroll to the App client list -> click on client name -> edit App client information -> in Authentication flows add ALLOW_ADMIN_USER_PASSWORD_AUTH -> Save
Create Lambda in Amplify CLI with access to API and Auth categories
Add @aws-sdk/client-cognito-identity-provider to your newly created Lambda
Use following code to authenticate Admin user inside Lambda in order to get token needed for GraphQl client

const { CognitoIdentityProviderClient, AdminInitiateAuthCommand } = require("@aws-sdk/client-cognito-identity-provider");
const GraphQLClient = require("/opt/graphQLClient.js");

const cognitoClient = new CognitoIdentityProviderClient();

exports.handler = async (event) => {
    try {
        const adminUserInput = {
            UserPoolId: USERPOOLID,
            ClientId: CLIENT_ID,
            AuthFlow: "ADMIN_USER_PASSWORD_AUTH",
            AuthParameters: {
                "USERNAME": ADMIN_USERNAME,
                "PASSWORD": ADMIN_PASSWORD
            },
        };
        const adminUserCommand = new AdminInitiateAuthCommand(adminUserInput);
        const adminUserResponse = await cognitoClient.send(adminUserCommand);

        const token = adminUserResponse.AuthenticationResult.AccessToken;
        const gqlClient = new GraphQLClient(token);
       .
       .
       .
    } catch (error) {
        console.log('error: ', error)
        return error;
    }
};

Enjoy running mutations and queries for all users


FR: Cover Entity

Hi,
This is more like a Question or Feature Request.
How to implement Covers/Blind in die Card?

You can add cards like in the example yaml. Look for "cards:"

awesome, thanks


Error -PathNotFoundException: Cannot open file, path =

Error: Error -PathNotFoundException: Cannot open file, path = '/var/mobile/Containers/Data/Application/0A46465E-1722-4F51-B7C9-35AC2C04E842/Documents/authV2.dat' (OS Error: No such file or directory, errno = 2)
Tested on iOS
Step 1:
got string from https://issuer-demo.polygonid.me/

Step 2:
final iden3MessageEntity =
    await sdk.iden3comm.getIden3Message(message: string);

Step 3:
    await sdk.iden3comm.authenticate(
      message: iden3MessageEntity,
      did: did,
      privateKey: privateKey,
    );

Step 4:
await sdk.iden3comm.fetchAndSaveClaims(
      message: iden3MessageEntity,
      did: did,
      privateKey: privateKey,
    )

before being able to authenticate, you need to fetch the circuit files.
Stream<DownloadInfo> stream =
        await sdk.proof.initCircuitsDownloadAndGetInfoStream;

Please, follow the integration example included to know how to interact with the sdk:
https://github.com/iden3/polygonid-flutter-sdk/tree/develop/example


Add support for OpenELM

This PR adds support for openELM.
Twitter: @Prince_Canuma

@awni I couldn't replicate the qkv splitting logic from the transformers implementation.
# [B, (q_h + k_h + v_h), S, h] --> [B, q_h, S h], [B, k_h, S, h], [B, v_h, S, h]
queries, keys, values = qkv.split(
      [self.num_q_heads, self.num_k_heads, self.num_v_heads], dim=1
)

Here is what I tried:
queries, kv = mx.split(qkv, [self.n_heads], axis=1)
keys , values = mx.split(kv, 2, axis=1)

The outputs don't yet make sense with this approach.

have you tried splitting them in one go like: queries, keys, values = mx.split(qkv, 3, axis=-1), why do you have to split them into query and kv and then the kv again into key and value pairs?

Closes #723

@awni I couldn't replicate the qkv splitting logic from the transformers implementation.

# [B, (q_h + k_h + v_h), S, h] --> [B, q_h, S h], [B, k_h, S, h], [B, v_h, S, h]

queries, keys, values = qkv.split(

      [self.num_q_heads, self.num_k_heads, self.num_v_heads], dim=1

)

Here is what I tried:

queries, kv = mx.split(qkv, [self.n_heads], axis=1)

keys , values = mx.split(kv, 2, axis=1)

and

queries = qkv[:, :self.n_heads, :, :]

kv = qkv[:, self.n_kv_heads:, :, :]

keys, values = kv

However, the outputs don't yet make sense with this approach.

@awni the issue still remains.
The model loads well but produces nonsensical responses.
I think mx.split works differently from the one they used.
I'm trying to think of different options but I'm bit stuck.

You should use split in one go rather than calling it multiple times. See the docs here
As for why the model doesn't generate good output, I'm not sure there. I haven't looked at it in detail. Maybe double check the reference implementation? A good next step if you are stuck is to

step through the reference implementation and make sure both models are generating the same outputs up to the same point.
Once you find the point at which the outputs differ, that should help you diagnose the problem in the code.

@awni thank you very for the advice!
Thank God MLX has similar tensor/array slicing as torch and numpy!
I knew the error was in the kv slicing. I just needed to sitdown and focus :)
It's done now ✅

Looks great, thanks for the addition! Could you address the two comments I left, then we can merge?

Looks great, thanks for the addition! Could you address the two comments I left, then we can merge?

Most welcome! This was an interesting architecture.
The comments are resolved ✅

Do you mind to run the pre-commit hooks? Looks like the linter failed.

Yeah, it's because I removed scale argment.
It's done ✅


Feature: Request a one time run of a runbook

Would it be possible to request a one time run of a runbook from a node:
ie -
[root@mynode]# curl http://automatron.server/runbooks/calc
Would force a one time run of a runbook named calc ?
Alternatively I can write a command line utility to parse the various yaml files and run the appropriate playbooks at the command line assuming the local node had a copy of ./conf/*

I wrote a script that reads the ./config/runbooks/init.yml and the looks for matching runbooks based on hostname and executes them at the command line (only if the check or action is defined and 'cmd' and 'target')
This lets me run through a series of playbooks at the command line for a specific host one time which is nice for debugging.  I've pasted my code below if it's useful to someone else.   It will run a check that fails over and over until it there are no more possible actions that could be run.
`#!/usr/bin/python
import os
yum install PyYAML.x86_64
import yaml
import socket
import re
import glob
import subprocess
def run_command(cmd):
print "\n\nRunning:" + cmd
try:
res = subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True);
output,error = res.communicate()
if output:
print "\treturn code> ",res.returncode
print "\tOK> output ",output
if error:
print "\treturn code> ",res.returncode
print "\tError> error ",error.strip()
return res.returncode
except OSError as e:
print "\tOSError > ",e.errno
print "\tOSError > ",e.strerror
print "\tOSError > ",e.filename
return e.errno
except:
print "\tError > ",sys.exc_info()[0]
return sys.exc_info()[0]
def action_lookup(this_run_dict, return_code = 0, trigger_count = 0):
if return_code != 0 and return_code != 1 and return_code != 2:
return_code = 3
print "Converted return code"
print "\nLooking up actions - Trigger count: ", trigger_count
codes = {
0 : "OK",
1 : "WARNING",
2 : "CRITICAL",
3 : "UNKNOWN"
}
keep_trying = False
for this_action in this_run_dict["actions"]:
if this_run_dict["actions"][this_action]['trigger'] >= trigger_count:
keep_trying = True
if keep_trying:
    for this_action in this_run_dict["actions"]:
        if (    codes[return_code] in this_run_dict["actions"][this_action]['call_on'] and
                this_run_dict["checks"][this_check]['execute_from'].lower() == "target" and
                this_run_dict["checks"][this_check]['type'].lower() == "cmd" and
                this_run_dict["actions"][this_action]['trigger'] == trigger_count ):
            run_command("sleep " + str(this_run_dict["actions"][this_action]['frequency']) + " && " + this_run_dict["actions"][this_action]['cmd'])
    return True
else:
    print "No more actions to try... moving on"
    return False

hostname = socket.gethostname()
init_yml = "./config/runbooks/init.yml"
print "\n\nLooking at " + init_yml + " for matches on " + hostname + ":\n\n"
yaml_dict = yaml.load(open(init_yml))
Begin loop for each matching hostgroup in config/runbook/init.yml
for k in yaml_dict:
pattern = re.compile(k)
if pattern.match(hostname):
print "Found Matching entry " + k
for runbook in yaml_dict[k]:
print "\tExecuting Runbook(s) for: " + runbook
# Loop through each subdirectory in runbooks looking for any yml filename
for yml_file in glob.glob("./config/runbooks/" + runbook + "/*.yml"):
print "\t\t" + yml_file
this_run_dict = yaml.load(open(yml_file))
for this_check in this_run_dict["checks"]:
# if the type is command and it is set to run from the host then run it
# We'll use the Trigger amd Frequency as defined by automatron
                trigger = 0
                if this_run_dict["checks"][this_check]['execute_from'].lower() == "target" and this_run_dict["checks"][this_check]['type'].lower() == "cmd":
                    run_cmd = True
                    while run_cmd:
                        result_code = run_command(this_run_dict["checks"][this_check]['cmd'])
                        if result_code != 0:
                            trigger += 1
                            run_cmd = action_lookup(this_run_dict, result_code, trigger)
                        else:
                            run_cmd = False

`

A script that reads ./config/runbooks/init.yml and runs appropriate runbooks by hostname.
This lets me run through a series of runbooks at the command line on a specific host for debugging.
It will run a check over and over if it fails until there are no possible actions left (by trigger)
It only runs actions / checks that are specified as 'cmd' and 'target'
#!/usr/bin/python

import os
# yum install PyYAML.x86_64
import yaml
import socket
import re
import glob
import subprocess

def run_command(cmd):
    print "\n\nRunning:" + cmd
    try:
        res = subprocess.Popen(cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE,shell=True);
        output,error = res.communicate()
        if output:
            print "\treturn code> ",res.returncode
            print "\tOK> output ",output
        if error:
            print "\treturn code> ",res.returncode
            print "\tError> error ",error.strip()
        return res.returncode
    except OSError as e:
        print "\tOSError > ",e.errno
        print "\tOSError > ",e.strerror
        print "\tOSError > ",e.filename
        return e.errno
    except:
        print "\tError > ",sys.exc_info()[0]
        return sys.exc_info()[0]

def action_lookup(this_run_dict, return_code = 0, trigger_count = 0):
    if return_code != 0 and return_code != 1 and return_code != 2:
        return_code = 3
        print "Converted return code"
    print "\nLooking up actions - Trigger count: ", trigger_count
    codes = {
		0 : "OK",
		1 : "WARNING",
		2 : "CRITICAL",
        3 : "UNKNOWN"
	}
    keep_trying = False
    for this_action in this_run_dict["actions"]:
        if this_run_dict["actions"][this_action]['trigger'] >= trigger_count:
            keep_trying = True

    if keep_trying:
        for this_action in this_run_dict["actions"]:
            if (    codes[return_code] in this_run_dict["actions"][this_action]['call_on'] and
                    this_run_dict["checks"][this_check]['execute_from'].lower() == "target" and
                    this_run_dict["checks"][this_check]['type'].lower() == "cmd" and
                    this_run_dict["actions"][this_action]['trigger'] == trigger_count ):
                run_command("sleep " + str(this_run_dict["actions"][this_action]['frequency']) + " && " + this_run_dict["actions"][this_action]['cmd'])
        return True
    else:
        print "No more actions to try... moving on"
        return False

hostname = socket.gethostname()
init_yml = "./config/runbooks/init.yml"
print "\n\nLooking at " + init_yml + " for matches on " + hostname + ":\n\n"
yaml_dict = yaml.load(open(init_yml))

# Begin loop for each matching hostgroup in config/runbook/init.yml
for k in yaml_dict:
    pattern = re.compile(k)
    if pattern.match(hostname):
        print "Found Matching entry " + k
        for runbook in yaml_dict[k]:
            print "\tExecuting Runbook(s) for: " + runbook
            # Loop through each subdirectory in runbooks looking for any yml filename
            for yml_file in glob.glob("./config/runbooks/" + runbook + "/*.yml"):
                print "\t\t" + yml_file
                this_run_dict = yaml.load(open(yml_file))
                for this_check in this_run_dict["checks"]:
                    # if the type is command and it is set to run from the host then run it
                    # We'll use the Trigger amd Frequency as defined by automatron

                    trigger = 0
                    if this_run_dict["checks"][this_check]['execute_from'].lower() == "target" and this_run_dict["checks"][this_check]['type'].lower() == "cmd":
                        run_cmd = True
                        while run_cmd:
                            result_code = run_command(this_run_dict["checks"][this_check]['cmd'])
                            if result_code != 0:
                                trigger += 1
                                run_cmd = action_lookup(this_run_dict, result_code, trigger)
                            else:
                                run_cmd = False


[CL][Liquidity Provision]: investigate implementation of join pool / exit pool methods with hardcoded values

Background
For Milestone 1, out goal is to be able to provide liquidity with pre-computed hard-coded values.
This task is focused on analyzing, prototyping and documenting our existing pool interface methods defined on the concentrated liquidity pool
Suggested Design
We need to have a direction for the following methods:

JoinPoolNoSwap / CalcJoinPoolSharesNoSwap
ExitPool / CalcExitPoolShares

Additionally, it seems that JoinPool is not valid for concentrated liquidity pools because we must always be adding liquidity proportional to the existing pool reserves.

Recall that the proportion of current pool reserves tells the current spot price. Assume we added 1 ETH and 5000 USDC. So if we want to put more tokens into the pool and keep the same price, the amounts must be proportional, e.g.: 2 ETH and 10,000 USDC; 10 ETH and 50,000 USDC, etc.

Therefore we need to determine how we are going to go about JoinPool / CalcJoinPoolShares methods. Options are:

Disable it by always erroring or panicking
Move it into an extension interface
Modifying the spec to be compatible with the new abstraction and verifying that balancer and stableswap implementation are still aligned with the spec

Acceptance Criteria

Summary of the subsequent steps for each of the above methods / potentially a prototype
Summary of constraints that we need to tackle (e.g. logarithm implementation)
New issues with the next steps created

This is to be completed in milestone2, given that the current structure of pool-models is not suitable for stroing additional states

Agreed, moving to milestone 2. This is blocked by #3045 and #3044

The direction is clear now.
We will utilize the store logic from here: https://github.com/osmosis-labs/osmosis/blob/concentrated-liquidity/proto/osmosis/concentrated-liquidity/concentratedPool.proto
JoinPool logic is implemented on the keeper, swaps are routed directly into the concentrated liquidity pool defined here: https://github.com/osmosis-labs/osmosis/pull/3047


Default values render model instance unhashable

Initial Checks

[X] I confirm that I'm using Pydantic V2

Description
I have been struggling to get hashing to work in my application which uses quite some inheritance and composition in the object model. I have two questions related to the submitted code:

Why is the hash function of the parent not being inherited? Under the hood it is using
def hash_func(self: Any) -> int:     return hash(self.__class__) + hash(tuple(self.__dict__.values())) whilst I have specified my own hash function in the parent class. I expect any child to use this hash function without needing to specify anything in addition in my child classes.
Aside from the appropriateness of using a builtin hash function, that builtin function should be able to cope with default values being set in the attribute definition.  The unhashable bit fails on the dict.values() call which also outputs the empty list as a default value which leads to hash([]) call which fails.

Example Code
from __future__ import annotations
from pydantic import BaseModel

class Parent(BaseModel):
    id: int

    def __hash__(self):
        return hash(self.id)

class Child(Parent):
    childAttr: list[int] = []

child= Child(id=3)

hash(child) # works
test = set(child) #TypeError: unhashable type: 'list'```

### Python, Pydantic & OS Version

```Text
pydantic version: 2.0.
pydantic-core version: 2.1.2 release build profile
install path: /home/hendrik/PycharmProjects/cc-common/venv/lib/python3.10/site-packages/pydanticpython version: 3.10.12 (main, Jun 11 2023, 05:26:28) [GCC 11.4.0]platform: Linux-5.19.0-46-generic-x86_64-with-glibc2.35
optional deps. installed: ['typing-extensions']

Selected Assignee: @davidhewitt

@davidhewitt  could you please be so kind to look into this? not inheriting hash dunder methods is a pretty nasty bug in python if you ask me. I have been experimenting by adding hash= hashfunction in my model definition. That works, as mentioned in this discussion but that property is also not being inherited...
This is currently a major blocker in my project :(

@orfisko this isn't a result of the default value but instead because set(child) is going through BaseModel.__iter__ which iterates all keys and values of the model.
e.g.
>>> list(child)
[('id', 3), ('childAttr', [])]

and it's this ('childAttr', []) which is unhashable.
As you observe yourself, hash(child) works.
If you meant to include child in a set, you should try either set((child,)) or the builtin syntax {child}.
>>> {child}, type({child})
({Child(id=3, childAttr=[])}, set)

Thanks for your swift response, accurate analysis and raising a separate issue on this.


fix SliverReorderableList test to use correct custom action id

as title
Pre-launch Checklist

[ ] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] I read the Tree Hygiene wiki page, which explains my responsibilities.
[ ] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[ ] I signed the CLA.
[ ] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is test-exempt.
[ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

ci should be good enough, the pending one is unrelated merging now


add new feature "hidesExplorerArrows" of vscode 1.8

Hi Laurent,
this PR adds a new feature of VSCode to your fantastic icon set. VSCode is able to hide the rotating triangle in front of folders since the latest version 1.8. The entry of the changelog can be found here.
Cheers,
Thomas

Looks good to me ! It seems I misunderstood this... I thought keeping the arrows were going to be user controlled. Anyway, no point in having arrows with folders that can be closed or open.

Thx for merging so quickly :)


[Bug]: Some packages rely on site-packages layout

What happened?
rules_py doesn't really create a standard pip install-style site-packages folder currently, rather it creates a .pth file and expects packages to "do the right thing".
This plays badly with loading shared objects in particular, such as
Error: /main.runfiles/pip_deps_nvidia_cudnn_cu11/site-packages/nvidia/cublas/lib/libcublas.so.11: cannot open shared object file: No such file or directory
# But that file libcublass.so.11 exists in a different external package:
./main.runfiles/pip_deps_nvidia_cublas_cu11/site-packages/nvidia/cublas/lib/libcublas.so.11

Version
HEAD
How to reproduce
No response
Any other information?
No response

I gave some thought to it, and I think making a symlink forest inside the venv will be the right way to do this.

Yes, and it's very similar to what @thesayyn has been working on in rules_oci where those symlinks point outside of that folder to other entries in bazel-out - we'll get his help to fix this.

I threw together something in a PR because my team needed it sooner. Please feel free to reject it.

@mattem could you take a look at that PR?


Do we want Many to Many associations between Cart and CartItem?

https://github.com/2201gh-team-saturn/grace-shopper-main/blob/61438b731108090dfa572e7461e233a8ca81089b/server/db/index.js#L39-L46
I thought we had previously deleted the many to many associations, but here we have both many to many and one to many being referenced. We should discuss which one of these we want to keep and delete the other one.

I'm good with either I guess. I can easily change some of this info to go through the shopping_cart table. If we want a MTM association though I think we need to change the Room and CartItem association to be OTO.

Do we need cart to belong to many cart items? I think we'll only ever access them through the cart right?


Add university

Other students may use @utecnologica.edu.bo
Please if I didn't do it right, I can try again sorry for the inconvenience. Thank you for your time

@Migi001 file/lib/domains/bo/edu/utecnologica.txt: this request has an incorrect file path format, please ensure that you are familiar with     this repository rules located at the bottom of this page and change     your request accordingly. If you don't know how to change request, close it and open a new one.     If you are not able to make the pull request according the instructions, please send us an email to<EMAIL_ADDRESS>Please mention this request URL in the message.


If you get the user's real IP

Because the front end USES nuxt framework for server side rendering, I can't get the real IP of the user through request.ip.
What should I do?

I set up nginx's proxy

This is my nginx config.

I also fix it, thanks.