Reduce side of bulks when indexing in dev, tests and prod

It seems documents have gotten bigger and are now saturating the OpenSearch memory, which is rather restricted in our current setup, leading to failures.

cc @marko-bekhta this should remove the random failures in tests, including the one that broke the last deployment to staging.


Add .gitattributes configuration file

Added .gitattributes configuration file to automatically solve issues with line endings in Windows vs. Unix/MacOS/Linux.
Also, to help Git in the changes evaluation for modified files.
#406

Thank you for this!


Uniform names changed

in version 1.0.12 the names of the uniforms get changed from the original code.
the source uniform definition:
#version 450 layout(set = 0, binding = 2) uniform World {     mat4 field_World; };
after crosscompile in 1.0.12:
#version 330 layout(std140) uniform vdspv_0_2 {     mat4 field_World; } _13;
after crosscompile in 1.0.11:
#version 330 layout(std140) uniform World {     mat4 field_World; } _13;

Please fix this issue, since version 1.0.12 of this package prevents SPIR-V shaders to work under OpenGL.

Eric, I think this is the same bug I'm seeing with OpenGL in NexSceneGraph as well:
https://github.com/seanspicer/nexscenegraph

This was fixed in 1.0.13


Support custom EVM chain without code change, but runtime data

Is your feature request related to a problem? Please describe.
Support for a new EVM-clone chain has been simplified (see #2214), but still requires code change and new release in wallet-core. It would be nice if new custom chain can be added to a wallet dynamically at runtime, but still some support from wallet core.
Describe the solution you'd like
There are several possible solutions in the wallet app, with various degree of flexibility:

A custom EVM-clone chain can be added by the user (runtime), similar how it is possible in MetaMask. Wallet core is not involved, app uses coin=Ethereum for address derivation, and coin=Ethereum and custom chainId for signing.
A list of alternative chains is maintained in a curated config file. Adding a new chain to this config will add it to the app (w/o new releases). Internal handling is like above.
A custom EVM-clone chain can be added by the user, or from config to the App. App 'registers' the new chain properties with wallet code. Wallet core extends its relevant coin-specific methods to also support the dynamically registered chains (additionally to the ones statically defined in registry.json).

This issue is about number 3.
Limitation
Since dynamically registered types are not known at build time, generated sources will not contain these coins.
Describe alternatives you've considered
See above number 1.
Checklist
Resources

We will go with option 2 A custom EVM-clone chain can be added by the user. App 'registers' the new chain properties with wallet code. Wallet core extends its relevant coin-specific methods to also support the dynamically registered chains (additionally to the ones statically defined in registry.json).
How do we go about added PHI Network Smart chain https://phiscan.com

I think we might only need to change KeyStore, allow adding unknown CoinType

I think we might only need to change KeyStore, allow adding unknown CoinType

Yes, but then we can't use the enum TWCoinType since it's scoped and undefined behaviour to have enum values that are not scoped:
After CWG 1766 (C++17) See CWG defect 1766. The [expr.static.cast]p10 paragraph has been strengthened, so you now can invoke UB if you cast a value that is outside the representable range of an enum to the enum type. This still doesn't apply to the scenario in the question, since data[0] is of the underlying type of the enumeration (see above).
So we may want to add some function to query CoinType by a string in this case or any other runtime values.


Require captcha on registration

Our users register on CyclePlanet to interact with other cyclists, not to have their data scraped, collected and processed by spammers or other malicious parties.
So let's discourage data scraping by requiring actual interaction by a flesh-and-blood human to create an account.
Creating an account should then also become a prerequisite for accessing most user data in Cycle Planet, which should be taken care of by other issues under the security label.

Google's reCAPTCHA might be the easiest way to achieve that.

Seems rather straightforward looking at Firebase's doc

Okay, it's been too long, but now that I bit the bullet and deployed it to production while it's not even working locally for me, it seems to be doing its job =).


Add Token Endpoint

An authorization server should support a /token endpoint.
On this first iteration, the endpoint should support the client credentials grant gh-5. Namely, it should verify the grant_type parameter, and formulate a JWT based on the authenticated client.
Like the JWK Set Endpoint gh-2, this should be a Servlet Filter. It will likely sit later on in the Spring Security filter chain, post-authentication. As such, it can read the current authentication from the SecurityContextHolder.
The Nimbus library should be used for generating the JWT.
The JWT should contain jti, iss, sub, exp, and iat claims. Support for scp, aud, and nbf can be added later on.
The jti claim should be a GUID. The sub claim in the JWT should be the result of Authentication#getName. The exp claim should be a reasonable time in the future, and the iat claim should be the current time when the JWT is formulated. The iss claim could be hard-coded for now.

Hello @rwinch , Is this something I can work on ? I do have professional working experience with Spring projects.
Thanks.

Thanks for the offer @protyay. Please go ahead and let us know if you have any questions.

@rwinch Is there a reason the client credentials grant is only supporting a JWT base and not a JWT and opaque Bearer Token?  RFC 6750 was issued prior to any of the JWT standards.

That's an interesting question. I agree that the standard allows using opaque tokens. But I don't know if that's used often. If I'm not mistaken, the current implementation in spring-security-oauth only supports JWT access tokens (not entirely sure though). Maybe it's a good idea to make this pluggable somehow.

@dfcoffin I think for the first release the proposal is to support the JWT format and the client credentials grant. That's not to say that in future releases other support won't be added.

Both Spring Security 5.2 and Spring Security OAuth 2.3 support Opaque Tokens, examples linked from the Migration Guide. As a reference see also the Features’ Matrix.

@dfcoffin Just to clear things up, #19 is what we are targeting for the initial set of work. There is so much more work to be done as you can imagine. And this includes logging all the issues and grouping them in epics. We are starting with the simple flow client_credentials that has the least moving parts. We will gradually move towards the more complicated parts such as authorization_code.

@jzheaux If the intent is to provide Authorization Server support for OpenID connect in the same manner Spring Security was upgraded, then test JWT needs to be first.  However, I am responsible for assisting Utilities in the implementation of the Green Button standards (a.k.a North American Energy Standards Board (NAESB) Retail Energy Quadrant book 21 (REQ.21) Energy Service Provider Interface (ESPI)), which only provides support for an opaque token.  It was developed by Pivotal for NIST in support of the standard and prior to the existence of any JWT RFCs.
If the initial implementation only supports JWT format for the client credentials grant, it will be a long time before I will be able to recommend the deployment of a Spring Authorization Server.  Instead, I will be forced to continue to recommend the now deprecated spring-security-oauth project, which will be supported until March 2021.

@jgrandja It would be nice if after the project is better defined an implementation milestone map, similar to the one done for the Spring Security OAuth upgrade, is made available.

@dfcoffin For sure, a roadmap for the set of features is necessary so users can see the high level view of what will be delivered and have their vote on it so we can prioritize. When the initial roadmap is planned out it will be published so all can view and track against it.
As per your comment, both JWT and opaque token would need to be supported before we release 1.0.0.

@jgrandja  @jzheaux
Thank you.
Just to reiterate, this is the implementation of Section 1.3.4 Client Credentials of RFC 6479
Please verify the following comments for a better understanding.

The grant_type parameter is the Client Credentials with params Client Secret & Client ID?

The /token endpoint accepts the above params, and on verification, returns a JWT.

I'm afraid that I don't see the responsibility of the filter when we have the above endpoint.

this should be a Servlet Filter. It will likely sit later on in the Spring Security filter chain, post-authentication

@protyay I think Section 3.2 Token Endpoint of RFC 6749 has a better definition of the /token endpoint general requirements

@protyay For 3, I believe what @jzheaux meant is the /token endpoint is implemented as a Filter rather than a Spring MVC endpoint similar to how /login endpoint is implemented as a filter here. This filter will later be configured to sit after authentication filters and since it will be after the authentication filters, this filter can read authentication from SecurityContextHolder wherever needed.

I have to say I'm sharing @protyay's confusion about implementing the token endpoint as a filter.
Filters are invoked before the request ends up at a servlet. I don't see how you would implement an endpoint in a filter instead of a servlet.

@dfcoffin Thanks . I've read the RFC relevant sections to better understand the contract of the /token endpoint. I don't specifically understand, what @tomvandenberge mentions in the above comment, how I should implement it as a Filter
@anoopgarlapati I would like to believe that the link that you have provided is what the implementation should look like. Although if you would visit the RFC 6479 standard documentation, it clearly says of an API implementation.

@protyay @tomvandenberge

how I should implement it as a Filter

Technically speaking it is possible to do that in filter. You can post your response to output stream from filter and close it and also not call chain.doFilter. This will eventually not call the servlet and also commit the response, effectively acting as an endpoint.

I don't see how (or why) you would implement an endpoint in a filter instead of a servlet.

Though I am also not sure why we want to do it like that. I would assume that using filter can be easily plugged in an existing spring security application (I am still new to spring security).
My suggestion would be that the client credentials authentication can be done as a filter and the actual token generation can be done in a controller(or servlet) and then later on for each type of grant type we can add filters.
Hope it makes sense.

@protyay @tomvandenberge @paurav-munshi
I too am confused about how a /token endpoint filter will work, since filters are performed priorbe to any API controller.  Section 4.4.3. Access Token Response contains the following sample response:
HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
  "access_token":"2YotnFZFEjr1zCsicMWpAA",
  "token_type":"example",
  "expires_in":3600,
  "example_parameter":"example_value"
}

The last value "example_parameter" is intended to allow the implementer to provide customized response elements.  If the /token endpoint is implemented as a filter, this will require the ability for an implementation to access a "TokenEnhancer" class after creating the token but before sending a response.  This doesn't seem like logic that should be in a filter.
The filter should only validate that the client_credential request is validly formed and the Basic Authorization in the HTTP Authorization Header is valid as required by Section 4.4.2. Access Token Request.

@paurav-munshi
Even if it's technically possible, it violates what the RFC 6479 outlines as the standard implementation approach.
That's where the confusion lies

I think the main question is do we consider this project a standalone authorization server only or a library that you can include in your app based on spring security to make it an authorization server. Spring Security is all about defining filters, so I think it is easier if everything is a filter in the latter use case.

@eicki
This is from the README for this Project. I think we can safely assume we are not building a library here.

The ultimate goal of this project is to replace the Authorization Server support provided by Spring Security OAuth.

@protyay @paurav-munshi
I think I can clarify some of the confusion.
Issue gh-5 implements the client_credentials filter which performs authentication of the Basic Authentication header as required Section 4.4.2. Access Token Request
Issue gh-3 implements the /token API endpoint which implements Section 4.4.3 Access Token Response

Actually that is what I use, we have a Spring Security Based App and use Spring Security OAuth to enable our app to act as authorization server as well

@eicki
This is from the README for this Project. I think we can safely assume we are not building a library here.

The ultimate goal of this project is to replace the Authorization Server support provided by Spring Security OAuth.

@protyay

This is from the README for this Project. I think we can safely assume we are not building a library here

I think it should not be difficult to find examples where resource server and authorization server roles are performed by single instance. But I am not sure if that is the intention of using the filter.

Even if it's technically possible, it violates what the RFC 6479 outlines as the standard implementation approach.
That's where the confusion lies

I am not sure if RFC will have any endpoint implementation details pertaining to this as Filter and Servlet are JEE specific terms and RFC is supposed to be much more platform / language independent. But if you find any such context in RFC then please share, as it would be interesting to see that.
@dfcoffin

The question I have is which of these issues generates the jwt token?

To my understanding it seems #3 pertains to just generating jwt token and returning it and issue #5 just pertains to authorizing the request. It seems logical to me as #3 or token generation would be required to be protected with many more grant types going forward.

@dfcoffin
To answer your question, this is from the /token endpoint documentation from RFC

The token endpoint is used by the client to obtain an access token by
presenting its authorization grant or refresh token

I think this issue is responsible for generating the JWT

@paurav-munshi

I am not sure if RFC will have any endpoint implementation details pertaining to this as Filter and Servlet are JEE specific terms and RFC is supposed to be much more platform / language independent. But if you find any such context in RFC then please share, as it would be interesting to see that.

RFC 6749 Section 4.4.2. Access Token Request states:

The authorization server MUST authenticate the client

The logical way to implement the required client authentication (e.g., Basic Authentication) is as a Servlet filter which is the objective of issue #5

The main reason why we want the Token Endpoint to be a Filter instead of a @Controller is because this design decision will allow an application to use another MVC framework instead of locking them into Spring Web MVC.
For example, a company may want to leverage the Authorization Server framework provided by this project to build out a OAuth 2.0 / OpenID Connect 1.0 Provider. If all features are implemented as Filter, then the application can use any MVC framework and just plug in Spring Security easily. However, if we start adding @Controller logic then we limit their choice on technology stack.
Of course, we would like applications to use Spring MVC, however, we also need to allow flexibility of choice. This is the primary motive.
As well, Spring Security is all about Filter given that security is a cross cutting concern and such logic is typically implemented in Filter.
The term Endpoint in the spec references doesn't necessarily mean a @Controller. IMO, it could also be a Filter. The key point is that an Endpoint delivers a type of response, whether it's implemented in a Filter or @Controller. The Token Endpoint is a security endpoint so the logical design choice is that it's implemented as a Filter.
@protyay The initial logic for the Token Endpoint is that it should generate a JWT based on the incoming client Authentication. Let's imagine that the Token Endpoint Filter expects a OAuth2ClientAuthentication, that contains the client authenticated in #5. The Token Endpoint will assert on OAuth2ClientAuthentication and the required parameters defined in 4.4.  Client Credentials Grant.

@jgrandja How do you propose to implement the ability for the token response to include additional information besides "access_token", "token_type", and "expires_in" as demonstrated by "example_parameter" in the 4.4.3 Access Token Response example

@dfcoffin It is a very common use case to include custom parameters in a token response. This capability will be enabled. How it's going to be implemented is yet to be determined. The design will get flushed out as we work on it.

@jgrandja How about implementing the functionality in a more simpler Java class and wrapping the same inside the filter such that the same Java class can be used for the same purpose without the filter. The reason being Filter ( I'm assuming Servlet Filters here) are more of a JEE standard and with the advent of more contemporary frameworks, for e.g Vert.x, it might be more widely re-usable.

If I understand it correctly, it means that this project can't use Spring Web MVC? That wasn't clear to me, but it seems a reasonable requirement.

a company may want to leverage the Authorization Server framework provided by this project to build out a OAuth 2.0 / OpenID Connect 1.0 Provider

This confuses me. I was assuming that this project would deliver an authorization server application, implementing OAuth 2.0, possibly including OIDC. A company therefore doesn't have to build out this project to have an OAuth/OIDC provider; it is one already.
When you look at this project as an application instead of a framework, the requirement to not depend on Spring Web MVC is not very useful anymore.
I guess this discussion is a result of different views of what exactly this project will deliver, or how it is going to be used. Maybe it's good to elaborate, to make sure we're all on the same page.

I think, it is a Spring philosophy to provide toolsets, i.e. a framework (its already defined in its name springframework) not applications. If I want a authorization server application I could choose e.g. Keycloak, but if I already have an application and just want to enable it to act as an application server at the same time this project is the way to go in my opinion.
We can nevertheless think of some "standalone-app" module later that is a lightweight authorization server application.

@paurav-munshi

How about implementing the functionality in a more simpler Java class and wrapping the same inside the filter such that the same Java class can be used for the same purpose without the filter.

Most definitely. We should design it in such a way that a user could swap the Filter for a Controller. To allow for this, the collaborating components used by the Filter should be reuseable outside of the Filter as well. We will account for this in the design. Typically, Filter's provide minimal logic and simply control flow to it's collaborating components.

@tomvandenberge

I was assuming that this project would deliver an authorization server application, implementing OAuth 2.0, possibly including OIDC. A company therefore doesn't have to build out this project to have an OAuth/OIDC provider; it is one already

This project WILL NOT deliver an authorization server application/provider. As it states in the README:

The ultimate goal of this project is to replace the Authorization Server support provided by Spring Security OAuth.

Spring Security OAuth is a framework that provides the capability to enable OAuth 2.0 in an application using custom configuration and components. It's up to the user(s) of the application to configure the authorization server with the required features and to customize it to suit their organizations needs.
Having said that, we are thinking about providing a reference implementation built on top of the new framework. There may be server profiles to choose from depending on the type of configuration required. These are early thoughts at this point but our main goal is to allow users to stand up an authorization server easily and with minimal configuration.

@protyay How are things coming along with the PR? Do you have any questions or do you need any help?

I'm going to close this given the Token Endpoint Filter has been implemented in the core module #79.


fix: remove focus shadow from menubutton

Type

[x] Bugfix 🐛
[ ] New feature 🌈
[ ] Change request 🤓
[ ] Documentation 📚
[ ] Tech debt 👩💻

Changes proposed ✔
<EMAIL_ADDRESS>🐛 Bug fixes

Remove visual focus box-shadow from MenuButton component because it visually hints the element is on focus even after an action has been performed. (#93 by @juanchigallego)

<EMAIL_ADDRESS>🐛 Bug fixes

Remove visual focus box-shadow from MenuButton component because it visually hints the element is on focus even after an action has been performed. (#93 by @juanchigallego)

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (edc3e26) 90.24% compared to head (3ba9f30) 90.24%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master      #93   +/-   ##
=======================================
  Coverage   90.24%   90.24%
=======================================
  Files         106      106
  Lines         707      707
  Branches      116      116
=======================================
  Hits          638      638
  Misses         65       65
  Partials        4        4

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[cli][upgrade] Use Yarn if available

Motivation
If the project is using yarn to manage its dependencies, we should be running 'yarn add' to upgrade the React Native dependency, rather than 'npm install'.
Test plan (required)
Running in a project that's in a bad state:
Error: react-native version in "package.json" (0.29.2) doesn't match the installed version in "node_modules" (0.38.0).
Try running "yarn" to fix this.

Removed yarn.lock file, ran again:
Error: react-native version in "package.json" (0.29.2) doesn't match the installed version in "node_modules" (0.38.0).
Try running "npm install" to fix this.

Running inside a folder that doesn't contain a package.json file:
Error: Unable to find "/Users/mkonicek/Zero29App/package.json" or "/Users/mkonicek/Zero29App/node_modules/react-native/package.json". Make sure you ran "yarn" and that you are inside a React Native project.

Removed yarn.lock file, ran again:
Error: Unable to find "/Users/mkonicek/Zero29App/package.json" or "/Users/mkonicek/Zero29App/node_modules/react-native/package.json". Make sure you ran "npm install" and that you are inside a React Native project.

Success case:
Before, package.json contains:
"dependencies": {
  "react": "15.2.1",
  "react-native": "0.29.2"
}

Ran react-native-git-upgrade in project folder:
Logs:
git-upgrade info Check for updates
git-upgrade info Using yarn 0.17.8
...
git-upgrade info Install the new version
...
git-upgrade info Upgrade done

package.json contains:
"dependencies": {
  "react": "15.2.1",
  "react-native": "^0.38.0"
}

node_modules/react-native/package.json contains "version": "0.38.0".
Removed .yarn.lock file, the react-native-git-upgrade tool worked as before (without this PR).
Ran react-native-git-upgrade --help:
Usage: react-native-git-upgrade [version] [options]

Commands:

[Version]     upgrades React Native and app templates to the desired version
              (latest, if not specified)

Options:

-h, --help    output usage information
-v, --version output the version number
--verbose output debugging info
--npm force using the npm client even if your project uses yarn

LGTM

@facebook-github-bot shipit-ninja


change wording for dcam preview

Note: japanese and korean translations are google translated

@crwusiz @cydia2020 can you guys take a look at the korean and japenese translations?


Cannot deploy after updating from 0.1.111 ion to 3.1.49

When I started building my app I installed ion through specifying ion in the package.json and it was working fine.
However when I tried to deploy to prod I got this error: TypeError: pulumi.runtime.invokeOutput is not a function.
So I decided to update to the latest SST version. I ran pnpm update sst --latest and ran my usual dev command
sst dev --stage dev.
But now I get even more errors than I got previously only in prod.
|  Error       punchline-api sst:aws:ApiGatewayV1 → punchline-apiResourceBatmfh aws:apigateway:Resource
|    sdk-v2/provider2.go:509: sdk.helper_schema: creating API Gateway Resource: operation error API Gateway: CreateResource, https response error Stat
usCode: 409, RequestID: 302b0167-98ba-4c2f-b5d2-faed40291a11, ConflictException: Another resource with the same parent already has this name: web: pro
<EMAIL_ADDRESS>|  Error       punchline-api sst:aws:ApiGatewayV1 → punchline-apiResourceBabtrc aws:apigateway:Resource
|    sdk-v2/provider2.go:509: sdk.helper_schema: creating API Gateway Resource: operation error API Gateway: CreateResource, https response error Stat
usCode: 409, RequestID: e56654a1-b248-4347-a504-b700fa31925e, ConflictException: Another resource with the same parent already has this name: api: pro
<EMAIL_ADDRESS>|  Error       punchline-api sst:aws:ApiGatewayV1 → punchline-apiResourceBatmfh aws:apigateway:Resource
|  Resource: operation error API Gateway: CreateResource, https response error StatusCode: 409, RequestID: 302b0167-98ba-4c2f-b5d2-faed40291a11, Confl
ictException: Another resource with the same parent already has this name: web
|  Error       punchline-api sst:aws:ApiGatewayV1 → punchline-apiResourceBabtrc aws:apigateway:Resource
|  Resource: operation error API Gateway: CreateResource, https response error StatusCode: 409, RequestID: e56654a1-b248-4347-a504-b700fa31925e, Confl
ictException: Another resource with the same parent already has this name: api

✕  Failed
   punchline-api sst:aws:ApiGatewayV1 → punchline-apiResourceBatmfh aws:apigateway:Resource
     sdk-v2/provider2.go:509: sdk.helper_schema: creating API Gateway Resource: operation error API Gateway: CreateResource, https response error Stat
usCode: 409, RequestID: 302b0167-98ba-4c2f-b5d2-faed40291a11, ConflictException: Another resource with the same parent already has this name: web: pro
<EMAIL_ADDRESS>
   punchline-api sst:aws:ApiGatewayV1 → punchline-apiResourceBabtrc aws:apigateway:Resource
     sdk-v2/provider2.go:509: sdk.helper_schema: creating API Gateway Resource: operation error API Gateway: CreateResource, https response error Stat
usCode: 409, RequestID: e56654a1-b248-4347-a504-b700fa31925e, ConflictException: Another resource with the same parent already has this name: api: pro
<EMAIL_ADDRESS>
   punchline-api sst:aws:ApiGatewayV1 → punchline-apiResourceBatmfh aws:apigateway:Resource
   Resource: operation error API Gateway: CreateResource, https response error StatusCode: 409, RequestID: 302b0167-98ba-4c2f-b5d2-faed40291a11, Confl
ictException: Another resource with the same parent already has this name: web

   punchline-api sst:aws:ApiGatewayV1 → punchline-apiResourceBabtrc aws:apigateway:Resource
   Resource: operation error API Gateway: CreateResource, https response error StatusCode: 409, RequestID: e56654a1-b248-4347-a504-b700fa31925e, Confl
ictException: Another resource with the same parent already has this name: api

Its a conflict of some sort so I tried to change the name of the API Gateway but it did not fix the issue. Will I have to delete my entire deployment? Since I don't want to redo adding my SST secrets.

Same problem here trying to deploy this morning. From what I can see, no obvious dependency updates since this was working...
Failed
   TypeError: pulumi.runtime.invokeOutput is not a function
       at getAvailabilityZonesOutput (/..proj/.sst/platform/node_modules/@pulumi/getAvailabilityZones.ts:202:27)
       at normalizeAz (file:///..proj/.sst/platform/src/components/aws/vpc.ts:166:21)
       at new _Vpc (file:///..proj/.sst/platform/src/components/aws/vpc.ts:146:19)
       at run (file:///..proj/sst.config.ts:14:17)
       at run (file:///..proj/.sst/platform/src/auto/run.ts:33:26)
       at file:///..proj/eval.ts:4:28
       at ModuleJob.run (node:internal/modules/esm/module_job:222:25)
       at ModuleLoader.import (node:internal/modules/esm/loader:316:24)

Had a similar issue, downgrading the aws provider to 6.52.0 instead of the latest version 6.54.0 fixed the issue.
https://sst.dev/docs/providers/#versions

Thanks @JoshwJB - This got me moving again!
FWIW, attempting to push through with the upgrade from 0.1.111 to 3.1.49 caused a number of other problems for me. Notably, for some reason a bucket.subscribe function stopped working.  Initially there was simply no trigger on the lambda. Removing an event filter (events: ["s3:ObjectCreated:*"]) set up the trigger. It still never actually fired though...
Rolling back to 0.1.111, and rolling back the aws provider has me sorted for now.

I'm undergoing this issue right now. I'm currently using sst 0.1.21, not sure why it is happening
|  Error
|  TypeError: pulumi.runtime.invokeOutput is not a function
|      at getPartitionOutput (/home/runner/work/doutor-sim/doutor-sim/.sst/platform/node_modules/@pulumi/getPartition.ts:89:27)
|      at normalizePartition (file:///home/runner/work/doutor-sim/doutor-sim/.sst/platform/src/components/aws/ssr-site.ts:195:12)
|      at prepare (file:///home/runner/work/doutor-sim/doutor-sim/.sst/platform/src/components/aws/ssr-site.ts:173:21)
|      at new Nextjs (file:///home/runner/work/doutor-sim/doutor-sim/.sst/platform/src/components/aws/nextjs.ts:497:45)
|      at run (file:///home/runner/work/doutor-sim/doutor-sim/sst.config.ts:96:5)
|      at run (file:///home/runner/work/doutor-sim/doutor-sim/.sst/platform/src/auto/run.ts:33:26)
|      at file:///home/runner/work/doutor-sim/doutor-sim/eval.ts:6:28
|      at ModuleJob.run (node:internal/modules/esm/module_job:234:25)
|      at ModuleLoader.import (node:internal/modules/esm/loader:[47](https://github.com/mathuxbr/doutor-sim/actions/runs/11106117744/job/30856042755#step:8:48)3:24)

I reverted to the 6.52.0 AWS provider on version 3.1.49 and still get the same conflict errors. I might try doing SST destroy to see if that resolves it.

Reverting back to 0.1.111 and using the 6.52.0 AWS provider fixed the TypeError: pulumi.runtime.invokeOutput is not a function error I got in GH Actions.
But the issue when migrating to 3.1.49 must be properly fixed, since reverting the AWS provider and staying on an old SST version isn't a good fix in the long run.

I

Had a similar issue, downgrading the aws provider to 6.52.0 instead of the latest version 6.54.0 fixed the issue. You can do this following the steps here - https://sst.dev/docs/providers/#versions

This worked for me :pray:

It would be nice if someone could shed some light on what's happening here.
My CI suddenly broke without any dependency changes for two separate projects, one on an early 0.1.44 version, the other on 3.0.70, both due to the pulumi.runtime.invokeOutput is not a function. I assume that a specific pulumi version was not pinned Properly for SST and the lockfile doesnt cover it either?
For the 0.1.44 project, upgrading to 3.1.54 worked without needing to specificy a different AWS provider version in the changelog. I wonder if the recent releases fixed something? I can't find anything in the changelogs.
For the project that was on 3.0.70, I tried upgrading to 3.1.51 first which also fixed the pulumi error, and tried to pin the aws provider version , but that did not work out. I tried 3.1.54, but that doesnt work either.
I always get the PreconditionFailed: The request failed because it didn't meet the preconditions in one or more request-header fields<EMAIL_ADDRESS>Error for different resources.
I also tried pinning different versions like the v6.28.1 I was on the last deployment.
What's interesting now is, that sst now logs multiple versions during deployment:
~  Deploy
|  Info        Downloading provider aws v6.28.1
|  Info        Downloading provider aws v6.52.0
|  Info        Downloading provider aws v6.54.1
|  Info        Downloading provider aws v6.54.2

I believe these are not part of the commited code, so I assume SST stores these versions remotely in the S3 Bucket and fetches the required versions to match each resource? And for some reason that left my resources in some mixed state of versions? If that's the case, there's probably room for improvement here to check versions before partially altering resources, although i'm not sure if that's within the scope of SST or pulumi.
I might be wrong here and there's something I overlooked that causes these different version?


mouunsmoon and wavebreakersfin is not a valid weapon name

Error: mouunsmoon is not a valid Weapon Name
Error: mouunsmoon is not a valid Weapon Name
Error: mouunsmoon is not a valid Weapon Name
Error: wavebreakersfin is not a valid Weapon Name
New weapons need to be added.

oh forgot about these weapons. Will implement. Will also try to allow user to update this list by the use of a text file.


Error while trying to make Python Bindings

I'm trying to build python bindings for fairseq model, to use it for speech recognition modules.
But while trying to run the command
pip install -e . ,
getting below errors :-
Defaulting to user installation because normal site-packages is not writeable
Obtaining file:///home/mrityunjoy/wav2letter/bindings/python
Installing collected packages: wav2letter
Running setup.py develop for wav2letter
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/mrityunjoy/wav2letter/bindings/python/setup.py'"'"'; file='"'"'/home/mrityunjoy/wav2letter/bindings/python/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' develop --no-deps --user --prefix=
cwd: /home/mrityunjoy/wav2letter/bindings/python/
Complete output (436 lines):
running develop
running egg_info
writing wav2letter.egg-info/PKG-INFO
writing dependency_links to wav2letter.egg-info/dependency_links.txt
writing top-level names to wav2letter.egg-info/top_level.txt
reading manifest file 'wav2letter.egg-info/SOURCES.txt'
writing manifest file 'wav2letter.egg-info/SOURCES.txt'
running build_ext
-- The C compiler identification is GNU 7.4.0
-- The CXX compiler identification is GNU 7.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of void*
-- Check size of void* - done
-- Checking for [mkl_gf_lp64 - mkl_gnu_thread - mkl_core - iomp5 - pthread - m]
-- Library mkl_gf_lp64: not found
-- Checking for [mkl_gf_lp64 - mkl_intel_thread - mkl_core - iomp5 - pthread - m]
-- Library mkl_gf_lp64: not found
-- Checking for [mkl_gf - mkl_gnu_thread - mkl_core - iomp5 - pthread - m]
-- Library mkl_gf: not found
-- Checking for [mkl_gf - mkl_intel_thread - mkl_core - iomp5 - pthread - m]
-- Library mkl_gf: not found
-- Checking for [mkl_intel_lp64 - mkl_gnu_thread - mkl_core - iomp5 - pthread - m]
-- Library mkl_intel_lp64: not found
-- Checking for [mkl_intel_lp64 - mkl_intel_thread - mkl_core - iomp5 - pthread - m]
-- Library mkl_intel_lp64: not found
-- Checking for [mkl_intel - mkl_gnu_thread - mkl_core - iomp5 - pthread - m]
-- Library mkl_intel: not found
-- Checking for [mkl_intel - mkl_intel_thread - mkl_core - iomp5 - pthread - m]
-- Library mkl_intel: not found
-- Checking for [mkl_gf_lp64 - mkl_gnu_thread - mkl_core - pthread - m]
-- Library mkl_gf_lp64: not found
-- Checking for [mkl_gf_lp64 - mkl_intel_thread - mkl_core - pthread - m]
-- Library mkl_gf_lp64: not found
-- Checking for [mkl_gf - mkl_gnu_thread - mkl_core - pthread - m]
-- Library mkl_gf: not found
-- Checking for [mkl_gf - mkl_intel_thread - mkl_core - pthread - m]
-- Library mkl_gf: not found
-- Checking for [mkl_intel_lp64 - mkl_gnu_thread - mkl_core - pthread - m]
-- Library mkl_intel_lp64: not found
-- Checking for [mkl_intel_lp64 - mkl_intel_thread - mkl_core - pthread - m]
-- Library mkl_intel_lp64: not found
-- Checking for [mkl_intel - mkl_gnu_thread - mkl_core - pthread - m]
-- Library mkl_intel: not found
-- Checking for [mkl_intel - mkl_intel_thread - mkl_core - pthread - m]
-- Library mkl_intel: not found
-- Checking for [mkl_gf_lp64 - mkl_sequential - mkl_core - m]
-- Library mkl_gf_lp64: not found
-- Checking for [mkl_gf - mkl_sequential - mkl_core - m]
-- Library mkl_gf: not found
-- Checking for [mkl_intel_lp64 - mkl_sequential - mkl_core - m]
-- Library mkl_intel_lp64: not found
-- Checking for [mkl_intel - mkl_sequential - mkl_core - m]
-- Library mkl_intel: not found
-- Checking for [mkl_gf_lp64 - mkl_sequential - mkl_core - m]
-- Library mkl_gf_lp64: not found
-- Checking for [mkl_gf - mkl_sequential - mkl_core - m]
-- Library mkl_gf: not found
-- Checking for [mkl_intel_lp64 - mkl_sequential - mkl_core - m]
-- Library mkl_intel_lp64: not found
-- Checking for [mkl_intel - mkl_sequential - mkl_core - m]
-- Library mkl_intel: not found
-- Checking for [mkl_gf_lp64 - mkl_gnu_thread - mkl_core - iomp5 - pthread - m]
-- Library mkl_gf_lp64: not found
-- Checking for [mkl_gf_lp64 - mkl_intel_thread - mkl_core - iomp5 - pthread - m]
-- Library mkl_gf_lp64: not found
-- Checking for [mkl_gf - mkl_gnu_thread - mkl_core - iomp5 - pthread - m]
-- Library mkl_gf: not found
-- Checking for [mkl_gf - mkl_intel_thread - mkl_core - iomp5 - pthread - m]
-- Library mkl_gf: not found
-- Checking for [mkl_intel_lp64 - mkl_gnu_thread - mkl_core - iomp5 - pthread - m]
-- Library mkl_intel_lp64: not found
-- Checking for [mkl_intel_lp64 - mkl_intel_thread - mkl_core - iomp5 - pthread - m]
-- Library mkl_intel_lp64: not found
-- Checking for [mkl_intel - mkl_gnu_thread - mkl_core - iomp5 - pthread - m]
-- Library mkl_intel: not found
-- Checking for [mkl_intel - mkl_intel_thread - mkl_core - iomp5 - pthread - m]
-- Library mkl_intel: not found
-- Checking for [mkl_gf_lp64 - mkl_gnu_thread - mkl_core - pthread - m]
-- Library mkl_gf_lp64: not found
-- Checking for [mkl_gf_lp64 - mkl_intel_thread - mkl_core - pthread - m]
-- Library mkl_gf_lp64: not found
-- Checking for [mkl_gf - mkl_gnu_thread - mkl_core - pthread - m]
-- Library mkl_gf: not found
-- Checking for [mkl_gf - mkl_intel_thread - mkl_core - pthread - m]
-- Library mkl_gf: not found
-- Checking for [mkl_intel_lp64 - mkl_gnu_thread - mkl_core - pthread - m]
-- Library mkl_intel_lp64: not found
-- Checking for [mkl_intel_lp64 - mkl_intel_thread - mkl_core - pthread - m]
-- Library mkl_intel_lp64: not found
-- Checking for [mkl_intel - mkl_gnu_thread - mkl_core - pthread - m]
-- Library mkl_intel: not found
-- Checking for [mkl_intel - mkl_intel_thread - mkl_core - pthread - m]
-- Library mkl_intel: not found
-- Checking for [mkl - guide - pthread - m]
-- Library mkl: not found
-- MKL library not found
CMake Warning at CMakeLists.txt:32 (message):
MKL not found; forcing W2L_LIBRARIES_USE_MKL=OFF.

-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- CUDA found (library: /usr/local/cuda/lib64/libcudart_static.a;Threads::Threads;dl;/usr/lib/x86_64-linux-gnu/librt.so include: /usr/local/cuda/include)
-- CUDA architecture flags: -gencodearch=compute_30,code=sm_30-gencodearch=compute_35,code=sm_35-gencodearch=compute_50,code=sm_50-gencodearch=compute_52,code=sm_52-gencodearch=compute_60,code=sm_60-gencodearch=compute_61,code=sm_61-gencodearch=compute_70,code=sm_70-gencodearch=compute_75,code=sm_75-gencodearch=compute_70,code=compute_70-gencodearch=compute_75,code=compute_75
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'cblas'
--   No package 'cblas' found
-- Checking for [Accelerate]
-- Checking for [vecLib]
-- Checking for [cblas - atlas]
-- Includes found
-- Checking for [openblas]
-- Includes found
-- Looking for cblas_dgemm
-- Looking for cblas_dgemm - found
-- CBLAS Symbols FOUND
-- CBLAS library found
-- CBLAS found (include: /usr/include/x86_64-linux-gnu, library: /usr/lib/x86_64-linux-gnu/libopenblas.so)
-- Found FFTW: /usr/include
-- FFTW found
-- Looking for KenLM
-- Using kenlm library found in /home/mrityunjoy/kenlm/build/lib/libkenlm.a
-- Using kenlm utils library found in /home/mrityunjoy/kenlm/build/lib/libkenlm.a
-- kenlm lm/model.hh found in /home/mrityunjoy/kenlm/lm/model.hh
-- Found kenlm: /home/mrityunjoy/kenlm
-- Found kenlm (include: /home/mrityunjoy/kenlm, library: /home/mrityunjoy/kenlm/build/lib/libkenlm.a;/home/mrityunjoy/kenlm/build/lib/libkenlm_util.a)
-- Looking for lzma_auto_decoder in /usr/lib/x86_64-linux-gnu/liblzma.so
-- Looking for lzma_auto_decoder in /usr/lib/x86_64-linux-gnu/liblzma.so - found
-- Looking for lzma_easy_encoder in /usr/lib/x86_64-linux-gnu/liblzma.so
-- Looking for lzma_easy_encoder in /usr/lib/x86_64-linux-gnu/liblzma.so - found
-- Looking for lzma_lzma_preset in /usr/lib/x86_64-linux-gnu/liblzma.so
-- Looking for lzma_lzma_preset in /usr/lib/x86_64-linux-gnu/liblzma.so - found
-- Found LibLZMA: /usr/lib/x86_64-linux-gnu/liblzma.so (found version "5.2.2")
-- Found BZip2: /usr/lib/x86_64-linux-gnu/libbz2.so (found version "1.0.6")
-- Looking for BZ2_bzCompressInit
-- Looking for BZ2_bzCompressInit - found
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.11")
-- Found PythonInterp: /usr/bin/python3 (found version "3.6.9")
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.6m.so
-- Performing Test HAS_FLTO
-- Performing Test HAS_FLTO - Success
-- LTO enabled
-- Configuring done
-- Generating done
-- Build files have been written to: /home/mrityunjoy/wav2letter/bindings/python/build/temp.linux-x86_64-3.6
Scanning dependencies of target pybind11
Scanning dependencies of target CUB
[  1%] Creating directories for 'CUB'
[  1%] Creating directories for 'pybind11'
[  2%] Performing download step (git clone) for 'CUB'
[  2%] Performing download step (git clone) for 'pybind11'
Cloning into 'pybind11'...
Cloning into 'CUB'...
Note: checking out '9a19306fbf30642ca331d0ec88e7da54a96860f9'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 9a19306 bump version to 2.2.4
Submodule 'tools/clang' (https://github.com/wjakob/clang-cindex-python3) registered for path 'tools/clang'
Cloning into '/home/mrityunjoy/wav2letter/bindings/python/build/temp.linux-x86_64-3.6/bindings/python/pybind11/src/pybind11/tools/clang'...
Submodule path 'tools/clang': checked out '6a00cbc4a9b8e68b71caf7f774b3f9c753ae84d5'
[  3%] Performing update step for 'pybind11'
[  3%] No patch step for 'pybind11'
[  4%] No configure step for 'pybind11'
[  5%] No build step for 'pybind11'
[  6%] No install step for 'pybind11'
[  6%] Completed 'pybind11'
[  6%] Built target pybind11
Note: checking out 'c3cceac115c072fb63df1836ff46d8c60d9eb304'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again.
----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/home/mrityunjoy/wav2letter/bindings/python/setup.py'"'"'; file='"'"'/home/mrityunjoy/wav2letter/bindings/python/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' develop --no-deps --user --prefix= Check the logs for full command output.

How was this solved?

@anvgarg , check this https://github.com/facebookresearch/wav2letter/issues/789#issuecomment-678494402 . Hope will solve your issue


Allow renaming functions to constants

Problem

I have some Ruby tests that for various reasons use a function instead of a constant:
def origin; "https://example.com"; end

it "does the job" do
  SomeJob.enqueue(origin: origin)
end

I want the code to look like:
ORIGIN = "https://example.com"

it "does the job"
  SomeJob.enqueue(origin: ORIGIN)
end

I tried to rename the function to ORIGIN, so that the code would refactor to this (so then I could just change the function to a constant manually):
def ORIGIN; "https://example.com"; end

it "does the job"
  SomeJob.enqueue(origin: ORIGIN)
end

But the LSP wouldn't let me, saying (sic):

Method names must begin with an lowercase letter.

Proposed solution

Remove this check:
https://github.com/sorbet/sorbet/blob/db69c5c127d136d49f206e846cbb986cc9818f2f/main/lsp/requests/rename.cc#L250-L255
It was introduced here, in this pull request by @soam-stripe: https://github.com/sorbet/sorbet/pull/3625/files#diff-673788f6ade0f2b8b34e84f5afec0f8c19459a434b0be1504330afd6e7940c8aR289-R293

Btw, "Method names must begin with a lowercase letter." isn't even correct as evidenced by Kernel#Array and friends


Fix DownsamplingImageProcessor example

UIView doesn't have a size property.
You can get a view's size with UIView.bounds.size -- I assume that's what was intended here.

Thanks for it!


Tests, Typed methods and Pydantic Responses

@daquintero let me know if you'd like me to merge this (won't release a new version just yet), you can then use that as a foundation for your work.


challenge-issue DB query raise the error, and return abnormally

/hold

@asuka730  Could you please split your commits into two PRs?

/close

/close


tsdb: prevent fields with empty names being written by SELECT INTO

Currently, if one tries to run a SELECT INTO statement with a query whose
result set has an empty column names influx will panic (#5644, #5697) or enter an
infinite loop (#5712).
An example of a query which causes this problem is
select count(value)/60 into cpu_hour from cpu group by time(1h)
It doesn't seem sane to create points with fields containing empty names,
so for now, return an error rather doing something we know is going
to cause a problem down the track.
A better alternative might be to assign/generate default names to such columns.
Signed-off-b: Jon Seymour<EMAIL_ADDRESS>

Now that #5716 rejects points with empty field names upon construction, this workaround is not required, so this PR is now withdrawn


Error when listing DXGI outputs with .NET 5.0

Hi,
I'm trying to use DXGI in a .NET 5.0 project but it fails when listing adapters' outputs (while the same code is working fine with .NET 4.8).
Steps to reproduce

Platform: Desktop
Framework Version: .NET 5.0
API: DXGI

I tried the following code:
Guid factory1Guid = IDXGIFactory1.Guid;

DXGI dXGIApi = DXGI.GetApi();

IDXGIFactory1* dXGIFactory1 = null;
IDXGIAdapter1* dXGIAdapter1 = null;
IDXGIOutput* dXGIOutput = null;

SilkMarshal.ThrowHResult(dXGIApi.CreateDXGIFactory1(ref factory1Guid, (void**)&dXGIFactory1));

// Adapter with index 0 should be the one with the output on which the primary desktop is displayed.
SilkMarshal.ThrowHResult(dXGIFactory1->EnumAdapters1(0, &dXGIAdapter1));

AdapterDesc1 adapterDesc = default(AdapterDesc1);
SilkMarshal.ThrowHResult(dXGIAdapter1->GetDesc1(&adapterDesc));

// Get the first output (with index 0) of the adapter, it should be the one on which the primary desktop is displayed.
SilkMarshal.ThrowHResult(dXGIAdapter1->EnumOutputs(0, &dXGIOutput));

The last line throws an error DXGI_ERROR_NOT_FOUND (0x887A0002).
The same code works fine with .NET 4.8.
Additional comments
I went through the code and saw the main difference between .NET 4.8 / and .NET 5.0 is that the calling convention is omitted in the case of .NET 5+:
        public readonly unsafe int EnumOutputs(uint Output, IDXGIOutput** ppOutput)
        {
            var @this = (IDXGIAdapter1*) Unsafe.AsPointer(ref Unsafe.AsRef(in this));
            int ret = default;
            #if NET5_0_OR_GREATER
            ret = ((delegate* unmanaged<IDXGIAdapter1*, uint, IDXGIOutput**, int>)LpVtbl[7])(@this, Output, ppOutput);
            #else
            if (SilkMarshal.IsWinapiStdcall)
            {
                ret = ((delegate* unmanaged[Stdcall]<IDXGIAdapter1*, uint, IDXGIOutput**, int>)LpVtbl[7])(@this, Output, ppOutput);
            }
            else
            {
                ret = ((delegate* unmanaged[Cdecl]<IDXGIAdapter1*, uint, IDXGIOutput**, int>)LpVtbl[7])(@this, Output, ppOutput);
            }
            #endif
            return ret;
        }

As per my understanding, this will cause the calling convention to be defined at runtime depending on the platform the code is running on. But is there additional configuration / settings required for that?
The adapter returned for index 0 is different in .NET 5.0 / 4.8 while I would have have expected to receive the same adapter in both cases as the doc specifies that adapter 0 is the one with the output on which the primary desktop is displayed. But I'm not sure it is significant.  As a side note, I tried listing the outputs of other adapters and it fails as well.
Thanks in advance!

Oh and by the way this is the most interesting bug report we've had in a while, so thanks(?) for that! :D

One other idea: try .NET Core 3.1 as well to see if the bug reproduces there. If it doesn't, then I'll ping in a runtime god.

Hi,
Thank you for your help and sorry for the late reply. I tried to enable the info queue output but it does return any message. I also tried with .NET core 3.1 and I confirm I can also reproduce the bug with it.
Thanks.

Ok last resort time… @tannergooding (sorry) any ideas why we’d be getting differences between an unmanaged func pointer and our fudged fallback mechanism (see issue description)? Thanks for any help.

Not sure. Just for comparison, could you try to run the following code? I'd like to just get a quick sample on if this is something potentially wrong with TerraFX vs something with Silk.NET vs something with ClangSharp.
Example.csproj
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="TerraFX.Interop.Windows" Version="10.0.22000-rc1" />
  </ItemGroup>

</Project>

Program.cs
using System.Diagnostics.CodeAnalysis;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using TerraFX.Interop.DirectX;
using TerraFX.Interop.Windows;
using static TerraFX.Interop.DirectX.DirectX;
using static TerraFX.Interop.Windows.Windows;

unsafe
{
    IDXGIFactory1* dxgiFactory1;
    ThrowIfFailed(CreateDXGIFactory1(__uuidof<IDXGIFactory1>(), (void**)&dxgiFactory1));

    IDXGIAdapter1* dxgiAdapter1;
    ThrowIfFailed(dxgiFactory1->EnumAdapters1(0, &dxgiAdapter1));

    DXGI_ADAPTER_DESC1 dxgiAdapterDesc;
    ThrowIfFailed(dxgiAdapter1->GetDesc1(&dxgiAdapterDesc));

    Console.WriteLine($"AdapterLuid: {dxgiAdapterDesc.AdapterLuid.HighPart:X8}{dxgiAdapterDesc.AdapterLuid.LowPart:X8}");
    Console.WriteLine($"Description: {MemoryMarshal.CreateReadOnlySpanFromNullTerminated((char*)dxgiAdapterDesc.Description)}");
    Console.WriteLine($"DeviceId: {dxgiAdapterDesc.DeviceId}");
    Console.WriteLine($"Revision: {dxgiAdapterDesc.Revision}");
    Console.WriteLine($"SubSysId: {dxgiAdapterDesc.SubSysId}");
    Console.WriteLine($"VendorId: {dxgiAdapterDesc.VendorId}");
    Console.WriteLine();

    IDXGIOutput* dxgiOutput;
    ThrowIfFailed(dxgiAdapter1->EnumOutputs(0, &dxgiOutput));

    DXGI_OUTPUT_DESC dxgiOutputDesc;
    ThrowIfFailed(dxgiOutput->GetDesc(&dxgiOutputDesc));

    Console.WriteLine($"DeviceName: {MemoryMarshal.CreateReadOnlySpanFromNullTerminated((char*)dxgiOutputDesc.DeviceName)}");
}

[MethodImpl(MethodImplOptions.AggressiveInlining)]
static void ThrowIfFailed(HRESULT value, [CallerArgumentExpression("value")] string? valueExpression = null)
{
    if (value.FAILED)
    {
        ThrowExternalException(valueExpression ?? "Method", value);
    }
}

[DoesNotReturn]
static void ThrowExternalException(string methodName, int errorCode)
{
    var message = string.Format("'{0}' failed with an error code of '{1}'", methodName, errorCode);
    throw new ExternalException(message, errorCode);
}

For reference, when compared to the following:
Example.csproj
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Silk.NET.DXGI" Version="2.13.0" />
  </ItemGroup>

</Project>

Program.cs
using Silk.NET.Core.Native;
using Silk.NET.DXGI;
using System.Runtime.InteropServices;

unsafe
{
    Guid factory1Guid = IDXGIFactory1.Guid;

    DXGI dxgiApi = DXGI.GetApi();

    IDXGIFactory1* dxgiFactory1 = null;
    IDXGIAdapter1* dxgiAdapter1 = null;
    IDXGIOutput* dxgiOutput = null;

    SilkMarshal.ThrowHResult(dxgiApi.CreateDXGIFactory1(ref factory1Guid, (void**)&dxgiFactory1));

    // Adapter with index 0 should be the one with the output on which the primary desktop is displayed.
    SilkMarshal.ThrowHResult(dxgiFactory1->EnumAdapters1(0, &dxgiAdapter1));

    AdapterDesc1 dxgiAdapterDesc = default(AdapterDesc1);
    SilkMarshal.ThrowHResult(dxgiAdapter1->GetDesc1(&dxgiAdapterDesc));

    Console.WriteLine($"AdapterLuid: {dxgiAdapterDesc.AdapterLuid.High:X8}{dxgiAdapterDesc.AdapterLuid.Low:X8}");
    Console.WriteLine($"Description: {MemoryMarshal.CreateReadOnlySpanFromNullTerminated((char*)dxgiAdapterDesc.Description)}");
    Console.WriteLine($"DeviceId: {dxgiAdapterDesc.DeviceId}");
    Console.WriteLine($"Revision: {dxgiAdapterDesc.Revision}");
    Console.WriteLine($"SubSysId: {dxgiAdapterDesc.SubSysId}");
    Console.WriteLine($"VendorId: {dxgiAdapterDesc.VendorId}");
    Console.WriteLine();

    // Get the first output (with index 0) of the adapter, it should be the one on which the primary desktop is displayed.
    SilkMarshal.ThrowHResult(dxgiAdapter1->EnumOutputs(0, &dxgiOutput));

    OutputDesc dxgiOutputDesc;
    SilkMarshal.ThrowHResult(dxgiOutput->GetDesc(&dxgiOutputDesc));

    Console.WriteLine($"DeviceName: {MemoryMarshal.CreateReadOnlySpanFromNullTerminated((char*)dxgiOutputDesc.DeviceName)}");
}

I get the same output on both for the boxes I've tested on.
AdapterLuid:<PHONE_NUMBER>011564
Description: AMD Radeon RX 6900 XT
DeviceId: 29631
Revision: 192
SubSysId:<PHONE_NUMBER>
VendorId: 4098

DeviceName: \\.\DISPLAY1

Likewise seeing the same on net5.0 and net48

@gofr3 for our reference (not sure if you’ve put it anywhere else) are you using ARM or x86? And 32-bit or 64-bit?
I can’t think of anything we’re doing wrong, our signatures look to be correct and our .NET 5 path will do the same as our !.NET 5 path on the most popular platforms.

Hi @tannergooding and @Perksey ,
Thanks again for your help. I tried the TerraFx vs Silk code and both return the same adapter before throwing an exception on the line listing the outputs:
AdapterLuid:<PHONE_NUMBER>01B3C9
Description: AMD FirePro S7100X
DeviceId: 26921
Revision: 1
SubSysId: 184553474
VendorId: 4098

I also tried the same code on .NET 4.8 and it returns:
AdapterLuid:<PHONE_NUMBER>01BB92
Description: Microsoft Basic Render Driver
DeviceId: 140
Revision: 0
SubSysId: 0
VendorId: 5140

As this is a really weird problem, I tried the same thing on a different machine and it worked... The machine on which it fails is a bit special as it is accessed over citrix and maybe this does not play well with the Direct X libraries. I just don't understand why it works with 4.8 and not with .NET 5 / .NET 6 but anyway, if it works on a "normal" setup then it is not a Silk.NET issue. Sorry for the false alarm and thanks again for your quick support.

Ah in that case at a guess your GPU driver on your Citrix machine is faulty, and for whatever reason the .NET Framework one is defaulting to the software driver? In any case, doesn't look like this is our issue!

It may he a difference in 32-bit vs 64-bit process.
You should be able to add a Console.WriteLine(Environment.Is64BitProcess) to see if net48 vs net6.0 differ here.
I'd expect that net48 is targeting 32-bit by default and that net3.1/net5.0/net6.0 are targeting 64-bit

Having not heard anything further, I shall close this as user-specific. I don't think there's any Silk bug here!


Always add rng device to fedora VMs in functests

Newer kernels may block booting the guest waiting for entropy for some
of its services.
Related to #1847
NONE

@booxter shouldn't you update console test as well?

/retest


Fetch all khchecks using unstructured objects

Addresses #554
When listing all khchecks, if any of the khchecks are misconfigured, this functionality khCheckClient.List(metav1.ListOptions{}, checkCRDResource, "") fails to list any of the khchecks, blocking the main kuberhealthy process. To account for this potential error / misconfiguration of khchecks, using the dynamic client, fetch all khchecks as an unstructured object and proceed to convert each khcheck to the structured object khcheck.
For now, we skip / log the error if the a misconfigured khcheck cannot be converted to a structured object...

@jonnydawg please review!

Let @jonnydawg review and then give 'er a mergin'.


[FeatureRequest] Python 3.9 support

Python 3.9 stable release is coming out in October. Creating a tracking issue.

@stefanushinardi 3.9 rc2 was released today. Let's get this going and perhaps even make it work with the release candidates? :)


keymaps that activate only in otter context

To allow keeping other mappins when outside of a code chunk, e.g. go to definition in quarto / markdown would be using the marksman lsp go-to-definition for a headding but otter when inside of a code context.

Or rather: otter functions such as lsp requests need a fallback that get's called when outside of an otter context!

closed by https://github.com/jmbuhr/otter.nvim/pull/23


Bug in channel sorting options text not translated.

Relevant part
https://github.com/HolodexNet/Holodex/blob/dev/src/views/Channels.vue#L206
Current Code
text: "Recently Added",

Corrected Code
text: this.$t("views.channels.sortOptions.recentUpload"),

The attached image is in Japanese, but the yellow markers are not translated.


Xamarin.Auth is not working under Android anymore

I've got a custom page renderer for Android (and a similar one for iOS) in my Xamarin Forms solution. Both the Android one and the iOS one used to work fine about two months ago. This is for logging on using Facebook with the OAuth2Authenticator class. Then I switched my attention to the iOS version of my app for a while. But now that I'm trying to get it to work on Android again it only shows the "AUTHENTICATE" header on Android and only a white screen comes up and it stays stuck there indefinitely.
There are no application console errors and it doesn't help if I pause the app to try to see where it's stuck in the call stack (this is true even if I run it with the live code from Github instead of from a package or from the Component version). I've tried various things now including downloading the latest master branch from the Xamarin.Auth Github project and installing the latest Xamarin.Auth package from Xamarin Studio (version 1.3.0-alpha-03). I've also tried installing the latest Xamarin.Forms (version <IP_ADDRESS>-pre2). Whether I use the Xamarin.Auth version from Github (master) or the stable package version or the latest pre-release package version, the results stays the same (it also stays the same regardless of whether I use the latest pre-release version of Xamarin Forms vs the latest stable release). I therefore believe it must be a deeply seeded bug somewhere within Xamarin.Auth that is causing it to be incompatible with the latest stable version of Xamarin.Forms.
I see on the Component page https://components.xamarin.com/view/xamarin.auth that others (ricardo.charf) are also experiencing recent issues (dated 4 April 2016) with the Android version. Over the past few days that I've been struggling with this I got it so far as to show the Facebook login page where I could enter my credentials but then after hitting the Submit/Logon button it would then freeze up at that point and it would never reach my Completed handler (similar to the issue that Ricardo Charf mentioned on the Component page). But today it's not even getting that far.
Could you kindly look into this urgently as it is effectively preventing me and I'm sure others as well from making progress on the Android side of app development. If this is going to be some kind of dead end for the Android side of Xamarin.Auth then it needs to be communicated to the developer community asap. Please do not leave us in the dark on this...
PS: Essentially, the solution proposed in the following link now only works under iOS and not under Android anymore: http://www.joesauve.com/using-xamarin-auth-with-xamarin-forms/
Update: I have tried running the Android sample included in the Xamarin.Auth Github project itself and I get the same error: on the first line of the Completed delegate function (line 32 of MainActivity.cs in the Solution samples/Xamarin.Auth.Sample.Android/Xamarin.Auth.Sample.Android.sln ) an exception is thrown: "A System.NullReferenceException was thrown. Object reference not set to an instance of an object" and the stack trace points to line 133 of Authenticator.cs. That line reads "ev (this, new AuthenticatorCompletedEventArgs (account)); ...". So at the moment, not even the sample Xamarin.Auth Android app works. This occurs directly after the Facebook login page was shown and once the user has successfully logged on using their Facebook credentials. Please look into this asap.
Update 2: Here is the complete stack trace where the exception is thrown in the Android sample that is included in hte Xamarin.Auth Github project:
at Xamarin.Auth.Authenticator.OnSucceeded (Xamarin.Auth.Account account) [0x0002c] in /Users/louistaljaard/Documents/Projects/Azure/2016-04-11 Xamarin.Auth - Github LIVE/src/Xamarin.Auth/Authenticator.cs:130
at Xamarin.Auth.Authenticator.OnSucceeded (System.String username, IDictionary2 accountProperties) [0x00009] in /Users/louistaljaard/Documents/Projects/Azure/2016-04-11 Xamarin.Auth - Github LIVE/src/Xamarin.Auth/Authenticator.cs:150    at Xamarin.Auth.OAuth2Authenticator.OnRetrievedAccountProperties (IDictionary2 accountProperties) [0x0005c] in /Users/louistaljaard/Documents/Projects/Azure/2016-04-11 Xamarin.Auth - Github LIVE/src/Xamarin.Auth/OAuth2Authenticator.cs:382
at Xamarin.Auth.OAuth2Authenticator.OnRedirectPageLoaded (System.Uri url, IDictionary2 query, IDictionary2 fragment) [0x00014] in /Users/louistaljaard/Documents/Projects/Azure/2016-04-11 Xamarin.Auth - Github LIVE/src/Xamarin.Auth/OAuth2Authenticator.cs:282
at Xamarin.Auth.WebRedirectAuthenticator.OnPageEncountered (System.Uri url, IDictionary2 query, IDictionary2 fragment) [0x000a5] in /Users/louistaljaard/Documents/Projects/Azure/2016-04-11 Xamarin.Auth - Github LIVE/src/Xamarin.Auth/WebRedirectAuthenticator.cs:147
at Xamarin.Auth.OAuth2Authenticator.OnPageEncountered (System.Uri url, IDictionary2 query, IDictionary2 fragment) [0x000a1] in /Users/louistaljaard/Documents/Projects/Azure/2016-04-11 Xamarin.Auth - Github LIVE/src/Xamarin.Auth/OAuth2Authenticator.cs:258
at Xamarin.Auth.WebRedirectAuthenticator.OnPageLoading (System.Uri url) [0x0001d] in /Users/louistaljaard/Documents/Projects/Azure/2016-04-11 Xamarin.Auth - Github LIVE/src/Xamarin.Auth/WebRedirectAuthenticator.cs:103
at Xamarin.Auth.WebAuthenticatorActivity+Client.OnPageStarted (Android.Webkit.WebView view, System.String url, Android.Graphics.Bitmap favicon) [0x00019] in /Users/louistaljaard/Documents/Projects/Azure/2016-04-11 Xamarin.Auth - Github LIVE/src/Xamarin.Auth.Android/WebAuthenticatorActivity.cs:168
at Android.Webkit.WebViewClient.n_OnPageStarted_Landroid_webkit_WebView_Ljava_lang_String_Landroid_graphics_Bitmap_ (IntPtr jnienv, IntPtr native__this, IntPtr native_view, IntPtr native_url, IntPtr native_favicon) [0x00022] in /Users/builder/data/lanes/3053/a94a03b5/source/monodroid/src/Mono.Android/platforms/android-10/src/generated/Android.Webkit.WebViewClient.cs:232
at (wrapper dynamic-method) System.Object:3c7e77c7-142c-451a-837e-2a7d03aa39bc (intptr,intptr,intptr,intptr,intptr)

Ok I've finally found the reason for this bug. As soon as you upgrade from the current stable version of the Xamarin.Forms package (version <IP_ADDRESS>29) to the pre-release version <IP_ADDRESS>-pre2 the Android login screen disappears (iOS works both under the stable and pre-release version). Note that in my search for the underlying problem I also tried the non-Xamarin.Auth approach which uses the platform-specific LoginAsync() method instead of relying on the OAuth2Authenticator class to render the Facebook login page. And the same bug actually occurs in the non-Xamarin.Auth approach as well! So this is not a bug in Xamarin.Auth, rather it has something to do with either the Xamarin.Forms pre-release version or with the new version of the Xamarin.Android dependency packages that come with the pre-release version (the stable Xamarin.Forms version uses Android packages <IP_ADDRESS> and the pre-release Xamarin.Forms version uses Android packages <IP_ADDRESS>). so even through this is not a Xamarin.Auth bug I'm asking you to kindly bring it to the attention of the Xamarin.Forms team, before merely closing this issue.

The bug has been fixed in the latest pre-release version of Xamarin.Forms

O Bug Continua, voltou a ocorrer na versão atual do Xamarin.forms <IP_ADDRESS>

SO can anyone tell me what version on Xamarin forms this was fixed
?

I am having the same problem in the current version of Xamarin.Forms (<IP_ADDRESS>3944)


Facebook interface change?

I assume that Facebook have updated their interface as most of this guide refers to items which don't exist - it's really confusing.

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

ID: aeb73901-3320-4d53-767c-bfd03b3b0354
Version Independent ID: 404e18f1-d6da-5654-3e68-8e888e11433e
Content: Set up sign-up and sign-in with a Facebook account - Azure AD B2C
Content Source: articles/active-directory-b2c/identity-provider-facebook.md
Service: active-directory
Sub-service: b2c
GitHub Login: @garrodonnell
Microsoft Alias: godonnell

@uobnsturner
Thanks for your feedback! We will investigate and update as appropriate.

We're migrating all GitHub issues to ADO. Transferred GH issue feedback to Verbatims/UUF for tracking.
#please-close


Reset the date in Embedded datepicker

I want to reset the date in embedded date picker without using the clear button.
Instead, I want to clear the date on button click event.
Any help would be appreciated

You should be able to do it with update:
$('.datepicker').datepicker('update', '');

Thank you very much. That worked


Feat(eos_cli_config_gen): Add support for Vxlan DSCP mapping

Change Summary
Added DSCP encapsulation and decapsulation commands in Vxlan interface. Also refactored Vxlan documentation template to support further scaling.
https://eos.arista.com/eos-4-26-0f/vxlan-dscp-mapping/
Related Issue(s)
Fixes #1455
Component(s) name
arista.avd.eos_cli_config_gen
Proposed changes
New knobs added:
vxlan_interface:
  Vxlan1:
    description: < description >
    vxlan:
      qos:
        # !!!Warning, only few hardware types with software version >= 4.26.0 support the below knobs to configure Vxlan DSCP mapping.
        # For the Traffic Class to be derived based on the outer DSCP field of the incoming VxLan packet, the core ports must be in “DSCP Trust” mode.
        dscp_propagation_encapsulation: < true | false >
        map_dscp_to_traffic_class_decapsulation: < true | false >

How to test
Molecule

Checklist
User Checklist

N/A

Repository Checklist

[x] My code has been rebased from devel before I start
[x] I have read the CONTRIBUTING document.
[x] My change requires a change to the documentation and documentation have been updated accordingly.
[x] I have updated molecule CI testing accordingly. (check the box if not applicable)

Let me change the settings, values to singular


Quick scroll to top causes 1 fetch but no way to get more

Im able to scroll quickly to the top of my list. It fetches as quic as it can but once it reaches the top there is no more fetching.
I would like if there was a trigger after stopping so I can see where the user ended. I can then use this to execute another fetch.

bump


Pylance forgets some variables are TypeVars

Environment data

Language Server version: v2022.11.40
OS and version: Ubuntu 22.04.1 LTS running via WSL <IP_ADDRESS> in Windows 11 version 22H2
Python version (& distribution if applicable, e.g. Anaconda): 3.11.0

Code Snippet

from dataclasses import dataclass
from typing import Generic, TypeVar, Union

NatExpr = Union['Add[NatExpr]', 'Sub[NatExpr]', 'Mul[NatExpr]']
IntExpr = Union['Add[IntExpr]', 'Sub[IntExpr]', 'Mul[IntExpr]']
RealExpr = Union['Add[RealExpr]', 'Sub[RealExpr]', 'Mul[RealExpr]']

ExprT = TypeVar('ExprT', NatExpr, IntExpr, RealExpr)

# Expression base classes

@dataclass
class UnaryExpr(Generic[ExprT]):
    x: ExprT

@dataclass
class BinaryExpr(Generic[ExprT]):
#                        ^^^^^ Type argument for "Generic" must be a type variable -- Pylance
    x: ExprT
    y: ExprT

# -- Numeric expressions

@dataclass
class Add(Generic[ExprT], BinaryExpr[ExprT]): pass

@dataclass
class Sub(Generic[ExprT], BinaryExpr[ExprT]): pass

@dataclass
class Mul(Generic[ExprT], BinaryExpr[ExprT]): pass
#                 ^^^^^ Type argument for "Generic" must be a type variable -- Pylance

Expected behavior
No type errors.
Actual behavior
Errors marked in comments above -- but sometimes they move to other classes. It's as if Pylance is repeatedly remembering and forgetting that ExprT is a TypeVar.
If you remove all of the constraints in the TypeVar declaration, ExprT = TypeVar('ExprT'), the errors go away.
If you remove one of the constraints in the TypeVar declaration, e.g, ExprT = TypeVar('ExprT', NatExpr, RealExpr), sometimes you see errors, sometimes you don't.
Logs

Log file was too large to include in issue below are the first few lines:
[Info  - 4:47:45 PM] (27011) Pylance language server 2022.11.40 (pyright 45344736) starting
[Info  - 4:47:45 PM] (27011) Server root directory: /home/akash/.vscode-server/extensions/ms-python.vscode-pylance-2022.11.40/dist
[Info  - 4:47:45 PM] (27011) Starting service instance "_Test"
[Info  - 4:47:45 PM] (27011) Notebook support: LSP
[Info  - 4:47:45 PM] (27011) Interactive window support: LSP
[Info  - 4:47:45 PM] (27011) No configuration file found.
[Info  - 4:47:45 PM] (27011) No pyproject.toml file found.
[Info  - 4:47:45 PM] (27011) Setting pythonPath for service "_Test": "/bin/python3.11"
[Warn  - 4:47:45 PM] (27011) stubPath /home/akash/programming/python/_Test/typings is not a valid directory.
[Info  - 4:47:45 PM] (27011) Assuming Python version 3.11
[Info  - 4:47:45 PM] (27011) Assuming Python platform Linux
[Info  - 4:47:45 PM] (27011) Search paths for /home/akash/programming/python/_Test
[Info  - 4:47:45 PM] (27011)   /home/akash/.vscode-server/extensions/ms-python.vscode-pylance-2022.11.40/dist/typeshed-fallback/stdlib
[Info  - 4:47:45 PM] (27011)   /home/akash/programming/python/_Test
[Info  - 4:47:45 PM] (27011)   /home/akash/programming/python/_Test/typings
[Info  - 4:47:45 PM] (27011)   /home/akash/.vscode-server/extensions/ms-python.vscode-pylance-2022.11.40/dist/typeshed-fallback/stubs/...
[Info  - 4:47:45 PM] (27011)   /home/akash/.vscode-server/extensions/ms-python.vscode-pylance-2022.11.40/dist/bundled/stubs
[Info  - 4:47:45 PM] (27011)   /usr/lib/python3.11

pylance_log.txt

You have created a cyclical dependency. You've defined type variables in terms of classes that use those same type variables. You'll need to eliminate the cycle if you want this to work with pyright (the type checker that underlies pylance).


Add loadMetadata and fix other cmds

add metadata load command
remove init clearMetrics because it definitely will not work as it calls a removed BlockClient rpc
fix error in init validate

@twalluxio ptal

alluxio-bot, merge this please


Integration in HA

Hi, when I try to implement this integration in HA I get the following error:
Traceback (most recent call last): File “C:\Users\Paul\Desktop\Home Assistant stuff\HassWP_2023.12.4\python-3.11.6.amd64\Lib\site-packages\homeassistant\helpers\entity_platform.py”, line 361, in _async_setup_platform await asyncio.shield(task) File “C:\Users\Paul\Desktop\Home Assistant stuff\HassWP_2023.12.4\python-3.11.6.amd64\Lib\concurrent\futures\thread.py”, line 58, in run result = self.fn(*self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File “C:\Users\Paul\Desktop\Home Assistant stuff\HassWP_2023.12.4\config\custom_components\renac\sensor.py”, line 57, in setup_platform emailSn = login(conf.get(CONF_USERNAME), conf.get(CONF_PASSWORD)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File “C:\Users\Paul\Desktop\Home Assistant stuff\HassWP_2023.12.4\config\custom_components\renac\sensor.py”, line 85, in login _LOGGER.info(“Got email id :” + str(r.json()[‘email’])) ~~~~~~~~^^^^^^^^^ KeyError: ‘email’
the documentation doesn't seem to mention anything about an email address - what am I missing/misunderstanding.
I really hope you can help me with this as you have the only Renac integration that I can find.
Thanks

This is due to the fact that the Renac-SEC API URI changed. I fixed it in the 0.0.5 release.
Do note that this component is only tested against a single 3-phase Renac Inverter (R3-8K-DT). Not sure how it will behave on a single phase model. Let me know if you encounter any issue.

That's great - I now have it up and running - thank you for the updated release. I also have a 3-phase inverter (R3-4K-DT).

It may be a while before I have enough dev knowledge to make any meaningful contributions.
I have it set up nicely on my dashboard - it's doing everything I need; you've done an excellent job with this.
One thing I noticed was that the default HA energy dashboard registers "unexpected device class" & "last reset missing" warnings in the configuration - that's not a problem for me as I'm using a custom dashboard, but you might want to have a look at it just for the sake of completeness?


Typo on Poimandres

I'm maintaining react-use-gesture. Happy to see this lib grow on Vue but I'd appreciate if you mention right away that this is a port of the lib, on top of the Read Me. I'd also appreciate if you could use a different color scheme for the documentation website. This is not urgent, take your time, and if you don't want to, so be it ;)

Hey @dbismut, thanks for the PR.

I'd appreciate if you mention right away

i guess i did? it's in the readme & website & tweet

I'd also appreciate if you could use a different color scheme for the documentation

Could you elaborate? its not readable or something?

i guess i did? it's in the readme & website & tweet

I meant on top of the ReadMe.

Could you elaborate? its not readable or something?

Too close to react-use-gesture current identity.

I meant on top of the ReadMe.

oh sure.

Too close to react-use-gesture current identity.

I can use teal instead of yellow/orange for the logo etc sounds good? Or do you have an idea?

I can use teal instead of yellow/orange for the logo etc sounds good? Or do you have an idea?

It's just that all css vars from the website: the blue, the yellow feel really identical. Anyway no major deal, if you want to keep it like this, no worries.

I can use teal instead of yellow/orange for the logo etc sounds good? Or do you have an idea?

It's just that all css vars from the website: the blue, the yellow feel really identical. Anyway no major deal, if you want to keep it like this, no worries.

It was my point actually, this is not my library its react-use-gesture's code. We use react-use-gesture for our react projects and we needed for one of our vue project. That's why i built it. I wanted to keep the api, look and feel the same as react-use-gesture. I dont mind removing this repo if you want to collabarate on making a framework agnostic use-gesture repo :D but anyways i'll change the colors. Even if i change the blues etc. u'll feel the same. Im core team member of chakraui so take a look at https://chakra-ui.com/docs/getting-started (with dark mode enabled) its the same colors as react-use-gesture? :D even though its not exactly the same hex but it would feel the same. So, sorry about that :D

No problem really! Interesting though, we could try to make use-gesture platform agnostic or rather provide plugins for React, Vue, you name it. Only hooks are React specific 90% of the lib is universal. Let's discuss that further, I want to work on v10 next month, would be cool to have you on board to see how we could make this work on vue as well?
Like:
import { useDrag } from "@use-gesture/react"

Cheers!

@dbismut Exactly! . Yea the core stuff is almost framework agnostic so it wouldnt be that hard. We can do it ^^ Just let me know when you have time.

Like:
import { useDrag } from "@use-gesture/react"

Cheers!
💯 love the api already :)

I can give you my twitter username or discord which one would you prefer?

Can you join pmndrs discord? The room is react-use-gesture let's catch up in there!

oh youre right! im already in there joined months ago :)


sap.m.MultiComboBox: Scrolling Issues with selected items

OpenUI5 version: latest
Browser/version (+device/version): Chrome (latest)
Any other tested browsers/devices(OK/FAIL): Firefox, IE OK
URL (minimal example if possible): https://openui5.hana.ondemand.com/explored.html#/sample/sap.m.sample.MultiComboBox/preview
User/password (if required and possible - do not post any confidential information here):
Steps to reproduce the problem:

Pull down the drop down and select a number of items such that not all can be shown in the combobox
Close the dropdown
Drag a selected item and move it left or right. Repeat and you'll soon see that the items get into a mode where you can only drag them a few pixels.

What is the expected result? Expect you can scroll the selected items without limitation
What happens instead? The scrolling can get into a mode where they only scroll by a few pixels. Seems that once the control loses focus and regains it, the problem goes away.
Any other information? (attach screenshot if possible)

Hi Chuck,
right, I can reproduce this after a while.
I think it happens when the user drags the items and the mouse moves out of the box while dragging. Clicking outside the MultiComboBox "fixes" the problem again.
I opened internal ticket<PHONE_NUMBER>.
Regards
Andreas

I can not reproduce this issue with the latest Chrome anymore.
Additionally the keyboard is intended to be used if you want to scrolling between the tokens.

Well, it is still reproducible.
Not a high priority issue, for sure, but let's keep it open.

Hi @cmastrandrea,
The issue is now fixed with the following change https://github.com/SAP/openui5/commit/46533fbac5691fb466c636a9f46039a5c38d2dbd. The change is available in the master branch and down-ported to rel-1.38.
The issue was related to a bug in Chrome's select behavior. The change I provided is a workaround to fix the problem. Some additional details:

In Chrome if you select the Tokenizer (or token/s) along with some other elements (empty text also counts) you can drag them that is why the scrolling doesn't work as expected. Since the tokens and the tokens container have properties "user-select: none" we expect that they will not be selected but what we see is exactly the opposite. This chrome behavior is already logged as a bug https://bugs.chromium.org/p/chromium/issues/detail?id=147490.
In Mozilla the selection works as expected. If you select the Tokenizer (or token/s) along with other elements you can scroll without a problem because "user-select: none" works and the Tokenizer/Tokens are not selected.
In IE/Edge the selection is reset if you click on the Tokenizer so this problem is not reproducible there.

The fix is going to be available in the next versions of OpenUI5.
Best Regards,
Svetoslav


fix: hash nonce to note hashes created in public

Please read contributing guidelines and remove this line.

Benchmark results
No metrics with a significant change found.

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Proof generation
Each column represents the number of threads used in proof generation.

Metric
1 threads
4 threads
16 threads
32 threads
64 threads

proof_construction_time_sha256_ms
5,724
1,540
701
746 (+4%)
766 (+1%)

proof_construction_time_sha256_30_ms
11,695
3,142 (-1%)
1,407
1,429 (-1%)
1,467 (+1%)

proof_construction_time_sha256_100_ms
43,885
12,435
5,633 (-1%)
5,548 (-1%)
5,475 (-1%)

proof_construction_time_poseidon_hash_ms
78.0
34.0 (-8%)
34.0 (-23%)
59.0 (-9%)
88.0 (-3%)

proof_construction_time_poseidon_hash_30_ms
1,519
416
200 (+1%)
223 (-2%)
265

proof_construction_time_poseidon_hash_100_ms
5,611
1,513
673
739 (+1%)
754 (+1%)

L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
4 txs
8 txs
16 txs

l1_rollup_calldata_size_in_bytes
740
740
740

l1_rollup_calldata_gas
6,716
6,730
6,728

l1_rollup_execution_gas
611,983
612,148
612,297

l2_block_processing_time_in_ms
758 (+1%)
1,396
2,699

l2_block_building_time_in_ms
10,342 (+2%)
20,578 (+4%)
42,900 (+8%)

l2_block_rollup_simulation_time_in_ms
10,341 (+2%)
20,578 (+4%)
42,899 (+8%)

l2_block_public_tx_process_time_in_ms
8,597 (+1%)
18,522 (+3%)
40,883 (+9%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 8 txs.

Metric
3 blocks
5 blocks

node_history_sync_time_in_ms
6,966 (+1%)
9,678

node_database_size_in_bytes
12,681,296
16,883,792

pxe_database_size_in_bytes
16,254
26,813

Circuits stats
Stats on running time and I/O sizes collected for every kernel circuit run across all benchmarks.

Function
time_ms
bytecode_size_in_bytes

GasToken:_increase_public_balance
96.4 (+2%)
8,139

GasToken:set_portal
13.4 (-13%)
2,362

Token:constructor
119 (-1%)
16,400

FPC:constructor
93.0 (-1%)
9,304

GasToken:mint_public
80.2 (-1%)
6,150

Token:mint_public
86.9 (-13%)
11,720

Token:assert_minter_and_mint
54.6 (-11%)
8,028

AuthRegistry:set_authorized
10.6
4,537

FPC:prepare_fee
281 (+5%)
8,812

Token:transfer_public
38.4 (-16%)
32,641

FPC:pay_refund
84.1 (+17%)
12,114

Benchmarking:increment_balance
1,043 (+5%)
7,450

Token:_increase_public_balance
13.8 (+14%)
8,960

FPC:pay_refund_with_shielded_rebate
147 (+2%)
12,663

Public DB Access
Time to access various public DBs.

Function
time_ms

get-nullifier-index
0.150 (-2%)

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
16 leaves
64 leaves
128 leaves
256 leaves
512 leaves
1024 leaves

batch_insert_into_append_only_tree_16_depth_ms
10.4 (+2%)
16.4
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.7
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.602 (+2%)
0.505
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
47.5 (+1%)
74.5 (-1%)
130
242
464

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
95.9
159
287
543
1,055

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.486 (+1%)
0.457 (-1%)
0.445
0.438
0.433

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
58.5
110
181 (+1%)
347
685

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
109
207
355
691
1,363

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.493
0.492
0.479 (+1%)
0.470
0.470

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
71.6
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
133
N/A
N/A
N/A
N/A

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
0.509
N/A
N/A
N/A
N/A

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes
1 registered classes

tx_size_in_bytes
62,729 (+6%)
664,455

Transaction size based on fee payment method
| Metric |  |
| - |  |


Steps to enable DKIM are incorrect

The listed steps/screnshots to enable DKIM are incorrect. There is no option to first create DKIM keys and then publish CNAMEs.
Instead it's only possible to immediately enable "Sign messages for this domain with DKIM signatures", which then fails because the CNAMEs don't exist yet.

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

ID: 249c059f-c3ce-a382-b99e-795a0c1f646a
Version Independent ID: 5656c114-ae16-6194-cd9f-353b33f4a1e1
Content: How to use DKIM for email in your custom domain - Office 365
Content Source: microsoft-365/security/office-365-security/use-dkim-to-validate-outbound-email.md
Product: m365-security
Technology: mdo
GitHub Login: @MSFTTracyP
Microsoft Alias: tracyp

Apparently only for some domains the option is missing. I guess I got older keys there, eventhough I've never setup DKIM.
So maybe this is a non-issue. I close it.


Can the sparkucx can be used when UCX_TLS=tcp ?

There is only TCP support at my machine , and there will be
[1597129379.385163] [server:20110:1]         select.c:434  UCX  ERROR no remote registered memory access transport to client:6868: tcp/bond0 - no put short, tcp/eth0 - no put short, sockcm/sockaddr - no pending
[1597129379.385171] [server:20110:1]   ucp_listener.c:121  UCX  ERROR connection request failed on listener 0x7fedbd6f8480 with status Destination is unreachable

The current version of SparkUCX utilizes RDMA to accelerate shuffle block transfer. We're working on a version, that would have additional protocols, so it should work with TCP transport.

Thanks
And when the version with TCP transport will be release?

We expect to have it in a few months.

Thanks


Attempt to stabilize chaos tests for instrumented builds

Scope & Purpose

check stop condition in clients in every iteration
increase wait time for clients in case of instrumented builds

Failed test showed unrelated data race.