jwt_authn inline_string with symmetric key cant satisfy validation

Hi,
I'm trying to configure jwt auth with an inline string and gets the following errors:
With this config:
local_jwks:                     inline_string: '                     {                       "keys":[                         {                           "kty":"oct",                           "kid":"xxx",                           "alg":"HS256",                           "k":"xxx",                         }                       ]                     }'
The error is: Issuer 'xx' in jwt_authn config has invalid local jwks: [kty] is not supported in [keys]
Without kty
local_jwks:                     inline_string: '                     {                       "keys":[                         {                           "kid":"xxx",                           "alg":"HS256",                           "k":"xxx",                         }                       ]                     }'
Gives this error:  Issuer 'xxx' in jwt_authn config has invalid local jwks: [kty] is missing in [keys]
So I have no idea how to make the validator happy!
Using version 1.11.2 of envoy in docker.

Realize that HS256 is not supported until 1.12.0, must be better at looking at the version tag in documentation when googling for envoy docs...
I do think that the error message was a little bit confusing still!

@daviderenger can you share how you did it? I'm able to configure the authN but it always returns 401 on 1.12.0

@bernardoVale Still no success with this. Now it doesn't complain about the configuration, but always getting 401 too :/
Will try a bit more and see if I can get it to work. A little more logs would be useful, all I see is "Jwt verification fails" with tokens and keys that work in our application.

could you post your JWT and JWKS here,  I can take a look?
Or if you are c++ developer with BAZEL installed.   you can try to clone this repo
change any of verify_xxx_test.cc with your JWT and JWKS and run "bazel test //..." with it

Have you used jwt.io to verify it?

@bernardoVale @qiwzhang I actually got it to work now :tada:
The one thing that I missed was to base64 encode the secret string. So this is my configuration now that works:
const secret =  'a very secret string'; //used to create the token with jsonwebtoken

name: envoy.filters.http.jwt_authn
config:
providers:
rpc_jwt_provider:
issuer: someIssuer
local_jwks:
inline_string: '{"keys":[{"typ": "JWT", "kty":"oct","alg":"HS256","kid":"df","k":"YSB2ZXJ5IHNlY3JldCBzdHJpbmc="}]}'
from_headers:
- name: accessTokenTest
forward: false
forward_payload_header: x-jwt-payload
rules:
- match:
prefix: /event-gateway
requires:
provider_name: rpc_jwt_provider

'YSB2ZXJ5IHNlY3JldCBzdHJpbmc=' is just 'a very secret string' base64 encoded.

Ok, not really done yet. It still doesn't work with the real keys we use, only works with this kind of simple strings. I guess our keys are not ok for some reason so they are transformed somehow when generating the JWT


SW-4021 Move scheduled observations notification to the observations root page

was previously only included in the list/map views
move it up so it shows for the empty state as well

Not sure why this deploy was not triggered.


Punctuation handling

Not sure if this has been done yet, but will try and contribute anyway!
Will now split on all non-word characters so punctuation doesn't affect the translation.

Merged in #101


Removed an unused variable name

This PR fixes #554
The way the code currently is, people pulling in this file will have a new warning in their project. Seems like a library should try not to generate warnings in other peoples' projects.
Should be extremely low-risk to merge this in.  Just helpful for anyone else who uses the resource-proxy in the future.

Thank you @ekrapfl


chore(deps): bump webpack-server-dev to fix a vulnerability (#6802)

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[ ] Docs
[x] Underlying tools
[x] Other, please describe: Upgrade dependencies to fix a transitive vulnerability

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

Other information:
All the tests ran fine, its a minor version upgrade from 4.1.0 to 4.7.0. Alternatively the webpack-dev-server library can be updated to 4.1.1 which is the first version with the fixed transitive vulnerability in it. Will probably want to be ported to a 4.x version of vue/cli-service as well.
Vulnerability information: https://github.com/advisories/GHSA-whgm-jr23-g3j9
Webpack-dev-server commit that fixed the vulnerability there: https://github.com/webpack/webpack-dev-server/commit/36fd21477dac5131ec266cc1d717d87051f10a2b

@sodatea Any chance we can get this merged to fix a vulnerability? 🙏


Issue #202

Upgrade to 9.3.8 for #202

Currently running at https://20160317t150943-dot-jetty9-work.appspot.com/dump/info

Lgtm


add pole3d school

Add pole3D school to allow teachers and students to deploy the power of rider for Unity games !
https://pole3d.com/en/homepage/

@aurelienesteves First stage of verification passed, official domain is pole3d.com as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@aurelienesteves Thank you for your patience while waiting for a review and processing your request. Pull request merged. Thank you!


Provide a supported API

From https://twitter.com/webKnjaZ/status/1308027546697641984

So the things I needed from Towncrier in the past, of the top of my head, were:

Getting all the settings, including note categories and fragment paths (in order to come up with a regex for checking added files in PR diffs)
Rendering the unpublished version notes draft (for inclusion in Sphinx-based docs) and passing a custom string for the version used in the notes title
Figuring out whether any of those fragments are actually present (this one was for supporting complicated edge cases in the Sphinx's caching mechanism)

But rather than exposing an API endpoint each time it's necessary, I suggest having an architecture that allows having API (almost) always exposed by having a separate layer that the CLI would use. This way, the main consumer of that API would be the CLI, and everything that CLI offers would be available automatically:
[CLI] -> [public API] -> [private APIs in the project core]
              ^
              |
      /----------------\
      | other  projects |
      | importing scriv |
      \----------------/

This would probably mean moving logic from click-decorated functions into separate ones.

I'm coming back to thinking about this.  I don't understand this one:

Figuring out whether any of those fragments are actually present

The fragments are just files in a directory.  Do you mean, figure out what fragments are present?

I've refactored to create a sketch of an API in pull request #28.  Take a look and let me know what you think.

The fragments are just files in a directory. Do you mean, figure out what fragments are present?

Yes, even better: check if the fragments are present and valid. In the context of linting checks in pull requests, it's usually important to figure out if a new fragment has been added, not that some files are present in the dir (they can be old).

Yes, even better: check if the fragments are present and valid. In the context of linting checks in pull requests, it's usually important to figure out if a new fragment has been added, not that some files are present in the dir (they can be old).

Thanks. I've written a new issue for that feature: Provide a "check" command.

Version 0.11.0 has an (undocumented) API now. Let me know if you try it.


Build against AR 6-0-stable instead of master

Fixes build failures due to AR moving on and those changes not being handled yet

Most builds fail because mpapis's rvm key has expired

I don't see where I could make a change so this is done, but the RVM website says to import these two keys:
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB

👍 for the changes here. The RVM problems seem intermittent. But there are still some problems due to some backports, so I just did #1017 to fix some of them


What is the intention behind helm lint for metadata namespace?

From the comment at the beginning of this function one could think that there is a check related to metadata.namespace, but no related ERROR, WARN or INFO is triggered:
https://github.com/helm/helm/blob/master/pkg/lint/rules/template.go#L96
What is the intention?

It could be an outdated comment. I think this could be included as part of #5584.

Closing as duplicate of #5584.


Minor bugfixes

I'm assuming the grab/pinch values in code are an mistake, though I suppose 1.f and 0.8 for grab and pinch strength could be for stability reasons. I personally think a lower value makes more sense because it's easy for a user to add more stringent checks in the blueprint implementation, and pretty much impossible to make it more lenient without digging into sourcecode.

These are good catches. I believe only the pinch strength was intended.


Fix ready event

Emit ready only when really everything is initialized.

Hm. Looking at the existing Mumble codebase, the PermissionQuery is not part of the handshake. The server sends: ServerSync, ServerConfig and SuggestConfig during the authentication and then considers the connection to be OK. At this point I believe the client can start sending audio, fiddling with users, etc.
When the user joins a channel (automatically) the PermissionQuery gets sent. Given every user joins a channel I think it makes sense to assume that all users get PermissionQuery during connection - at least I didn't see a way to skip it by looking at the server code. So it kind of does make sense to wait for that until the ready event.
However I'm curious for the reasons to do so? What is it needed for?
From what I saw in the code, the server sends only the permissions for the current channel and the immediate parent automatically. So when we receive the 'ready' state, there's still a lot of channels that do not have the permissions set.
Would it be better to tweak the API in such a way that the Channel would have an asynchronous getPermissions method? Then we wouldn't need to care whether the permissions are already received or whether they need to be fetched from the server.
Channel.prototype.getPermissions = function( callback ) {

  // If the permissions are cached, invoke callback with those cached permissions.
  if( this.permissions ) {
    return process.nextTick( callback.bind( null, this.permission ) );
  }

  // Otherwise query the server for permissions and wait for the response.
  this.wrapper.sendMessage( 'QueryPermissions', { channel: this.id });
  this.wrapper.once( 'queryPermissions-' + this.id, function( permissions ) {
    this.permissions = permissions;
    callback( permissions );
  }.bind( this ) );
}

@Rantanen agreed. Fixed. Permissions may follow in a later pr.

Had a stab at it myself. Any idea how to decode them though?
Root permissions: 134743822

Nevermind! Found it.
https://github.com/mumble-voip/mumble/blob/840a31de0e217f7908d3872b7cd76568ad28ccb1/src/ACL.h#L46

I would like to keep permission in another pullrequest.

Oh, yeah. Of course. I just forgot to merge this. Wasn't waiting for permissions :)

Are you working on the permissions method at the moment or should I finish what I started?

No I dont. Sorry. Also I will have no time next week so you will have to stay on this alone for the next 5 days.


Update Cookbook documentation

The documentation is very clear and explains in detail the architecture system in its three different versions (edge node, in-cluster, tunneled).
However, in some points it can be improved, in particular in the explanation of the installation of the various components and in particular:
Cookbook -> Interlink API Server -> Edge node
At the second point it says “Create the install.sh utility script through the installation utility” with a link  to follow. In the new page, there is no trace of the install.sh script, instead there is a script called interlink-remote.sh and reading the guide it would seem to be that. It is necessary to clarify this aspect.
The third point says “Install Oauth2-Proxy and interLink API server services as per Quick start”.
Here it is clear how to install the binaries (following the Quick start) but it is not clear that this script is used to install both binaries, so it would be better to specify “Use the script as explained in the Quickstart to install both the OAUTH2 proxy and InterLink binaries”.
Finally, it should be made clear that after installing the binaries you can start them as explained in the Quickstart.
This is essential.
In the plugin section it is explained how to start the service but not for Interlink.
Deploy Kubernetes components -> Edge node
Inside the configuration of the virtual node it is possible to specify the resources :
virtualNode:
  CPUs: 1000
  MemGiB: 1600
  Pods: 100
  HTTPProxies:
    HTTP: null
    HTTPs: null

It is possible also the specify if the node has some GPU available?
In the same configuration file (values.yaml) , why the OAUTH image is specified? This should not be changed from the values.yaml since it is a core component.
Interlink API server -> in-cluster
The button "Testing and Debugging Tips" doesn't point to anything

Agree, please open a PR with the proposed changes


i18n

It has been mentioned before briefly in another issue but then it seems it wasn't discussed any further.
https://github.com/brandonweiss/charge/issues/1095#issuecomment-922272096
My use case for internationalization is pretty much the same. Is this something we can achieve with the current version of Charge? If not, what would need to happen to make this possible?

My gut says it’s almost certainly possible to make an i18n site with Charge as-is, but that doesn’t necessarily mean it’d be easy to do it 😅
Can you start by explaining exactly how you’d like to see i18n work? URL structure, string/key storage, string/key consumption, etc. Example code would be especially helpful!
From there I can help explain how you might do i18n with Charge as-is, as well as figure out what conveniences it might make sense to add.
Thanks!

The folder structure should basically be similar to what was mentioned in the original ticket.
E.g. given two locales "en" and "fr"
index.html
en/index.html
fr/index.html
For the translations themselves, I'm not looking for too much help. What matters most is that I can output my components in those folders with certain settings. For now I have translations by key value pair in a json file, and have a settings json file with the 'current' language. A simple function will then look up the correct translation by a key and current language.
I have a few utility scripts that will update the settings json with a certain language and I run them before I serve/build charge. This is a current workaround so I can at least output the site in a certain language, but I'd have to run the build for every language individually. Additionally, I'd be missing the correct folder structure (I'd have to move the files by hand in the correct folder before deploying) which breaks links, etc while I'm serving in development mode. I also can't change language on the fly when serving since I can only serve one language at a time.
All of this could be solved if I could (1) output multiple files from a single page and (2) control where it would output those. The documentation mentions 'dynamic pages' but doesn't say what those while stating they are 'coming soon'.
Hope you can help me out here, the current setup kind of works but really isn't ideal for development purposes.

Alright, let’s see how far we can get with things as-is. I’ll caveat that I’m winging this here a bit—I haven’t actually tried any of this.
The first problem to solve is how to share pages. We obviously don’t want to make index.html and then have to completely duplicate the markup to make fr/index.html. Let’s say we have a data file like this:
// data/translations.json
{
  en: {
    greeting: “Hello"
  }
  fr: {
    greeting: “Bonjour"
  }
}

Then we could make a page like this.
// index.html.jsx

export default ({ language: "en", data }) => {
  return <p>{data.translations[language].greeting}</p>
}

I believe that should work 🤞🏼 And that might also allow us to do this.
// fr/index.html

import Index from “./index.html.jsx"

export default ({ data }) => {
  return <Index language="fr" data={data} />
}

Give that a try and tell me if that works or not! I realize it’s not super elegant, but it’s a start. You could improve it by extracting a function to make the translation lookup a little more seamless, something like translate("greeting", language).
The next step might be to codify this somehow. Like maybe if there is a translations file in the data directory, it could look at the top-level keys (en, fr, et cetera) and automatically create the permutations of the pages. Although to do that would require enforcing a specific URL structure, and I honestly don’t know if that makes sense because I don’t have a lot of experience with i18n. Is putting the language in the path like this the best? What about subdomains? Or something else?

Actually I just realized that because you’d be importing the first page, that page becomes a component, and won’t be outputted, so you’d only wind up with the en/index.html and fr/index.html. That said, I think perhaps that makes more sense. I can’t quite imagine a scenario where you’d want both index.html and en/index.html to both exist. Search engines frown on duplicate content, so you’d probably have to set a canonical meta tag to avoid being penalized. Maybe there’s a use-case I’m missing, but it seems like you’d want to create a redirect rule in whatever host you’re using to redirect URLs without a language to the same URL but with whatever the default language is.

Thanks for getting back to me.
This was the first approach I considered, but it causes a proliferation of files. Now for every page, I need to create another file for every language with some meaningless boilerplate. This means that, for my initial example of two languages, if I have 20 pages I end up with 60 files. That's really painful when 40 of those pages don't do anything. Especially when something changes (since you'd have to keep everything in sync).
The translations themselves are not an issue, I have a similar approach with a translations json and that works fine. It's automatically generating the correct permutations in the correct folder without the need to create these pages manually which is an issue. To be honest, there is nothing in the API that I saw that could make this possible. Only more control over how and where pages are outputted seems to fix the issue elegantly.
From what I've seen putting the language in a path is a pretty decent way to go, and that's what I'm choosing to do with my own site currently. Subdomains could be an alternative but they have their own pros and cons. For a simple static site path seems the best solution.

Yeah, that’s fair. Okay let’s see how this could potentially work.
Let’s say there’s a canonical place we put translations, sort of like I mentioned in a previous comment.
// data/translations.json
{
  en: {
    greeting: “Hello"
  }
  fr: {
    greeting: “Bonjour"
  }
}

We could extract the language keys from this in order to determine what languages are available. This does seem to be the most common way to handle translations, although I’ve always found this structure a bit annoying. To me it makes much more sense to group around the translation key, like this:
// data/translations.json
{
  greeting: {
    en: "Hello",
    fr: "Bonjour"
  }
}

That way it’s much easier to add/remove translation keys. But then it’s harder to know exactly what languages are available. You’d have to randomly grab the first translation key and then extract the language keys from it. That feels sort of inelegant, but it technically works.
From there, every page could be generated with a language prefix (e.g. en/index.html). I think we’d have to not generate a “default” language (e.g. index.html), because there wouldn’t really be a good way to specify a default language. I mean we could technically infer it by which language key is first, but that feels really un-obvious and confusing. As I mentioned earlier, I also can’t really see the use-case for generating the same content at two different paths. What do you think?
To get the translations we could automatically pass in a language prop to the page, that would then let you lookup the correct translation in the data file, like I demonstrated earlier.
Although alternatively we could potentially do something more clever… we could pass in a translations prop that is already scoped to the language for that page, so you could just do {{ translations.greeting }}. That feels pretty nice.
What do you think?

That would work, but it doesn't allow for much flexibility. I was thinking something like this:
Allow to optionally export a 'basePath' property on the exported metadata in a file. By default, this value is an empty path (''). However, whenever this value is provided ChargeJs will output this file under the given basePath. Optionally, an array of basePaths can be given. When this is the case ChargeJs will output the file multiple times, each time under a different base path. When ChargeJs generates the file, the current basePath will be provided on the props object.
Some examples, given a file structure in the source folder:
index.html.jsx
portfolio.html.jsx
blog/post1.html.jsx
blog/post2.html.jsx

When basePath is '' the output will have the same structure in the target folder:
index.html.jsx
portfolio.html.jsx
blog/post1.html.jsx
blog/post2.html.jsx

Now, let's assume the basePath is set (in every file's metadata!) to 'dist' the output in the target folder will look like this:
dist/index.html.jsx
dist/portfolio.html.jsx
dist/blog/post1.html.jsx
dist/blog/post2.html.jsx

Or, let's assume the basePath is set (in every file's metadata!) to [ 'en', 'fr' ] the output in the target folder will look like this:
en/index.html.jsx
en/portfolio.html.jsx
en/blog/post1.html.jsx
en/blog/post2.html.jsx
fr/index.html.jsx
fr/portfolio.html.jsx
fr/blog/post1.html.jsx
fr/blog/post2.html.jsx

Or, let's assume the basePath is set (in every file's metadata!) to [ '', 'en', 'fr' ] the output in the target folder will look like this:
index.html.jsx
portfolio.html.jsx
blog/post1.html.jsx
blog/post2.html.jsx
en/index.html.jsx
en/portfolio.html.jsx
en/blog/post1.html.jsx
en/blog/post2.html.jsx
fr/index.html.jsx
fr/portfolio.html.jsx
fr/blog/post1.html.jsx
fr/blog/post2.html.jsx

You could also mix and match, let's say we only have our blog in English, but we want to show the index and portfolio pages in multiple languages, we could set the metadata languages in every post file to just 'en' while for the portfolio and index pages we set it to [ 'en', 'fr' ']. Then we get the following output:
en/index.html.jsx
en/portfolio.html.jsx
en/blog/post1.html.jsx
en/blog/post2.html
fr/index.html.jsx
fr/portfolio.html.jsx

Given this feature creating translated pages becomes trivial. We have even more control over how and where we want to pull translations from. (e.g. you want to define some translations in markdown, or you manage them in an external tool).
Is this something you think could work?

I think I sort of understand what you’re getting at, although I’m not entirely sure how it would work? Can you give me an example of how basePath would be set?

Under the section "meta" (https://charge.js.org/pages) of the docs it mentions exporting a meta object from a page. So I would suggest doing something like this:
export const meta = {
  basePath: [ 'en', 'fr' ],
  // Optional other data
  date: "2019/01/28",
  title: "First post!"
}

Oh, okay, so the meta export is really only for MDX (Markdown) pages because the nature of how Markdown works there’s no other way to communicate relevant information up to a layout higher in the tree.
I guess I should have called out in my explanation that I think Markdown is something different that doesn’t seem to fall under normal i18n usage. Like you wouldn’t put that prose content in a translations file, right? You would just duplicate the page and write the prose in a different language. Which is something you can do now without any i18n-specific additions. The URL structure might be something like this:
/ (index)
/archive (archive)
posts/title (post in default language)
posts/title-de (post in German language)

To me I think where the i18n stuff comes in is in making it possible for the index and the archive pages to be in multiple languages. So then the question becomes, is there any value in allowing those pages to be translated on a per-page basis. Like how common or useful would it be for the index page to be in English, French, and German, but the archive to only be in English? I’m having a hard time inmagining a scenario where that would be desirable? It seems like if you’re going to go to the trouble to translate some of your strings into a different language, you’re probably going to go to the trouble to translate all your strings into a different language.
What do you think?

For the record, I'm currently not using any MDX pages. It wasn't clear to me that the meta section in the docs only applied to MDX.

It seems like if you’re going to go to the trouble to translate some of your strings into a different language, you’re probably going to go to the trouble to translate all your strings into a different language.

While I personally don't have a need for it at this time, one possible use case could be only making a blog available for a certain language or even having a different blog content for different languages (as you might be working with more localized content creators).
I'm mostly trying to think a little bit further than just i18n. I like that ChargeJs is simple and doesn't need configuration to get started. But I'm definitely running into an issue here because I don't have control over where pages get outputted, or dynamically outputting a page multiple times with different parameters. My proposal has 2 benefits:

You can use basePath for more use cases than just i18n. There might be other scenarios where you need more control over where and how many times you want to output a file.
It is independent of what actual tools you want to use to do i18n. It's very simple for me to create a JSON with translation strings and write a function that pulls the correct translation. Someone else might want to do it a little differently though or pull translation data from somewhere else completely.

That said, calling it 'basePath' might not be powerful enough for some cases. I'm trying to think of the most general/powerful approach that is still simple conceptually. Maybe providing some kind of 'parameters' array which causes a page to be generated multiple times paired with a callback function of which basePath they should render to could work.
Let's assume we take the idea of meta and make it work with .jsx files. We could define something like this:
const meta = {
  runs: [
    { lang: 'en' },
    { lang: 'fr' }
  ],
  path: (path, name, run) => run.lang + '/' + path + name
}

Runs would define how many times the page 'generation' gets executed. For each run, you can specify your own metadata. Path will determine where the file will be outputted. So in this case we create an additional base folder for the language and nest the path in there. In other use cases, we might want to just change the file name. Additionally, the run metadata will be provided on the props that the component receives as well.
Now I could create my own combinations. Let's take an example where I have a multilingual (English and French) documentation website where for some pages I have different code examples for the programming languages that my library supports. So I want permutations of my page where I generate two pages per language.
const meta = {
  runs: [
    { lang: 'en', programmingLang: 'js' },
    { lang: 'en', programmingLang: 'python' },
    { lang: 'fr', programmingLang: 'js' },
    { lang: 'fr', programmingLang: 'python' }
  ],
  path: (path, name, run) => run.lang + '/' + path + run.programmingLang + '/' + name
}

What's your take on this? Hope we can find something that's both simple to understand and use, but also powerful enough so that I don't need to turn to another static site generator.

@brandonweiss have you had a chance to take a look at my proposal?

@jannesiera Hey, sorry, I did take a quick look at it but didn’t have time to respond—I’ll try to get to it shortly!

@brandonweiss happy new year! When do you think you could have another look at this?

Hey! Thanks for your patience 🙏🏼 And I appreciate your thoughtful write-up!
Okay, so regarding blog posts—yeah, that’s a great example of where content might be unevenly translated. Especially if the translations are user-contributed, it’s unlikely someone is going to spend the time to translate every post into their language of choice. But that said, it’s also unlikely that any technical person would write a blog post in JSX/HTML. They’re almost certainly going to write it in MDX/Markdown, which is sort of outside the scope of most i18n systems because it’s almost entirely prose. If you wanted to translate a blog post like that you would just duplicate the file, change the name, and write it in the new language.
As for a generic/abstract way to generate multiple files and/or change the path… so conceptually I like the thinking. I like when simple abstractions are created that can be used in multiple ways to achieve different goals. That said, I do think there is sort of a line somewhere were something because almost too abstract. Like Charge is actually a good example because the entire reason I created was tools like Gatsby are almost incomprehensible because they tried to make a tool that could do literally anything. By adding some conventions and limitations, I’ve made it so Charge can’t do literally anything, but it can do most things, and it can do them (I think) much more simply that Gatsby or something like it can.
So to get more concrete, I look at the runs/path syntax and I think okay, there’s two ways I could conceivably use this:

To do something that’s a bit of a one-off
To do something that’s repetetive

Maybe a good example for #1 would be a landing page with a few different variations. I think in that case I’d probably extract the content into components and use those components in a few different pages. It feels like that already provides the needed flexibility? Being able to achieve the same thing in one file with the variations defined in the meta object seems like just a differnet way of achieving mostly the same thing.
A good example for #2 would be someting like i18n. If I were going to use that syntax to do i18n, I’d have to duplicate and adjust it in every JSX file. If I had to do that I’d think that feels a bit kludgey, and I’d probably want to extract that into some sort of function so I can keep things consistent. And at that point it starts to feel like something that is a system and might make sense to be codified inside Charge.
As for your example where you have multiple permutations, that feels almost like a combination of #1 and #2. Like is someone really going to generate separate pages for each programming language? That feels like a stretch. If I wanted code blocks to support multiple programming languages, I think a more common way to do that would be to make a code block component that takes a snippet for each language, and then there’d be some of tabbed interface that lets you switch between them.
So to loop back around, I think it definitely makes sense to add i18n functionality—that’s a very concrete thing that you need (and lots of other people need). But I’d rather approach a potentially more abstract solution separately. If someone comes along with a really clear use-case and there’s no good way to solve it without enabling that flexiblity then that’s definitely worth considering, but otherwise it feels a bit too theoretical at the moment.
Does that seem good? If so, do you want to have a go at an implementation? If not, I can take a stab. I don’t think it’ll be all that much work (famous last words 😅).


Error. TextConst variable must have a suffix from this list: Msg, Tok, Err, Qst, Lbl, Txt.

Upgraded to new patch for AL and this errors was displayed.

Thank you
Dennis Aubrey

This is not an error, but a warning. This is coming fronm the CodeCop analyzer.
And its triggered by the codeanalyzers enabled in your settings file.
See here:
https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-using-code-analysis-tool


Fixed a typo in DesignDecisions markdown file

I found a little, not so relevant typo in the design decisions document. If you find it relevant, please merge.

Are thanks!

The most useful and the most amazing PR ever! 😄


URLs in request tool are transformed to lowercase

What happens?
The "Test request" tool transforms all URLs to lowercase

What did you expect to happen?
It should not transform the URLs to lowercase because paths and query parameters are case sensitive
How can we reproduce the issue?

Use an URL with uppercase letters
Send a request using the "Test request" tool

Swagger/OpenAPI Example
No response

sorry! didnt see you self assigned on linear since it was still in triage

No problem!


Training?

@noamgat is it possible to train a model with constrained output tokens?

While I have not done this personally, it should be possible. You could devise a "legal token discipline loss" in which you look at the output that the LLM generates, and penalize it according to the weights it assigns to the illegal tokens.
So you would do something like:

Give the LLM a prompt that specifies what schema the output should be in
Let it generate output logits
Run the LMFE on the tokens it generates
Create a loss between the original distribution and the filtered distribution (if the LLM originally gave -inf scores to illegal tokens, the loss will be 0)
Sample a legal token from the filtered distribution (This is akin to teacher forcing) and continue generation.

The -inf kind of scares me, so you might want to replace the -inf with a negative number (like -100 which is the maximum in OpenAI API logits bias). This is all theoretical though, I haven't tried it in practice.

Cool, this makes sense. Is there any scripts available somewhere as of you your knowledge to get s quick overview of the implementation?

I tried, training the model with preferred json output for the input without any format enforcers. it performs good. Eventhough, i wants to use LMFE to increase it's reliability. Am i erong?

There are no scripts that try to do this, this is brainstorming... Indeed, normal SFT training can work as well, and then you don't need LMFE in the training loop


PayPerEmail orders get cancelled after first cron-run

Orders entered from admin using the PayPerEmail payment method get cancelled after the first cron run, despite having entered an expiration date for the paylink (30 days).
Also, automatic cancelling orders disrupts our workflow. It would be great if there's an option to disable this feature (cancelling orders after due date). For now I have disabled the cron for this feature.

Hello @bojanni

Wow that's fast! Thank you!

Issue is fixed an released in v1.39.0


stack resolver >= 8 build fail on Binary installation failed with error

I have resolver=8.3 in ~/.stack/global-project/stack.yaml and running bash haskell-vim-now.sh failed with error Binary installation failed with error -1
Change resolver to 7.19 do solve the problem
Suspect cause setup.sh

+1

Getting same error with 8.0.2 as well, any idea what dependency is causing this?

Looks similar to #231
@wizzup can you try running the installer again and including any error messages you see in the output?

@begriffs this works brilliantly, thank you so much 👍

This is the same as #231


Update README.md to current versions of Python 2, Python 3, Pypy

For consistency with Heroku Python Support.
In addition, Requests was also updated.

✨🍰✨


Feat: Expanded boss attributes

Hi, your project is awesome! Are there plans to expand boss attributes in the future?
A specific question about the following attributes:

Boss health
Retinue Names (Which are possible)
Adding a faction to bosses (Due to the fact that are apostates exists)

I will be very glad to feedback.

Glad you've found it useful!

We don't currently have access to the dynamic value for boss health. If that changes, we'll definitely add it. I'm hesitant to add hard-coded health values since they can change.
Information about the enemies that escort a boss are currently available via the escorts field of each boss on the API.
I don't think we have access to the faction(s) assigned to the bosses. Can you expand a bit on how the faction is useful?

If that changes, we'll definitely add it.

Thank's you a lot!
Factions in the future may be useful, because initially there were only scavs, now there are apostates - probably in one of the future updates this will affect something (For example, quests - kill 20 apostates). At this time, this may be for informational purposes only.
Are suite callsigns available in exports? It seems that there is exactly the type of the unit, but not its human name (excepts bosses endeed).
I attached an image to better show what I meant when talking about the names of the retinue.

I don't speak Russian so I can't tell which boss that is, which escort is shown, and what other names you're suggesting be included in an array.

Reshala or Shturman retinues have postfix names like Zavodskoy and Svetloozerskiy respectively, for example - i mean that things.
This is translit which used in game too, I have attached screens with more examples from eft fandom wiki.

Unfortunately, those types of names aren't available in the data we have, and I'm not sure where they reside.

Understood you! Thank you very much for the feedback, then for now I will limit myself to hardcode to solve problems))
I will follow the repository updates so as not to miss the moment.
Good luck with the development of the project!

Understood you! Thank you very much for the feedback, then for now I will limit myself to hardcode to solve problems))

I'm not exactly sure what you want to hardcode as it seems that names are randomly picked from all available Scav names (Kachok, Torpeda, Malchik, Damirka etc.) and matched with a given surname. The only thing that remains constant is the surname, which you need to have translated into all available Tarkov languages.

The only thing that remains constant is the surname, which you need to have translated into all available Tarkov languages.

I agree, that's exactly what I'm going to do. This is probably the solution to the problem.
If the developers of tarkov would make their own unique prefixes for each retinue, it would be more useful.


⚠ Bofrost.lu has degraded performance

In 69bc24e, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1168 ms

Resolved: Bofrost.lu performance has improved in 87028c1.


Single recipe

Checklist

[x] Used a fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

It looks like the 'python-xapian' output doesn't have any tests.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Seems like this doesn't work, closing.


[CU-862hz23aa] UI / Label Rendering Issue?

Hello!
I followed the installation instructions and after running yarn build the plugin appeared, but seems to have issue with rendering the values associated with the various plugin fields. Did I miss a critical configuration step? The plugin does not appear to be functional either.
I am running a custom docker image of strapi v4.5.3 and node 14.21.2. All packages/modules were installed using yarn. Any help would be greatly appreciated. Thanks!

Hello!
I have same issue also.
  "dependencies": {     "@_sh/strapi-plugin-ckeditor": "^1.1.2",     "@strapi/plugin-i18n": "4.5.4",     "@strapi/plugin-users-permissions": "4.5.4",     "@strapi/strapi": "4.5.4",     "better-sqlite3": "7.6.2",     "pg": "^8.8.0",     "pg-connection-string": "^2.5.0",     "sharp": "^0.31.2",     "strapi-middleware-cache": "^2.1.8",     "strapi-middleware-upload-plugin-cache": "^2.1.0",     "strapi-plugin-comments": "^2.2.3",     "strapi-plugin-custom-api": "^1.0.3",     "strapi-plugin-fuzzy-search": "^1.10.2",     "strapi-plugin-import-export-entries": "^1.18.0",     "strapi-plugin-local-image-sharp": "^1.2.1",     "strapi-plugin-rest-cache": "^4.2.5",     "strapi-plugin-sitemap": "^2.0.8",     "strapi-plugin-transformer": "^2.1.1",     "strapi-provider-rest-cache-memory": "^4.2.5"   },

@Antontsyk @rroline may I ask you both to verify if you've got the translation file properly placed within the plugin package in node_modules? Also the console logs would be appreciated as by doing same steps I cannot reproduce that bug.

@cyp3rius

@cyp3rius

I am running this in docker so the files are automatically installed from the repo when i run yarn build. The translation files are present in the plugin folder after installation.

@cyp3rius - Which logs are you looking for? The build logs when installing the plugin package? The build logs from starting the strapi image? Or the console logs when that module/plugin is accessed?
I looked in all three places and didnt see anything that jumped out at me, but I am happy to send whatever you think would help. Thanks!

I'm having the same issue with similar dependencies. I also see en.json, fr.json, and pt-BR.json in the translations folder and I don't have any related messages in the JS debugger console when I visit http://localhost:1337/admin/settings/comments.
How is the language supposed to get set for the plugin? I haven't seen any documentation about how to set which translation file to use.

I am using node 16 with strapi 4.4.3 with the latest comments package also running into the same issue

Thank you all for the details. Digging into that and hope today to provide a hotfix once I'll reproduce the behavior.

Fix is ready, should be reviewed and released today. Mostly it started to happen with some combination of plugins installed (maybe number, not sure), the async execution been scheduled and didn't executed in time of bootstrap.

Fixed in 2.2.4

@cyp3rius Hi Mateusz, Unfortunately it broke for the case when there is a different language than there are translations. My issues was that by adding a custom locale while the plugin is active, the loadTrads method was throwing an error.
This was in my case due to the fact that the plugin only supports the following languages: en, fr, tr and "pt-BR".


Verify CSRF

Send CSRF token with GraphQL requests per https://github.com/cantino/feedadoc/issues/1

Awesome! 💯


Release 0.14.0

This PR prepares the release for version 0.14.0.
Once the PR is merged into master, run bundle exec rake release:finish to tag and push to trunk.

This PR replaces #298
The improved Rakefile has now the following main tasks:

rake release:new, which prompts for a version from stdin, then calls the release:start[version] task
rake release:start[version] which creates a release branch, makes the required changes, lint the podspec, then create a PR
rake release:finish which is to be run once the PR is merged, and creates a tag, pushes to trunk, creates a GitHub release, and reset the changelog.

Note: the other tasks don't have desc in order to not be listed by rake -T (but can still be listed by rake -AT), as they are more like subtasks used by the main tasks and not intended to be run directly (except if something fails in the automated process and you need to restart manually at a specific point)

Note: I've added @fortmarek as an owner of the pod on trunk for future releases, as discussed in https://github.com/stencilproject/Stencil/issues/293 . I think we'll still be the ones to do this 0.14.0 release, but at least they'll be able to help with the next ones if needs be.

Could be, but I've always avoided giving push permissions to CI systems for security reasons (even if tokens are protected and not exposed, it always opens to attacks via forks…), so I'd prefer to keep it simple with local scripts for now to avoid any risks

Woohoo!
--------------------------------------------------------------------------------
 🎉  Congrats

 🚀  Stencil (0.14.0) successfully published
 📅  August 17th, 20:45
 🌎  https://cocoapods.org/pods/Stencil
 👍  Tell your friends!
--------------------------------------------------------------------------------
GitHub Release created: https://github.com/stencilproject/Stencil/releases/tag/0.14.0


Feature/templates/required

Adds sniffs for language_attributes() and body_class() usage.
language_attributes() requirement in: https://make.wordpress.org/themes/handbook/review/required/#code
body_class() requirement in: https://make.wordpress.org/themes/handbook/review/required/#templates
I think we should probably change the organization of the handbook, and add language_attributes() to the Templates section to stay in line with the sniff, plus is a requirement of "templates".

I know it's not 100% perfect as there can be some weird syntax and ways around with the mixes of various output methods in PHP + html, but the test cases were mostly the top common scenarios I saw, and have caught a couple of issues that made it past reviewers.
Example: https://themes.trac.wordpress.org/browser/nirmala/1.3.0/page-templates/blank.php#L23

Hmmm, I haven't thought of Templates folder. I could place Reserved Template Name Sniff (PR #213) in there then...

@timelsass Welcome! I'll try and review your sniff over the next few days, but for now, I just want to leave some comments for you to think about.

Can the name of the sniff be made less ambiguous ? RequiredFunctions can be interpreted in a lot of different ways.
What about when the dev uses the get_...() alternatives of the functions ?
What about the meta tag for charset ?

I made a very limited start on a sniff for this way back (and got distracted and never got back to it), so I'm very happy to see this being addressed now :smile:
All the same, I did set up some unit tests at the time. I haven't checked yet whether your unit tests already cover these cases, nor whether the sniff would handle them correctly, but they may be helpful to you to fine-tune the sniff:
<!-- Correct header example. -->
<html <?php language_attributes(); ?>> <!-- OK. -->
<head>
<meta charset="<?php bloginfo( 'charset' ); ?>"><!-- OK. -->
<meta name="description" content="something" />
<meta http-equiv="Content-Type" content="text/html; charset=<?php bloginfo( 'charset' ); ?>" /><!-- OK. -->
<?php wp_head(); ?>
</head>
<body <?php body_class(); ?>><!-- OK. -->

<!-- Correct header example: multi-line calls and such. -->
<html
	<?php language_attributes(); ?>> <!-- OK. -->
<head>
<meta
	charset="<?php
		bloginfo( 'charset' );
	?>"><!-- OK. -->
<meta name="description" content="something" />
<meta
	http-equiv="Content-Type"
	content="text/html;	charset=<?php bloginfo( 'charset' ); ?>"
/><!-- OK. -->
<?php wp_head(); ?>
</head>
<body

	<?php
		body_class();
	?>
><!-- OK. -->

<!-- Correct header example: bit convoluted code, but the output would be correct. -->
<html <?= echo get_language_attributes( 'html' ); ?>><!-- OK. -->
<head>
<meta charset="<?= get_bloginfo( 'charset' ); ?>"><!-- OK. -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="profile" href="http://gmpg.org/xfn/11">

<?php wp_head(); ?>
</head>

<body class="<?php echo implode( ' ', apply_filters( 'theme-body-class', get_body_class( 'additional-class' ), $pageID ) ); ?>"><!-- OK. -->

<!-- Incorrect header: missing function calls. -->
<html> <!-- Bad. -->
<head>
<?php wp_head(); ?>
</head>
<body><!-- Bad. -->

<!-- Incorrect header: attributes filled in. -->
<html lang="en-US"> <!-- Bad. -->
<head>
<meta charset="UTF-8"><!-- Bad. -->
<?php wp_head(); ?>
</head>
<body class="home paged"><!-- Bad. -->

thanks for looking over this @dingo-d and @jrfnl, yeah I started working on meta with charset, but it was a slightly different since it's setting only the property and not the attribute + value(s) on the tag, so I was going to save that for a little later.  While doing that though - I saw some common stuff that might be able to be abstracted out, but haven't given much thought as to the best way of doing that still.
Yes, I thought about the naming and wasn't sure what to do for it :smile: I just kinda went with what felt okay at the time, but I'm open to any suggestions.  I know @dingo-d had talked with me about some naming for the readme file sniffs in WPTRT/theme-sniffer - and also mentioned moving his sniff into Templates, so maybe he can chime in on naming convention here if he's got some thoughts.
I was going based off of trying to keep some kind of convention close to: https://make.wordpress.org/themes/handbook/review/required/#templates - but couldn't figure out a good one.  These were some of the ones that I was thinking about, but didn't feel like they really fit quite right for one reason or another:

Templates.TemplateTagFunctions
Templates.TemplateTags
Templates.MarkupFunctions
Templates.HTMLFunctions
Templates.AttributesValues
Templates.RequiredFunctions
Template.Functions

The first couple sounded more like the tag in the header in context of WordPress theme templates, so I kinda ruled those out - but "TemplateTags" rolls off the tongue nicely.  I ended up just using RequiredFunctions since that's what I used when I started, they were functions that are required, and seemed pretty generic that no one would say anything :rofl:.  I'm not happy with the naming there though, and was hoping someone might have better ideas.  Especially as Templates becomes more populated with the other functions this doesn't cover.
I'll run some tests against what you provided, and update accordingly.  The ones in particular are the get_ functions, and I did think about those.  I was hoping to get some thoughts on the get_ functions like the -  echo get_language_attributes(); and echo implode( ' ', apply_filters( 'theme-body-class', get_body_class( 'additional-class' ), $pageID ) ); examples above.
My thought process was basically along the lines of "use the right functions where they should be used."  In that case I believe those situations are still caught correctly.  For example, I don't think doing echo get_language_attributes() is necessarily appropriate when a core method exists for echoing the language attributes using the language_attributes() function.
Likewise - I understand why a theme author might do something like what's done in the body classes example, but I don't think that it is code style that should be considered appropriate to pass the sniff.  Adding a filter with the theme's prefix, then calling get_body_class and echoing out seems a bit redundant when body_class() already echos out, and offers a filter.  I think the sniffs should encourage the usage of the appropriate methods over considering variations that aren't optimal as being acceptable.  If an author wants to provide a filter on body_class that should go inside of a function they are using to filter it.  The guidelines do specifically say they must use body_class as well, so that was kinda the main deciding factor for me when working it out.
^^ Those are just my own thoughts, but if everyone else thinks these should be acceptable, I can work on adding those in.  There's really not any technical reason why those aren't acceptable ways of handling it from what I can tell since they still get filtered in the get_body_class().  Doing some scans on https://wpdirectory.net I saw themes using get_body_class(), but from all the ones I looked at it seemed they were all using that in functions within the theme and still calling body_class() when outputting in a template.  I didn't look at all the results though, so I could be wrong and missed something.
On the flip side though, the benefit of adding them in would be that the sniff is expanded out a bit more to cover the functions that only set the values and not just for the attribute + value in the tag.  This pretty much brings me back around to why I didn't include the meta charset in this particular sniff in the first place lol.
When adding the meta charset I would've completely forgotten about setting it through the content attr with content="text/html; charset=utf-8" as I'm used to that being the "old" syntax, so thank you for sharing this, because that was my next "thing" I wanted to work on, along with some of the other template specific/placement specific ones like wp_footer and the new wp_body_open.

I'm fine leaving this in Templates category. I even moved the reserved template name sniff to this category in the PR 🙂 :+1:
As for the name, I was also worried a bit about the naming, since it's open to additions, changes and ambiguity.
Changing the handbook is not a problem, especially if we want to keep the consistency up a bit.
RequiredTemplateFunctions maybe for the name?
Could we then check for the rest of the required functions mentioned in the handbook?
wp_head() – (immediately before </head>).
body_class() – (inside <body> tag).
$content_width.
post_class().
wp_link_pages().
the_comments_navigation(), the_comments_pagination().
the_posts_pagination(), the_posts_navigation().
wp_footer() – (immediately before </body>).

Or would this be too much?

@timelsass did you have the time to look over the review? If you want, I could pull your changes and see if I can help with this sniff 🙂

I've changed the milestone to 0.2.x. Once you'll have more time I'd love for you to finish the sniff. If you need any help just let me or Juliette know and we'll help out any way we can 🙂

Hi, @timelsass can you just let us know if you wish to continue working on this sniff. If yes, can you rebase so that the checks on GH actions will run?


Update base.rb

Summary
Fixes typo on line 292 by replacing "over written" with "overwritten"

Send PR to rails' own repo :) https://github.com/rails/rails


UHF-9639: Normalize development environment

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

Comparison is base (855a2d4) 67.38% compared to head (7d5523c) 67.40%.

:exclamation: Current head 7d5523c differs from pull request most recent head a7db8a0. Consider uploading reports for the commit a7db8a0 to get more accurate results

Additional details and impacted files
@@             Coverage Diff              @@
##               main     #147      +/-   ##
============================================
+ Coverage     67.38%   67.40%   +0.01%
  Complexity      540      540
============================================
  Files            73       73
  Lines          1849     1850       +1
============================================
+ Hits           1246     1247       +1
  Misses          603      603

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


Not receiving input

Problem
The problem is that I can't capture any input in my scene. It's probably me doing something wrong, but I've tried so many things so far, that I'm starting to doubt that it might be an actual bug.
I have a very simple scene:
defmodule MyScene.Home do
  use Scenic.Scene
  require Logger

  alias Scenic.Graph

  @graph Graph.build()

  @impl Scenic.Scene
  def init(scene, _param, _opts) do

    scene = push_graph(scene, @graph)

    {:ok, scene}
  end

  def handle_input(event, _context, scene) do
    Logger.info("Received event: #{inspect(event)}")
    {:noreply, scene}
  end
end

When I start this, I get a nice window, but no matter what key I hit (even after clicking in or out of the window), it won't give me any input to handle.
Versions and Environment
Elixir: 1.13.1
Erlang: 24
Scenic: 0.11.0
Scenic driver local: 0.11.0
OS: macOS 12.6
Steps to reproduce
Try the scene as above (at least on my computer)
Expected Behavior
Input that is logged
Actual Behavior
Nothing

Have you tried adding a call to request_input/2 in init? I recall having a similar issue recently and I think that fixed it.

That does indeed work, thanks! But according to the documentation that shouldn't be necessary, right?
This is rarely used by scenes and even then mostly for things like key events outside of a text field.

I have a hunch those docs are out of date as of v0.11, but @boydm is probably the best person to comment on that.


Not working when API url has/multiple/parts/divided/by/slash

As in the title, I'm having some issues with the table, the situation is this:
when api-url is http://localhost:8080/agent the call the table make is to this endpoint: http://localhost:8080/agent?sort=name&order=asc&page=1&per_page=10 and everything goes smooth.
if I use as api-url this: http://localhost:8080/agent/table the call the table make is to this endpoint: http://localhost:8080/agent/table?sort=name&order=asc&page=1&per_page=10 as expected, but this fails, in the developer console I can see that Chrome shows it as "failed to load response data"
But if I open a new chrome window and copy-paste the Request URL called my backend answer correctly. I can't understand the reason.
At last, I tried a @GetMapper("agenttable") and everything went smooth, it seems the problem is with the two/part URL.

Hmm that's strange, any chance you can share the issue you're facing in a codesandbox?


Visualizing as the model learns

Hello @ankonzoid
Your implemetation is really good. I was wondering if we could add some more visualization part, so that we can see the agent moving in the grid as it learns.
Please suggest how can I do that or some references?
Thanks

for sure, i've done this in the past with some hunter-prey implementation so this shouldn't be too hard...i am quite busy so it might take a while, but i'll eventually get it...currently doing a large refractoring of this entire repo...


Build with multiple JDKs

@tsiq-clemens has recently hit some differences between 8 and 11 in the context of the http url classes.  I'm making Travis build with both 8 and 11 in an attempt to catch such issues.
The two builds run in parallel so should not have any real impact on overall Travis build time.  Don't be confused by the time reported in Travis, that's a sum of all parallel jobs.

Oh nice! Thank you.


Create ansible playbook for deploying enmasse

This would be a supplement to the deployment script, and simplify operations that manages their infrastructure using ansible. Hawkular is perhaps a good example to start from.

Fixed in #857


removing titus-ext/elasticsearch module

Removal of elasticsearch submodule
This change removes a submodule titus-ext/elasticsearch as it contains an elastic search 2.4 publisher with native/transport ES client. The new module titus-supplementary-components/tasks-publisher contains a HTTP based ES 5.+ publisher. It is designed to be run as a separate spring boot service outside of Titus master process. The code change here also contains some refactoring of tasks-publisher module where a bunch of elastic search integration related classes are moved into a separate sub-package.

redoing this one since a lot of code has changed around Tasks publisher.


handle empty token for transaction.sign and signAndBroadcast

📝 Description
Handle empty token accounts by using tokenCurrency - an (optional) parameter - for the transaction.sign and transaction.signAndBroadcast wallet api handlers.
❓ Context
PR Wallet api: https://github.com/LedgerHQ/wallet-api/pull/289

JIRA or GitHub link: https://ledgerhq.atlassian.net/jira/software/c/projects/LIVE/boards/623?selectedIssue=LIVE-10041

✅ Checklist
Pull Requests must pass the CI and be code reviewed. Set as Draft if the PR is not ready.

[x] npx changeset was attached.
[ ] Covered by automatic tests.

[ ] Impact of the changes:

🧐 Checklist for the PR Reviewers

[ ] The code aligns with the requirements described in the linked JIRA or GitHub issue.
[ ] The PR description clearly documents the changes made and explains any technical trade-offs or design decisions.
[ ] There are no undocumented trade-offs, technical debt, or maintainability issues.
[ ] The PR has been tested thoroughly, and any potential edge cases have been considered and handled.
[ ] Any new dependencies have been justified and documented.
[ ] Performance considerations have been taken into account. (changes have been profiled or benchmarked if necessary)

We also need to wait for the release of https://github.com/LedgerHQ/wallet-api/pull/289 on npm to update the dependencies here before merging this PR


Improve FieldSet and RadioFormField

Task: https://app.clickup.com/t/8677nhf0p

Can you please update this branch so that I see only the relevant changes of the PR?

Here we go


chore(main): release 1.255.0

When this PR is merged, a new tagged release will be created with the notes below.
1.255.0 (2024-04-04)
Features

Adjust SR Timestamps to NR Server Time (#939) (94f0dee)
Send CLS as timing node additionally (#935) (88e71da)
Switch web vitals library to attribution build (#919) (f36acbc)
Update agent to use new relic server time (#918) (8a4831c)

This PR was generated with Release Please. See documentation.

Confirming appropriate status in staging before merge


saving to keychain fails

after saving the id and password it fails:
OSStatus error:[-34018] Internal error when a required entitlement isn't present, client has neither application-identifier nor keychain-access-groups entitlements.

see https://github.com/kishikawakatsumi/KeychainAccess/issues/52


Change. pipe option replace pair of endpoint_XXX in thread options

See #37

The ØMQ project » lzmq #69 FAILURE
Looks like there's a problem with this pull request
(what's this?)

Coverage decreased (-0.02%) to 64.78% when pulling be79c0ab8329a564981f564f03b9d57a31644a75 on moteus:master into 1604c44e9ae38cd7386c2a4fec14c59b89ab6635 on zeromq:master.

Coverage decreased (-0.02%) to 64.78% when pulling be79c0ab8329a564981f564f03b9d57a31644a75 on moteus:master into 1604c44e9ae38cd7386c2a4fec14c59b89ab6635 on zeromq:master.

Coverage decreased (-0.02%) to 64.78% when pulling be79c0ab8329a564981f564f03b9d57a31644a75 on moteus:master into 1604c44e9ae38cd7386c2a4fec14c59b89ab6635 on zeromq:master.

Coverage decreased (-0.02%) to 64.78% when pulling be79c0ab8329a564981f564f03b9d57a31644a75 on moteus:master into 1604c44e9ae38cd7386c2a4fec14c59b89ab6635 on zeromq:master.

Coverage decreased (-0.02%) to 64.78% when pulling be79c0ab8329a564981f564f03b9d57a31644a75 on moteus:master into 1604c44e9ae38cd7386c2a4fec14c59b89ab6635 on zeromq:master.

Coverage decreased (-0.02%) to 64.78% when pulling be79c0ab8329a564981f564f03b9d57a31644a75 on moteus:master into 1604c44e9ae38cd7386c2a4fec14c59b89ab6635 on zeromq:master.

The ØMQ project » lzmq #70 SUCCESS
This pull request looks good
(what's this?)

The ØMQ project » lzmq #71 SUCCESS
This pull request looks good
(what's this?)


Disable inserting QDQ for DepthwiseConv2dNative in ITEX mode

Type of Change
bug fix
API not changed
Description
detail description
JIRA ticket: ILITV-2496
DepthwiseConv2dNative onednn performance is not good. oneDNN graph team requested INC not to insert QDQ before DepthwiseConv2dNative .
Expected Behavior & Potential Risk
DepthwiseConv2dNative will not be quantized in ITEX mode.
How has this PR been tested?
UT, Pre-CI and OOB extension test.
Dependency Change?
No.

per sync, we will not enable this workaround from production view.


How to use fp16

Hi,
I find the deepspeed directory in the project. And I want to know how to train with fp16? Now, I  just add the --fp16  in the command, but it seems not to work.

Hi,
Could you provide the command you used, and what do you mean by not to work(error, or nan in loss...)?
Thanks!

Hi,
My command is like this, it just adds the extra --fp16 , but the GPU memory seems not to reduce.

CUDA_VISIBLE_DEVICES=5,6,7 /home/jiangjinhao/anaconda3/envs/USKG-pt1.8/bin/python3 -W ignore -m torch.distributed.launch --nproc_per_node 3 --master_port 1237 train.py --seed 2 --cfg Salesforce/T5_large_finetune_webqsp_retrieval.cfg --run_name T5_large_finetune_webqsp_retrieval_lower_dfs --logging_strategy steps --logging_first_step true --logging_steps 40 --evaluation_strategy steps --eval_steps 40 --metric_for_best_model eval_META_TUNING/webqsp_retrieval.cfg/Hits@1 --greater_is_better true --save_strategy steps --save_steps 40 --save_total_limit 1 --load_best_model_at_end --gradient_accumulation_steps 30 --num_train_epochs 15 --adafactor true --learning_rate 5e-5 --do_train --do_eval --do_predict --predict_with_generate --output_dir output/T5_large_finetune_webqsp_retrieval_lower_dfs --overwrite_output_dir --per_device_train_batch_size 1 --per_device_eval_batch_size 1 --generation_num_beams 4 --generation_max_length 28 --input_max_length 1024 --ddp_find_unused_parameters False --fp16

At the same time, if I set the --ddp_find_unused_parameters True , the log will output there are no unused parameters. So, what role of this arg.

Hi!
1, Oh I remember we used similar command before, and also have little effect on speed(We used 8*Tesla V100 32GB cluster at that time). And we didn't spend time exploring why that happen. Maybe you can try deepspeed as we showed.
2, --ddp_find_unused_parameters is a arg for PyTorch to decide whether to find unused parameters, it will make no difference in result, only cause slight speed difference.

btw, your loss got decreased normally when using fp16 on T5? which version of transformers did you used?

Hi,
Sorry that I don't check the loss for the command with fp16 because I still meet the CUDA OUT OF MEMORY error. And the version of transformers is 4.9.2, and all of the others can work fine, except that I can't prefix tuning T5-3B on RTX 3090(24G) with batch_size=1.

24GB GPU may not enough for the T5-3B training, only enough for inference(bsz could be set up to 2 when 24 GB GPU memory). I recommend give deepspeed a try but I am not sure again 24 GB GPU will be enough for 3B.

24 GB is still not enough for prefixtuning T5-3B. I will try a more large memory GPU.


Some great code added!

Thanks for the talk.

Hi @dodge107
Thanks for your submission! It'll be live at http://phpsa2017profiles.co.za/public/ shortly
Dont forget to tweet and come grab a sticker


Fa 211 remove attachment and delete buttons

JIRA Ticket
FA-211: Remove "Attachment" and "Delete" Buttons
Description
Commented out the code associated with the buttons instead of permanently deleting the code in case the buttons are to be  re-introduced in the future.

@maacaro I've added .DS_Store to .gitignore


[BUG] readAddress(..) failed: Connection reset by peer for big file

Describe the bug
Exception for no reason during normal work of the application, during downloading a big file(3GB).
Exception or Stack Trace
Caused by: reactor.core.Exceptions$ReactiveException: io.netty.channel.unix.Errors$NativeIoException: readAddress(..) failed: Connection reset by peer
	at reactor.core.Exceptions.propagate(Exceptions.java:392)
	at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:97)
	at reactor.core.publisher.Mono.block(Mono.java:1703)
	at com.azure.storage.common.implementation.StorageImplUtils.blockWithOptionalTimeout(StorageImplUtils.java:128)
	at com.azure.storage.blob.specialized.BlobClientBase.downloadToFileWithResponse(BlobClientBase.java:903)
	at com.azure.storage.blob.specialized.BlobClientBase.downloadToFileWithResponse(BlobClientBase.java:873)
	at com.azure.storage.blob.specialized.BlobClientBase.downloadToFile(BlobClientBase.java:802)

To Reproduce
BlobContainerClient blobStorageService = new BlobContainerClientBuilder()
                .connectionString("my connection string")
                .containerName("my container name")
                .buildClient();
BlobClient blobClient = blobStorageService.getBlobClient("path/to/huge/file.txt");
Path tempFile = Files.createTempFile(null, null);
blobClient.downloadToFile(tempFile.toAbsolutePath().toString(), true);

Expected behavior
When the connection is active and blob downloading goes fine, there should be no timeout exceptions, even if the file being downloaded is huge. Setting retry policy should applied to network breaks but not for ordinal download with stable network.
Setup (please complete the following information):

OS: Ubuntu 20.04.2 LTS
IDE: IntelliJ
Library/Libraries:

<properties>
    <netty.version>4.1.65.Final</netty.version>
    <reactor-bom.version>2020.0.7</reactor-bom.version>
</properties>
.....
<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-storage-blob</artifactId>
    <version>12.11.1</version>
</dependency>
<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-core-http-netty</artifactId>
    <version>1.10.0</version>
</dependency>

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Bug Description Added
[x] Repro Steps Added
[x] Setup information Added

Hi @msangel
Thank you for reporting this issue.
It looks like the default retry policy for downloads is to not retry, could you please try using the downloadToFileWithResponse API and set DownloadRetryOptions.maxRetryRequests? The retry will continue at the point where the download started to fail.

@gapra-msft
Yes, I have implemented the behavior using DownloadRetryOptions#maxRetryRequests, but that has two points:

Not clear how many retries I should set there. Is 10  good? Maybe I need 1000? I put Integer. MAX_VALUE there. Am I good? What is file will be 100GB or client will be connected via a slow GPRS modem?
The current behavior of BlobClient#downloadToFile is broken, because it throws an exception for no visible reason,


Hello

How are u

Hello,  how are you? I enjoyed perusing your work.  Thank you.
I have information i intend to expand and will send commits to you later this month.  If I am able to complete them earlier I will do so.
My time is spread thin, currently.  If there i some specific work you would like me to engage in, I will be happy to follow your lead.
I hope your New Year is off to a good start :)

Im fine I will get back to my work in 2 days

Bitcoin Fake Transaction (Core Network) Full Version 5.0.1
Bitcoin Fake Transaction (Core Network) Full Version 5.0.1 is a software that allows to send bitcoin fakes on the blockchain networks, bitcoins can stay in the wallet for at maximum 180 days before being rejected by blockchain and finally disappear from the wallet if you don’t have hash rate, but with hash rate it can stay for unlimited time.
We present you the new version of Bitcoin Fake Transaction Full Version with its new features.
-Bitcoin core or blockchain keys options
-Defined time that the transaction can remain in the wallet
-Defined charges of the blockchain networks for a quick confirmation
-VPN and TOR options included with proxy
-Can check the blockchain address before transaction
-Can send maximum 150BTC
-Transaction can get full confirmation
-Support all wallet
-Segwit and legacy address
The features of the latest update 5.0.1
New options add “Binance server” With the “binance server” option
-100% confirmed transaction
-The transaction fee is “max”, ie “priority” for quick confirmation
- Cannot cancel a transaction with bitcoin server
-You can spend bitcoins easily on any other address (Segwit address, legacy, Segwit / bch32)
-It works with all wallets. Admin, Mail<EMAIL_ADDRESS>Telegram : @pinocchioMiner
You can buy the software directly here:
https://ecustrade.com/product/new-update-bitcoin-fake-transaction-core-network-full-version-5-0-1/
Or contact me directly
Mail<EMAIL_ADDRESS>Telegram : @pinocchioMiner
Demo transaction blockchain explorer link: https://www.blockchain.com/btc/address/3HTt7syzfWscWvrhDBaVxVGyPuimamJrkx


Make a navigation menu work with LocalizationPart

I have attached LocalizationPart to MenuItem and I can create localized text from the admin panel.
However, when I switch to a new default locale, a menu does not show in frontend.
This is because a clone menu item for a new locale does not have a parent menu so it is not included when we query with "DefaultMenuProvider.GetMenu".
I think we can make localized navigation work by using "LocalizationService.GetLocalizedContentItem".
However, since navigation is in a core part, we can't use LocalizationPart and  LocalizationService (circular reference).
Should we move the navigation to a separated module and then we can reference "Orchard. Localization"?
Example code in DefaultMenuProvider.GetMenu
    var currentCulture = workContextAccessor.GetContext().CurrentCulture;
    var localizedItem = localizationSevice.GetLocalizedContentItem(menuPart.ContentItem, currentCulture, VersionOptions.Published);
    var part = localizedItem.As<MenuPart>() ?? menuPart; // Use master menu if we don't have localized menu

    // fetch the culture of the content menu item, if any
    var localized = part.As<ILocalizableAspect>();
    var culture = localized?.Culture;

Or just a simple fix by moving ILocalizationService to Orchard.Core
However, this code is not efficient and not cache. We can continue work after get it work first.
Thanks.

The appropriate way is to create a specific menu for each culture and then display the proper menu based on the current culture the user has. So basically load a different menu per culture. If you are trying to make it work with a LocalizationPart then it requires development which is not necessary at the moment. To answer about moving the ILocalizationService I'd need to investigate further.

@Skrypt, could you please clarify for "Create a specific menu for each culture and then display the proper menu based on the current culture the user has"
Does this mean we will have duplicated menu list on navigation page?
For example
On admin navigation page

Home (Custom Link)
Home in language A (Custom Link)
Home in language B (Custom Link)
About us (Content Menu Item)
Contact us (Custom Link)

If I understand it correctly, it will create a many menu items on the main admin/navigation page.
I would like to keep the main page clean, then edit each menu and alternative language.
Here is my work around right now
Override a shape in theme
MenuItemLink.cshtml
@T(Model.Text.Text)

MenuItemLink-ContentMenuItem.cshtml
@using Orchard.ContentManagement
@{
    ContentItem contentItem = Model.Content.ContentItem.ContentMenuItemPart.Content;
}

@if (contentItem != null) {
    @T(Model.Text.Text)
}

and use *.po file to store localization text.
However, I think it right approach should use a localization part.
Thanks for prompt reply. You made my day.

Well I can say that in Orchard Core, right now, the advertised way to do this is to use 2 different menus. I know that in Orchard there use to be some kind of contrib modules to do this but I don't remember exactly. However, I think you are right to think that this should work with a LocalizationPart. Maybe someone else could help you more on that one. We switched focus on Orchard Core now. Maybe this issue would be more appropriate to be moved to OC.

We managed this kind of situation for every web site and what we do in a such situation is:

we add the localizationpart to the MenuWidget;
we create a menu for each language;
we add the MenuWidget at the "Default" Layer: the layer itself choose the right menuwidget acording to the current language;

I hope this could help you @aaronamm, feel free to ask if you want to see a live website using this technique.

@Skrypt  @HermesSbicego-Laser  Thank you so much for your suggestion.
@Skrypt  BTW, any chance that Orchard Core will support ORM the same as Orchard version 1.
I know go to document based database is better performance but using relational database is more multiple and more flexible in many scenarios.  I still prefer to use relational database for small/medium project and use help of SQL optimization and cache.
Thanks.

I think we will stay with YesSQL but we will try to fill the gap missing in between using full relational database and document database. The only thing remaining is allowing to filter on fields from YesSQL which is something @sebastienros was working on last week. As far as I can tell you can also use YesSQL with it's IndexingProviders if you require to do more optimized Queries right now and it is fully relational.

@Skrypt  Thank you so much for your comment. You make me what to learn YesSQL and start using OrchardCore.
Here is my introduction document for Orchard 1.
https://docs.google.com/document/d/12IAqF6QOcN3rPKNJn5FHZTH28_NynKkTi4kJWQlBlQQ/edit
In addition, I have a comparison between OrchardCore and Orchard 1 and why I still use Orchard 1.
http://bit.ly/orchard-cms-1-vs-2
However, from your suggestion, I will start using OrchardCore and try to contribute to the community.
Thank you so much.

Some informations are not complete/accurate in the second document.
There is migration in OC.
1.10.2 (RC) is not RC.
1.0.0-beta2 is RC2.
Reporting can be done in OC too if you are using SQL Server with IndexingProviders and SQL Server JSON functions.


Update storage test cases related with duplicated SCSI/IDE parameter

Fix the following issues:

https://github.com/LIS/LISAv2/issues/559
STORAGE-VHD-HOT-ADD-MULTI-DYNAMIC-SCSI failure  - failure reason: if add controller which already exists, it will return false directly.  - fix: check the controller exists or not, only add controller when target controller id does not exist.
https://github.com/LIS/LISAv2/issues/560
STORAGE-VHDX-SCSI-DYNAMIC-LOCAL-COPY-FILE failure in Gen2 image - run pass directly.
https://github.com/LIS/LISAv2/issues/549
Update the storage test cases which include duplicated test parameter key
failure reason: lisav2 test framework does not support parameter which includes duplicated key.
fix: remove duplicated parameter key by changing Storage.xml, e.g. change 'SCSI=xxxx, SCSI=xxxxx' as 'SCSI_0=xxxx, SCSI_1=xxxxx', also change related AddHardDisk, AddVhdxHardDisk, RemoveHardDisk, RemoveHardDisk to support these parameters.

Test Result:
### Gen2 VM:
 ID TestArea             TestCaseName                                                                TestResult TestDuration(
n minutes)
-------------------------------------------------------------------------------------------------------------------------------
-----------
    1 STORAGE              STORAGE-TAKE-REVERT-SNAPSHOT                                                      PASS
     3
    2 STORAGE              STORAGE-EXPORT-IMPORT-VM                                                          PASS
   4.4
    3 STORAGE              STORAGE-VHDX-VERIFY-SECTORSIZE                                                    PASS
  3.86
    4 STORAGE              VHDX-RESIZE-TO-BIGGER512                                                          PASS
  3.69
    5 STORAGE              VHDX-RESIZE-TO-BIGGER4096                                                         PASS
  5.69
    6 STORAGE              VHDX-RESIZE-TO-BIGGER512-FIXED-IDE                                             SKIPPED
  3.48
    7 STORAGE              VHDX-RESIZE-TO-BIGGER512-DYNAMIC-IDE                                           SKIPPED
  2.11
    8 STORAGE              VHDX-RESIZE-TO-SMALLER512                                                         PASS
  4.67
    9 STORAGE              VHDX-RESIZE-TO-SMALLER4096                                                        PASS
  8.37
   10 STORAGE              VHDX-RESIZE-GROWSHRINK-SCSI                                                       PASS
  5.49
   11 STORAGE              VHDX-RESIZE-GROWSHRINK-SCSI-OFFLINE                                               PASS
  6.51
   12 STORAGE              VHDX-RESIZE-OVER2TB-SCSI                                                          PASS
  9.12
   13 STORAGE              VHDX-RESIZE-OVER2TB-IDE                                                        SKIPPED
   2.2
   14 STORAGE              VHDX-RESIZE-GROWOVER2TB-SHRINK-SCSI-ONLINE                                        PASS
  4.81
   15 STORAGE              VHDX-RESIZE-GROWOVER2TB-SHRINK-SCSI-OFFLINE                                       PASS
  9.12
   16 STORAGE              VHDX-RESIZE-GROWSHRINK-IDE                                                     SKIPPED
  3.86
   17 STORAGE              VHDX-RESIZE-GROWOVER2TB-SHRINK-IDE                                             SKIPPED
  2.33
   18 STORAGE              STORAGE-VHD-IDE-DYNAMIC                                                        SKIPPED
  4.17
   19 STORAGE              STORAGE-VHD-IDE-FIXED                                                          SKIPPED
  3.56
   20 STORAGE              STORAGE-VHD-ADD-DIFF-DISK-IDE                                                  SKIPPED
  3.24
   21 STORAGE              STORAGE-VHD-ADD-DIFF-DISK-SCSI                                                 SKIPPED
  2.63
   22 STORAGE              STORAGE-VHD-MULTI-DISC-SCSI                                                    SKIPPED
  3.09
   23 STORAGE              STORAGE-VHD-HOT-ADD-MULTI-DYNAMIC-SCSI                                         SKIPPED
  3.57
   24 STORAGE              STORAGE-VHD-HOT-REMOVE-MULTI-DYNAMIC-SCSI                                         PASS
  2.35
   25 STORAGE              STORAGE-SCSI-DYNAMIC-LARGE-DISK                                                SKIPPED
  4.26
   26 STORAGE              STORAGE-VHDX-IDE-DYNAMIC                                                       SKIPPED
  4.08
   27 STORAGE              STORAGE-VHDX-IDE-FIXED                                                         SKIPPED
  3.29
   28 STORAGE              STORAGE-VHDX-ADD-DIFF-DISK-IDE                                                 SKIPPED
  2.68
   29 STORAGE              STORAGE-VHDX-ADD-DIFF-DISK-SCSI                                                   FAIL
 14.68
Calling function - Run-LinuxCmd. Failed to execute : mount /dev/sdc2 /mnt/2/DiffDiskGrowthTestCase.
   30 STORAGE              STORAGE-VHDX-MULTI-DISC-SCSI                                                      PASS
  4.73
   31 STORAGE              STORAGE-VHDX-HOT-ADD-MULTI-DYNAMIC-SCSI                                           PASS
  5.07
   32 STORAGE              STORAGE-VHDX-HOT-REMOVE-MULTI-DYNAMIC-SCSI                                        PASS
  2.24
   33 STORAGE              STORAGE-VHDX-HOT-PLUG-UNPLUG-SCSI                                                 PASS
 29.04
   34 STORAGE              STORAGE-VHDX-4k-MULTI-DYNAMIC-SCSI                                                PASS
  4.03
   35 STORAGE              STORAGE-VHDX-4K-HOT-ADD-MULTI-DYNAMIC-SCSI                                        PASS
  6.72
   36 STORAGE              STORAGE-VHDX-4K-HOT-REMOVE-MULTI-DYNAMIC-SCSI                                     PASS
  2.97
   37 STORAGE              STORAGE-VHDX-SCSI-DYNAMIC-LARGE-16TB                                              PASS
  3.33
   38 STORAGE              STORAGE-VHDX-SCSI-DYNAMIC-LARGE-64TB                                              PASS
  3.53
   39 STORAGE              STORAGE-VHDX-SCSI-DYNAMIC-LOCAL-COPY-FILE                                         PASS
  4.65
   40 STORAGE              VHDX-RESIZE-GROW-FILESYSTEM-512                                                   PASS
 10.59
   41 STORAGE              VHDX-RESIZE-GROW-FILESYSTEM-4096                                                  PASS
   5.3
   42 STORAGE              VHDX-RESIZE-LIVE-MIGRATION                                                     Aborted
     0
One or more deployments failed.
   43 STORAGE              PERF-STORAGE-4K-IO                                                             ABORTED
  9.38
   44 NVME                 PERF-NVME-4K-IO                                                                ABORTED

Gen 1 VM:
  ID TestArea             TestCaseName                                                                TestResult TestDuration(in minutes)
-------------------------------------------------------------------------------------------------------------------------------------------
    1 STORAGE              STORAGE-TAKE-REVERT-SNAPSHOT                                                      PASS                 6.71
    2 STORAGE              STORAGE-EXPORT-IMPORT-VM                                                          PASS                 4.13
    3 STORAGE              STORAGE-VHDX-VERIFY-SECTORSIZE                                                    PASS                 3.07
    4 STORAGE              VHDX-RESIZE-TO-BIGGER512                                                          PASS                 7.94
    5 STORAGE              VHDX-RESIZE-TO-BIGGER4096                                                         PASS                 4.46
    6 STORAGE              VHDX-RESIZE-TO-BIGGER512-FIXED-IDE                                                PASS                  5.6
    7 STORAGE              VHDX-RESIZE-TO-BIGGER512-DYNAMIC-IDE                                              PASS                  5.3
    8 STORAGE              VHDX-RESIZE-TO-SMALLER512                                                         PASS                 4.15
    9 STORAGE              VHDX-RESIZE-TO-SMALLER4096                                                        PASS                 4.11
   10 STORAGE              VHDX-RESIZE-GROWSHRINK-SCSI                                                       PASS                  5.9
   11 STORAGE              VHDX-RESIZE-GROWSHRINK-SCSI-OFFLINE                                               PASS                 8.01
   12 STORAGE              VHDX-RESIZE-OVER2TB-SCSI                                                          PASS                 7.64
   13 STORAGE              VHDX-RESIZE-OVER2TB-IDE                                                           PASS                 9.88
   14 STORAGE              VHDX-RESIZE-GROWOVER2TB-SHRINK-SCSI-ONLINE                                        PASS                 6.45
   15 STORAGE              VHDX-RESIZE-GROWOVER2TB-SHRINK-SCSI-OFFLINE                                       PASS                12.91
   16 STORAGE              VHDX-RESIZE-GROWSHRINK-IDE                                                        PASS                 8.43
   17 STORAGE              VHDX-RESIZE-GROWOVER2TB-SHRINK-IDE                                                PASS                11.76
   18 STORAGE              STORAGE-VHD-IDE-DYNAMIC                                                        ABORTED                 6.67
   19 STORAGE              STORAGE-VHD-IDE-FIXED                                                          ABORTED                 7.01
   20 STORAGE              STORAGE-VHD-ADD-DIFF-DISK-IDE                                                     PASS                 9.98
   21 STORAGE              STORAGE-VHD-ADD-DIFF-DISK-SCSI                                                    FAIL                 12.6
Calling function - Run-LinuxCmd. Failed to execute : mount /dev/sdc2 /mnt/2/DiffDiskGrowthTestCase.
   22 STORAGE              STORAGE-VHD-MULTI-DISC-SCSI                                                    ABORTED                 5.86
   23 STORAGE              STORAGE-VHD-HOT-ADD-MULTI-DYNAMIC-SCSI                                         ABORTED                 4.84
   24 STORAGE              STORAGE-VHD-HOT-REMOVE-MULTI-DYNAMIC-SCSI                                         PASS                 2.91
   25 STORAGE              STORAGE-SCSI-DYNAMIC-LARGE-DISK                                                   PASS                 4.02
   26 STORAGE              STORAGE-VHDX-IDE-DYNAMIC                                                          PASS                 5.81
   27 STORAGE              STORAGE-VHDX-IDE-FIXED                                                            PASS                 4.67
   28 STORAGE              STORAGE-VHDX-ADD-DIFF-DISK-IDE                                                    PASS                10.71
   29 STORAGE              STORAGE-VHDX-ADD-DIFF-DISK-SCSI                                                   PASS                20.62
   30 STORAGE              STORAGE-VHDX-MULTI-DISC-SCSI                                                      PASS                 5.27
   31 STORAGE              STORAGE-VHDX-HOT-ADD-MULTI-DYNAMIC-SCSI                                           PASS                 5.82
   32 STORAGE              STORAGE-VHDX-HOT-REMOVE-MULTI-DYNAMIC-SCSI                                        PASS                 2.98
   33 STORAGE              STORAGE-VHDX-HOT-PLUG-UNPLUG-SCSI                                                 PASS                30.15
   34 STORAGE              STORAGE-VHDX-4k-MULTI-DYNAMIC-SCSI                                                PASS                  6.1
   35 STORAGE              STORAGE-VHDX-4K-HOT-ADD-MULTI-DYNAMIC-SCSI                                        PASS                 5.38
   36 STORAGE              STORAGE-VHDX-4K-HOT-REMOVE-MULTI-DYNAMIC-SCSI                                     PASS                    3
   37 STORAGE              STORAGE-VHDX-SCSI-DYNAMIC-LARGE-16TB                                              PASS                 4.18
   38 STORAGE              STORAGE-VHDX-SCSI-DYNAMIC-LARGE-64TB                                              PASS                 4.41
   39 STORAGE              STORAGE-VHDX-SCSI-DYNAMIC-LOCAL-COPY-FILE                                         PASS                 5.61
   40 STORAGE              VHDX-RESIZE-GROW-FILESYSTEM-512                                                   PASS                 7.08
   41 STORAGE              VHDX-RESIZE-GROW-FILESYSTEM-4096                                                  PASS                 9.75

**### Final Fix on Gen1**  (here I only rerun failed cases)

   ID TestArea             TestCaseName                                                                TestResult TestD
ration(in minutes)
-----------------------------------------------------------------------------------------------------------------------
-------------------
    1 STORAGE              STORAGE-VHD-MULTI-DISC-SCSI                                                       PASS
          4.93

   ID TestArea             TestCaseName                                                                TestResult TestDu
ration(in minutes)
------------------------------------------------------------------------------------------------------------------------
-------------------
    1 STORAGE              STORAGE-VHD-HOT-ADD-MULTI-DYNAMIC-SCSI                                            PASS

STORAGE-VHD-IDE-DYNAMIC  and STORAGE-VHDX-IDE-FIXED  also passed.

### More information:
ID TestArea             TestCaseName                                                                TestResult TestDu
ration(in minutes)

1 STORAGE              STORAGE-VHD-IDE-DYNAMIC                                                           PASS
      5.81
2 STORAGE              STORAGE-VHD-IDE-FIXED                                                             PASS

STORAGE STORAGE-VHDX-ADD-DIFF-DISK-SCSI need to be fixed in other PR. 42 STORAGE VHDX-RESIZE-LIVE-MIGRATION, STORAGE PERF-STORAGE-4K-IO, NVME PERF-NVME-4K-IO failed since no environment yet.
29 STORAGE STORAGE-VHDX-ADD-DIFF-DISK-SCSI FAIL
14.68
Calling function - Run-LinuxCmd. Failed to execute : mount /dev/sdc2 /mnt/2/DiffDiskGrowthTestCase.

@lixuemin2016 can you reply the comment?

@lixuemin2016 can you reply the comment?

@juhlee-microsoft
Thank you so much for your review comment. Sorry for late reply, I'm just back from one week holiday, will update it soon.
Best Regards,
Xuemin

@LiliDeng It looks ok to me. Please merge this PR if you are ok.


dotnet/versions is failing to build

Teams thread
Unable to merge the PR

Release Note Category

[ ] Feature changes/additions
[ ] Bug fixes
[ ] Internal Infrastructure Improvements

Release Note Description

PR to fix: https://github.com/dotnet/versions/pull/912

Build's fixed.


[dattri.algorithm] Changes to the implementation of DataInf.

Description
Changes to the implementation of DataInf
1. Motivation and Context
Previous implementation is based on ifvps, which causes heavy memory overhead together with the use of vmap because in total (num_train,parameter,num_val) tensor is stored in memory.
2. Summary of the change

Remove the dependency of datainf on ifvp, instead directly calculate the influence values for smaller tensors saved in memory.
Old implementation of datainf ifvp is still kept intact.
Added DataInfAttributor  to dattri.algorithm.influence_function.py

3. What tests have been added/updated for the change?

[ ] MLP+MNIST: before: Memory usage: 26059M, Time usage: 1206s, now: 1566M, Time usage: 286s
[ ] Results checked against old implementation

I give a review to the changes and it should be correct. The only concern is that this breaks the original purpose to create a BaseInnerProductAttributor.
The original purpose is that users could only implement some methods like transformation_on_query. But this implementation may reveal some problems may lie in the current implementation attribute. (I guess we can try to fix the base class later)
Please fix the document and the conflict so that we can merge this PR.

@TheaperDeng Thanks! Sorry for the late update. After discussion we have found another way that solves the memory issue but does not require implementing Datainf separately(as this PR does). I will keep that in another PR(or reopen this PR later when I finish) and for now let's just use this PR as a stand-alone implementation for testing Datainf? Plus the conflicts and ruff checks are solved.

I didn't go through the full code. It seems that the current implementation will have some serious compatibility issue with the new API design outlined in #130. So we'd better wait for that to be finalized.
Meanwhile, there are quite a few typos in the docstrings. Please pay attention to them in the next iteration.

Thanks. I will refine the code when the new API design is settled.

Resolved conflicts with upstream and updated docstring.

One last thing: given the substantial implementation for this attributor is moved to the attributor class (instead of an ihvp function), could you add a few tests in test/algorithm/test_influence_function.py to test the implementation of this attributor? Ideally, we may want to test the both the attributor as a whole and the transform_test_rep function

Just to clarify, the test_influence_function.py does have a simple test of datainf that only tests successful running. We would like a more extended testing of the results as well right?

One last thing: given the substantial implementation for this attributor is moved to the attributor class (instead of an ihvp function), could you add a few tests in test/algorithm/test_influence_function.py to test the implementation of this attributor? Ideally, we may want to test the both the attributor as a whole and the transform_test_rep function

Just to clarify, the test_influence_function.py does have a simple test of datainf that only tests successful running. We would like a more extended testing of the results as well right?

Yes. I think it would be better to test the intermediate function, transform_test_rep, as well. For example, you could craft some random initial test_rep and set the train gradients to cache to be very small. Then you could pull out the cached train gradients, and calculate the transformed test_rep by directly plug in the formula. Then you compare the calculated results with the output of the transform_test_rep.

Got it! The test is added for transform test representation.


It doesn't work on some pages

Saka doesn't work on Firefox's add-ons pages and local's about:addon page.
Everytime I want to use saka to switch tab, I got stuck when it is Firefox's page, and I can't switch to next or previous tab, then I can only use mouse to click tab to switch, it's so inconvenient.

This has already been reported.  It is not a bug.  Essentially, with the new Web Extensions,  an addon can not control any "ABOUT:xxxx"  page.  There may be other such pages.   See issue  #94.
You can use the native Firefox shortcuts to "fix" your problem:
CTRL + W   - closes the active tab, in your case  About:something
CTRL + PageUp - go to Previous Tab
CTRL + PageDown - go to Next Tab

for a complete list of FF builtin shortcuts:   https://support.mozilla.org/en-US/kb/keyboard-shortcuts-perform-firefox-tasks-quickly?redirectlocale=en-US&redirectslug=Keyboard+shortcuts
(Note:  to insure the FF builtin shortcuts work, you must NOT check the SakaKey option:  IGNORE MODIFIER KEYS.)
If you find pages other than   "ABOUT:...." that SakaKey does not work on, please report them.  A comment in issue #94 would be a good place to do so.


Bumped juniper version to 0.16.1

Part of the solution for #129.

Should I merge? Let me know what you think!

I thought this was a lot more broken than it actually is, nice. Yeah looks fine to me, CI seems happy with it as well.


Change Archive to Delete in Notifications

Changelog:

Renamed archive to delete
Changed the icon so it's the same as the other delete icons
Changed the delete icon in historical data entry
Also, coloured it red

 Notifications | Change Archive label to Delete |0|


Do we need to replace package for php ^8.3

"replace": {
        "symfony/polyfill-ctype": "*",
        "symfony/polyfill-iconv": "*",
        "symfony/polyfill-php72": "*",
        "symfony/polyfill-php73": "*",
        "symfony/polyfill-php74": "*",
        "symfony/polyfill-php80": "*",
        "symfony/polyfill-php81": "*",
        "symfony/polyfill-php82": "*",
        "symfony/polyfill-php83": "*"
    },

I have added php83, The website works fine.
Is this correct way of doin it?
Can we add this to demo application or php8.3 support ?

You can do that in your own application. For the demo this is not possible yet as we also support PHP 8.2.

Understood