fix(utxo.get()): Throwing error if address===undefined

:tada: This PR is included in version 4.20.28 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


DLC prerequisite support

Free DLC's may not be claimable, e.g. claiming the currently available "Epic Slayer Kit – Epic Games Store" may result in the error "Sorry, you don't have a prerequisite to purchase this pack."
I see two possible solutions:

Try to claim the required game if available (probably hard if there is no API available for this)
Add an option to ignore this error

Screenshot

Another example: ARK The Center

And another one, Rumbleverse Cheerleader Pack atm. I do not own the game nor do I want to own the game. How can I skip this?


unified portal is GA

the new unified portal is now GA, and not in public preview as mentioned in this article.

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks


Enhancement: provide mutex etc synchronization facilities in method processes

SystemC seems to have two goals: synthesis-modeling and simulation-modeling.
While discussing differences between method and thread process, a lot of online discussion seems to suggest "method processes are to model combinational logic, and that's why it doesn't support blocking calls like mutex lock". But that is not the full truth even today for method processes from simulation-modeling perspective. Method processes do support "blocking", it's just that the method stack is not maintained. Blocking for something is nothing but waiting for an event, and next_trigger provides exactly that. So there isn't an inherent deficiency with not having a suspended stack, in effect method processes still "block" on next_trigger.
Other old simulation libraries in past have supported synchronization facilities like mutexs, semaphores, fifos with method style processes without any problem. This request is a step towards making method processes usable for real process oriented simulation modeling with resource synchronization. Because without resource synchronization, it's not easy to use it for modeling.
Advantage: For large models, users will be able to significantly lower memory consumption due to lack of a suspended stack per process. This will not only allow simulating larger models, but also speed up simulation.
The listing below shows a possible mutex API to support mutex-synchronization for method processes. next_trigger(mutex_obj) enqueues the process in the mutex's wait list, and sets next trigger to it's wakeup event. As you can see the method doesn't "block" but still is able to synchronize using a shared mutex. The method case labels represent phases a process is in. Let's assume we are in a single threaded mode. There are other ways this API can be designed without requiring a suspended stack.
Once there is an agreement that we want to pursue this, the API for all of mutex, semaphore and fifo can be discussed. Thanks!
void method_proc() {
    switch (phase) {
        ...
        case pre_mutex:
            do_pre_mutex();
            phase = critical_section;
            next_trigger(mutex_obj);
            break;
        case critical_section:
            do_critical();
            phase = post_mutex;
            mutex_obj.release();
            next_trigger(0, SC_SEC);
            break;
        case post_mutex:
            do_post_mutex();
            phase = whatever;
            next_trigger(whatever_trigger);
            break;
        ...
    };
};

Thanks for the inputs. This topic is considered as low priority by the working group.


Order independence of App construction

What problem does this solve or what need does it fill?
As with our previous discussion on implicit ordering of systems (see #1144), insertion order mattering is frustrating to debug at scale and can make refactoring more painful.
In addition, this avoids a common beginner pain point, where they'll insert a resource after it's used and then get an error about the resource not existing.
What solution would you like?
Collect all of the App methods, then process them more holistically (such that order doesn't matter) when AppBuilder.run() is called.
With system insertion order no longer mattering once #1144 is stabilized, there are only a few places that rely on ordering (as best as I can tell).

Resource and state insertion. These will typically be able to be added in parallel before any other steps. Special FromResources resources are the only wrinkle that comes to mind. We can also catch duplicate insertion of the same type, which is a nice correctness-checking feature.
Adding stages. Stage ordering is typically defined relative to other stages. We'll need a little tree resolution mechanism to make sure that dependencies are added first, but solving this will be a major win for refactorability (since you won't need to think about this manually).
Working with State.  These will want to be handled after resources and stages are added.
set_runner. We should probably just panic if two of these are set at once, rather than overwriting.

What alternative(s) have you considered?
Through clean code architecture, you can often define resources in the corresponding plugin, before any other systems are added. This reduces the pain substantially, but relies on consistent code hygiene, and won't work well for resources that are used by multiple plugins.
Additional context
Down the road, this approach opens us up to more sophisticated optimizations and analyses, as we'll have access to all of the parts of the App before they're processed, rather than only getting a backwards-looking view at best.

You probably meant #1144.

You probably meant #1144.

I don't know if this is the right place for this, but I've been reading the discussion (and trying to follow), but is it accurate to say that mostly what a Stage does is just provide a point at which the queued commands get executed? If so, would it be feasible to have a stage-less API that allows someone to simply insert a "run_commands" system and depend on it?

I don't know if this is the right place for this, but I've been reading the discussion (and trying to follow), but is it accurate to say that mostly what a Stage does is just provide a point at which the queued commands get executed? If so, would it be feasible to have a stage-less API that allows someone to simply insert a "run_commands" system and depend on it?

That's not all a stage does, and is not its most important function: a stage encapsulates a group of systhems and guarantees that they will run before or after another group of systems (encapsulated by a different stage). Everything else just follows from that definition - for example, applying commands issued during the stage at the end of the stage becomes an obvious idea.
If you were to try and encode this encapsulation via dependencies, you would have to make the "apply commands" system depend on all systems that come before it and be a dependency for all systems that come after it. This is obviously much less ergonomic, and a lot more error-prone: a system that applies commands can modify archetypes, among other things, and so, with the upcoming non-deterministic executor, can easily produce heisebugs should the user fail to create this synchronisation point.
This is not the first time I see "let's get rid of stages" and I still don't fully understand where it's coming from. As I've said before, the schedules and stages hierarchy is strictly organisational; the fact that a stage can be managing several systems doesn't mean that all stages have to be big and slow. A larger, performance-minded project's schedule will most likely consist of a single large heavily-parallelized stage and a handful of small stages performing synchronisation.

That's not all a stage does, and is not its most important function: a stage encapsulates a group of systhems and guarantees that they will run before or after another group of systems (encapsulated by a different stage). Everything else just follows from that definition - for example, applying commands issued during the stage at the end of the stage becomes an obvious idea.
If you were to try and encode this encapsulation via dependencies, you would have to make the "apply commands" system depend on all systems that come before it and be a dependency for all systems that come after it. This is obviously much less ergonomic, and a lot more error-prone: a system that applies commands can modify archetypes, among other things, and so, with the upcoming non-deterministic executor, can easily produce heisebugs should the user fail to create this synchronisation point.
This is not the first time I see "let's get rid of stages" and I still don't fully understand where it's coming from. As I've said before, the schedules and stages hierarchy is strictly organisational; the fact that a stage can be managing several systems doesn't mean that all stages have to be big and slow. A larger, performance-minded project's schedule will most likely consist of a single large heavily-parallelized stage and a handful of small stages performing synchronisation.

Is it correct that if you want to spawn entities, despawn entities, or modify components, you can only do this at the end of a stage (or rather, you queue them up as commands, and it takes effect then)?
You might wish to do these things in the "middle" of a stage. You would have to insert a stage, which might come at the cost of how parallel your systems can run.
In some cases you can't, though. A plugin you're using might not have split their systems into stages sufficiently to meet your needs, as you might want to insert a system between some of the plugin's systems within a stage. e.g. plugin_system_a -> my_system -> plugin_system_b
The systems you want to run may be mutually exclusive. e.g. you have a set of AI systems, a set of physics systems, and a set of UI layout/update systems; it's likely that each of these can and should run in parallel but (sequential) stages prevent that. Your UI systems might run every frame. On the other hand, your physics system needs to run on a fixed timestep (let's say every 10ms), so it may run several times each frame; your physics system might (will) need to spawn objects between steps in the simulation. Your AI systems may be long-running across multiple frames.
It could just be because this is the current convention of using stages to define system execution order which I've seen and are more familiar with, and perhaps in future the default set of stages don't get changed much and we would maybe use SystemSets within the Update stage, but what does this future API properly look like?

Is it correct that if you want to spawn entities, despawn entities, or modify components, you can only do this at the end of a stage (or rather, you queue them up as commands, and it takes effect then)?
You might wish to do these things in the "middle" of a stage. You would have to insert a stage, which might come at the cost of how parallel your systems can run.
In some cases you can't, though. A plugin you're using might not have split their systems into stages sufficiently to meet your needs, as you might want to insert a system between some of the plugin's systems within a stage. e.g. plugin_system_a -> my_system -> plugin_system_b
The systems you want to run may be mutually exclusive. e.g. you have a set of AI systems, a set of physics systems, and a set of UI layout/update systems; it's likely that each of these can and should run in parallel but (sequential) stages prevent that. Your UI systems might run every frame. On the other hand, your physics system needs to run on a fixed timestep (let's say every 10ms), so it may run several times each frame; your physics system might (will) need to spawn objects between steps in the simulation. Your AI systems may be long-running across multiple frames.
It could just be because this is the current convention of using stages to define system execution order which I've seen and are more familiar with, and perhaps in future the default set of stages don't get changed much and we would maybe use SystemSets within the Update stage, but what does this future API properly look like?

[...] but what does this future API properly look like?

We're still working on that; I'm in the middle of another API pass (not pushed it yet), so keep an eye on #1144. Most of your questions and/or wishes about this will also be more at home there.

More on topic; I think the solution for exclusive system ordering in #1144 can be reused for inserting stages, too. It's simple: instead of inserting and sorting stages on the go, just store them, and resolve labels and all the "befores" and "afters" on build, or first run. (Re-reading it now, that's pretty much what you suggest too?)
Resources are handled by initialization, I think, which is done on a per-system basis; the burden of that will most likely be shifted completely onto Stage implementors. So resources used by say the startup stage are all initialized right before it runs its systems for the first time.
Regarding states... I'm not certain what the plan is, but system sets allow us to reimagine most of StateStage's functionality. States could be just a resource that run criteria read.

[...] but what does this future API properly look like?

We're still working on that; I'm in the middle of another API pass (not pushed it yet), so keep an eye on #1144. Most of your questions and/or wishes about this will also be more at home there.

More on topic; I think the solution for exclusive system ordering in #1144 can be reused for inserting stages, too. It's simple: instead of inserting and sorting stages on the go, just store them, and resolve labels and all the "befores" and "afters" on build, or first run. (Re-reading it now, that's pretty much what you suggest too?)
Resources are handled by initialization, I think, which is done on a per-system basis; the burden of that will most likely be shifted completely onto Stage implementors. So resources used by say the startup stage are all initialized right before it runs its systems for the first time.
Regarding states... I'm not certain what the plan is, but system sets allow us to reimagine most of StateStage's functionality. States could be just a resource that run criteria read.

Another thing that's probably relevant here is how to deal with repeated addition of Plugins.
To give an example:
The bevy-inspector-egui crate depends on bevy-egui, and because I'd like it to be usable without adding it yourself I do app.add_plugin(EguiPlugin) in the InspectablePlugin. This works fine, until another crate tries to add the EguiPlugin.
If there was a way to only add a plugin if it's not already added that would solve my problem I think.

Another thing that's probably relevant here is how to deal with repeated addition of Plugins.
To give an example:
The bevy-inspector-egui crate depends on bevy-egui, and because I'd like it to be usable without adding it yourself I do app.add_plugin(EguiPlugin) in the InspectablePlugin. This works fine, until another crate tries to add the EguiPlugin.
If there was a way to only add a plugin if it's not already added that would solve my problem I think.

When / if we implement this, we should also be mindful of how it interacts with State, and especially the obvious pattern of putting game startup logic within a reusable StateStage, rather than sticking it all in startup systems.
Currently, you should be able to register a StateStage with logic that triggers .on_state_enter, then set the State to an initial value after it in the AppBuilder, allowing you to immediately trigger that logic.
If we register all resources before all systems, this won't be possible. I don't think it's a serious issue, but I would like to see an example of how to do this properly made as part of this change.

When / if we implement this, we should also be mindful of how it interacts with State, and especially the obvious pattern of putting game startup logic within a reusable StateStage, rather than sticking it all in startup systems.
Currently, you should be able to register a StateStage with logic that triggers .on_state_enter, then set the State to an initial value after it in the AppBuilder, allowing you to immediately trigger that logic.
If we register all resources before all systems, this won't be possible. I don't think it's a serious issue, but I would like to see an example of how to do this properly made as part of this change.

Another issue along these lines: the order in which StateStages that rely on the same state are inserted seems to control which one gets to handle the transitions.

Another issue along these lines: the order in which StateStages that rely on the same state are inserted seems to control which one gets to handle the transitions.

A related issue is the following:
// this doesn't work
    App::build()
        .add_plugins(DefaultPlugins)
        .add_resource(WindowDescriptor {
            title: "My game".into(),
            mode: WindowMode::BorderlessFullscreen,
            ..Default::default()
        });

// this works
    App::build()
        .add_resource(WindowDescriptor {
            title: "My game".into(),
            mode: WindowMode::BorderlessFullscreen,
            ..Default::default()
        })
        .add_plugins(DefaultPlugins);

In this case, this is because WindowDescriptor is really a "pre-start configuration object", rather than a true resource. There was discussion on discord about this: https://discord.com/channels/691052431525675048/742569353878437978/805752533959835668
There are a few separate issues with their own questions, but the gist is that this particular case can be "solved" without necessarily addressing the AppBuilder order independence issue:

There is the AppBuilder order independence issue, of course.
This concept of pre-start configuration really should belong to the plugin, rather than the app. How do we expose an API to "configure" a plugin, especially with respect to plugin groups?
WindowDescriptor (if that's the resource used) ideally should be an "active" resource, in the same way as ClearColor. This is nice, because it is declarative. A user simply updates a resource, and things just work. This could be as simple as a system added to WindowPlugin that monitors changes to Res<WindowDescriptor>, and automatically applies the appropriate window.set_* methods.
WindowDescriptor only applies to a single monitor. Having said that, as does ClearColor. How do we expose an API that covers multiple? One idea was to make the normal case more explicit (PrimaryWindowDescriptor). One idea was to have Windows as entities, similar to how Cameras are,
There is a rather more general question about how Bevy interacts with systems external to it.

Another good example of the problem: inserting WgpuOptions after DefaultPlugins causes validation issues when attempting to use wireframe rendering. The workaround is to insert WgpuOptions first, then add DefaultPlugins.

wgpu error: Validation Error
Caused by:
In Device::create_render_pipeline
missing required device features NON_FILL_POLYGON_MODE

Oof that is exceedingly suboptimal. Are there any ideas yet for how we might solve this @alice-i-cecile?

Yes; this is half the reason behind why I want to move to a structured approach to plugin definition.
That should get us most of the way there.

@alice-i-cecile that's great! Can you please link to the 'structured approach to plugin definition' issue or discussion?

Most relevant links: https://github.com/bevyengine/bevy/issues/2160, https://github.com/bevyengine/rfcs/pull/33

Perfect, thank you!

We have runtime system and startup_system. Would formalizing a concept of build_system that runs during app / plugin construction solve part of this problem? I have no clue how possible or viable that is.

It's an interesting idea for how to do so though. IMO in order to get that working well, we'd want to allow systems to access &mut App entirely. Which would be an exciting design, but might play nicely with multiple worlds.
I like this quite a bit, because it reuses existing machinery.

Maybe you could even formalize a concept of "build-time-resource" that stops existing at the end of the build-stage so that you get rid of dead and dangling resources (relevant discord comment)

#2988

I finally finished first (compile) part of migrating my game from 0.9 to .10 (which took me whole day today) and now getting runtime errors. The only first one strike me so that I don't have any idea how to fix it:
thread 'main' panicked at 'Schedule OnEnter(Init) does not exist.', /home/set/.cargo/git/checkouts/bevy-f7ffde730c324c74/43ea6f2/crates/bevy_app/src/app.rs:393:17
I have few places where it might probably be causing:
.add_system(init_configs.in_schedule(OnEnter(GameStates::Init)));

and
.add_system(bullet_init.in_schedule(OnEnter(GameStates::Init)))

which both looks similar. Is there something wrong with how I use in_schedule and OnEnter here? What might be the cause of this error?

From a Discord #help thread.
This problem also applies to schedule initialization, and thus states.

What about building a 'PluginGraph' (similar to schedule graph) with before/after constraints and then calling plugin::build in topological order of the graph?


Provide dialogs as part of the core tabris API

While dialogs are not as frequently used in mobile UIs as in desktop UIs, i think about every second app has at least one. IMHO using the cordova plug-in does not provide the optimal development and user experience. It's also does not provide good windows support or more complex dialogs like a menu - both of which are problems for the project I'm working on.  Implementation should be pretty simple considering much of the code already exists internally.
The cordova plugin I was mainly talking about:
https://github.com/apache/cordova-plugin-dialogs
Another plugin that provides a good menu in windows, but only HTML on other paltforms:
https://github.com/filfat-Studios-AB/cordova-plugin-context-menu/
And another that provides a menu, but it's more a picker (with check/radio boxes and "done" button) and has no windows support:
https://github.com/roberthovhannisyan/PhoneGap-Plugin-ListPicker

Possibly a dup of  #619 and/or #747?

I think that applies to the Toast plugin as well.

Maybe it's better to have curated list of 3rd party cordova plugins compatible with Tabris.js and provide simple API wrappers ?
And then for every plugin in DOCS\Plugins documentation
Step 1. Add <plugin name="cordova-plugin-vibration" /> to config.xml
Step 2. Now you can use tabris.plugins.vibration.short()
I tried these plugins and they work fine with Tabris.js and cloud build service
ActionSheet https://github.com/EddyVerbruggen/cordova-plugin-actionsheet
Local notifications https://github.com/katzer/cordova-plugin-local-notifications
Toast https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin
Dialogs https://github.com/apache/cordova-plugin-dialogs
Dial phone number https://github.com/Rohfosho/CordovaCallNumberPlugin

@sand123 I think that's what the compatibility cordova tag is for.
Agree with @wilsonna, it's another good candidate.  With #923 we know that the toast code is in the release builds and it seems suboptimal that it's necessary install a plugin to reach around to that API.
Exposing a simple dialog with alert() on the JS side would be a welcome improvement; it's a quick and easy to bring up a dialog.  For anything more involved (customizable title, callbacks, multiple buttons) I would say that diving in to a plugin isn't horrific.  But the status quo of having to include a plugin for any type of user notification seems a little over the top.

With AlertDialog available in 2.0, I think we can close this issue.
Opened #1104 for toast messages. Please open separate issues for other dialogs when needed or alert.


feat!: add __str__ to Emoji

About
This pull request adds __str__ magic method to Emoji.
Checklist

[ ] I've ran pre-commit to format and lint the change(s) made.
[x] I've checked to make sure the change(s) work on 3.8.6 and higher.
[ ] This fixes/solves an Issue (If existent):.

resolves #

I've made this pull request for/as: (check all that apply)

[ ] Documentation
[x] Breaking change
[x] New feature/enhancement
[ ] Bugfix

I have another idea.
What if instead of magic method use @property?
@property
def str(self): # or `as_str/to_str`
  ...

I have another idea.
What if instead of magic method use @property?
@property
def str(self): # or `as_str/to_str`
  ...

That won't be called automatically so I don't think that's good

I have another idea.
What if instead of magic method use @property?
@property
def str(self): # or `as_str/to_str`
  ...

That won't be called automatically so I don't think that's good

But we will see string format of emoji in print. Its not good too

I have another idea.
What if instead of magic method use @property?
@property
def str(self): # or `as_str/to_str`
  ...

That won't be called automatically so I don't think that's good

But we will see string format of emoji in print. Its not good too

Imho it should be like that on print

okay lol


Not working with Next.js >= 10.2.x (probably because of webpack 5)

Describe the bug
Seems with the update to Next.js 10.2, Next.js is by default using webpack 5: https://nextjs.org/blog/next-10-2#webpack-5

Occurs in next-i18next version
next-i18next: v8.5.1
Next.js: >= v10.2.x
Steps to reproduce
Just update the next version in the simple example: https://github.com/isaachinman/next-i18next/blob/master/examples/simple/package.json#L12
Error
I have no idea on how this works behind the scene, it may be Next.js itself needs to do something.
Currently an error like this is occurred:
Error: Cannot find module '/Users/user/Projects/next-i18next/examples/simple/next-i18next.config.js'
MODULE_NOT_FOUND
(happens on dev)
Additional context
I'm not very familiar with Next.js and/or webpack 5, so if someone wants to invest a bit of time to investigate, this would be really good.
Currently next-i18next only works with Next.js <= v10.1.x
There is also an issue in the Next.js repo: https://github.com/vercel/next.js/issues/24729
May be also related: https://github.com/vercel/next.js/issues/24700

Yea, this seems to be the case as I can't get it working either. It just keeps on loading my localhost page and does NOT throw any error. As soon as I run "yarn build" it builds perfectly fine and the production build also does work, at least semi good. it seems to be loading for forever until it finally works. 10 seconds loading for a <100kb website is just not acceptable.
Can we get any support from anyone knowledgeable, maybe even the creator?

The code block in question is here. It seems like fs.existsSync is returning true, and then await import is failing. Changing it to a require doesn't solve the issue.
I am not sure what exactly the root cause is, but I do know the Vercel team had to do a lot of webpack trickery to get this v5 release stable enough. I assume they are manipulating the fs in an unexpected way.
I won't have much time to debug this for the next week or so, and would appreciate if any contributor wants to help out.

I am not sure what exactly the root cause is, but I do know the Vercel team had to do a lot of webpack trickery to get this v5 release stable enough. I assume they are manipulating the fs in an unexpected way.

this may be related: https://github.com/vercel/next.js/issues/24700

It may have been that the snippet in question was previously transpiled by Webpack in order for it to work. I believe this to be the case.
@isaachinman import is used to load modules. In this case, it's being used to load what appears to be a user configuration file (likely formatted in JSON). While the asynchrony of the import is correct, import import expects modules rather than arbitrary files.
That being said, it is possible for the environment to add module loaders capable of handling, for example, JSON files. It's likely that Webpack injected this behavior before because import is often treated as synonymous with require which does natively support loading JSON files (this is functionality that Node.js provides for code running in CommonJS environments).
I suggest the snippet is refactored to use readFile from "fs/promises" the very same way import was used. Additionally, the conditional block in which the file is loaded in from should also be removed. Technically, existsSync is used to simply check for the existence of a file and then report back the result. It is not intended to be used in a "check if the file exists then try to open it" workflow; in fact, that sort of workflow should directly attempt to read the file. Errors pertaining the file existing, the user not having permissions to read it, the file having a lock on it, etc., are all reported back to the caller accordingly.

Yes, we should refactor to only rely on the built-in fs module. Not sure what you meant in your edit.

It's not as simple as replacing import with readFile.
let userConfig: UserConfig | null;

userConfig = await readFile(DEFAULT_CONFIG_PATH, "utf8");
//           ^
//           Contains "asdfasdfasdfasfd"

I tried out to upgrade to NextJS v11 and set {webpack5:false}
I still don't get a successful build, next dev works but 'next build` fails with https://reactjs.org/docs/error-decoder.html/?invariant=294
Any idea how to get next-18next running on latest NextJS version? Which is the latest NextJS version which is supported?

I found a temporary fix until https://github.com/vercel/next.js/issues/24700 gets addressed in Next.js Iteration 22 or 23, 24, 25, etc...

in next-i18next: serverSideTranslations.ts line 42, check for !userConfig before importing from DEFAULT_CONFIG_PATH
in userland: for every serverSideTranslations() call, import nextI18NextConfig from '../next-i18next.config.js' and pass it as last argument to serverSideTranslations => await serverSideTranslations(locale, ['common', 'footer'], nextI18NextConfig)

I just tested this on Next.js v11.0.1 and it seems to work.
serverSideTranslations.ts

i.e. second-page.js

The last 7.x release of this package does not work with Next.js >= 10.2.x as well. When I run our app on Vercel with<EMAIL_ADDRESS>we got this error
TypeError: Cannot destructure property 'components' of 'object null' as it is null.
at DevServer.renderToHTMLWithComponents ...

That one is also mentioned here https://github.com/isaachinman/next-i18next/issues/661#issue-586013103.
And it is not related to the folders missing, mentioned in that issue. When I downgrade to<EMAIL_ADDRESS>it works w/o further changes to my files or source code.

I found a temporary fix until vercel/next.js#24700 gets addressed in Next.js Iteration 22 or 23, 24, 25, etc...
1. in next-i18next: `serverSideTranslations.ts` [line 42](https://github.com/isaachinman/next-i18next/blob/master/src/serverSideTranslations.ts#L46), check for `!userConfig` before importing from `DEFAULT_CONFIG_PATH`

2. in userland: for every `serverSideTranslations()` call, `import nextI18NextConfig from '../next-i18next.config.js'` and pass it as last argument to `serverSideTranslations` => `await serverSideTranslations(locale, ['common', 'footer'], nextI18NextConfig)`

I just tested this on Next.js v11.0.1 and it seems to work.
serverSideTranslations.ts

i.e. second-page.js

We did something similar to get it working: rename the config file and pass the config in manually.

Hi @paneidos,
thanks for the update. But this only works with<EMAIL_ADDRESS>and not the old version, right? Because due to some changes in the latest major version we can't use it at the moment...

@natterstefan we're using 8.5.1 indeed

@natterstefan we're using 8.5.1 indeed

Thanks for the info. Too bad, as this solution will probably not work with 7.x. Let's see.

@adrai Would you be willing to open a PR with that quick fix on the next-i18next side?

Thanks @adrai. I believe this is simply a NextJs bug at this point – passing your config into serverSideTranslations should work as a workaround until they fix it upstream.

@isaachinman, the issue is described with full context in https://github.com/isaachinman/next-i18next/issues/1202#issuecomment-860014492.

Thanks @adrai. I believe this is simply a NextJs bug at this point – passing your config into serverSideTranslations should work as a workaround until they fix it upstream.

ModuleNotFoundError: Module not found: Error: Can't resolve 'fs' in '/vercel/path0/node_modules/next-i18next/dist/commonjs'
I get this webpack error upon production build on Vercel unfortunately. I can't downgrade to webpack4 because my project is already complex & uses a lot of webpack5 features. The funny thing is everything works well in development environment

Thanks @adrai. I believe this is simply a NextJs bug at this point – passing your config into serverSideTranslations should work as a workaround until they fix it upstream.

ModuleNotFoundError: Module not found: Error: Can't resolve 'fs' in '/vercel/path0/node_modules/next-i18next/dist/commonjs'
I get this webpack error upon production build on Vercel unfortunately. I can't downgrade to webpack4 because my project is already complex & uses a lot of webpack5 features. The funny thing is everything works well in development environment

@cvrlnolan are you sure? did you change your code like this?

Thanks @adrai. I believe this is simply a NextJs bug at this point – passing your config into serverSideTranslations should work as a workaround until they fix it upstream.

ModuleNotFoundError: Module not found: Error: Can't resolve 'fs' in '/vercel/path0/node_modules/next-i18next/dist/commonjs'
I get this webpack error upon production build on Vercel unfortunately. I can't downgrade to webpack4 because my project is already complex & uses a lot of webpack5 features. The funny thing is everything works well in development environment

@cvrlnolan are you sure? did you change your code like this?

Yes I did all the basic steps & it ran twice on development. But on deployment it causes that error, may I omitted something but I don't think so. I had to look for another solution

Thanks @adrai. I believe this is simply a NextJs bug at this point – passing your config into serverSideTranslations should work as a workaround until they fix it upstream.

ModuleNotFoundError: Module not found: Error: Can't resolve 'fs' in '/vercel/path0/node_modules/next-i18next/dist/commonjs'

I get this webpack error upon production build on Vercel unfortunately. I can't downgrade to webpack4 because my project is already complex & uses a lot of webpack5 features. The funny thing is everything works well in development environment

@cvrlnolan are you sure? did you change your code like this?

Yes I did all the basic steps & it ran twice on development. But on deployment it causes that error, maybe I omitted something but I don't think so. I had to look for another solution. Forgot to mention I'm working with next >= 11

@cvrlnolan just tried it again on the provided simple example and it worked... so must be something on your code... 🤷♂

fyi: still no luck with next.js v11.1.0 😢

I have good news:
Based on @myWsq's discussion and example I've created a simple next-i18next example that works with SSG: https://github.com/adrai/next-i18next-static-example

Just want to be clear that next export is not SSG in the context of NextJs, and does not have first-class support anymore. Use of getStaticProps is SSG, and is the recommended approach.

Just want to be clear that next export is not SSG in the context of NextJs, and does not have first-class support anymore. Use of getStaticProps is SSG, and is the recommended approach.

sorry, not a Next pro ;-)
it's using getStaticProps => https://github.com/adrai/next-i18next-static-example/blob/main/pages/[locale]/second-page.js#L37

No worries! As long as users are implementing getStaticProps, they can simply run next build && next start, and content will be served fully statically. No need to use next export.

I have good news:
Based on @myWsq's discussion and example I've created a simple next-i18next example that works with SSG: https://github.com/adrai/next-i18next-static-example
You see here, it is not using the in-built next.js i18n feature.

Hello , seems to me that your trick for langage detection doesn't work . I have clone your project , build it
No problem , with the script npm run build ( so with next export) , but when i run the project , i arrive on a empty page :)
Need to put /en or /de on my url for arriving at the landing page.
  "scripts": {
    "dev": "next",
    "build": "next build && next export",
    "export": "next export",
    "out": "npm run build && npm run export",
    "start": "next start -p ${PORT:=3000}"
  },

I have good news:

Based on @myWsq's discussion and example I've created a simple next-i18next example that works with SSG: https://github.com/adrai/next-i18next-static-example

You see here, it is not using the in-built next.js i18n feature.

Hello , seems to me that your trick for langage detection doesn't work . I have clone your project , build it
No problem , with the script npm run build ( so with next export) , but when i run the project , i arrive on a empty page :)
Need to put /en or /de on my url for arriving at the landing page.

  "scripts": {

    "dev": "next",

    "build": "next build && next export",

    "export": "next export",

    "out": "npm run build && npm run export",

    "start": "next start -p ${PORT:=3000}"

  },

It's just an example...
Here is also another one: https://github.com/adrai/next-static-i18n-test

I have good news:

Based on @myWsq's discussion and example I've created a simple next-i18next example that works with SSG: https://github.com/adrai/next-i18next-static-example

You see here, it is not using the in-built next.js i18n feature.

Hello , seems to me that your trick for langage detection doesn't work . I have clone your project , build it
No problem , with the script npm run build ( so with next export) , but when i run the project , i arrive on a empty page :)
Need to put /en or /de on my url for arriving at the landing page.

  "scripts": {

    "dev": "next",

    "build": "next build && next export",

    "export": "next export",

    "out": "npm run build && npm run export",

    "start": "next start -p ${PORT:=3000}"

  },

@SSylvain1989 Internationalized Routing does not integrate with next export
https://nextjs.org/docs/advanced-features/i18n-routing#how-does-this-work-with-static-generation

I have good news:

Based on @myWsq's discussion and example I've created a simple next-i18next example that works with SSG: https://github.com/adrai/next-i18next-static-example

You see here, it is not using the in-built next.js i18n feature.

Hello , seems to me that your trick for langage detection doesn't work . I have clone your project , build it
No problem , with the script npm run build ( so with next export) , but when i run the project , i arrive on a empty page :)
Need to put /en or /de on my url for arriving at the landing page.
  "scripts": {

    "dev": "next",

    "build": "next build && next export",

    "export": "next export",

    "out": "npm run build && npm run export",

    "start": "next start -p ${PORT:=3000}"

  },

@SSylvain1989 Internationalized Routing does not integrate with next export
https://nextjs.org/docs/advanced-features/i18n-routing#how-does-this-work-with-static-generation
Ok .
I try to find a solution for using translation of my website and detect langage preference of the user ... with next export since i don't deploy my website on vercel but cloudflare .

I have good news:

Based on @myWsq's discussion and example I've created a simple next-i18next example that works with SSG: https://github.com/adrai/next-i18next-static-example

You see here, it is not using the in-built next.js i18n feature.

Hello , seems to me that your trick for langage detection doesn't work . I have clone your project , build it

No problem , with the script npm run build ( so with next export) , but when i run the project , i arrive on a empty page :)

Need to put /en or /de on my url for arriving at the landing page.

"scripts": {

"dev": "next",

"build": "next build && next export",

"export": "next export",

"out": "npm run build && npm run export",

"start": "next start -p ${PORT:=3000}"

},

@SSylvain1989 Internationalized Routing does not integrate with next export

https://nextjs.org/docs/advanced-features/i18n-routing#how-does-this-work-with-static-generation

Ok .
I try to find a solution for using translation of my website and detect langage preference of the user ... with next export since i don't deploy my website on vercel but cloudflare .

for me this works good: https://github.com/adrai/next-static-i18n-test/blob/01bd6d2a3ed610ef21202479779ff65c69d439d7/pages/index.js#L25

First of all, thanks for sharing all of these!
I found the same solution as @dohomi 's to work with latest next without manually adding nextI18NextConfig, which is just adding {webpack5: false}
The caveat is that, after turning off webpack5, a new next build or deleting existed .next folder is required, even to get next dev working
Reference:

demo link: https://next-i18next-demo-psi.vercel.app
disabling webpack5 in next.config.js
demo's package.json

"next": "^11.1.2",
"next-i18next": "^8.8.0"

Downside
The only downside of this approach is we have to disable webpack5 until nextjs mentioned issues are resolved
Original comment

I tried out to upgrade to NextJS v11 and set {webpack5:false}
I still don't get a successful build, next dev works but next build fails with https://reactjs.org/docs/error-decoder.html/?invariant=294
Any idea how to get next-18next running on latest NextJS version? Which is the latest NextJS version which is supported?

For those not following #1384, this has been linked to a bug in NextJs: https://github.com/vercel/next.js/issues/24700

Hi, I took another look at this and it seems loading the config file is resolved in the latest canary of Next.js v11.1.3-canary.86 with experimental.outputFileTracing although it fails to detect the locales being loaded from public correctly because these fs calls aren't statically analyzable.
Changing these lines to below should resolve this:
const namespacesByLocale = Object.keys(initialI18nStore)
  .map(locale => {
    return fs.readdirSync(
      path.join(process.cwd(), `public/locales/${locale}`)
    )
    .map(file => file.replace(`.${localeExtension}`, ''))
  })

I would recommend against allowing a custom localePath as this makes it not able to be statically analyzable and it will not be able to detect the files being needed automatically.


Handling of credentials for external services

The current version has a secret handling for the passwords of the CA keys, but there are several places where a similar feature is useful/necessary, e.g. when using LWP over SSL with mutual authentication and a passowrd protected key.
Idea, to be discussed:

move the secret handling to a more general place
create a import format and a helper tool to maintain a kind of "password list" (using the volatile vault might be useful)
make the stored secrets accessible by an internal API call

See OpenXPKI::Connector::Secret
Internal classes can use CTX('crypto_layer')->get_secret


installation instructions for macOS

I have not been able to install this library on macOS. Could you provide a homebrew formula?

I managed to get olm to install with the following:
class Olm < Formula
  desc "Implementation of the olm and megolm cryptographic ratchets"
  homepage "https://gitlab.matrix.org/matrix-org/olm"
  url "https://gitlab.matrix.org/matrix-org/olm/-/archive/3.1.4/olm-3.1.4.tar.gz"
  sha256 "1ca9926ce71d778fb7352d1ee77513194db8c7f49c0d69d38ac49ec3bafcea38"
  depends_on "cmake" => :build
  def install
    system "cmake", "--version"
    system "cmake", ".", '-Bbuild', *std_cmake_args
    system "cmake", "--build", 'build'
    makeargs = %W[
        PREFIX=#{prefix}
        SYSCONFDIR=#{etc}
        CC=#{ENV.cc}
        CFLAGS=#{ENV.cflags}
        LDFLAGS=#{ENV.ldflags}
        NO_TCLTK=1
    ]
    inreplace "Makefile", "-Dm644", "-m644"
    inreplace "Makefile", "-Dm755", "-m755"
    system "make", "install", *makeargs
  end

  test do
    system "false"
  end
end

If you'd like to provide a patch as per https://gitlab.matrix.org/matrix-org/olm/-/blob/master/CONTRIBUTING.md, we'd be glad to consider it.

Thanks a lot man @goerz . These matrix people are good for nothing. @poljar  They have left things half baked. No guide on how to link OLM with nio or how to install python-olm successfully on MAC.

I'm sorry you feel this way, there have been a bunch of people that asked how to install python-olm on various operating systems, I don't think I ignored any of them.
As to why there isn't a Mac specific guide, I don't use a Mac and I'm not confident enough to write a guide for an operating system I don't use and have no way to test the correctness of. If you are stuck, opening an issue or asking in the matrix-nio room might have been fruitful.
Is there anything more concrete about what's wrong with matrix-nio? API design input is always welcome, though we're a bit stuck with some decisions since we don't want to break absolutely everything.
If so, please feel free to open bug reports, suggestions and even PRs on the matrix-nio github.
Thanks, Damir.

@anantthebiker I understand your frustration, but telling people that they are "good for nothing" is not productive. Please keep your criticism constructive. This is true in any context, but especially in open-source: most of the work is volunteer driven, and the only thing that dumping on people does is cause burn-out.

@poljar @goerz I apologise, I take my strong criticism back. It wasn’t helpful. I was stuck on trying to have OLM installed on my system, intermittently for weeks. @goerz Can I please know how did you figure out the arguments to cmake? And that it could be THE solution.

I just sort of guessed from what I found in the Homebrew Formula Cookbook (the *std_make_args in particular) and what I had to do manually to get olm to compile. The need to replace -Dm644 with -m644 on macOS took a little bit of googling.
The cmake --version doesn't really do anything, of course, except to assure me that it's picking up the cmake I expect from inside homebrew. I'm not very deep into homebrew, so it's really just a cut-and-paste to get it to work with minimal effort (which is also why I wouldn't be comfortable to contribute the formula upstream)

I'm sorry you feel this way, there have been a bunch of people that asked how to install python-olm on various operating systems, I don't think I ignored any of them.
As to why there isn't a Mac specific guide, I don't use a Mac and I'm not confident enough to write a guide for an operating system I don't use and have no way to test the correctness of. If you are stuck, opening an issue or asking in the matrix-nio room might have been fruitful.
Is there anything more concrete about what's wrong with matrix-nio? API design input is always welcome, though we're a bit stuck with some decisions since we don't want to break absolutely everything.
If so, please feel free to open bug reports, suggestions and even PRs on the matrix-nio github.
Thanks, Damir.

Hey Damin @poljar ,
Seeing your name almost everywhere where matrix-nio is there, I believe you have done an incredible contribution and I also agree the documentation is tremendous for each API in Matrix-nio.
But when it comes to some advanced use cases like:

How to send an image as a message via Matrix-nio.
Your GIT page says, install OLM on various platforms esp MAC(pretty common in dev community), tbh it is a struggle to figure out how to do that, may be it is deliberate on part of Matrix, that they have provided robust HowTo guides for their Synapse, but for OLM I couldn't find one.

FYI, I have figured out the sol to the above use cases from earlier chats in Matrix-nio on Riot or from this open issue or from Testcases in the Matrix-nio git repo. I will post a guide on the solutions to above on my GIT probably or any other better place if you can suggest @poljar .
I know you always help people on Riot, if you are the one who has written those test cases, the documentation of Matrix-Nio and OLM-python plugin. If you can post a HowTo guide on some of the challenging use cases that can be tackled with Matrix-nio it would be another great contribution. If you need some help, I am also ready to contribute. If tomorrow for a few days, you or everyone who has worked on Matri-nio go on to working somewhere else. This great project might hang in limbo like many other projects like #Hubframework . I have seen myself on RiotChat how much others struggle on using Matrix-nio.
Looking forward to diving more deep in Matrix-nio.
Thanks @poljar , @ara4n.

I'm a bit confused by this bug - I use a Mac, and I build olm by just checking it out and running make, as per the instructions at https://gitlab.matrix.org/matrix-org/olm/-/blob/master/README.md#building.  There was a quirk in the Makefile which impacted macOS but this got fixed at https://gitlab.matrix.org/matrix-org/olm/-/commit/5a9fdd85cb1ad54813df2ecd6eb24ff84e32656a (and only impacted installing the library, not building it).
Separately I think I saw @aaronraimist also doing a brew for olm?
Eitherway, having a brew would be great - has one actually been submitted to homebrew?

Hi @ara4n , just now I did a fresh clone of OLM into my Mac to test the new commit you mentioned in your comment. Then I performed: "make" -> cd python -> "make".
Then I went into my Python project running in a separate directory with a virtual env. turned on. I tried installing the package: "matrix-nio[e2e]" using pip. I get the following error:
Running setup.py install for python-olm ... error
ERROR: Command errored out with exit status 1:
command: /Users/anantpathak/Learning/ProjectSecretCam/ThePrivateSecurityCamMatrixClient/venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/61/7s1yb93d42l045r0cqwms94w0000gn/T/pip-install-d5kib2sc/python-olm/setup.py'"'"'; file='"'"'/private/var/folders/61/7s1yb93d42l045r0cqwms94w0000gn/T/pip-install-d5kib2sc/python-olm/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /private/var/folders/61/7s1yb93d42l045r0cqwms94w0000gn/T/pip-record-htsszncy/install-record.txt --single-version-externally-managed --compile --install-headers /Users/anantpathak/Learning/ProjectSecretCam/ThePrivateSecurityCamMatrixClient/venv/include/site/python3.7/python-olm
cwd: /private/var/folders/61/7s1yb93d42l045r0cqwms94w0000gn/T/pip-install-d5kib2sc/python-olm/
Complete output (29 lines):
make: *** No rule to make target ../include/olm/olm.h', needed by include/olm/olm.h'.  Stop.
running install
running build
running build_py
creating build
creating build/lib.macosx-10.15-x86_64-3.7
creating build/lib.macosx-10.15-x86_64-3.7/olm
copying olm/sas.py -> build/lib.macosx-10.15-x86_64-3.7/olm
copying olm/_finalize.py -> build/lib.macosx-10.15-x86_64-3.7/olm
copying olm/utility.py -> build/lib.macosx-10.15-x86_64-3.7/olm
copying olm/session.py -> build/lib.macosx-10.15-x86_64-3.7/olm
copying olm/init.py -> build/lib.macosx-10.15-x86_64-3.7/olm
copying olm/version.py -> build/lib.macosx-10.15-x86_64-3.7/olm
copying olm/group_session.py -> build/lib.macosx-10.15-x86_64-3.7/olm
copying olm/pk.py -> build/lib.macosx-10.15-x86_64-3.7/olm
copying olm/_compat.py -> build/lib.macosx-10.15-x86_64-3.7/olm
copying olm/account.py -> build/lib.macosx-10.15-x86_64-3.7/olm
running build_ext
generating cffi module 'build/temp.macosx-10.15-x86_64-3.7/_libolm.c'
creating build/temp.macosx-10.15-x86_64-3.7
building '_libolm' extension
creating build/temp.macosx-10.15-x86_64-3.7/build
creating build/temp.macosx-10.15-x86_64-3.7/build/temp.macosx-10.15-x86_64-3.7
clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -I/usr/local/include<EMAIL_ADDRESS>-I/usr/local/opt/sqlite/include -I/Users/anantpathak/Learning/ProjectSecretCam/ThePrivateSecurityCamMatrixClient/venv/include -I/usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7/include/python3.7m -c build/temp.macosx-10.15-x86_64-3.7/_libolm.c -o build/temp.macosx-10.15-x86_64-3.7/build/temp.macosx-10.15-x86_64-3.7/_libolm.o -I../include
build/temp.macosx-10.15-x86_64-3.7/_libolm.c:541:18: fatal error: 'olm/olm.h' file not found
#include <olm/olm.h>
^~~~~~~~~~~
1 error generated.
error: command 'clang' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: /Users/anantpathak/Learning/ProjectSecretCam/ThePrivateSecurityCamMatrixClient/venv/bin/python3 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/private/var/folders/61/7s1yb93d42l045r0cqwms94w0000gn/T/pip-install-d5kib2sc/python-olm/setup.py'"'"'; file='"'"'/private/var/folders/61/7s1yb93d42l045r0cqwms94w0000gn/T/pip-install-d5kib2sc/python-olm/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(file);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record /private/var/folders/61/7s1yb93d42l045r0cqwms94w0000gn/T/pip-record-htsszncy/install-record.txt --single-version-externally-managed --compile --install-headers /Users/anantpathak/Learning/ProjectSecretCam/ThePrivateSecurityCamMatrixClient/venv/include/site/python3.7/python-olm Check the logs for full command output.
But when I run the above brew script by creating a local tap. I am able to perfectly install "matrix-new[e2e]" . So, when following the steps mentioned in OLM's page, did I miss something for the installation of "matrix-new[e2e]"?
Thanks,
Anant

Olm is in Homebrew. All you need to do is `brew install libolm.

1. How to send an image as a message via Matrix-nio.

We just got an example committed to the nio repo on how to do this, you can find it here. Note, that this requires matrix-nio from master.

2. Your GIT page says, install OLM on various platforms esp MAC(pretty common in dev community), tbh it is a struggle to figure out how to do that, may be it is deliberate on part of Matrix, that they have provided robust HowTo guides for their Synapse, but for OLM I couldn't find one.

I think this is solved since libolm is in Homebrew.

FYI, I have figured out the sol to the above use cases from earlier chats in Matrix-nio on Riot or from this open issue or from Testcases in the Matrix-nio git repo. I will post a guide on the solutions to above on my GIT probably or any other better place if you can suggest @poljar .

Contributions to the matrix-nio repo are always welcome.
If you have any further questions about matrix-nio feel free to open issues on the project repo or ask in the matrix-nio room.

Since libolm is now in homebrew (thanks, Aaron!), I'm going to close this issue.

I'm a bit confused by this bug - I use a Mac, and I build olm by just checking it out and running make, as per the instructions at https://gitlab.matrix.org/matrix-org/olm/-/blob/master/README.md#building. There was a quirk in the Makefile which impacted macOS but this got fixed at https://gitlab.matrix.org/matrix-org/olm/-/commit/5a9fdd85cb1ad54813df2ecd6eb24ff84e32656a (and only impacted installing the library, not building it).
Separately I think I saw @aaronraimist also doing a brew for olm?
Eitherway, having a brew would be great - has one actually been submitted to homebrew?

I followed the steps on the page, they did not work. So I just built it with make and it worked. And now I have to remove the excess python dependencies. Itd be nice if someone could update that README

@shehackedyou I have built the binary on MacOS. I am wondering how to use it now.
The mautrix library depends on it and still says 'fatal error: olm/olm.h file not found'.
It's my first time using it


Long loading and error on Google Sheets

Test:
fixture `Test`
    .page('https://docs.google.com/spreadsheets/d/10tonOBSY5Umx9tpMtl0ePO39uvbg1cAjh8Rb2Qkrq_E/edit?usp=sharing');

test('test', async t => {
    await t
        .click('#\\3a r > div')
        .wait(2000);
});

Report:
 Running tests in:
 - Firefox 48.0.0 / Windows 10 0.0.0

 Test
 × test

   1) Uncaught object "[object Object]" was thrown. Throw Error instead.

      Browser: Firefox 48.0.0 / Windows 10 0.0.0

 1/1 failed (16s)

Possible dup of #822

Dup of #822


[SMALLFIX]improve the javadoc for "AppLoginModule#commit()" and "BufferUtils#cleanDirectBuffer()"

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9897/
Test PASSed.

Merged build finished. Test PASSed.

+1 LGTM. thanks for the finding!


discord link

Hello, I can not go to your server even if I remove discord.com

Thank you for letting me know!
I have redesigned the Readme as well updated the Discord server link.
You may visit the Discord server now


When accepting upsell offer, received an internal error from shopify.

Please list the package(s) involved in the issue, and include the version you are using
Using:
"@shopify/checkout-ui-extensions-react": "^0.18.1",

Describe the bug

When accepting an upsell (adding item to the current checkout from an extension), we're getting an error in the console:
GraphQL execution failed with errors: [
  {
    "message": "Internal error. Looks like something went wrong on our end.\nRequest ID: 2cc8b2be-7ae8-4fb5-b81a-82da9ec54774 (include this in support requests).",
    "extensions": {
      "code": "INTERNAL_SERVER_ERROR",
      "requestId": "2cc8b2be-7ae8-4fb5-b81a-82da9ec54774"
    }
  }
]

Steps to reproduce the behavior:

Add upsell to checkout
Accept upsell

Expected behavior

For product to be added to the cart
Screenshots

Additional context
Extension with issue: https://partners.shopify.com/941756/apps/7334592513/extensions/checkout_ui_extension/14895120385

@kumar303

@lemonmade can you help here? facing same issue :(

@Rafath21 @abhisheksingh75 @jzier3 Closing because we can't reproduce the issue. Please file a new issue if you are still seeing the underlying problem.


[Bug]: Writing files fails when using Azure Data Lake Gen 2

Apache Hop version?
2.5
Java version?
19.0.2
Operating system
Windows
What happened?
New install of Hop 2.5.0
setup to write to Azure Data Lake Gen 2
name
key
create a new work flow name demo
try to save the workflow to azure
org.apache.hop.core.exception.HopException:
Error validating file existence for 'azure:\datalakedemo\hop\demo.hwf'
Error saving workflow to file 'azure:\datalakedemo\hop\demo.hwf'
org.apache.commons.vfs2.FileSystemException: Could not create file "azure:///datalakedemo/hop/demo.hwf".
Could not create file "azure:///datalakedemo/hop/demo.hwf".
Could not create file "azure:///datalakedemo/hop/demo.hwf".
at org.apache.hop.ui.hopgui.file.workflow.HopGuiWorkflowGraph.saveAs(HopGuiWorkflowGraph.java:3257)
at org.apache.hop.ui.hopgui.delegates.HopGuiFileDelegate.fileSaveAs(HopGuiFileDelegate.java:153)
at org.apache.hop.ui.hopgui.HopGui.menuFileSaveAs(HopGui.java:751)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:578)
at org.apache.hop.ui.core.gui.BaseGuiWidgets.lambda$getListener$1(BaseGuiWidgets.java:216)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4256)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1066)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4054)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3642)
at org.apache.hop.ui.hopgui.HopGui.open(HopGui.java:474)
at org.apache.hop.ui.hopgui.HopGui.main(HopGui.java:352)

Caused by: org.apache.hop.core.exception.HopException:
Error saving workflow to file 'azure:\datalakedemo\hop\demo.hwf'
org.apache.commons.vfs2.FileSystemException: Could not create file "azure:///datalakedemo/hop/demo.hwf".
Could not create file "azure:///datalakedemo/hop/demo.hwf".
Could not create file "azure:///datalakedemo/hop/demo.hwf".
at org.apache.hop.ui.hopgui.file.workflow.HopGuiWorkflowGraph.save(HopGuiWorkflowGraph.java:3229)
at org.apache.hop.ui.hopgui.file.workflow.HopGuiWorkflowGraph.saveAs(HopGuiWorkflowGraph.java:3254)
... 12 more

Caused by: org.apache.hop.core.exception.HopFileException:
org.apache.commons.vfs2.FileSystemException: Could not create file "azure:///datalakedemo/hop/demo.hwf".
Could not create file "azure:///datalakedemo/hop/demo.hwf".
Could not create file "azure:///datalakedemo/hop/demo.hwf".
at org.apache.hop.core.vfs.HopVfs.getOutputStream(HopVfs.java:327)
at org.apache.hop.ui.hopgui.file.workflow.HopGuiWorkflowGraph.save(HopGuiWorkflowGraph.java:3213)
... 13 more

Caused by: org.apache.commons.vfs2.FileSystemException: Could not create file "azure:///datalakedemo/hop/demo.hwf".
at org.apache.commons.vfs2.provider.AbstractFileObject.createFile(AbstractFileObject.java:328)
at org.apache.hop.core.vfs.HopVfs.getOutputStream(HopVfs.java:301)
at org.apache.hop.core.vfs.HopVfs.getOutputStream(HopVfs.java:325)
... 14 more
Caused by: org.apache.commons.vfs2.FileSystemException: Could not write to "azure:///datalakedemo/hop/demo.hwf".
at org.apache.commons.vfs2.provider.AbstractFileObject.getOutputStream(AbstractFileObject.java:1277)
at org.apache.commons.vfs2.provider.AbstractFileObject.getOutputStream(AbstractFileObject.java:1239)
at org.apache.commons.vfs2.provider.AbstractFileObject.createFile(AbstractFileObject.java:322)
... 16 more
Caused by: com.microsoft.azure.storage.StorageException: Specified feature is not yet supported for hierarchical namespace accounts.
at com.microsoft.azure.storage.StorageException.translateException(StorageException.java:87)
at com.microsoft.azure.storage.core.StorageRequest.materializeException(StorageRequest.java:305)
at com.microsoft.azure.storage.core.ExecutionEngine.executeWithRetry(ExecutionEngine.java:196)
at com.microsoft.azure.storage.blob.CloudPageBlob.create(CloudPageBlob.java:538)
at com.microsoft.azure.storage.blob.CloudPageBlob.openOutputStreamInternal(CloudPageBlob.java:1055)
at com.microsoft.azure.storage.blob.CloudPageBlob.openWriteNew(CloudPageBlob.java:930)
at org.apache.hop.vfs.azure.AzureFileObject.doGetOutputStream(AzureFileObject.java:450)
at org.apache.commons.vfs2.provider.AbstractFileObject.getOutputStream(AbstractFileObject.java:1273)
... 18 more

Issue Priority
Priority: 2
Issue Component
Component: VFS

It seems not all features work on data lake gen 2, do you have similar options when using a gen 1 blob storage?

Thank you for the quick reply.  It looks like Azure does not allow gen 1 storage anymore.
Is this a problem with VFS or specifically with HOP.  I could look into fixing the issue, I would just need some pointers.

It seems we are doing something that was working in Gen1 but no longer works in Gen2
this is the error thrown by Azure
Caused by: com.microsoft.azure.storage.StorageException: Specified feature is not yet supported for hierarchical namespace accounts.
The VFS implementation that we have written for azure can be found here:
https://github.com/apache/hop/tree/master/plugins/tech/azure/src/main/java/org/apache/hop/vfs/azure

should be solved in the near future by #3676

going to close this one we only support hierarchical namespaces. Have been using these in the past couple of weeks/months. We have a couple of more improvement tickets but we are actively working with azure blob storage

.take-issue


Issue with multiple areas

I modified your sample like the following and only the last area is blurred. Both areas work good separately.
Am i doing something wrong?
P.S. Thanks for this amazing modifier!

@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun HazeSample(appTitle: String) {
  MaterialTheme {
    Scaffold(
      topBar = {
        LargeTopAppBar(
          title = { Text(text = appTitle) },
          colors = TopAppBarDefaults.largeTopAppBarColors(Color.Transparent),
          modifier = Modifier.fillMaxWidth(),
        )
      },
+      bottomBar = {
+          Box(Modifier.height(100.dp))
+      },
      modifier = Modifier.fillMaxSize(),
    ) { contentPadding ->
      BoxWithConstraints {
        val topBarBounds = with(LocalDensity.current) {
          Rect(
            Offset(0f, 0f),
            Offset(maxWidth.toPx(), contentPadding.calculateTopPadding().toPx()),
          )
        }
+        val bottomBarsBound = with(LocalDensity.current) {
+          Rect(
+            Offset(0f, maxHeight.toPx() - contentPadding.calculateBottomPadding().toPx()),
+            Offset(maxWidth.toPx(), maxHeight.toPx()),
+          )
+        }

        LazyVerticalGrid(
          columns = GridCells.Adaptive(128.dp),
          verticalArrangement = Arrangement.spacedBy(8.dp),
          horizontalArrangement = Arrangement.spacedBy(8.dp),
          contentPadding = contentPadding,
          modifier = Modifier
            .fillMaxSize()
            .haze(
              topBarBounds,
+              bottomBarsBound,
              backgroundColor = MaterialTheme.colorScheme.surface,
            ),
        ) {
          items(50) { index ->
            ImageItem(
              text = "${index + 1}",
              modifier = Modifier
                .fillMaxWidth()
                .aspectRatio(3 / 4f),
            )
          }
        }
      }
    }
  }
}

Hi. What platform are you seeing this on? Android?

Mac OS

Here is what i see. Areas don't wanna combine together. Only 1 works at a time

Thanks, confirmed. I'm not seeing this in my 'old' implementation in Tivi, so I'll have to see what has changed 🤔


DocumentsFilter - UI update

these icons http://grabberapp.com/uoiqem should be moved where we had the paging buttons previously
this means at the end of filter row - after the input

Another idea, maybe going toooo far, but should be considered:

http://grabberapp.com/zc2nzd
what if the h1 (name of collection) would be completely removed and thus that entire "row" could be gone
only the filter row would stay
then all we have to do is find a place for the "add document" and "collection settings" button
finally, the top (blue bar) should then stay sticky, as it would be very small in height

not sure if it's necessary... that h1 is a part of the design, and I dont see the reason to remove h1...
and in the future new features will be implemented => new action buttons, so we need this extra free space
minimal design is good, but it have to be also nice!


Fix RT table creation schema check: the backwards compatibility path was broken due to a sequencing issue.

The code for RT table creation checked for schema before the table config was available on ZK. This broke the path where if we can't find the schema that matches the table name, the fallback that fetched name from validation-config returned nothing.
Added test case to cover this as well.

LGTM thanks again 👍

Codecov Report

Merging #2841 into master will decrease coverage by 0.02%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##           master    #2841      +/-   ##
==========================================
- Coverage   69.25%   69.22%   -0.03%
==========================================
  Files         908      908
  Lines       43457    43461       +4
  Branches     5898     5900       +2
==========================================
- Hits        30095    30088       -7
- Misses      11354    11356       +2
- Partials     2008     2017       +9

Impacted Files
Coverage Δ

...ntroller/helix/core/PinotHelixResourceManager.java
61.17% <50%> (+0.05%)
:arrow_up:

...mpl/dictionary/DoubleOffHeapMutableDictionary.java
67.27% <0%> (-10.91%)
:arrow_down:

...impl/dictionary/DoubleOnHeapMutableDictionary.java
66.66% <0%> (-8.89%)
:arrow_down:

...kedin/pinot/core/util/SortedRangeIntersection.java
83.82% <0%> (-7.36%)
:arrow_down:

...e/impl/dictionary/LongOnHeapMutableDictionary.java
82.22% <0%> (-6.67%)
:arrow_down:

.../impl/dictionary/FloatOnHeapMutableDictionary.java
86.66% <0%> (-6.67%)
:arrow_down:

.../impl/dictionary/LongOffHeapMutableDictionary.java
81.81% <0%> (-5.46%)
:arrow_down:

...e/operator/dociditerators/SortedDocIdIterator.java
59.45% <0%> (-5.41%)
:arrow_down:

...e/operator/dociditerators/BitmapDocIdIterator.java
60.71% <0%> (-3.58%)
:arrow_down:

...not/broker/broker/helix/ClusterChangeMediator.java
63.33% <0%> (-3.34%)
:arrow_down:

... and 12 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f64283b...f6fa39b. Read the comment docs.


my approach to compound primary keys issue

javascript use data-key value instead of id, seems to work fine in my project

@ffurbo It seems great!
I will publish a new version after merging


[BUG] Using addresses of local variables that goes out of scope

Describe the bug
Any usage an address of a local variable that goes out of scope invokes Undefined Behavior.
To Reproduce
Steps to reproduce the behavior:
None need. Errors can be detected by adding -fsanitize=undefined,address to compilation options.
Additional context
Issue 1.
https://github.com/travisvroman/kohi/blob/4f0a4dc12ce81d417cfe68e2631cd7fe60fd66f3/vulkan_renderer/src/renderer/vulkan/vulkan_device.c#L74
 for (u32 i = 0; i < index_count; ++i) {
        ...
        f32 queue_priority = 1.0f;
        queue_create_infos[i].pQueuePriorities = &queue_priority;
    }

The pointer &queue_priority is invalid after the loop body is executed.
Issue 2.
https://github.com/travisvroman/kohi/blob/4f0a4dc12ce81d417cfe68e2631cd7fe60fd66f3/vulkan_renderer/src/renderer/vulkan/vulkan_pipeline.c#L134
    if (config->push_constant_range_count > 0) {
        ...
        VkPushConstantRange ranges[32];
        ...
        pipeline_layout_create_info.pPushConstantRanges = ranges;
    }

The ranges is no longer valid after body of if branch is completed.
Proposed solution is moving declarations to a higher scope.

Thank you for pointing these out! It's amazing this worked at all 🤣


Enable form-data body usage

Hi there, I'm trying to use form-data as body in order to upload files to the function, but it seems that the body accepts the data but doesn't parse it well and cant understand even data which is not a file. pls help me

do you have a code example that you could share?

Hi there adding link to the sample repository, with pictures from postman. The code is very basic https://github.com/RoeiRom/TS-Function-Form-Data/tree/main

you can push your code to the repository if you find the solution lol

is it possible to use @fastify/multipart for that?


Fix TypeError: Cannot read property 'isPending' of undefined

Description of the Change
Sometimes beforeEach hook runs with no defined test, eg if there is an err passed when no test has started yet.
Alternate Designs
not sure why this happens, this is more of a sticking plaster solution
Why should this be in core?
can't be patched by another module easily
Benefits
My CI will pass.
Possible Drawbacks
N/A
Applicable issues

Would you be interested in software that automatically finds TypeErrors like this? I am building Fuzz Stati0n to do that (free for OSS.) We also generate a mocha test for each bug found - please take a look and consider signing up for our newsletter to keep in touch.

@grajagandev does your tool find this particular bug?  Could you post a test case?

Hard to say - I am not sure of the root cause in this case. In general, the tool sends crafted and unexpected input in an attempt to force corner cases and discover TypeErrors, ReferenceErrors, uncaught exceptions, unhandled promises and other critical conditions.
There is a simple code example on our homepage and soon we will be finding real bugs in OSS projects and posting them. Thank you for your interest!

@grajagandev can you demo what happens on the mocha code base

Absolutely - that is a great opportunity. I will update you by January 4th if not sooner.

This seems to have stalled

Hey @boneskull During our recently test, we also met this issue. And it happens randomly.
Do we know the root cause? Thanks.

Just encountered this on<EMAIL_ADDRESS>

Ran into this as well, it was impossible to find this. For me I forgot to define a variable as a parameter and so the failure was causing a whole lot more errors.


Issues with mmwave GPIO pin

I am currently having issues with the mmwave GPIO pin on the ESP32-S2. Sometimes when the pin i high, it isn't detected by the ESP. I checked the connection, which seems to be okay. Maybe the issue is the internal pulldown.
Anyways I was searching for other solutions. I found out that the mmwave sensor is also sending the value over UART so i tried to write a custom binary sensor component for that, but haven't gotten far due to my horrible C skills.
But i now also found that someone else might have already done the work:  https://github.com/esphome/esphome/pull/4203
We could evaluate this solution and maybe save a gpio pin, which can then be used for something else, like audio output.

Does the any other ESP work for you?

I haven't tried it anymore.

I'll close the issue. You can reopen it in case of new information.


To add

interceptor to Set,
Set method with not base
enable convert un body operation to any other type data
global body
OperationResult without Generic <>

Append not return OperationResult


How god runs a non-root user command

I have god running as root user and I have my application running as rails user. I have had trouble setting up the start command to run as my rails user so I ended up getting this to work:
w.start = "su - rails -c './app/lib/daemons/daemon_runner start' "
My root user runs under a different version of ruby, so in my various attempts to get the command to run under god resulted in not being able to load env variables.
Is there a better way to have god run my non-root commands? I tried w.uid = 'rails' but that did not work in my situation.
Here's my god config file: https://gist.github.com/jmscholen/065c762abfae9fc44444

Could this be caused by the fact you are using RVM, have you tried using the rvm god wrapper when starting god. It works fine with me when just changing the w.uid to the correct user.

I am using rvm. I'll look into it. thanks.


Issues on Adafruit OLED Bonnet

Version of ssd1306 in use (if applicable): ssd1305
MCU/other hardware in use: Adafruit 128x32 OLED Bonnet
Display resolution and interface: I2C, 128x32

Description of the problem/feature request/other
Hello, first of all, thanks for this awesome crate! I am having an issue with the Adafruit 128x32 OLED Bonnet hat for the raspberry pi. It seems as though the draw pixels are horribly offset and have spacing between them. I've tried running my code on the Adafruit PiOLED (which is an ssd1306 powered display) and it works perfectly so I am wondering if my display is simply not supported. From what I've seen in the datasheets the ssd1306 and ssd1305 are practically the same. Adafruit's library for the ssd1306 even supports ssd1305 displays out of the box. Does this crate support them as well? I don't see any mention of it in the codebase. The display works fine when I use the python library, so it seems to be a software issue and not a broken display.
This is what it looks like on the Adafruit OLED Bonnet (ssd1306:

This is what it looks like on the Adafruit PiOLED (ssd1306):

Test case (if applicable)
Here is the code I have for simply writing hello world:
https://github.com/gleich/airlift

Hm interesting. This crate doesn't explicitly support the SSD1305, although there have been attempts and other issues in the past; see #76 or #77 for example. I'm not clear on what the differences between the 1306 and 1305 are tbh. Perhaps the issues I linked could help some? Sorry I can't give a better answer.


Problem with pip installation

Hello,
I have problem with pip installation (pip3.6)
Installing collected packages: reppy
  Running setup.py install for reppy ... error
    Complete output from command /Users/tomasmikula/.virtualenvs/upol/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/private/var/folders/33/t1sr3dr97tgc5hj6b5pd90dh0000gn/T/pip-build-t9wjpdv7/reppy/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/33/t1sr3dr97tgc5hj6b5pd90dh0000gn/T/pip-3zd6mk3q-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/tomasmikula/.virtualenvs/upol/bin/../include/site/python3.6/reppy:
    Building from C++
    running install
    running build
    running build_py
    creating build
    creating build/lib.macosx-10.6-intel-3.6
    creating build/lib.macosx-10.6-intel-3.6/reppy
    copying reppy/__init__.py -> build/lib.macosx-10.6-intel-3.6/reppy
    copying reppy/exceptions.py -> build/lib.macosx-10.6-intel-3.6/reppy
    copying reppy/ttl.py -> build/lib.macosx-10.6-intel-3.6/reppy
    copying reppy/util.py -> build/lib.macosx-10.6-intel-3.6/reppy
    creating build/lib.macosx-10.6-intel-3.6/reppy/cache
    copying reppy/cache/__init__.py -> build/lib.macosx-10.6-intel-3.6/reppy/cache
    copying reppy/cache/policy.py -> build/lib.macosx-10.6-intel-3.6/reppy/cache
    running build_ext
    building 'reppy.robots' extension
    creating build/temp.macosx-10.6-intel-3.6
    creating build/temp.macosx-10.6-intel-3.6/reppy
    creating build/temp.macosx-10.6-intel-3.6/reppy/rep-cpp
    creating build/temp.macosx-10.6-intel-3.6/reppy/rep-cpp/src
    creating build/temp.macosx-10.6-intel-3.6/reppy/rep-cpp/deps
    creating build/temp.macosx-10.6-intel-3.6/reppy/rep-cpp/deps/url-cpp
    creating build/temp.macosx-10.6-intel-3.6/reppy/rep-cpp/deps/url-cpp/src
    /usr/bin/clang -fno-strict-aliasing -Wsign-compare -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -arch i386 -arch x86_64 -g -Ireppy/rep-cpp/include -Ireppy/rep-cpp/deps/url-cpp/include -I/Library/Frameworks/Python.framework/Versions/3.6/include/python3.6m -c reppy/rep-cpp/src/agent.cpp -o build/temp.macosx-10.6-intel-3.6/reppy/rep-cpp/src/agent.o -std=c++11
    In file included from reppy/rep-cpp/src/agent.cpp:3:
    reppy/rep-cpp/deps/url-cpp/include/url.h:8:10: fatal error: 'unordered_map' file not found
    #include <unordered_map>
             ^
    1 error generated.
    error: command '/usr/bin/clang' failed with exit status 1

    ----------------------------------------
Command "/Users/tomasmikula/.virtualenvs/upol/bin/python3.6 -u -c "import setuptools, tokenize;__file__='/private/var/folders/33/t1sr3dr97tgc5hj6b5pd90dh0000gn/T/pip-build-t9wjpdv7/reppy/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /var/folders/33/t1sr3dr97tgc5hj6b5pd90dh0000gn/T/pip-3zd6mk3q-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/tomasmikula/.virtualenvs/upol/bin/../include/site/python3.6/reppy" failed with error code 1 in /private/var/folders/33/t1sr3dr97tgc5hj6b5pd90dh0000gn/T/pip-build-t9wjpdv7/reppy/

This is not a problem with reppy. It's a problem with your build environment. <unordered_map> is a standard C++ header, and the correct C++11 flag is being passed to clang, so it should be available. It's almost certainly an issue with your Xcode version. I believe there's an environment variable that you can set to use the correct version. Notice the build directory is named "macosx-10.6-intel-3.6". It's the 10.6 that is too old.

Duplicate of #45. I thought this was already brought up once before. It appears this comment was able to resolve the issue previously.


[Bug]: Detokenizer stage is causing a significant delay

Your current environment
Latest code from the main branch.

🐛 Describe the bug
Description
This issue reports a significant latency increase when invoking the Detokenizer.detokenize_incrementally function.
Root Cause:
The current implementation in detokenizer.py detokenizer.py performs a length calculation using the len(tokenizer) function call. This appears to be the source of the latency spike.
Data Points:
Inference with large batch size and big models experiences an additional ~15ms to ~20ms overhead per token generated.
Questions:
I would appreciate any insights into why the tokenizer is passed as a parameter to all the functions instead of being a class variable within Detokenizer. Is there a specific reason for this design choice?

usually this len should be cached https://github.com/vllm-project/vllm/blob/f1e72cc19a21928400b63743d5fe164ec8ed30e8/vllm/transformers_utils/tokenizer.py#L34

I see , Then wrapping up the tokenizer in CachedTokenizer , should fix it when using with "skip_tokenizer_init = True "

NVM , I see the fix merged 2 weeks ago , thanks! https://github.com/vllm-project/vllm/commit/eb8fcd266686570a1cfdcda4af73af0e27b0f3d8


Environment Variable allowlisting

This work is heavily based off of the great work of @CheeseStick in https://github.com/buildkite/agent/pull/2406. Thanks so much for doing the majority of this work @CheeseStick!! i've forked your branch so that we can make a couple of changes easier, and so i'm not pushing to your fork all the time.
This PR: Adds a new feature to the agent, environment variable allowlisting. This should allow operators of the agent to prevent jobs that have unknown environment variables from being run on their agents.
This behavior is controlled by two flags on the agent: --enable-environment-variable-allowlist, which engages the feature, and adds any buildkite-sourced environment variables to the allowlist, and --allowed-environment-variables, which allows users to define a list of patterns of envars they want passed into their jobs. For example:
buildkite-agent start /* ... */ \
  --enable-environment-variable-allowlist \
  --allowed-environment-variables "^DATADOG_.*$,^MY_APP_SPECIFIC_VARIABLE$"

Should a job definition contain any environment variables that don't match the allowed patterns, the agent will refuse the job, and put a message into both the job log and the agent log.
Using the above config as an example, if i tried to add the envar CRIMES=yes into my job via the buildkite web console, it would output an error:

BTW you can add Closes: #2406 to the PR description to automate the closing of the other PR.


fix(ui/settings/patches/panel): Actually render settings inside the o…

…ld UI and make them look a little nicer

Your changes have been merged with Bunny and will be merged automatically into our dev branch soon. You've received the Contributor role on the Discord server.


jsonc defaults explicit on new project and in samples.

Is your feature request related to a problem? Please describe.
Certain defaults (possibly all defaults) would be better served to be included in the jsonc file. Especially the outdir setting.
Describe the solution you'd like
I'd like all defaults to be included, but especially ones like outdir that are likely to need changing if I want to use github pages.
Describe alternatives you've considered
I've considered needing to go to documentation for each key and keeping that page up to refer back to defaults, but why not include them in the file? I've been on a cruise ship before with little to no internet and would have been out of luck.
Perhaps it could be a template preference defaulting to omit none :)
Additional context
You axed for this issue to be created on discord.

I've been thinking about this I'm not too keen on adding all of the configuration properties by default, this tends to be quite noisy and it could intimidate new users on thinking that the tool is too complex
I think a more streamlined solution would be to include a describe command that would indeed write a full or partial description of the requested file to the console e.g.

perla describe perla.jsonc -k full
This would print to the console the full file with all of the existing properties and corresponding description we already have those in perla's json schema

perla describe perla.jsonc -k property fable

perla describe perla.jsonc -k property devServer
These would print the options that exist for the requested  property in case the user is already somewhat familiar with a particular configuration property

This would allow us to continue using a conventions based config file and still providing easy access to some degree of documentation

Support for this command has been added in the dev branch!


made scroller selector lookup workable with jqLite

I think angular.element() is just fine. Need to use it correctly rather than replacing it with something else.
See my comment in the issue #147


Chinese in a Lua script can not be displayed correctly in the front end

Chinese in a Lua script can not be displayed correctly in the front end

As far as I know you have to pass a font manually to CET to get chinese fonts to display

Inside cyber_engine_tweaks.json, you have to manually set font which supports these characters + specify glyph range to "SimplifiedChinese" or something along those lines.


Trouble with vuetify

Hey, I can use vuetify fine when I am running yarn dev, however when I build the app vuetify isn't there anymore, I've tried to figure it out for hours with no success, but it seems to me that plugins are not included somehow in the build. Let me know if you need me to upload my repo. Any help will be greatly appreciated!
Build:

Dev:

nuxt.config.js

src/plugins/vuetify.ts

Can you provide a minimal repo?

https://gitlab.com/nikosdendrinos/electron-nuxt3-vuetify
it seems like none of the css is included in the build

yarn install
yarn dev
creates properly built app
yarn build
creates app with issues

I think this the problem

Please update the latest version of nuxt-electron.


Serial ports

Figure out if udev rules could make connecting to the Teensy and GPS nicer
Refs:
https://www.clearpathrobotics.com/2015/01/udev/
http://www.clearpathrobotics.com/assets/guides/ros/Udev Rules.html

http://www.clearpathrobotics.com/assets/guides/ros/Driving Husky with ROSSerial.html#driving-husky
This looks like it could also be helpful. Look at the _port


Add initial support for rsvd accounting hugetlb cgroup

The previous non-rsvd max/limit_in_bytes does not account for reserved
huge page memory, making it possible for a processes to reserve all the
huge page memory, without being able to allocate it (due to cgroup
restrictions).
In practice this makes it possible to successfully mmap more huge page
memory than allowed via the cgroup settings, but when using the memory
the process will get a SIGBUS and crash. This is bad for applications
trying to mmap at startup (and it succeeds), but the program crashes
when starting to use the memory. eg. postgres is doing this by default.
This has lead to strange segfaults like these: https://github.com/zalando/patroni/issues/1393
More info can be found here: https://lkml.org/lkml/2020/2/3/1153
In order to solve this, I think we have to main ways to do it:

Add writes (when supported) to rsvd for the current hugepageLimits found here. Silently ignore when rsvd is not supported.
Add another element called something like hugepageLimitsRsvd to enforce the rsvd. value, silently fail or return error when rsvd is not supported.

I lean toward the first approach, since adding a new item makes it harder to understand, and may lead into "bad" implementations, but am an not sure at all. The pro for the last one, for having a separate entity is that it is then up to the user of the runtime to decide, giving the "user" a full choice, even tho. i see no real reason to enforce the "old" value and not the reserved one. The current behavior makes a cgroup limited process able to reserve all the huge page memory available on a node, making it inaccessible to others.
No matter the decition, we should then update the config-linux.md docs to clarify how it should work.
Any thoughts?
Simple WIP in runc to add support for enforcing it using the hugepageLimits is here: https://github.com/opencontainers/runc/pull/2360/files

@odinuge
I think it's reasonable to go w/ way#1 since

in general reservation limits are superior to page fault limits as the limits are enforced at reservation time and never causes the application to get SIGBUS signal if the memory was reserved before hand which is more friendly to applications, so it seems fine to default it to reserved limits and fallback when unsupported;
it reduces implementation efforts and risks by not introducing a new field/struct.

There might be concerns for compatibility. Picking this up by firstly drafting an update on the spec. Let's see if any feedbacks from the community. Any comments are much appreciated, thanks!


Idea: move UA normalization to origin

What
Currently, the Fastly VCL handles normalizing the User-Agent header. This is very fast, but it has some downsides:

It can't easily be unit-tested
It locks the site to Fastly. You can't easily pursue a multi-CDN strategy to improve resiliency.
It's difficult to run multiple versions simultaneously

Details
It's possible to make subrequests in Fastly. See, for example, https://docs.fastly.com/en/guides/authenticating-before-returning-a-request
It would look something like this:
# vcl_recv
if (req.restarts == 0) {
  # First, send the request to /v3/normalize_ua:
  set var.normalized_ua = "";
  set var.original_url = req.url;
  set req.url = "/v3/normalize_ua?" req.http.user-agent;
  return(lookup); # fetch from cache or origin
}

# vcl_fetch
if (req.url ~ "/v3/normalize_ua" && beresp.status == 200) {
  # When that comes back (hopefully from cache), restart the
  # original request with the user agent attached as a query param:
  set var.normalized_ua = beresp.http.normalized-user-agent;
  set req.url = querystring.set(var.original_url, "ua", var.normalized_ua);
  restart;
}

If you're interested in pursuing this, I'm happy to help. If you think the additional request would cause too much latency or too much risk, feel free to close the ticket.

We used to use the sub-request (vcl restart) approach, we moved to embedding directly into the vcl because it lowered the amount of requests to our origin by quite a lot and improved our cache-hit-ratio.

OK. I actually opened this because we're running an instance of polyfill-service behind Cloudflare. Replicating the user-agent-parsing VCL in JavaScript is annoying, but that's my problem to deal with.

@jamesarosen this person has written up how to use cloudflare workers for polyfill.io -- https://blog.annamalai.me/posts/replicating-polyfill.io-using-cloudflare-workers/

When Fastly release their Compute@Edge support, we will change our implementation to use that, which is based on Web assembly, which then CloudFlare could also use.
In case it is useful, here it the user-agent normaliser project we use, it has a VCL and a npm JavaScript api, which you could use on your origin server -- https://github.com/Financial-Times/polyfill-useragent-normaliser/


Template Review feedback

Thanks for submitting a template to the gallery, there were a few issues in your template that needs to be resolved ahead of approving the template for the gallery.

User instructions to install the template should direct users to install the gallery version of the template by clicking on the "Search Gallery" button in the template tab to add the gallery template.

Hello, I have updated install instruction. This was just temporary settings as I have many people who are using it and testing it now, so this was tutorial for them. There was a plan to update it as soon as template is published.
I apologise for Czech language used everywhere. I have added some English descriptions to make it better for you and Google template gallery. This system is only used in our country so there was no need for fully English solution.

Hello, could you please let me know why this template disappeared from the listing? I can see it here https://tagmanager.google.com/gallery/#/owners/marketingmakers/templates/sklikgtmtemplate but I cannot add it to any workspace. It is not available in gallery. Thank you


Implement #745 for api::SchemaError

Description of changes
This PR also changes the signature of the validator's SchemaError.
Issue #, if available
#745
Checklist for requesting a review
The change in this PR is (choose one, and delete the other options):

[x] A breaking change requiring a major version bump to cedar-policy (e.g., changes to the signature of an existing API).

I confirm that this PR (choose one, and delete the other options):

[x] Updates the "Unreleased" section of the CHANGELOG with a description of my change (required for major/minor version bumps).

I confirm that cedar-spec (choose one, and delete the other options):

[x] Does not require updates because my change does not impact the Cedar formal model or DRT infrastructure.

Pushed a new design.

Replaced the SchemaError in cedar-policy with the one in cedar-policy-validator. I think it's the best for maintainability, even at the cost of messing up semver checks.
Group all sub-error types of SchemaError in a submodule of err and re-export it in cedar-policy.


Cannot Connect

Describe the bug
I used the 2 commands(New and Old in windows powershell(both as an admin and normal user), but I get an error. It used to work well before(May be few weeks ago was the last time I used the old command)
The Error I get:
irm : Unable to connect to the remote server
At line:1 char:1

irm christitus.com/win | iex

  + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebExc
 eption
  + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

Any update regarding this? I still face this issue?


Fixes ALT + L for a Mac (German Layout)

that means '@' but also triggered "one word forward" (ALT+L)
This PR tries to detect if a key combination has a special meaning in terms of a character and only activates the ALT+key logic when this isn't the case.
For the German keyboard all keys are affected in that way (rendering ALT+key useless) so I'm not sure if this is the right approach to take.

I tested this on Linux and Windows and it worked as expected. So I think it's ok to merge.


Support for Azure Functions Isolated

Do we have any plans for adding support for Azure Functions Isolated?
I am more than happy to contribute.

This type of question is why personally I think this stand alone repo may well be a mistake.
As opposed to having a common interface for getting batches from change streams/change feed that the core function app extension can call and having it integrated into that.
Given the lack of development resources that have been put into this repo so far it looks likely that it is always going to miss functionality implemented in the core repo.

Although some of the worker extensions live in this repo, more recent extensions are maintained in the same repositories as their WebJobs extension counterparts (e.g., SQL, OpenAI, etc.) and the plan is to move the extensions we currently have in this repo to align with that approach.
https://github.com/Azure/azure-functions-dotnet-worker/pull/2493#issuecomment-2140855876

I think the issue that needs to be addressed is why this repo is not being maintained or not allocated enough resources.