Using actors & useMachine with StrictMode

Bug or feature request?
Bug
Description:
When using actors & useMachine with StrictMode React runs twice which might be causing to have 2 instances of the machine. I think it's causing the actor to lose the right reference to the parent machine.
(Bug) Expected result:
Should work fine with StrictMode.
(Bug) Actual result:
Warning: Event "fetch_SUCCESS" was sent to uninitialized service "fetchMachine" and is deferred. Make sure .start() is called for this service.

(Bug) Potential fix:
Don't know what the potential fix is since I'm not certain what is causing the reference to be lost.
I also strongly encourage you to create a pull request if you are confident in the potential fix.
Link to reproduction or proof-of-concept:
https://codesandbox.io/s/great-haibt-ezdz5
If you remove StrictMode it works fine.

I don't think this has to do with StrictMode. I'm getting the same error without StrictMode in my code. Forked your sandbox for an example: https://codesandbox.io/s/hopeful-night-1c7so

Ok, so we deal with 2 different reports here.
@Jpadilla1 this is a combination of:

the fact that actors in the initial state are currently spawned at instantiation time rather than when .start() gets called. This is going to change in the future - https://github.com/davidkpiano/xstate/issues/534#issuecomment-510888732
initialState gets calculation gets cached for a machine and this unfortunately puts a stale parent reference in the spawned actor (in the initial state), because it's the one from first invocation rather than the current one and because of the StrictMode the interpreter gets called twice with the same machine

@ReasonableDeveloper this is actually expected - when a machine reaches its final state it's considered to be "done" as per - https://www.w3.org/TR/scxml/#final :

When the state machine reaches the  child of an  element, it must terminate.


Support for nrf5340 dual core architecture

I'm quite familiar with the nrf52 family and I used the SoftDevice extensively in C and I did some fairly simple work in Rust using embassy-softdevice.
Recently I started looking into the nrf5340, and I though giving trouble a shot 'cause Nordic doesn't support the nrf53 family within the SoftDevice stack anymore :'(
I never worked on a dual core microcontroller in Rust, hence I'm not sure where to start here?
I saw that there  is some support for the nrf5340 chip within embassy, but the examples do not really showcase the usage of the double cores.
Any suggestion on how to get started with trouble on that chip?

I think with the nrf53, you can run the controller on the network core, and then trouble on the application core, communicating over the IPC bus. You'd need to implement the traits from bt-hci that send/receive HCI packets to the network core.

I think with the nrf53, you can run the controller on the network core, and then trouble on the application core, communicating over the IPC bus. You'd need to implement the traits from bt-hci that send/receive HCI packets to the network core.

Are you aware of any non-sdc controller available for the nrf5340?
Why should trouble run on the app-core in your opinion?
I would have rather placed it in the net-core and I would have communicated over IPC only at an higher level of abstraction (like GATT read/write/notifications).
The app-core is quite power hungry, hence I wouldn't bothered waking it app at every "low-level" BLE event.
In general, I'm still not quite sure how to handle 2 applications in one rust project... would you handled them as compleatly separated apps?

I think with the nrf53, you can run the controller on the network core, and then trouble on the application core, communicating over the IPC bus. You'd need to implement the traits from bt-hci that send/receive HCI packets to the network core.

Are you aware of any non-sdc controller available for the nrf5340?

I'm not very familiar with it, but my impression was that Nordic provides a controller firmware that you flash to the network core and that's all you need.

Why should trouble run on the app-core in your opinion? I would have rather placed it in the net-core and I would have communicated over IPC only at an higher level of abstraction (like GATT read/write/notifications). The app-core is quite power hungry, hence I wouldn't bothered waking it app at every "low-level" BLE event.

Keep in mind even Trouble does not get notified of low level events. If you're using only GATT, there will not be any 'hidden' events on a connection other than the initial 'connected', 'gatt events' and 'disconnected', so I doubt you would save a lot of power by running trouble on the net core (and more likely complicate your firmware build/deployment model).

In general, I'm still not quite sure how to handle 2 applications in one rust project... would you handled them as completely separated apps that communicate over an IPC API?

I think you'd generally treat them as separate build targets/firmware, but they may share some common crates for type definitions over the IPC etc.

Thanks for the inputs!

I'm not very familiar with it, but my impression was that Nordic provides a controller firmware that you flash to the network core and that's all you need.

Your impression was right: https://github.com/embassy-rs/trouble/issues/101#issuecomment-2325045028

To me it still seems like a waste of resources, to run only the controller on a dedicated CPU, in the nrf52 series app and BLE are coexisting with pretty decent performances after all... but I might underestimate all the job that the controller (and multi-protocol stuff) need to do...
I'll keep you posted here with any progress on this...


Investigate Liquidity Mining Row scroll issues

"Just a suggestion with the user interface for liquidity mining. All of the options (as I view them on my desktop) require you to scroll across to find the deposit/withdrawal buttons to add the liquidity. It would be better (less confusing) if that need to scroll sideways wasn't there and it was all clear and obvious on the liquidity page." - on 50 inch TV with chrome
"Similar with my 15 inch 1080p (full HD) laptop monitor (Win 10, Chrome browser).  I can see buttons, but they are cut a bit on the right edge. After playing with magnification up and down and then resetting it to 100% then it aligns ok."

I haven't been able to simulate it on my 4k 27-inch monitor - I tried multiple scale settings, the lowest resolution was 1504 x 846 and the highest 3840 x 2160.
However, it's true that the rows have a horizontal scroll from 1200 to 1252px width and this could be the only reason for it. So I will try to remove the scroll for that specific edge-case.


CMake Error:

Error: The source directory "/home/pg/GitPlayground/microtcp/3p/libtuntap" does not appear to contain CMakeLists.txt.
it related with the Makefile Line71
cmake .. -G $(CMAKE_GENERATOR) -DBUILD_TESTING=OFF -DCMAKE_C_COMPILER=$(CC) -DCMAKE_CXX_COMPILER=$(CXX) -DCMAKE_BUILD_TYPE=Debug && \
Could you share the cmakelists.txt to your repo?

Hei! It appears your message wasn't formatted correctly and can't quite decipher it. I'm guessing you were trying to paste the snippet of the makefile.
Looks like something's wrong in the 3p/libtuntap. Did you clone using the --recursive flag? If you're not sure, try cloning it again

Great, you are right. I lost --recursive flag and try it again.  It works well.
By the way, It is better to "mkdir obj out" at the begging of makefile and remove them in “Clean”;
During my practice, I add then manually, Until  I try "make clean" again, find both "obj" and "out" had been created.


[MINOR]: Add new test for filter pushdown into cross join

Which issue does this PR close?

Closes #.
Rationale for this change
There are couple of missing points in the [PR](Subsequent PR of 8626). This PR add these missing points. See discussion for rationale

What changes are included in this PR?

Are these changes tested?
Yes

Are there any user-facing changes?

Thank you @mustafasrepo for addresses these points.


Follow Solidity best practices for deposit contract

Find a linter or look up some best practices for Solidity contracts and apply them to the deposit contract.
Lets do things that are reasonable, but skip any 'best practices' that we think are silly :)

A few candidates we can discuss:

custom errors
NatSpec comments
Solidity style guides

[ ] Solhint rules defined and applied to delagate_staking contract here
[ ] Same rules applied to deposit contracts here
[ ] Run solhint as part of zq2 pipeline

I'll close this now, since the last change has a PR in a different repo. Thanks @86667 :)


Determine crop data structure

Provide a structure for the crop data that is relevant for the insight calculation:

[ ] Do literature review for relevant crop parameters
[ ] Create a database schema for crops
[ ] Populate the database with two example crops

From my research, I would divide the crop data structure into 3 sections;

metadata - basic data about the crop (name, creation/review/update date, description, app statistics)
agricultural metrics - widely used properties (ideal pH, rainfall range, plant time)
indicators normals - accepted ranges for various indicators (e.g. harvest time vs NDVI range)
Note that a lot of these are region-dependent.

Furthermore, while the metadata is general to a crop, the latter two sections depend on the hybrid, and I would specify them for each hybrid. As there can be a myriad of hybrids and their subtypes, I would also include a default hybrid that is either manually set, or an average of all hybrids.
See the brainstorm board here.


Upgrade to Specs2-3.x

It's easier to stay current than to stagnate.  That's the upgrade we missed last time.

As far as sbt in concerned, http4s does not depend on specs2 per say, it is a transitive dependency of scalaz-specs2, is that correct?
I might argue that it would make sense to declare a direct dependency, but in the mean time, I gather this task is to update scalaz-specs2 to 0.4?

Correct.  Those two upgrades need to happen as a pair for reasons of binary compatibility.  A direct Specs2 could conceivably get us on the latest patch revision, but risks getting out ahead of scalaz-specs2.  I think it should remain transitive until we need otherwise.


feat: Changesets

Describe the feature you'd like to request
Turborepo currently recommends changesets as the method of managing dependencies and changes between packages. It would nice to see this integrated into create-t3-turbo.
Describe the solution you'd like to see
A minimum would just be a working example within the current repo of how changesets can be configured, so that new users could have a reference for how their monorepo should be organized.
Additional information
No response

The repo doesn't really contain any package that needs versioning. What do you suggest?

I guess what I'm thinking more of is having the packages getting their version bumped according to semver rules when changes are made to the overall package. I understand that this is more of a demo project, so maybe it's unnecessary, but it would be really useful to see how the versioning of this repo progresses as changes continue to be made.
In that respect, it would be great to see changesets integrated so that it's clear which packages evolved with what change.

Eehm that's not really the plan for this repo and I don't think I'd want to maintain that. Changes are best tracked by watching PRs. I'll try to be better at naming conventions in that regard.
Gonna go ahead and close this for now. If the request comes up again, I might reconsider.


[WIP] Adding a NavigationModality InheritedWidget to allow controls to be focused when disabled.

Description
This adds a new NavigationModality inherited widget that indicates how focusable controls should behave under different navigation modes, currently with two modes: NavigationMode.traditional, and NavigationMode.directional.
It may seem like focusing a disabled control is not desirable, but this is useful for user interfaces that use DPAD navigation because if a control gets disabled, losing focus is disruptive to the user, and it is difficult to control where the focus will end up unless it is done explicitly.
Related Issues

Fixes https://github.com/flutter/flutter/issues/54877

Tests
(none yet, which is why it's WIP).
Breaking Change

[X] No, this is not a breaking change.

Gold has detected one or more untriaged digests on patchset 7.
Please triage them at https://flutter-gold.skia.org/search?issue=54919.

Gold has detected one or more untriaged digests on patchset 7.
Please triage them at https://flutter-gold.skia.org/search?issue=54919.

What's the reason to go with the NavigationModality over a new TargetPlatform now?
Also, my understanding from the discord discussion with @Hixie was that if we do an inherited widget, widgets that use it should have a flag to allow overriding the inherited behavior, similarly to the various textDirection flags.

What's the reason to go with the NavigationModality over a new TargetPlatform now?
Also, my understanding from the discord discussion with @Hixie was that if we do an inherited widget, widgets that use it should have a flag to allow overriding the inherited behavior, similarly to the various textDirection flags.

My reasoning for having this new inherited widget was to provide for a layered design that would avoid complecting the idea of a navigation mode with a target platform. If we did decide to add a new target platform, then this would be one aspect of implementing the default for that platform.
That said, I spoke with @Hixie some more, and he said that we need to decide whether this navigation paradigm is an attribute of the platform, an attribute of the design language, or just a mode that we enter when people do any kind of directional navigation.
My thought in this PR was to make it be a design decision for the developer: you apply this inherited widget when you design an app (or part of an app) to use directional navigation, making it a conscious design choice, but it could be that we want to make the default sensitive to the platform.
In our discussion, he also pointed out that if it's a platform attribute that can be overridden, that the MediaQuery inherited widget serves this purpose for other platform attributes already.
I'm going to talk to the customer and see if they can describe more about their use case, and see if they can get some Material Design guidance for us.

After speaking with the customer, it seems that this is a design choice that they would like to make on multiple platforms, even ones where directional isn't the primary navigation method.
I need to get more details from the Material Design team still about whether or not we need an entirely new mode for controls that can be focused while disabled or not, how that modifies controls like text fields and sliders, and how it affects semantics of those widgets.
In the meantime, in order to allow the customer to make progress, I'd like to continue with this PR.
I've moved the navigationMode setting to be an attribute on MediaQuery, and set the default to traditional. Developers can override it to directional on apps where they would like to use directional navigation this way, and if/when we add engine support for platforms where directional navigation is the primary mode, it can default to directional on those platforms.

One thing that might make sense is to move the NavigationMode enum to dart:ui in an engine PR before landing this, since we anticipate setting the default from the platform in the future, it might be nice to avoid the migration needed to get it there that would be necessary if we put it here initially.

Also: the analyzer is unhappy.

Can you maybe also update the PR description for future archaeologists? I was at first confused when I read about a NavigationModality widget in there and then didn't find it in the code :)


Server doesnt close correcly with geyser and floodgate installed on a fabric server

If i type stop it says closing and all but it just gets stuck there and doesnt do anything i need to force close the window and on my pi i need to open it on an other device to reboot to close the server!!!

Having the same issue.
Dump: https://dump.geysermc.org/mPL0tGG63FgvRvGE7boZWs1SDyAvdoVB
Logs:
`[16:22:22] [main/INFO]: Loading Minecraft 1.19 with Fabric Loader 0.14.6
[16:22:23] [ForkJoinPool-1-worker-1/WARN]: Mod com_github_shevek_parallelgzip uses the version af5f5c297e735f3f2df7aa4eb0e19a5810b8aff6 which isn't compatible with Loader's extended semantic version format (Could not parse version number component 'af5f5c297e735f3f2df7aa4eb0e19a5810b8aff6'!), SemVer is recommended for reliably evaluating dependencies and prioritizing newer version
[16:22:23] [main/WARN]: Warnings were found!

Mod 'Textile Backup' (textile_backup) 2.3.1-1.19 recommends any version of modmenu, which is missing!

You should install any version of modmenu for the optimal experience.
[16:22:23] [main/INFO]: Loading 66 mods:
adventure-platform-fabric 5.4.0-SNAPSHOT via floodgate
carpet 1.4.79
cloth-basic-math 0.6.1 via cloth-config
cloth-config 7.0.65
cloud 1.7.0-SNAPSHOT via floodgate
cloud_commandframework_cloud-brigadier_ 1.7.0-SNAPSHOT via cloud
cloud_commandframework_cloud-core_ 1.7.0-SNAPSHOT via cloud
cloud_commandframework_cloud-services_ 1.7.0-SNAPSHOT via cloud
com_github_shevek_parallelgzip af5f5c297e735f3f2df7aa4eb0e19a5810b8aff6 via textile_backup
fabric 0.55.2+1.19
fabric-api-base 0.4.8+e62f51a3a9 via fabric
fabric-api-lookup-api-v1 1.6.5+9ff28f40a9 via fabric
fabric-biome-api-v1 9.0.11+e62f51a3a9 via fabric
fabric-command-api-v1 1.2.4+f71b366fa9 via fabric
fabric-command-api-v2 2.1.0+cda9839ba9 via fabric
fabric-commands-v0 0.2.21+df3654b3a9 via fabric
fabric-containers-v0 0.1.26+df3654b3a9 via fabric
fabric-content-registries-v0 3.0.15+9ff28f40a9 via fabric
fabric-convention-tags-v1 1.0.7+37622d24a9 via fabric
fabric-crash-report-info-v1 0.2.2+bd0a0d4aa9 via fabric
fabric-data-generation-api-v1 5.0.0+2a5b9210a9 via fabric
fabric-dimensions-v1 2.1.26+72da3b3da9 via fabric
fabric-entity-events-v1 1.4.15+9ff28f40a9 via fabric
fabric-events-interaction-v0 0.4.25+9ff28f40a9 via fabric
fabric-events-lifecycle-v0 0.2.23+df3654b3a9 via fabric
fabric-game-rule-api-v1 1.0.18+18990361a9 via fabric
fabric-item-api-v1 1.5.3+767db26ea9 via fabric
fabric-item-groups-v0 0.3.22+9ff28f40a9 via fabric
fabric-lifecycle-events-v1 2.0.8+21a5acaaa9 via fabric
fabric-loot-api-v2 1.0.0+9e7660c6a9 via fabric
fabric-loot-tables-v1 1.1.0+9e7660c6a9 via fabric
fabric-message-api-v1 1.0.0+513f4a59a9 via fabric
fabric-mining-level-api-v1 2.1.6+9ff28f40a9 via fabric
fabric-networking-api-v1 1.0.26+7fe97409a9 via fabric
fabric-networking-v0 0.3.13+df3654b3a9 via fabric
fabric-object-builder-api-v1 4.0.4+9ff28f40a9 via fabric
fabric-particles-v1 1.0.7+9ff28f40a9 via fabric
fabric-permissions-api-v0 0.1-SNAPSHOT via cloud
fabric-registry-sync-v0 0.9.15+92cf9a3ea9 via fabric
fabric-rendering-data-attachment-v1 0.3.11+9ff28f40a9 via fabric
fabric-rendering-fluids-v1 3.0.4+9ff28f40a9 via fabric
fabric-resource-conditions-api-v1 2.0.8+e62f51a3a9 via fabric
fabric-resource-loader-v0 0.5.2+9e7660c6a9 via fabric
fabric-screen-handler-api-v1 1.2.5+9ff28f40a9 via fabric
fabric-transfer-api-v1 2.0.7+e62f51a3a9 via fabric
fabric-transitive-access-wideners-v1 1.1.0+9e7660c6a9 via fabric
fabricloader 0.14.6
floodgate 2.2.0-SNAPSHOT
geyser-fabric 2.0.5-SNAPSHOT
io_leangen_geantyref_geantyref 1.3.13 via cloud
java 17
lithium 0.8.0
minecraft 1.19
net_kyori_adventure-api 4.11.0 via adventure-platform-fabric
net_kyori_adventure-key 4.11.0 via adventure-platform-fabric
net_kyori_adventure-platform-api 4.1.0 via adventure-platform-fabric
net_kyori_adventure-text-logger-slf4j 4.11.0 via adventure-platform-fabric
net_kyori_adventure-text-minimessage 4.11.0 via adventure-platform-fabric
net_kyori_adventure-text-serializer-gson 4.11.0 via adventure-platform-fabric
net_kyori_adventure-text-serializer-plain 4.11.0 via adventure-platform-fabric
net_kyori_examination-api 1.3.0 via adventure-platform-fabric
net_kyori_examination-string 1.3.0 via adventure-platform-fabric
org_apache_commons_commons-compress 1.19 via textile_backup
org_tukaani_xz 1.9 via textile_backup
phosphor 0.8.1
textile_backup 2.3.1-1.19
[16:22:23] [main/INFO]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=file:/C:/Users/tramo/OneDrive/Desktop/Stuff/Server/Napogatto/libraries/net/fabricmc/sponge-mixin/0.11.4+mixin.0.8.5/sponge-mixin-0.11.4+mixin.0.8.5.jar Service=Knot/Fabric Env=SERVER
[16:22:23] [main/INFO]: Compatibility level set to JAVA_17
[16:22:24] [main/INFO]: Loaded configuration file for Lithium: 94 options available, 0 override(s) found
[16:22:40] [main/INFO]: Building unoptimized datafixer
[16:22:50] [main/INFO]: [Textile Backup] Starting Textile Backup by Szum123321
[16:22:50] [Thread-1/WARN]:

You specified an empty prefix in your Floodgate config for Bedrock players!
Should a Java player join and a Bedrock player join with the same username, unwanted results and conflicts will happen!
We strongly recommend using . as the prefix, but other alternatives that will not conflict include: +, - and *

[16:22:51] [main/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[16:22:56] [main/INFO]: Loaded 7 recipes
[16:22:57] [main/INFO]: Loaded 1179 advancements
[16:22:59] [main/INFO]: Applied 0 biome modifications to 0 of 63 new biomes in 5.044 ms
[16:22:59] [Server thread/INFO]: Starting minecraft server version 1.19
[16:22:59] [Server thread/INFO]: Loading properties
[16:22:59] [Server thread/INFO]: Default game type: SURVIVAL
[16:22:59] [Server thread/INFO]: Generating keypair
[16:23:00] [Server thread/INFO]: Starting Minecraft server on *:25565
[16:23:00] [Server thread/INFO]: Using default channel type
[16:23:00] [Server thread/INFO]: Preparing level "world"
[16:23:00] [Server thread/INFO]: [CM]: loaded setting lagFreeSpawning as true from carpet.conf
[16:23:01] [Server thread/INFO]: [CM]: loaded setting maxEntityCollisions as 5 from carpet.conf
[16:23:02] [Server thread/INFO]: Preparing start region for dimension minecraft:overworld
[16:23:14] [Worker-Main-1/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-1/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-3/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-5/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-5/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-4/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-3/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-4/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-4/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-7/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-7/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-3/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-5/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-1/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-1/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-4/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-4/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-5/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-5/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-6/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-7/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-5/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-4/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-4/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-4/INFO]: Preparing spawn area: 0%
[16:23:14] [Worker-Main-1/INFO]: Preparing spawn area: 0%
[16:23:15] [Worker-Main-1/INFO]: Preparing spawn area: 0%
[16:23:15] [Worker-Main-5/INFO]: Preparing spawn area: 0%
[16:23:16] [Worker-Main-6/INFO]: Preparing spawn area: 1%
[16:23:16] [Worker-Main-5/INFO]: Preparing spawn area: 18%
[16:23:17] [Worker-Main-7/INFO]: Preparing spawn area: 58%
[16:23:17] [Server thread/INFO]: Time elapsed: 15360 ms
[16:23:17] [Server thread/INFO]: Done (16.730s)! For help, type "help"
[16:23:17] [Server thread/INFO]: Took 65ms to boot Floodgate
[16:23:17] [Server thread/INFO]: ******************************************
[16:23:17] [Server thread/INFO]:
[16:23:17] [Server thread/INFO]: Loading Geyser version 2.0.5-SNAPSHOT (git-0efd04dd87183064f51de93bc93b7058aeec9b69-0efd04d)
[16:23:17] [Server thread/INFO]:
[16:23:17] [Server thread/INFO]: ******************************************
[16:23:19] [Thread-7/WARN]:

You specified an empty prefix in your Floodgate config for Bedrock players!
Should a Java player join and a Bedrock player join with the same username, unwanted results and conflicts will happen!
We strongly recommend using . as the prefix, but other alternatives that will not conflict include: +, - and *

[16:23:25] [Network Listener - #1/INFO]: Started Geyser on <IP_ADDRESS>:19132
[16:23:25] [Server thread/INFO]: Done (7,69s)! Run /geyser help for help!
[16:23:25] [Server thread/WARN]: Can't keep up! Is the server overloaded? Running 7911ms or 158 ticks behind
[16:23:35] [ForkJoinPool.commonPool-worker-1/ERROR]: Failed to load locale asset cache: Unrecognized token 'Read': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (String)"Read timed out"; line: 1, column: 5]
[16:23:35] [ForkJoinPool.commonPool-worker-1/INFO]: Downloading Minecraft JAR to extract en_us locale, please wait... (this may take some time depending on the speed of your internet connection)
[16:23:35] [ForkJoinPool.commonPool-worker-1/ERROR]: Unable to download and extract en_us locale!
java.lang.NullPointerException: Cannot invoke "org.geysermc.geyser.text.MinecraftLocale$VersionDownload.getUrl()" because "org.geysermc.geyser.text.MinecraftLocale.clientJarInfo" is null
at org.geysermc.geyser.text.MinecraftLocale.downloadEN_US(MinecraftLocale.java:266) ~[Geyser-Fabric.jar:?]
at org.geysermc.geyser.text.MinecraftLocale.downloadLocale(MinecraftLocale.java:189) ~[Geyser-Fabric.jar:?]
at org.geysermc.geyser.text.MinecraftLocale.downloadAndLoadLocale(MinecraftLocale.java:139) ~[Geyser-Fabric.jar:?]
at org.geysermc.geyser.text.MinecraftLocale.lambda$static$0(MinecraftLocale.java:59) ~[Geyser-Fabric.jar:?]
at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:863) [?:?]
at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:841) [?:?]
at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510) [?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1773) [?:?]
at java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760) [?:?]
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) [?:?]
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) [?:?]
at java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) [?:?]
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) [?:?]
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) [?:?]
[16:23:35] [ForkJoinPool.commonPool-worker-1/WARN]: Missing MC locale file: en_us
[16:23:42] [Server thread/INFO]: Collecting dump info
[16:23:43] [Server thread/INFO]: Uploading dump
[16:23:43] [Server thread/INFO]: We've made a dump with useful information, report your issue and provide this url: https://dump.geysermc.org/mPL0tGG63FgvRvGE7boZWs1SDyAvdoVB
[16:24:18] [Server thread/INFO]: Stopping the server
[16:24:18] [Server thread/INFO]: Shutting down Geyser.
[16:24:18] [Server thread/INFO]: Geyser shutdown successfully.
[16:24:18] [Server thread/INFO]: Stopping server
[16:24:18] [Server thread/INFO]: Saving players
[16:24:18] [Server thread/INFO]: Saving worlds
[16:24:18] [WebSocketConnectReadThread-62/INFO]: The skin uploader has been closed
[16:24:20] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:overworld
[16:24:20] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_end
[16:24:20] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_nether
[16:24:20] [Server thread/INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved
[16:24:20] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved
[16:24:20] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved
[16:24:20] [Server thread/INFO]: ThreadedAnvilChunkStorage: All dimensions are saved
`
After that it just gets stuck like this and nothing else happens

I have the same issue here.

That's a known issue, and caused by floodgate-fabric
https://github.com/GeyserMC/Floodgate-Fabric/issues/59#issue-1304730408


MINOR: Extracted the creation of ReplicaManager in BrokerServer

Problem
It is not ~possible~ easy to add a custom ReplicaManager to a class extending BrokerServer.
Let's say I create a new ReplicaManager in a class inheriting from BrokerServer with the same variables and override the method replicaManager to return that instead.
This leads to a null pointer exception in ReplicaManager, as quotaManagers is only initialised in the startup method.
Well, not the end of the world. I can set the new ReplicaManager to null and use lazy loading, ensuring that the new ReplicaManager is only created after quotaManagers is instantiated.
Now we face a new exception:
Caused by: java.lang.IllegalArgumentException: A metric named 'MetricName [name=connection-count, group=AddPartitionsManager-channel-metrics, description=The current number of active connections., tags={}]' already exists, can't register another one.

We try to register our metrics more than once, one time in the BrokerServer and another in our class inheriting from BrokerServer. This happens because addPartitionsToTxnManager is in the scope of the startup method.
At this point, I can't think of any elegant solution to this problem without changing open-source, and neither like the fact I need to use lazy loading in order to create a variable.
Side note: ReplicaManager's constructor takes quotaManagers as an argument, which is both a method in KafkaBroker, and a variable in BrokerServer. This looks like an anti-pattern.

Why is this not a problem for KafkaServer?
KafkaServer has a createReplicaManager method that defines how the ReplicaManager is created. This method is only called after quotaManagers has been instantiated, removing need to lazy load in inherited class, and also creates addPartitionsToTxnManager, ensuring we don't register metrics twice when overriding.

Proposed solution

Replicate the createReplicaManager pattern for BrokerServer so that we can override that method, rather than overriding the replicaManager method defined in the KafkaBroker.

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Olá Filipe. Thanks for your contribution.
BrokerServer shouldn't aim to follow the structure or interface in KafkaServer. What those two are meant to have in common is defined in KafkaBroker. So on its own, I don't think this change makes much sense. If you have a test that's going to make use of this, perhaps you could bundle those two changes in the same PR?

Thanks for the prompt reply @soarez !
I'm playing around with these servers and extending their behaviour, I don't think these tests will be useful for open source.
That said, I do believe there's a problem worth solving here and instead of presenting the problem itself, I presented a solution.
Mea culpa.
I will update the description explaining the problem and proposed solution.
In the mean time, I can see some room for improvement in my implementation. As you pointed out:
What those two are meant to have in common is defined in `KafkaBroker`.

The method createReplicaManager would be better suited in KafkaBroker instead.


Once vagrant server starts it shouldn't automatically open in any browser

The code for that was remove a while back. I was told SHI was going to handle that by parsing the URL found in .vagrant/done.txt  once the playbook has completed

It was in SHI side. I'm closing it.


Migrating existing Contributor Guide to wiki-style format

Addresses #57 and references #49
Should be merged after #56

Proposed Changes

Adds a new Contributor Guide top-level tab to the website
Adds corresponding pages to generate the outline
Migrates existing Contributor Guide and related-resources to their new location
Removes outdated information from these resources (e.g. Gitter)

Change Type

[ ] bugfix
[x] refactoring
[ ] infrastructure
[x] documentation
[ ] other

Checklist before review

[ ] I added everything I wanted to add to this PR.
[x] [Documentation only] I built the docs locally.
[ ] My contribution is harmonious with the rest of the code: I'm not introducing repetitions.
[ ] My code respects the adopted style, especially linting conventions.
[x] The title of this PR is explanatory on its own, enough to be understood as part of a changelog.
[x] I added or indicated the right labels.

[x] I added information regarding the timeline of completion for this PR.

[x] Please, comment on my PR while it's a draft and give me feedback on the development!

The main thing I haven't found at least a semi-reasonable home for in the previous contributor's guide is this section:
Aims of physiopy
physiopy is a very young project developed by a bunch of
researchers from the two different sides of the Atlantic Ocean (for
now). Our main goal is to help collect, analyse and share physiological
data, interfacing with (MRI) neuroimaging. We're trying to do so by:

Writing packages to make a user-friendly pipeline to deal with
physiological data.
Writing packages that take into account the use of this
physiological data in combination with neuroimaging (MRI) analysis.
Providing documentation containing tips and strategies on how to
collect such data and use our packages.
Help set a standard for these data, albeit without forcing users to
use it.
Be an excuse for educational purposes on topics like Git/GitHub,
Python3, physiology and related tools/topics.

Is it still relevant to put somewhere else in the website, or have we pretty much covered it at this point?


Store calls and polls files in dedicated directories

When a call or a poll ends, the file created containing the result should be created in a dedicated directory to keep a clean environment.

Both the calls/ and polls/ folders go into the data/ folder


FEL Mode Pin

I was interested in creating a Board based on the Allwinner V3s as well and was looking through the documentation of the V3s looking for the Pin initiating the FEL mode. Normally the Pin gets pulled down to Ground which initiates the FEL mode, even though the documentation mentions it briefly its not completely clear which pin on the package it is.
Have i overlooked it in the schematic? Or is the Blueberry Pi not making use of this feature?
Signed off by: Thore Krug opensource[at]thorekrug.de

In the lichee pi zero schematics it seems like to be the SPI MISO (Master In Slave Out) Pin. However it makes sense since the Slave can't talk with the Master (V3s)

Simply shorting out the SPI Flash chip's output seems like a bad idea. The datasheet mentions a "BSP" pin in the boot-configuration flow chars, but this pin is not named anywere else (as in, not listed in the pinout of the chip)

Yes, you should do it with a pulldown resistor. But the BSP Pin isn't really needed since the V3s prefers booting from an SD Card and you can also always enter FEL Mode through the uboot console.


SK plugins and planners scale testing

Scale testing of SK plugins and planners.

Closing since this was completed


FR: add to homebrew

would be cool if we could install Permanent-Eraser via home-brew!

@mesqueeb That's an interesting idea.  Why would you want to be able to install using Homebrew versus manually downloading the app?

Easy go get updates via homebrew

Also, when setting up a new machine. I just grab a list of my homebrew installed apps and run a single command to install all of them on the new machine.


Update rbk-dev static www page with resource tab like rbk-staging's

For rbk-dev, please also add an "Antibodies" link that links to https://staging.rebuildingakidney.org/chaise/search/#2/Resource:Antibodies (this link will be broken at first; that's okay).

Issue moved to informatics-isi-edu/rbk-project #170 via ZenHub


Response error: SyntaxError: Unexpected end of JSON input

Hi, first of all apologies for my bad english.
I am using laravel sanctum. When I send a request to the   'api/register' end point, "CSRF token mismatch." I get an error.

To get CSRF tokens, I send a request to the 'sanctum/csrf-cookie' end point. In response, I get the error 'Response error: SyntaxError: Unexpected end of JSON input'.
What am I doing wrong?

PHP: v8.2.3
Laravel: v10.1.5
Sanctum: v3.2.1
laravel-request-docs: v2.8
Secondly, can we write Pre-request Script or Test Script as in postman?

I have found the issue, I think this was not supported in previous version 1.x as well.
I ll push the support today.

Should be fixed in 2.9, please update.
Please reopen this if it doesn't fix your issue


Custom 'script' is not persisted on Packer and Vagrant doesn´t display them when using Vagrantfile

Hello,
Thank for this project.
I have used this code to make an own custom devops environment (https://github.com/joudaon/vagrant-devops).
On the script folder I have added an script devops_tools.sh to install custom software (please see the script on: https://github.com/joudaon/vagrant-devops/blob/master/vagrant/provision/devops_tools.sh). And of course this script has been added to ubuntu.json file.
I want all these programs to be installed on the "box" packer build so that when I create a new Vagrantfile the software is already installed and I don´t have to provision it.
The thing is that when I create a new Vagrantfile and use that box, Ubuntu Destkop doesn´t display that installed software and that's why I have to provision devops_tools.sh on the Vagrant side and not on the Packer.
Any clue why this is happening?
Thank you.

Hi @boxcutter-robot I have tried that and didn´t work.
The devops_tools.sh script is run and packer builds box file for vagrant.
But when running, vagrant up none of the tools of that script are present.

I will try running devops_tools.sh just after cleanup.sh and let you know.
Thank you.

I tried running devops_tools.sh just after cleanup.sh and didn´t work neither... :(
I don´t know how to handle this, it should work and install those programs and they should be available on the base box.


Missing datastore: Azure Blob

Do you plan to create Azure Blob scenario ?

We should be able to, someone with an Azure account would have to implement it though :)


updated go report card link

An attempt to fix the Go Report Card badge (which shows A+ on that site).
https://goreportcard.com/report/github.com/aserto-dev/topaz

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 35.968%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1042

Relevant Lines:
2897

💛  - Coveralls


Update README.md

nvim-lspconfig links were pointing to server_configurations.md, which is not moved to configs.md

already covered in #468


Added version for REQUIREDSCRIPTS

Added more functionality on 'REQIUREDSCRIPTS' when publishing modules/scripts
It allows user can specify a version of each 'REQIUREDSCRIPTS'. The legacy way that passing only script names are also available.
e.g.> Define 'REQUIREDSCRIPTS' without version (latest version)
.REQUIREDSCRIPTS DummyScript DummyScript2
e.g.>. Define 'REQUIREDSCRIPTS' with specific version
.REQUIREDSCRIPTS DummyScript;2.2.6 DummyScript2;1.0.1

@victor-sim,
Thanks for your contribution.
To ensure that the project team has proper rights to use your work, please complete the Contribution License Agreement at https://cla.microsoft.com.
It will cover your contributions to all Microsoft-managed open source projects.
Thanks,
Microsoft Pull Request Bot

@victor-sim
Thanks for your contribution. please complete the Contribution License Agreement at https://cla.microsoft.com.
From the current code changes, it looks like versioning requirements are validated only during publish operation. What about during install and update operations?
Please note that side-by-side installation is not supported for scripts. How is the versioning requirements going to work with multiple scripts with different dependency script version requirements?
Please consider creating an issue with the design proposal for supporting version ranges for script dependencies.

@victor-sim, thanks for signing the contribution license agreement. We will now validate the agreement and then the pull request.
Thanks, Microsoft Pull Request Bot

@bmanikm
From the current code changes, it looks like versioning requirements are validated only during publish operation. What about during install and update operations?

Once it passes requiredscript validation, a script will be packaged with 'RequiredVersion' condition. So nuget should handle this, just like module dependencies.

Please note that side-by-side installation is not supported for scripts. How is the versioning requirements going to work with multiple scripts with different dependency script version requirements?

I also considered adopting various options of version, such as min/max/required version support by using NuSpec version formatting or using hashtable format like module dependency.

'(', ')' - exclusive, '[', ']' - inclusive, ,

But I just stopped implementing nuspec version format and make it simple to have only required version, as there's no version conflict resolution for dependencies like you said.
As I didn't feel it worth enough without conflict resolution, I intentionally implemented it as is.
If you feel having nuspec version format is worth enough, I can keep going on this and send another pull request
Thank you.

I've created issue #164

If you would like to just enable the exact version requirement, consider <ScriptName>:[<version>]. With this, later we can enable other version formats similar to the nuspec's dependency version formatting.
Please add required tests as well.
//Cc @JKeithB @KrishnaV-MSFT

@bmanikm
Thank you for your comment.
I've pushed another commit which includes, supporting nuspec version string format and unit test.
It doesn't support full variations of nuspec version string types as only 4 types of nuspec version strings are supported on PSGet at packaging time.

[1.0]  - RequiredVersion
[1.0,2.0] - Min and Max Version
(,1.0] - Max Version
1.0 - Min Version


Add Sami's LTO/CFI tree

Closes: https://github.com/ClangBuiltLinux/continuous-integration2/issues/69

Can you add new badges to the readme for these trees?

Sure.

Also, it seems like this is strictly only ThinLTO? That's fine, but it might be nice to make that more obvious than just the name of the config file?

Did you have any particular idea in mind? The logic for naming the workflows is to just pull from the options we fed to TuxSuite. I could move the configuration options into generator.yml rather than having the kernel/configs/ files in Sami's tree but I figured that was a bit of a cleaner solution because then if the configuration options get renamed or there are other dependency configuration options that get pulled in, we can just update those config files rather than generator.yml. Crazy solution I suppose would be pulling down the kernel/configs/ files and dumping them into the workflow name but that seems like overkill :)


feat: 10 Tools of Different Categories in product.json

Adding 10 Tools from Different Catagories.

Free Learning List
FilePursuit
AIPRM for Chat GPT
uBlock, SaveTube
PowerPoint Hub
Cloud Convert
Search Code
Learn Anything
AiToolMate.

Checklist

[ ] My code adheres to the established style guidelines of the project.
[ ] My changes have not introduced any new warnings.
[ ] I have conducted a self-review of my code.

@sahilatahar there is no category named courses so add it with the same PR

Hello Sir,
Actually there are more than 10 products having category courses. for example - Udemy, Cousera etc. To check, I accidentally revert my commit. i will add all again.
Can i send pull requests with category "courses" or i should change the category. Please, let me know?

Hello Sir,
Actually there are more than 10 products having category courses. for example - Udemy, Cousera etc. To check, I accidentally revert my commit. i will add all again.
Can i send pull requests with category "courses" or i should change the category. Please, let me know?


Avalonia's ExtendClientAreaToDecorationsHint and ExtendClientAreaTitleBarHeightHint properties in XAML are not effective on Ubuntu

Description:
I am developing a cross-platform application using the Avalonia UI framework. I tried to use the ExtendClientAreaToDecorationsHint and ExtendClientAreaTitleBarHeightHint properties to hide the window's title bar and borders. I set these properties in XAML, but on Ubuntu, these settings seem to be ignored, and the window's title bar and borders are still visible. However, when I set these properties in the code of the window class, they work normally on both Ubuntu and Windows.
Here is the code I used in XAML:
<Window ExtendClientAreaToDecorationsHint="True"
        ExtendClientAreaTitleBarHeightHint="-1">
    <!-- Window content -->
</Window>

And here is the code I used in the window class:
this.ExtendClientAreaToDecorationsHint = true;
this.SystemDecorations = SystemDecorations.None;

The Avalonia version I am using is 11.0.7, and the Ubuntu version is 22.04. I hope to get some help, thank you!

Although the issue with the previous two lines has not been resolved, I found that changing to SystemDecorations="None" in the window file is effective on both platforms.


nixos/network-interfaces: add networking.interfaces..ipv[46].routes.type

Description of changes
Add the networking.interfaces.<name>.ipv[46].routes.type option to scripted networking.  This lets uses configure local, broadcast, and multicast routes.  These can't be configured through routes.options because they appear in a different part of the ip route add command line:
#              👇 route type             👇 options
# ip route add local <IP_ADDRESS>/24 dev lo src <IP_ADDRESS>

This PR also adds a new test to make sure setting the route type works.
It also updates the loopback test in the same file to get rid of a warning: trace: warning: In test 'Loopback-Networking-Scripted': The 'machine' attribute in NixOS tests (pkgs.nixosTest / make-test-python.nix / testing-python.nix / makeTest) is deprecated. Please use the equivalent 'nodes.machine'.
I did not add anything to release notes because this doesn't seem significant enough.
Full disclosure: I'm not actually using this.  I was experimenting with local routes, and I couldn't configure them which led to my writing this patch.  In the end, I didn't need any extra local routes.
Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

networkd test fails:
(finished: waiting for unit network.target, in 15.25 seconds)
client: must succeed: ip -4 route list table local | grep 'local <IP_ADDRESS>'
client # [   14.479496] ppdev: user-space parallel port driver
client: output:
cleanup
kill machine (pid 8)
client # qemu-kvm: terminating on signal 15 from pid 6 (/nix/store/vzqny68wq33dcg4hkdala51n5vqhpnwc-python3-3.9.12/bin/python3.9)
(finished: cleanup, in 0.08 seconds)
Traceback (most recent call last):
  File "/nix/store/hxkw9fj8l3ipraz0q8gkfalv35a6vh4v-nixos-test-driver-1.1/bin/.nixos-test-driver-wrapped", line 9, in <module>
    sys.exit(main())
  File "/nix/store/hxkw9fj8l3ipraz0q8gkfalv35a6vh4v-nixos-test-driver-1.1/lib/python3.9/site-packages/test_driver/__init__.py", line 114, in main
    driver.run_tests()
  File "/nix/store/hxkw9fj8l3ipraz0q8gkfalv35a6vh4v-nixos-test-driver-1.1/lib/python3.9/site-packages/test_driver/driver.py", line 146, in run_tests
    self.test_script()
  File "/nix/store/hxkw9fj8l3ipraz0q8gkfalv35a6vh4v-nixos-test-driver-1.1/lib/python3.9/site-packages/test_driver/driver.py", line 142, in test_script
    exec(self.tests, symbols, None)
  File "<string>", line 3, in <module>
  File "/nix/store/hxkw9fj8l3ipraz0q8gkfalv35a6vh4v-nixos-test-driver-1.1/lib/python3.9/site-packages/test_driver/machine.py", line 598, in succeed
    raise Exception(
Exception: command `ip -4 route list table local | grep 'local <IP_ADDRESS>'` failed (exit code 1)
kill vlan (pid 7)
error: builder for '/nix/store/cr0y2ashbhhqaj8nwcnl1dq9llq2dnlc-vm-test-run-RouteType-Networking-Networkd.drv' failed with exit code 1;

Huh.  It doesn't fail consistently.  Do you have the rest of the log by any chance?  I wonder if systemd logged an error when it tried to setup the route.

I take that back.  It does fail consistently.  But it didn't yesterday...

your new type option doesn't seem to be used by the networkd setup, maybe a forgotten git add?

No, I never wrote that, so clearly it can't work.
But I was sure I ran the networkd tests yesterday, and didn't get a failure.  And ofborg didn't report a failure either, although it looks like it just didn't run anything for the tests.
Well, back to the drawing board.  I'll mark this as a draft PR.

Thank you!


Fix improve colors of message edit history

Testing Plan:
GIFs or Screenshots:

Hi,
I am new the open source contribution and version control systems. I saw this issue under good first issues and also unsolved but in progress. As this is a simple issue i tried t change the colors for better visibility and the screen shots are given below. Please let me know for any further changes or recommendations.

Hi @tk1017 , great work. The visibility does seem better.
Before this gets reviewed, I would suggest reading Zulip's Version control guide and then changing your commit message accordingly.
(You can use git commit --amend to fix the commit message.)

@vinitS101 thank you. I am very new so i didn't look at the guidelines completely. Thank you for the guidance.

hi, @zulipbot @vinitS101 @timabbott why isn't my pull request getting reviewed? Is there anything that i should change? Please let me know.

Hi @tk1017 , the commit message still needs to be changed. You can find examples of Zulip's commit messages here.

Closing in favor of #13622.


Fix spelling of artefact, and actually test it

This test wasn't doing anything before this change, as we weren't
validating the assignment of the variable (which wasn't spelled right anyway).

cc @edds


release-21.1: ui: fix metric rendering when node data is missing

PR: https://github.com/cockroachdb/cockroach/pull/66032
From release notes:

Drag-to-zoom on metrics graphs now supports time ranges under 10 minutes. [#66032][#66032] {% comment %}doc{% endcomment %}

Closing; doesn't need docs.


feat: Controller.php Add custom Config\Validation class

I think it is interesting to be able to add the custom configuration class, when you are using modules for example

Description
Explain what you have changed, and why.
Checklist:

[x] Securely signed commits
[ ] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[ ] User guide updated
[ ] Conforms to style guide

Thank you for sending this PR!
We expect the following in all Pull Requests (PRs).

PRs must be sent to the appropriate branch
All git commits must be GPG-signed
Must follow our style guide
Be commented in the PHP source file
Be documented in the user guide
Be unit tested
Pass all checks in GitHub Actions

[!IMPORTANT]
We expect all code changes or bug-fixes to be accompanied by one or more tests added to our test suite to prove the code works.

If pull requests do not comply with the above, they will likely be closed. Since we are a team of volunteers, we don't have any more time to work on the framework than you do. Please make it as painless for your contributions to be included as possible.
See https://github.com/codeigniter4/CodeIgniter4/blob/develop/contributing/pull_request.md

By working in a modular way, each module is independent, and instead of adding validations in Config\Validation in each module I have a Validation class that extends Config\Validation

This is a breaking change.
See https://3v4l.org/jhv30

@daycry Thank you for the explanation. Indeed, the use case is likely.

What do I need to do?

See https://github.com/codeigniter4/CodeIgniter4/pull/8908#issuecomment-2127022674

You sent this PR to the wrong branch (develop). You must send to 4.6 branch.
You must write test code to prove the enhancement works.
You need to update the user guide. Add short description to the changelog v4.6.0 and upgrading guide for v4.6.0, and update the descriptions for the updated methods.

But I'm not sure this PR (this implementation) should be merged.
Is there another better way to implement this feature?
I want to hear from other members.

We have been recommending using validateData() for the past few months, Shield uses this method frequently.
I think it involves a lot of software.
We need to see what other people think about this breaking change.

Yes, BREAKING CHANGE should be avoided as much as possible.
So it is better to implement features like this without breaking change.

How about adding a property for the validation classname?
Like $validationConfig = Validation::class.

How about adding a property for the validation classname? Like $validationConfig = Validation::class.

Maybe creating a public method allowing set the new attribute Validation like this.
Private Validation $config;
Public method setValidation(Validation $config){
$this->config = $config;
}
Replacing config('Validation') with this attribute.
Maybe is better.

I've done some changes for delete breaking change tag

Maybe, this method isn't necessary because It can set in every controllers using $this->configValidator = config...

Why do you need a new config? Just to add rules? There is a better solution and it does not depend on the system.

Create files in app/Validation/RuleGroups
Add rules as methods
Check rules  in validator
if ($this->validateData($input, UserRules::signin())) { ... }

Example app/Validation/RuleGroups/UserRules.php:
<?php

declare(strict_types=1);

namespace App\Validation\RuleGroups;

class User
{
    /**
     * Login form
     */
    public static function signin(): array
    {
        return [
            'email' => [
                'label' => 'User.email',
                'rules' => 'required|valid_email',
            ],
            'password' => [
                'label' => 'User.password',
                'rules' => 'required|min_length[6]',
            ],
        ];
    }
}

You can apply any rules separately from the system, have separate files for each action (instead of 100 properties in Validation). All you need is to add new Validation types $ruleSets or $templates

Thank you! I didn't this.
Always I have think that all rules must write in Config\Validation.php.

And an important advantage: you can execute any code in the method.
This is not always possible for a class property.
For example, you can use parameters from settings, dynamic translations, and various string glues...

And an important advantage: you can execute any code in the method.
This is not always possible for a class property. For example, you can use parameters from settings, dynamic translations, and various string glues...

An example, please?
I always use custom rules for check complexes data object or something like this.

Hmm, array variants:
'rules'  => 'if_exist|in_list[' . Switcher::YES->value . ']',
Or
'rules' => sprintf('in_list[%s]', $languages),
Or dynamic vars
'rules' => 'if_exist|' . CaptchaRules::getCaptchaRule(),

Hmm, array variants: 'rules' => 'if_exist|in_list[' . Switcher::YES->value . ']', Or 'rules' => sprintf('in_list[%s]', $languages), Or dynamic vars 'rules' => 'if_exist|' . CaptchaRules::getCaptchaRule(),

Aaahhh ok ok
I do this thinks some times.
Thank you for your help!

The feature to set validation rules in Config\Validation is from an very old version of CI,
but it does not seem to be a good feature in the current situation.
Instantiating a Config class that extends BaseConfig is very expensive. Because it must check Environment Variables for all properties. If you have 100 properties for validation rules, it must check the 100 Environment Variables (and probably all variables do not exist). So it is better not to have a lot of properties in the Config class.
Also, when using the feature, we specify the rule as a string (property name), so we cannot jump to the rule definition on an IDE.
If we use a simple static class that returns a rule array, it does not check unnecessary Environment Variables and we can jump to the method on an IDE. And we can put the class in anywhere.

I checked the code of CI and now is very flexible check data, I like It!
I Will close this PR.
Thank you for your help!


Update using-signtool-to-sign-a-file.md

Fixed wrong formatting that produced confusing visual results for what parameters are expected and how to space them.
Adjusted formatting to highlight which parts are the actual command-line parameters.
Consistency changes in highlighting.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: VladDerptastic sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@VladDerptastic : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@VladDerptastic Thanks for the fixes! The changes should be live within a day.


Is it possible to continue searching possible mentions with a space in the filter string?

I'd like to be able to search my app's users by their full name, but currently, typing a space ends the search process.  Is this possible to allow spaces in the filter string?
Sorry if the question is unclear, and great work; this project has been a lifesaver.

At the moment this is not possible, though I don't mind it as an enhancement to this project.  Will take a look into making this possible.
Glad to hear it's working well for you otherwise.

@camdengaba I've opened a PR with this functionality.  There are some more things I'd like to look into before releasing this feature but if you'd like to try it out you can find it here:
https://github.com/szweier/SZMentionsSwift/pull/43

Wow, I was not expecting such a quick response.  Thank you!


Issue with using the new version of Flutter Master 3.13.0-7.0.pre.41 in an iOS native app with a Flutter module; app fails to launch, throwing an error.

Is there an existing issue for this?

[x] I have searched the existing issues
[x] I have read the guide to filing a bug

Steps to reproduce

Create a native iOS app in Xcode 14.3.1.
Add a Flutter module to the native app (Add-to-app).
Attempt to launch the app with an iOS 16.4 iPhone 14 Pro Emulator and an iOS 16.5.1 iPhone 13 device.
Navigate to a Flutter screen.

Expected results
The app should launch successfully, allowing navigation to the Flutter-specific screen.
Actual results
In the new Flutter version MASTER 3.13.0-7.0.pre.41, while trying to launch a native iOS app with a Flutter module, tapping the button to navigate to the Flutter screen causes the app to freeze, preventing navigation. This issue occurs in Xcode version 14.3.1 when using an iOS 16.4 emulator.
Upon launching the app, an error is thrown with the following message:
-[MTLDebugRenderCommandEncoder setRenderPipelineState:]:1604:
failed
assertion Set Render Pineline State Validation
For color attachment 0, the render pipeline's pixelFormat
(MTLPixelFormatInvalid) does not match the framebuffer's pixelformat (MTLPixelFormatBGRABUnorm).
(11db)

This issue hinders navigation within the application.
Code sample
Code sample
import SwiftUI
 import Flutter
 // The following library connects plugins with iOS platform code to this app.
 import FlutterPluginRegistrant

 class FlutterDependencies: ObservableObject {
   let flutterEngine = FlutterEngine(name: "my flutter engine")
   init(){
     // Runs the default Dart entrypoint with a default Flutter route.
     flutterEngine.run()
     // Connects plugins with iOS platform code to this app.
     GeneratedPluginRegistrant.register(with: self.flutterEngine);
   }
 }

 @main
 struct MyApp: App {
   // flutterDependencies will be injected using EnvironmentObject.
   @StateObject var flutterDependencies = FlutterDependencies()
     var body: some Scene {
       WindowGroup {
         ContentView().environmentObject(flutterDependencies)
       }
     }
 }

import SwiftUI
import Flutter

struct ContentView: View {
  // Flutter dependencies are passed in an EnvironmentObject.
  @EnvironmentObject var flutterDependencies: FlutterDependencies

  // Button is created to call the showFlutter function when pressed.
  var body: some View {
    Button("Show Flutter!") {
      showFlutter()
    }
  }

func showFlutter() {
    // Get the RootViewController.
    guard
      let windowScene = UIApplication.shared.connectedScenes
        .first(where: { $0.activationState == .foregroundActive && $0 is UIWindowScene }) as? UIWindowScene,
      let window = windowScene.windows.first(where: \.isKeyWindow),
      let rootViewController = window.rootViewController
    else { return }

    // Create the FlutterViewController.
    let flutterViewController = FlutterViewController(
      engine: flutterDependencies.flutterEngine,
      nibName: nil,
      bundle: nil)
    flutterViewController.modalPresentationStyle = .overCurrentContext
    flutterViewController.isViewOpaque = false

    rootViewController.present(flutterViewController, animated: true)
  }
}

import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        // This is the theme of your application.
        //
        // Try running your application with "flutter run". You'll see the
        // application has a blue toolbar. Then, without quitting the app, try
        // changing the primarySwatch below to Colors.green and then invoke
        // "hot reload" (press "r" in the console where you ran "flutter run",
        // or press Run > Flutter Hot Reload in a Flutter IDE). Notice that the
        // counter didn't reset back to zero; the application is not restarted.
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
https://github.com/flutter/flutter/assets/63058517/214377f1-0dab-4482-9e2d-942002786b39

Logs
Logs
-[MTLDebugRenderCommandEncoder setRenderPipelineState:]:1604:
failed
assertion Set Render Pineline State Validation
For color attachment 0, the render pipeline's pixelFormat
(MTLPixelFormatInvalid) does not match the framebuffer's pixelformat (MTLPixelFormatBGRABUnorm).
(11db)

Flutter Doctor output
Doctor output
[✓] Flutter (Channel master, 3.13.0-7.0.pre.41, on macOS 13.4.1 22F82 darwin-arm64, locale es-419)
  • Flutter version 3.13.0-7.0.pre.41 on channel master at /Users/josefinadiz/fvm/versions/master
  • Upstream repository https://github.com/flutter/flutter.git
  • Framework revision 67e0e8786f (63 minutes ago), 2023-07-20 11:42:23 -0400
  • Engine revision c645eb6da8
  • Dart version 3.1.0 (build [3.1.0-330.0.dev](http://3.1.0-330.0.dev/))
  • DevTools version 2.25.0
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
  • Android SDK at /Users/josefinadiz/Library/Android/sdk
  • Platform android-34, build-tools 34.0.0
  • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
  • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
  • All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 14.3.1)
  • Xcode at /Applications/Xcode.app/Contents/Developer
  • Build 14E300c
  • CocoaPods version 1.12.1
[✓] Chrome - develop for the web
  • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2022.2)
  • Android Studio at /Applications/Android Studio.app/Contents
  • Flutter plugin can be installed from:
   :hammer: https://plugins.jetbrains.com/plugin/9212-flutter
  • Dart plugin can be installed from:
   :hammer: https://plugins.jetbrains.com/plugin/6351-dart
  • Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
[✓] VS Code (version 1.80.1)
  • VS Code at /Applications/Visual Studio Code.app/Contents
  • Flutter extension version 3.68.0
[✓] Connected device (4 available)
  • iPhone de Josefina (2) (mobile) • 00008110-0002751E2E90401E      • ios      • iOS 16.5.1 20F75
  • iPhone 14 Pro (mobile)     • 7F462546-443C-4525-8455-56355FFECCC0 • ios      • com.apple.CoreSimulator.SimRuntime.iOS-16-4 (simulator)
  • macOS (desktop)         • macos                • darwin-arm64  • macOS 13.4.1 22F82 darwin-arm64
  • Chrome (web)          • chrome                • web-javascript • Google Chrome 114.0.5735.198
[✓] Network resources
  • All expected network resources are available.
• No issues found!

This sounds like it could be an issue with detecting wide gamut support?
You could try adding the following to your Info.Plist.
<key>FLTEnableWideGamut</key>
<false/>

Hey @jonahwilliams I tested again using that flag in the info.plist, and it's still not working (same error)

The validation error doesn't make any sense. "the render pipeline's pixelFormat(MTLPixelFormatInvalid)" implies we managed to create a pipeline with an invalid format. But pipeline creation fails if the format is invalid. We should try to reproduce this but does the error still happen if Metal validation is disabled using the Xcode run scheme?

From Triage: This is almost certainly the issue.

I also encountered this, and for me it happens to a standalone Flutter app.
It only happens when running the app from XCode, running from terminal does not crash.

Yeah, we think this is only when Metal validations are enabled (which Xcode does). The linked PR should fix this issue.

This is fixed with https://github.com/flutter/engine/pull/43946


Can't install packages in pipenv

Issue description
When installing any package with pipenv (whether inside or outside environment) it fails with TypeError: module not callable
Expected result
Package is installed correctly
Actual result
user@device:~/python/test> pipenv install --verbose inflect
Installing inflect...
⠋Installing 'inflect'
Traceback (most recent call last):
  File "/home/niels/.local/bin/pipenv", line 11, in <module>
    sys.exit(cli())
  File "/home/niels/.local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/home/niels/.local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/home/niels/.local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/niels/.local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/niels/.local/lib/python3.6/site-packages/pipenv/vendor/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/home/niels/.local/lib/python3.6/site-packages/pipenv/cli.py", line 435, in install
    selective_upgrade=selective_upgrade,
  File "/home/niels/.local/lib/python3.6/site-packages/pipenv/core.py", line 1971, in do_install
    pypi_mirror=pypi_mirror,
  File "/home/niels/.local/lib/python3.6/site-packages/pipenv/core.py", line 1375, in pip_install
    package_name.split('--hash')[0].split('--trusted-host')[0]
  File "/home/niels/.local/lib/python3.6/site-packages/pipenv/vendor/requirementslib/models/requirements.py", line 704, in from_line
    line, extras = _strip_extras(line)
TypeError: 'module' object is not callable

Steps to replicate
Create a test directory and run pipenv install ...

$ pipenv --support
Pipenv version: '2018.7.1'
Pipenv location: '/home/niels/.local/lib/python3.6/site-packages/pipenv'
Python location: '/usr/bin/python3'
Other Python installations in PATH:

2.7: /usr/bin/python2.7

2.7: /usr/bin/python2.7

3.4: /usr/local/bin/python3.4m

3.4: /usr/local/bin/python3.4

3.6: /usr/bin/python3.6m

3.6: /usr/bin/python3.6

2.7.15: /usr/bin/python

2.7.15: /usr/bin/python2

3.6.5: /usr/bin/python3

PEP 508 Information:
{'implementation_name': 'cpython',
 'implementation_version': '3.6.5',
 'os_name': 'posix',
 'platform_machine': 'x86_64',
 'platform_python_implementation': 'CPython',
 'platform_release': '4.18.9-1-default',
 'platform_system': 'Linux',
 'platform_version': '#1 SMP PREEMPT Thu Sep 20 06:37:04 UTC 2018 (67901ec)',
 'python_full_version': '3.6.5',
 'python_version': '3.6',
 'sys_platform': 'linux'}

System environment variables:

GS_LIB
KDE_FULL_SESSION
LS_COLORS
HOSTTYPE
LC_MEASUREMENT
M2_HOME
XAUTHLOCALHOSTNAME
LESSCLOSE
LC_MONETARY
XKEYSYMDB
LANG
WINDOWMANAGER
LESS
PROFILEHOME
DISPLAY
JAVA_ROOT
HOSTNAME
SHELL_SESSION_ID
CONFIG_SITE
CSHEDIT
GTK2_MODULES
GPG_TTY
AUDIODRIVER
LESS_ADVANCED_PREPROCESSOR
COLORTERM
JAVA_HOME
ALSA_CONFIG_PATH
MACHTYPE
XDG_VTNR
M2
GTK3_MODULES
SSH_AUTH_SOCK
QEMU_AUDIO_DRV
MINICOM
QT_SYSTEM_DIR
OSTYPE
XDG_SESSION_ID
USER
PAGER
DESKTOP_SESSION
LC_COLLATE
KONSOLE_VERSION
MORE
PWD
SSH_ASKPASS
HOME
SSH_AGENT_PID
HOST
XNLSPATH
XDG_SESSION_TYPE
SDK_HOME
XDG_DATA_DIRS
KONSOLE_DBUS_SESSION
JDK_HOME
XDG_SESSION_DESKTOP
PROFILEREAD
LC_NUMERIC
KONSOLE_DBUS_WINDOW
GTK_MODULES
FROM_HEADER
MAIL
UBUNTU_MENUPROXY
LESSKEY
TERM
SHELL
KONSOLE_DBUS_SERVICE
XDG_SESSION_CLASS
XDG_SEAT_PATH
QT_IM_MODULE
XMODIFIERS
LS_OPTIONS
XCURSOR_THEME
XDG_CURRENT_DESKTOP
KONSOLE_PROFILE_NAME
PYTHONSTARTUP
XDG_SEAT
SHLVL
COLORFGBG
LANGUAGE
G_FILENAME_ENCODING
MANPATH
WINDOWID
XSESSION_IS_UP
LOGNAME
DBUS_SESSION_BUS_ADDRESS
XDG_RUNTIME_DIR
XAUTHORITY
JRE_HOME
XDG_SESSION_PATH
QT_AUTO_SCREEN_SCALE_FACTOR
XDG_CONFIG_DIRS
PATH
JAVA_BINDIR
KDE_SESSION_UID
SDL_AUDIODRIVER
KDE_SESSION_VERSION
QT_IM_SWITCHER
G_BROKEN_FILENAMES
HISTSIZE
SESSION_MANAGER
CPU
CVS_RSH
LESSOPEN
GTK_IM_MODULE
LC_TIME
OLDPWD
_
PYTHONDONTWRITEBYTECODE
PIP_PYTHON_PATH

Pipenv–specific environment variables:
Debug–specific environment variables:

PATH: /opt/maven//bin:/opt/maven//bin:/home/niels/bin:/usr/local/bin:/usr/bin:/bin:/usr/lib/mit/sbin:home/niels/bin/:/home/niels/.local/bin:home/niels/bin/:/home/niels/.local/bin
SHELL: /bin/bash
LANG: en_US.UTF-8
PWD: /home/niels/python/testQU3.4

Contents of Pipfile ('/home/niels/python/testQU3.4/Pipfile'):
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]

[dev-packages]

[requires]
python_version = "3.6"

I had the same issue @nielstron. Did you find a solution?

It is the same as #2944 which has been solved. The error still occurs though as no new version has been published yet.


zed-editor: 0.154.4 -> 0.155.2

https://github.com/zed-industries/zed/releases/tag/v0.155.2
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 345995

x86_64-linux

:white_check_mark: 1 package built:

zed-editor

aarch64-linux

:white_check_mark: 1 package built:

zed-editor

x86_64-darwin

:fast_forward: 1 package marked as broken and skipped:

zed-editor

aarch64-darwin

:fast_forward: 1 package marked as broken and skipped:

zed-editor


Update references to main branch

This PR refactors all the references to the root branch to main.

Thanks, @mwalker174!


tf.compat.v1.conv2d_backprop_input does not work well with bfloat16 input.

Issue type
Bug
Have you reproduced the bug with TensorFlow Nightly?
No
Source
source
TensorFlow version
tf2.5.3
Custom code
Yes
OS platform and distribution
Linux Ubuntu20.04
Mobile device
No response
Python version
3.8.10
Bazel version
No response
GCC/compiler version
No response
CUDA/cuDNN version
11.7/cudnn8
GPU model and memory
A100-40G
Current behavior?
When using bfloat16 as type of filter and out_backprop in tf.compat.v1.nn.conv2d_backprop_input API, the output is empty.
I WONDER if this is a bug of bfloat16.
Standalone code to reproduce the issue
import tensorflow as tf

a = tf.ones([2,3,3,6], dtype=tf.blfoat16)
b = tf.ones([3,3,1,6], dtype=tf.bfloat16)

c = tf.compat.v1.nn.conv2d_backprop_input(
    input_sizes=[2,7,7,1],
    filter=b,
    out_backprop=a,
    strides=[1,2,2,1],
    padding="VALID",
    data_format="NHWC",
    dilation=[1,1,1,1]
)
print(c)

Relevant log output
The output is :
tf.Tensor([], shape=(0,), dtype=float32)

@Unireverse,
I tried to execute the mentioned code on latest tensorflow v2.14 with the both CPU and GPU enviroment, and it was executed without any issue/error & also observed that the output is also intended. Kindly find the gist of it here.
Also the tensorflow v2.5 which is pretty older, recommended to use the latest tensorflow versions. Thank you!


release management

build, name, and bundle packages to be released
updload to github releases from ci
define release process and versioning

fixed in #21 #31 #32 #33


Fix duplicate ids for formatted messages

[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "cometAdmin.generic.doYouWantToSaveYourChanges", but the description and/or defaultMessage are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "comet.pages.publisher.buildStarted", but the description and/or defaultMessage are different.[@formatjs/cli] [WARN] [FormatJS CLI] Duplicate message id: "comet.generic.ok", but the description and/or defaultMessage are different.

I did a quick search, but I did not find any eslint plugin or formatjs-cli option to check for duplicate ids as part of linting.
Additionally we could consider to refactor the "generic" messages. Currently they have to be exactly duplicated for each occurrence. This makes them error prone and hard to find (what generic translations exist?). Maybe we should move them to a common place.

Additionally we could consider to refactor the "generic" messages. Currently they have to be exactly duplicated for each occurrence. This makes them error prone and hard to find (what generic translations exist?). Maybe we should move them to a common place.

👍🏼

there could be a pipeline/linter that checks this?

there could be a pipeline/linter that checks this?

We can add the --throws flag to the formatjs extract command, which fails when there are duplicate ID's with different description/defaultMessage


Recurrent Push or Recurrent Monitor Strategy

⚠ Please verify that this feature request has NOT been suggested before.

[X] I checked and didn't find similar feature request

🏷 Feature Request Type
New Monitor, UI Feature
🔖 Feature description
I have a few automation scripts that aren't always running, i.e. they run at specific times, finish and move on to the next execution that could be daily, weekly, every x days and so on, meaning that a normal heartbeat monitor won't fit this type of execution.
So I'd like to propose a new monitor (or a new monitor strategy) that allows for recurrent checks given a cron expression (and a delay) or a more specific configuration using daily, weekly and monthly configurations (see Additional Context for examples already on Kuma)
✔ Solution
A Recurrent Push monitor, with configurable recurrence for each check.
For example, if the user has a script that runs every Monday and Friday at 1pm, it would be possible to configure a monitor that only checks for a push at these specific times, notifying any possible failure to execute.
In my mind this could take the form of a cron(-like) expression, since something similar is already implemented for maintenance mode, for the given example, something like 0 13 * * MON,FRI would properly configure the needed monitor.
Also, a delay or time-window parameter, in seconds, would be greatly appreciated, e.g. expect a push from 1pm to 1pm + the configured delay, allowing for some margin of error for more erratic functions.
Other configurations like new tries and timeout would be kept the same.
❓ Alternatives
A very long heartbeat could work, but it's very error prone, since the user has to calculate perfectly how many seconds between each execution without any control of when the check starts or ends, and considering Uptime-Kuma has a limit of 2073600 seconds, or 24 days, on a heartbeat, it leaves a lot of possible recurrences out of the equation.
📝 Additional Context
While this is a proposal for a Recurrent Push, as it servers my needs, perhaps, if given interest it could be extended for other/all monitors, this would give a lot of flexibility, maybe the user wants to check a website only on rush hour, or monitor a docker container that runs only on specific times (this can happen with containers for build tooling for example), and anything else imagination allows.

The current maintenance configuration is already a perfect example of how this could be implemented, via cron or some recurrence-specific configuration (daily, weekly and monthly)

Sorry for the screenshots in pt_BR

Complete brain-fart on my side. This is already possible with maintenance mode

@eitchtee
See #3447 => we are working on a more elegant solution to this, but this won't be in the v2.0 release ^^


AUTHOR: looking for new maintainer

I haven't had time to maintain this project for too long, so it would be wiser to find a new maintainer to support it.
Anyone would like to do it?

@nassor I’m interested in helping maintaining this project

@nassor , I would like to take over.

I would be honored !


Support deprecation of a single asset from strategies

If we could transfer a single asset out of a strategy and remove support for it future migrations of funds will become simpler. Right now to do this we need to liquidate the strategy, redeploy a new one with the assets we want it to support, remove the old one from vault, add the new one, and call allocate again.
Ideally:

A new function like liquidate that takes a single asset, i.e. liquidate(address _asset)
A deprecateAsset(address _asset) that calls that liquidate method and removes from assetsMapped (there is complexity here around removing from an array) and updates the assetToPToken mapping.
This whole setup should not allow a deprecateAsset call when there is only a single asset.

I created a branch for this, depricateSingleAsset. This isn't yet tested, so it is more starting out. Here are the api changes.
What is a good way to test this? Maybe using these test scripts?
With threepool, if you call deprecateAsset, then it calls liquidate(address _asset). But this requires the asset to be the first item in assetsMapped. Meaning calling deprecateAsset with ThreePool only works if it is the first asset in that array. How do you guys want to handle this case?
Let me know what you think, thanks!

Hey @nickgeoca.
We've got a super rocking test setup with lots of mocks. Take a look at contracts/tests/. You should be able to test these pretty easily.
On the threepool strategies, each strat only works with one coin at a time, and we store that coins index in contract.

What if you have two coins in threepool?

Ok awesome. I'll check more into that testing folder

This liine of code is producing the error below. It seems to work if it is connect(governor) rather than connect(vault).
Has anyone seen this error?
     Error: invalid signer or provider (argument="signerOrProvider", value="[object Object]", code=INVALID_ARGUMENT, version=contracts/5.0.3)
      at Logger.makeError (node_modules/@ethersproject/logger/src.ts/index.ts:205:28)
      at Logger.throwError (node_modules/@ethersproject/logger/src.ts/index.ts:217:20)
      at Logger.throwArgumentError (node_modules/@ethersproject/logger/src.ts/index.ts:221:21)
      at new Contract (node_modules/@ethersproject/contracts/src.ts/index.ts:606:20)
      at Contract.connect (node_modules/@ethersproject/contracts/src.ts/index.ts:813:26)
      at Context.<anonymous> (test/strategies/aave.js:145:10)
      at processImmediate (internal/timers.js:439:21)

Hey @nickgeoca, I think this'd be because vault is not an EOA, but a contract. You need a valid signer for the connect arg. :)

Yeah that makes sense. I am thinking to a
    function deposit(address _strategy, address _token, uint _amount) external {
        InitializableAbstractStrategy(_strategy).deposit(_token, _amount);
    }

Hey @tomlinton, this makes sense. I am wondering what a good workaround to this is?
Maybe we can add a few functions in the MockVault and run proxy calls from the Vault to the MockVault?
    function deposit(address _strategy, address _token, uint _amount) external {
        InitializableAbstractStrategy(_strategy).deposit(_token, _amount);
    }

    function liquidate(address _strategy, address _token) external {
    ...
    function liquidate(address _strategy) external {
    ...

Does it need to be connect(vault)? That call to setRewardLiquidationThreshold should be from the governor. I don't think that call is needed in the context of that test, it should only matter for testing reward token collection and harvesting from the Vault.

It looks like it. Calling await aaveStrategy.connect(vault).deposit(usdc.address, usdcUnits("1000")); ends up calling a solidity function with the onlyVault modifier.
    function deposit(address _asset, uint256 _amount)
        external
        onlyVault

Comparing compound.js and aave.js tests, it looks like even though they are both implementing the identical strategy interface, their tests are different. Do you want to put the liqudation test currently in compound.js into aave.js too?
liquidation tests
  it("Should liquidate a single asset", async () => {
  it("Should deprecate an asset, but not a last remaining asset", async () => {
  it("Should liquidate all assets", async () => {

aave.js
    it("Should be able to mint DAI and it should show up in the aave core", async function () {
    it("Should not send USDC to aave strategy", async function () {
    it("Should be able to mint and redeem DAI", async function () {
    it("Should be able to redeem and return assets after multiple mints", async function () {
    it("Should allow transfer of arbitrary token by Governor", async () => {
    it("Should not allow transfer of arbitrary token by non-Governor", async () => {

compound.js
  it("Should allow a withdraw", async () => {
  it("Should collect rewards", async () => {
  it("Should read reward liquidation threshold", async () => {
  it("Should allow Governor to set reward liquidation threshold", async () => {
  it("Should not allow non-Governor to set reward liquidation threshold", async () => {

@nickgeoca Sorry for my slow reply here. Regarding the deposit() call you can use the same method found in test/strategies/compound.js where the vault is set to the governor. We generally have two styles of test for strategies, one where the strategy is just integrated with the Vault and that is tested (e.g. test/vault/z_compound.js) and one where the strategy is tested as a standalone (e.g. test/strategies/compound.js) which is largely for the problem you encountered.
I guess you can tell those tests were written by different people! It'd be nice to have it in both, if its a simple copy paste job, but as long as it is in at least one it is fine. 👍

It looks like the Mock Aave contract is not minting the collateral tokens during a deposit. It's taking the coins, but not creating collateral. I see this in the aave.js test when printing balances, code is below.
I'll take a look into this today.
..
aave test code
      console.log((await dai.balanceOf(aaveStrategy.address)).toString());
      console.log((await usdc.balanceOf(aaveStrategy.address)).toString());

      // Run deposit()
      await aaveStrategy
        .connect(fakeVault)
        .deposit(usdc.address, usdcUnits("1000"));
      await aaveStrategy
        .connect(fakeVault)
        .deposit(dai.address, daiUnits("1000"));
      console.log((await dai.balanceOf(aaveStrategy.address)).toString());
      console.log((await cdai.balanceOf(aaveStrategy.address)).toString());
      console.log((await cusdc.balanceOf(aaveStrategy.address)).toString());

So using A tokens mostly works now. aDAI works fine.
However, I'm having trouble depositing aUSDC tokens. I used hardhat console log to print the A token balances. It looks like it is not minting aUSDC tokens on this line of code when attempting to deposit.
        _getLendingPool().deposit(_asset, _amount, referralCode);
Does anyone have ideas?

The Aave test is now passing, including liquidating and depreciating an asset 😀
Compound has been done. I'll try n knock out Threepool tomorrow

Things seem to be working now. It is probably a good time for a review!

@tomlinton , it looks like you renamed liquidate to withdrawAll? I can fork master and throw those tests back in, for withdrawAll. Then we can close this out. How does that sound?


This library is used for harvesting Tesla login credentials?

It is, to say the least, extremely suspicious that this library gets the Tesla API base URL from a pastbin.com URL managed by the maintainer (@gglockner). This would suggest that all login credentials from the clients using this can be relayed to anywhere he wants.
https://github.com/gglockner/teslajson/blob/e91d78739341dad019430cd4e69962ad653d9261/teslajson.py#L56
For this reason I would advise caution using it and at least fork and modify the code.

Let me explain why it uses an external URL.  I originally wrote the teslajson library with the URL hard-coded (ex: (https://github.com/gglockner/teslajson/commit/dc0dd53854675fd46fbd80e8eac158605bbdf968).  However, the API is officially not supported by Tesla, and could change at any time.  So if Tesla breaks the URL, I would need to update the library and anything that uses the library would need to be updated as well.  So I refactored this to use Pastebin, so that the URL could be adjusted without having to re-release the teslajson library.  This is why I redirect to the external URL on Pastebin.
However, I get your point about security.  What about the following compromise: what if the library checks for tampering in the URL, so it will throw an exception if Pastebin returns a base URL that is not something like *.tesla.com or *.teslamotors.com?

I see. Well I think it would be safe to assume that if Tesla changes it's webservice endpoint or protocol version that the library would need updating anyway, so I'd much prefer hardcoded values within the code.

Good catch. I had thought "I should check that my credentials are only being sent to Tesla", and I actually did look at the source a bit, and then I thought, "He's probably doing the right thing. I'm bored. I want to start using this API already!" and I never actually caught this.
Anyways... I start with the assumption people are good. I've always done that, and its never caused me much trouble. Until proven otherwise, I'll assume gglockner is a good person. My only real concern is that if a bad person managed to get into his pastebin and changed where that URL points.
Well, and I'm a bit concerned that maybe a bad actor will try making a malicious pull request that compromises your password and gglockner doesn't notice... but that wouldn't impact me directly, since I'm unlikely to actually update my copy of this library unless there's a bug that impacts me or a new feature I want...

@gglockner Would you accept a PR to change this to be hardcoded? I don't agree that the compromise is good enough from a security perspective.
(I am happy to fork instead if you'd like to stick with the flexible option; just let me know)


Override the empty buffer when splitting in Vim

Is there a way for FZF to close/override the empty buffer when opening splits in Vim?
For example, I open up Vim and start with an empty buffer. Then, I use FZF to select 2 files and open them in splits (CTRL-X or CTRL-V). I end up with 3 buffers: empty buffer, file-1, file-2. I would like to only see the 2 files I selected.

Thanks for the suggestion. I like the idea and updated the vim plugin. I also updated the commands in fzf.vim project.


US 08.02.01 Delete QR Code

As an owner, I want to be able to delete QR codes with bad or malicious comments and pictures, so that I can protect the gaming experience of other players.
Priority: Medium
Story Point: 5
Risk Level: Medium

Acceptance Criteria:

Ability to delete QR codes that contain bad or malicious comments or pictures
Monitoring and flagging of inappropriate content such as hate speech or offensive language
Ability to block or ban users who violate the app's terms of service or engage in harmful behavior
Clear guidelines and policies for acceptable use
Education for users on how to use the app in a safe and responsible manner
Promotion of a positive and enjoyable experience for all players through the creation of a safe and respectful community within the app.

Priority: Medium
Story Point: 5
Risk Level: Medium


Cannot use sqlite dialect

Hi,
I just installed node on a new machine using node v0.10.49 from nodesource (on Debian Wheezy) and after having installed sequelize + sqlite3, a simple test  fails.
Here what I did (started from an empty directory):
$ npm install sequelize sqlite3
/
><EMAIL_ADDRESS>install /data/home/lilo/dev/test/node_modules/sqlite3
> node-pre-gyp install --fallback-to-build
[sqlite3] Success: "/data/home/lilo/dev/test/node_modules/sqlite3/lib/binding/node-v11-linux-x64/node_sqlite3.node" is installed via remote
<EMAIL_ADDRESS>node_modules/sequelize
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS><EMAIL_ADDRESS>node_modules/sqlite3
└──<EMAIL_ADDRESS>
$ node
> var Sequelize = require('sequelize');
undefined
> var sequelize = new Sequelize('test', null, null, {dialect: "sqlite"});
Error: The dialect sqlite is not supported. (Error: Please install sqlite3 package manually)
    at new Sequelize (/data/home/lilo/dev/test/node_modules/sequelize/lib/sequelize.js:182:11)
    at repl:1:17
    at REPLServer.self.eval (repl.js:110:21)
    at repl.js:249:20
    at REPLServer.self.eval (repl.js:122:7)
    at Interface.<anonymous> (repl.js:239:12)
    at Interface.emit (events.js:95:17)
    at Interface._onLine (readline.js:203:10)
    at Interface._line (readline.js:532:8)
    at Interface._ttyWrite (readline.js:761:14)
    at ReadStream.onkeypress (readline.js:100:10)
    at ReadStream.emit (events.js:98:17)
    at emitKey (readline.js:1096:12)
    at ReadStream.onData (readline.js:841:14)
    at ReadStream.emit (events.js:95:17)
    at ReadStream.<anonymous> (_stream_readable.js:765:14)
> %

$ which npm
/usr/bin/npm

$ which node
/usr/bin/node

$ node --version
v0.10.40

$ npm --version
1.4.28

Any idea what I'm missing?
Thanks!

"Any idea what I'm missing?"
Probably double-checking in which project you submit the issue...

Oops!
Sorry ;)


/events/:client should return 404 for clients that do not exist

Right now it returns empty list and HTTP 200 OK.
Sensu 0.22

I think the current behaviour is correct, as it returns an empty array, which is data representing the current state for the client.

Agree.  404 to me means the server is not able to serve a request (web server problem), regardless of the content in the page. I'd expect a 200 and the body of the data is empty or the header contains application response information (no client found).

Closing this issue as the present implementation is considered correct.