Add default pre-commit hooks

This PR adds almost all non-deprecated hooks from the original pre-commit-hooks repository.
Two of these hooks were asked for in https://github.com/cachix/pre-commit-hooks.nix/issues/31 by @PierreR and workarounds have been proposed, like writing custom hooks, or using the rawConfig option.
Thanks to @kalbasit, pre-commit-hooks got packaged for nixpkgs, so why not add all these default pre-commit hooks that are listed here?
I've tested them all, set some sane defaults and occasionally renamed them slightly or changed the description, so it is  clearer, what the individual hooks are used for. The rest of the settings were taken from the hooks configuration in the original repository.
All the hooks seem to pass the initial checks and can be used just fine. I haven't added all the arguments for all hooks, but tried to add all that are necessary for sensible usage as a pre-commit hook.
In case someone tries to use one of these hooks and cannot find a needed option that is available in the original hook, please open an issue and feel free to assign me to it. I'll try to add it then.
I have yet to add all hooks to the README. Keeping this as a draft until I get around to it, which should be at the beginning of next week. Feel free to review the proposed changes in the meantime.

I have now listed all added default pre-commit hooks to the corresponding sections of the README.
Since I noticed a couple of formatting issues in the README, I fixed them in 9593b40, so that it is now standard Markdown as checked by mdl and markdownlint. I also sorted all hooks alphabetically in the subsections.
Since the various hooks includes hooks other than formatters, I renamed the section's headline from Other formatters to Various other hooks.
@domenkozar Should we add mdl to the pre-commit hooks in this repository so that the README gets linted on new contributions?

Oh thanks for all this work! We'll have to base it on top of #397 otherwise we'll get into conflicts.

Oh thanks for all this work! We'll have to base it on top of #397 otherwise we'll get into conflicts.

Sure, I'll try to rebase onto that.

@domenkozar Alright, my changes are now on top of #397.

cc @sandydoo

Some braces were missing, but now it should work fine.
@sandydoo Please me know if you need any help finishing up #196.

Great work, @totoroot!
RE #196, there are two main blockers I'd like to solve before merging:

We'd like to offer an overridable package for every hook. The problem is that a few hooks have more complex requirements: some hooks depend on several packages or have wrappers of some kind.
How much do we expose here? Should we expose the wrappers to allow users to override them? Or is this an implementation detail?
Should package be a single package type or some attribute set of packages? If it's a single package (or a symlink join), can we reliably access all of the packages used by the enabled hooks to create a dev shell?
The deprecation notices for the renamed options don't currently show up. Maybe there's some trick to get these to propagate through the submodules.

should be doable like so: https://github.com/NixOS/nixpkgs/pull/287506/files#diff-346cfce0bc66f4470c59870b415a1582bd5422b09d67309feb20e9e8597d2f7bR899

we discussed about this one quite a bit, most likely it's best to have cfg.package and allow it to be a list of packages that is then used with pkgs.symlinkJoin

Hey! We merged it, could you rebase on top of master now?

Yesterday I messed up the large rebase a little, so many thanks to @9999years who fixed up the branch :bouquet:
@domenkozar Ready for review/merge now!

git-annex seems to not build on macOS, maybe we should disable it...?

git-annex seems to not build on macOS, maybe we should disable it...?

@9999years Surely a good idea, but that should be done in a separate PR, as this one did not change the git-annex hook.

Wait, the CI failures are non-blocking -- CI hasn't passed on the master branch in 2 months: https://github.com/cachix/git-hooks.nix/commit/0b6fdb0941e4dc283ff0e79e2d0aea74d713f2fc

Opened #421 to fix the CI failures on macOS.

Could you rebase on master?

Could you rebase on master?

I merged master into this branch.


SageMakerVPCDetectiveControl Creation Failed "The runtime parameter of python3.6 is no longer supported..."

Describe the bug
When following the instructions in the associated workshop, the step to create the initial ds_administration stack failed. This is due to the nested "SageMakerDetectiveControl" stack failing because the lambda function referenced is using a deprecated python version.
To Reproduce
Steps to reproduce the behavior:

clone repo
set appropriate env variables
run ./package_cloudformation.sh
run the command that is printed to deploy the CF stack.
See error.

I try to change cloudformation/ds_admin_detective.yaml
python 3.6 to python 3.8
Then all become normal!

Accepted PR to update python version to 3.7.


Upgrade ffi dependency

Problem
realm 0.8.0+rc depends on ffi 2.0.1 which makes it incompatible to packages depending on a newer version of ffi.
Solution
Upgrade the ffi dependency to 1.2.1.
Alternatives
No response
How important is this improvement for you?
Would be a major improvement
Feature would mainly be used with
Local Database only

2.0.1 is the newest version of ffi. 1.2.1 is 8 month old?

Oops! I just realized the same. I was somehow reading it as "2.2.1". The issue can be closed.
Sorry about that.


Added toArray() onto map to prevent empty arrays

Good catch. Thanks so much for your contributions!


Time-limited actions, or default-actions after a timeout

Some games can be time-based, such as Ricochet Robots, where you have a limited amount of time to do an action.
Other games are bluff-calling games, or games where you can respond to someone else's action. Such as Coup (counteract / challenge) or Exploding Kittens (Nope-card). It would be annoying to ask each player "Do you want to challenge/counteract or do you accept the current action?" so it would be preferably to have a timeout where after 5-10 or so seconds you automatically accept (unless you click a button to ask for more time)
In time-limited games, server can save timestamp of when actions are performed (this can be handled in the same way as "random" state).
For games where you can respond to other people's actions, it would probably be best if the client handled it somehow. For example, if you don't do anything for 10 seconds, then send that action. Could be specified in supportedGames.js and handled by the DSL Game Vuex Store?

Use a stack-based system with various tasks/effects/thingies.
Then use a Consensus-thing which is not resolved until, well, everyone has either agreed (automatically or not) or someone challenges.
For games like Coup or Exploding Kitten, if someone says "I want more time" and then directly continues again, the system should basically reset so that everyone again gets the chance to say "I want more time" or "Approve/Reject/etc."
The same can be applied in Avalon when voting for a team or performing a mission, only that the end condition is a bit different or that there is no automatic response. This would allow players to change their vote for example.
Should all such interactions include the steps when changing your mind be recorded as actions in the database, or only the most recent one? For simplicity it's easier with recording it probably, the only negative thing is that it's possible to spam the database that way (which is already possible in a bunch of other ways...)

For Coup, an interesting scenario that can happen is that two people can say that they want to challenge this, but then later both change their minds and neither player actually performs the challenge. How to model that in a consensus approach?
End consensus step once all players have chosen (automatically or not) and at most one player has challenged might not be enough as two people might want to switch from "Challenge" to "Approve" at the same time.
Alternatively, end consensus step as soon as at least one player has challenged claim and the one who clicks first has to just suit themselves?


hello-world JSFiddle sample doesn't work with guide instructions

At the very beginning of the guide it links to a hello-world example on JSFiddle with the text:

The easiest way to try out Vue.js is using the JSFiddle Hello World example. Feel free to open it in another tab and follow along as we go through some basic examples. Or, you can simply create an .html file and include Vue with...

So, I took that wording to mean I could continue on with the guide using the provided sample in the JSFiddle environment, and not necessarily needing to create my own .html file just yet.
Then, in the next section it says:

Just open up your browser’s JavaScript console and set app.message to a different value. You should see the rendered example above update accordingly.

But, when I do that nothing happens, which was confusing.
I suppose the reason it didn't work is that JSFiddle will sandbox the sample code, so "app" won't be accessible from the browser console.
Perhaps either the JSFiddle or the wording of the guide could be made more clear? I know this is probably a very trivial thing, but I spent a good 15 minutes or so confused...

Ah, slight misunderstanding. When we say open up your browser's JavaScript console, we mean in this current tab (the same pages as the docs). I'll update to make this more clear. 👍

I just updated the docs, with new wording bolded below:

Just open your browser's JavaScript console (right now, on this page) and set app.message to a different value.

Do you think that makes it more clear?

Thanks for the quick response!
Yes, I see the updated wording, and it's much more clear now.


Poor altitude display if pressure measurements are not present

The cross-hair is drawn to point at the pressure altitude line on the barogram.
This does not work well for IGC files recorded by devices without a pressure sensor (e.g. XCSoar on most smartphones), where the pressure altitude is always zero.

On 12/12/15 13:54, Alistair Green wrote:

The cross-hair is drawn to point at the pressure altitude line on the
barogram
This does not work well for IGC files recorded by devices without a
pressure sensor (eg XCSoar on most smartphones), where the pressure
altitude is always zero
—
Reply to this email directly or view it on GitHub
https://github.com/GlidingWeb/IGCWebView/issues/2.

Also presumably any of the cheap "position only" recorders.  Any reason
why we can't just use the GPS altitude line instead?

We could use either line, or even draw cross-hairs on both lines.
I have seen IGC files which only have a pressure trace and no GPS (from very old loggers that don't have a built-in GPS receiver).

New version allows user to choose either GPS or pressure sensor as the altitude source.


A useful custom_command for nodejs user

I share this file because I think this might be useful for Node.js devs
Features
Show node's version (node --version), npm's version (npm --version), and package version (in file package.json) only when package.json is present. (always showing them is quite annoying)
Screenshot

Command
function zsh_package_json () {
  local pkgjson=$(pwd)/package.json
  if [[ -f $pkgjson ]]; then
    local nodever npmver pkgver

    if [[ $POWERLEVEL9K_CUSTOM_PACKAGE_JSON_NODEVER != 'false' ]]; then
      nodever=$POWERLEVEL9K_NODE_ICON' '$(node --version)
    fi

    if [[ $POWERLEVEL9K_CUSTOM_PACKAGE_JSON_NPMVER != 'false' ]]; then
      npmver=$POWERLEVEL9K_NPM_ICON' '$(npm --version)
    fi

    if [[ $POWERLEVEL9K_CUSTOM_PACKAGE_JSON_PKGVER != 'false' ]]; then
      local actualpkgver=$(node -p "require('$pkgjson').version || ''")
      [[ -z $actualpkgver ]] || pkgver=$POWERLEVEL9K_PACKAGE_ICON' '$actualpkgver
    fi

    env echo -n $nodever $npmver $pkgver
  fi
}

export POWERLEVEL9K_CUSTOM_PACKAGE_JSON=zsh_package_json
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS+=custom_package_json

https://github.com/KSXGitHub/khai-powerlevel9k-config/blob/e6d113657a046d36d9709450fef5deefc5e74136/.powerlevel9k.zsh#L63-L83
P.S. Suggestions for improvement are welcome

@KSXGitHub - I think this would be worth upstreaming into P9k as a new segment, if you're up for it! Be sure to file it against the next branch.
There are a couple of things we'll want to handle before merging, like setting default values for the new flags you created (e.g., POWERLEVEL9K_CUSTOM_PACKAGE_JSON_NODEVER), and adding it to the README, and using the P9k _prompt_segment functions instead of echo, but otherwise the code is already pretty close to a mergeable state.
Up for it? I would love to get this into the mainline =)

@bhilburn I didn't know _prompt_segment existed, where is the list of p9k functions?

Talking about creating a pull request, my implementation here is pretty slow, this implementation is a bit faster but it requires a seperate JavaScript file.

There isn't a list of functions, really, other than in the theme code itself.
We work really hard not to make calls out to external programs / files, as much as possible. Let's do this, for now: why don't you put your segment on the wiki, here: https://github.com/bhilburn/powerlevel9k/wiki/User-Segments
Then others can find it, and if you find a way to speed it up, we can work on getting it merged.

if you find a way to speed it up

It's slow not because of node, but because of npm, one way to speed it up is to skip calling npm --version by overriding its version, which I already did here.

why don't you put your segment on the wiki

I want this repo be on wiki but since it's a repo, can I just put a link there?

Ah, I see.
Okay, here is how I think this is best handled, then: add a screenshot of your configuration and a link to your repo on this page: https://github.com/bhilburn/powerlevel9k/wiki/Show-Off-Your-Config
Let me know if you have any questions =)

Closing this one out!


Bot cannot switch between servers

The bot cannot switch between servers for me. If it is a voice channel of one server and I go to another server that the bot is connected to and do !summon while in the voice channel of that server, it gives me an error: http://puu.sh/nzIGF/0725475e91.png
The only way to fix this is to close the bot, join the server I want it to join, and have the bot auto-summon to me. Once it joins a server, it is hard anchored to that server until I restart.

This is noted on the !summon entry on the commands page.  Proper multiserver support will come when the discord api allows for it.


Unified Request Flow for Server-side Auctions

Could the proposed Bidding and Auction Services API potentially pose the following challenges:

High adoption and maintenance costs of ad tech arising from the new integrations, disjoint from the existing real-time bidding data flows.

Increased network bandwidth from the additional data flows introduced between the ad techs, client and the Bidding and Auction Services API.

Increased end user latency due to the sequential network requests for the execution of the contextual and remarketing auction and bidding functions.

We wonder if this idea of using trusted servers to execute remarketing auction and bidding functions can be better integrated with the existing real-time bidding data flows.
For instance, the traditional ad requests from the client to an exchange and in turn the traditional bid requests from the exchange to bidders could include a user’s private interest group data that is encrypted by the client (such as Chrome browser or Android), such that only the trusted server can decrypt and process such data, along with contextual signals about the current site or app.
The same trust model outlined in FLEDGE services overview could be used to verifiably enforce that the encrypted interest group data can only be used as intended in FLEDGE auctions:

Only the expected binary version of the FLEDGE auction or bidding services hosted in a secure, hardware-based trusted execution environment (TEE) can decrypt the interest group data with the use of private keys from two key management systems.

Custom, ad tech provided auction scoring and bidding functions are run inside a sandboxed environment within a TEE to prevent any leakage or reuse of information across individual requests and to ensure the desired restrictions on the allowed data usage and FLEDGE API semantics.

Thanks for your feedback. There is a lot to unpack in your post so I will call out the questions we are attempting to address, and then provide the response.
Q: "Increased network bandwidth from the additional data flows introduced between the ad techs, client and the Bidding and Auction Services API."
A: Bidding and Auction services will optimize for overall end-to-end latency. Bidding & Auction services reduce the number of network communications compared to on-device FLEDGE to one umbrella request between client and server, with server <-> server communications in the cloud. The overall flow, we believe, is analogous to how sell-side and buy-side servers interact today.
We are aware that the current design requires data to be sent from client to server and we are designing ways to optimize the umbrella payload.
Q: Increased end user latency due to the sequential network requests for the execution of the contextual and remarketing auction and bidding functions.
A:Bidding and Auction services is an optimization for on-device FLEDGE. The current architecture is designed for that use case. At the moment, we are not exploring architecture beyond the performance optimization use case.
Q: High adoption and maintenance costs of ad tech arising from the new integrations, disjoint from the existing real-time bidding data flows.
A: Privacy Sandbox does introduce some paradigm shifts that will require new integrations to be built. However, these shifts bring privacy benefits to the end user.

I think the design @suprajasekhar suggests is an improvement on the current design in several  ways.

unifies contextual and remarkting request flow
allows to inject data generated outside of the secured path in an efficient way (like an embedding vector for an ML model)
can more directly leverage existing bidding infrastructure (OpenRTB)

The current FLEDGE proposal does not work in practise without a contextual auction happening first. The contextual auction provides the channel to communicate which buyer wants to participate in the on-device auction and give the chance to provide buyer specific data related to the context to the bidding function.
As the buyer does not know if one of the custom audiences he defined is active on the device, he will need to respond with his intention to participate in the on-device auction and the additional buyer data every single time.
The bidding and auction service does not improve upon this, as it only passes the seller auction config.

A:Bidding and Auction services is an optimization for on-device FLEDGE. The current architecture is designed for that use case. At the moment, we are not exploring architecture beyond the performance optimization use case.

Given that FLEDGE is still being work in progress and the explainer states "While this explainer talks about just the remarketing flow with Bidding & Auction Services, we plan to update and publish an extension of this proposal for unifying the contextual and remarketing flow." this proposal already seems to go in the right direction - overall latency / performance would benefit, resource efficiency too.
It would be great if not just "performance" is considered but the later, too. Due to:

Privacy Sandbox does introduce some paradigm shifts that will require new integrations to be built. However, these shifts bring privacy benefits to the end user.

In the end remarkting/reengagment campaigns need to be economically viable under the new paradigm. If this is not the case all the effort on the design and implementation side is wasted. FLEDGE will see no adoption and the impact will be worse than ATT, at least on Android.
Currently there are several features that directly reduce the economical viability:

order of magnitude reduced performance of predictive models if only aggregated data is available for training (see the results of Criteo Privacy Preserving ML Competition, https://github.com/WICG/turtledove/issues/272). While there might be ways to improve upon this, it puts a lot of additional effort on the buy side.
well performing personalised creatives - i.e. containing specific items a user has interacted with - are not possible anymore
increase in infrastructure cost: the buy side is forced to run an key/value server or the bidding and auction service. Both are unproven and unoptimised. The increase is significant especially if a buyer does not leverage the cloud at the moment. High bandwidth cost, additional cost per VM for confidential computing, while V8 is fast high performance bidding system are usually implement in C++, Rust or Go resulting in more needed resources for the same throughput. For example GCP compute is 2x+, egress is 4x+ (and that is with a multi million commitment in place) compared to non-cloud options.
Teams on the buy side need to reimplement half of the stack - from custom audience management over bidding logic, reporting and various ML models.

Without some attention to economical viability on the buy and sell side, it is likely that the majority of what works now will be net negative under FLEDGE.  🤷

I am closing this since B&A supports the unified flow. We will discuss about more optimizations to the architecture in the future. Thanks!


Question: How to solve unsatisfiable constraints for /bin/sh (virtual) with apk add on gliderlabs/alpine:3.8?

FROM gliderlabs/alpine
ENV TZ 'Europe/Helsinki'
RUN apk add --update python py-pip curl bash python2-tkinter python-dev libffi-dev gcc make py-cffi musl-dev openssl-dev
RUN pip install --upgrade pip

Thank You very much for your reply.


1.0.1 release?

Could we have a 1.0.1 release, with the latest changes (https://github.com/dlang-community/setup-dlang/compare/v1.0.0...v1)?
While syncing this repository to a Github Enterprise Server (using https://github.com/actions/actions-sync)
latest release is used instead of master.

Done: https://github.com/dlang-community/setup-dlang/releases/tag/v1.0.1


[top/rom] Allow software to delay device debug access

We currently enable debug access purely based on life cycle.
Specifically, when we are in TEST / DEV / RMA states, debug access is automatically enabled.
However, during production states (or any state where the device might be widely distributed, such as DEV state potentially), we can further delay debug enablement to give software a chance to fully wipe out any relevant content.
This is beneficial because a device reset does not necessarily wipe non-flop contents like memory, and those may hold important secrets that we do not want to expose to debug access.  This is especially true for RMA transitions, where post transition a reset is required.
The trade-off to such a feature is that ROM debugging would be hampered. If JTAG for example is not enabled until ROM executes, then ROM by definition cannot be debugged.
This is a security / usability trade off that needs to be made.  For more mature projects, it will make more sense to lean towards security instead of usability.

This is especially true for RMA transitions, where post transition a reset is required.

IIRC we erase the owner flash when transitioning to RMA, can we erase any memories that we are worried about during that process? Are we concerned about the additional hardware this might require?

yes that's something we added to otbn.
So we filed this issue as a future enhancement to see if there are even more secure approaches.

This issue was briefly discussed in the software working group (2022-08-02). The consensus was to wait for suggestions from the hardware teams before discussing further.

Triaged for rv_dm. Assigning to M2.5 with https://github.com/lowRISC/opentitan/labels/Priority%3AP1 because I think we should make sure current HW and ROM are suitable for production.  If yes, defer back to FutureRelease.

Is the concern here only non-volatile flash memory and retention SRAM? Or are any other memories the issue, e.g., OTBN SRAM? Can we reuse the same mechanism that erases owner flash content before RMA transition also for DEV and TEST transitions? The next question that comes to mind is whether we want to even do that, might it impact functionality if we erase flash content at DEV and TEST transitions where owner might not be changing?
Also, all memories are scrambled. This also offers some level of confidentiality, though not cryptographically strong AFAIK. Unless we can identify a tangible security implication, I would go for usability and accessible ROM debug access with this one.
@andreaskurth I second your suggestion that we discuss this in the Security WG and hear some more thoughts to decide.

I prefer not to block our ability to debug the ROM until we have tested on silicon. The following issues capture previous discussions:

https://github.com/lowRISC/opentitan/issues/15222
https://github.com/lowRISC/opentitan/issues/15613

As discussed in the Security WG on 2023-03-16, we don't see a reason to delay debug access in software (in particular enable it only after a part of ROM has executed).
Debug access is only enabled in the TEST_UNLOCKED, DEV, or RMA states.
In TEST_UNLOCKED and DEV, the device does not contain secrets that would be protected by delaying debug access post ROM execution (those states cannot be reached from PROD).
RMA entry is protected by a token. Upon RMA entry, secret partitions of flash get wiped, key manager derivation changes, and OTBN changes the scramble keys for its memories. The SRAM controller resets to its default scrambling key. If that key is different from an ephemeral scrambling key provided by OTP prior to reset, SRAM content is rescrambled as well. There are thus multiple protection mechanisms against leaking confidential data through debug access in RMA.
Delaying debug access in software would prevent debug access to the core prior to debug enablement in software. This reduces observability in debug environments and would also influence our manufacturing programs.
For all these reasons, we have decided to close this issue. An option worth considering for future releases could be to distinguish TEST from DEV w.r.t. debug enablement. If we see a need for this, we'll open a new issue.


Adding IPv4 Scalar type and small typho fix.

Adds support for IPv4 Scalar type.

according to https://github.com/ChilliCream/hotchocolate/issues/2927
resolves issue #3095

And fixes HSL Scalar mismatched error.

@joslat looks good to me.
@PascalSenn can you have another look and approve.

Nice Job!

Thanks, Greg! Now let's see if the comments are resolved and this can be merged... will be my first "collaboration" (once it gets finally in)


Adds restructuredText (.rst) language type

restructuredText is a lightweight markup format used widely for e.g.

Python documentation
Static site generators
Academic papers

Seems like a rather long name, but ok.

I debated calling the option --rst, and I'm happy to change it if you prefer


Helm: Improve experience for editing chart values

Codecov Report

Merging #469 into master will decrease coverage by 0.48%.
The diff coverage is 19.83%.

@@            Coverage Diff             @@
##           master     #469      +/-   ##
==========================================
- Coverage   56.43%   55.95%   -0.49%
==========================================
  Files        1075     1077       +2
  Lines       34150    34470     +320
  Branches     4789     4871      +82
==========================================
+ Hits        19273    19288      +15
- Misses      14877    15182     +305


Fix minor typo in send modes explaination

Minor typo but i thought i would PR it rather than letting it slip

Thanks, any idea what's up with line 81 showing as changed though (even though it looks unchanged)?


Hashing on target wasm-unknown-unknown is very slow

Following up on an issue reported in zip-rs (https://github.com/mvdnes/zip-rs/issues/144), calculating the CRC in wasm for files slows down decompression by 150x.
This library is incredible on native, but unfortunately poses some issues when compiling with wasm_bindgen.   Disclaimer: I know almost nothing about wasm but am looking into it.

Hi, thanks for the report!
This doesn‘t sound right, and looking at the original zip-rs issue, the amount of memcpy calls confuses me. There shouldn‘t be any memcpy calls as crc32 is written to be completely zero-copy.
Do you have an example project that I could use to reproduce the issue? I suspect there is an issue with the compiler backend here, but would like to confirm it.

For sure!  Here's a minimal repro that I created for you:  https://github.com/tonyhb/rc32fast-repro
To run, make build-web make run-web runs wasm.  You can also make to run native and test.  It comes with 3 zips - using the larger 3mb zip may cause you to spin, so to profile I use the smaller 256kb zip.
I read your code and couldn't understand why, either, but I've been doing rust for all of 4 days and need to dive into how it all works.  Getting there!

Thanks for the minimal reproduction, that was super useful!
The fix itself is relatively simple: You need to build the code in "release" mode (by passing --release to cargo) in order to get decent performance. With this flag enabled, parsing the 3MB zip file takes ~100ms in total, with the crc32 calculation at around 20ms.
In your case, I've applied the following changes:
diff --git a/Makefile b/Makefile
index 2174ce3..53de813 100644
--- a/Makefile
+++ b/Makefile
@@ -6,6 +6,6 @@ run-web:

 build-web:
        RUSTFLAGS=--cfg=web_sys_unstable_apis \
-                 cargo build --target wasm32-unknown-unknown
-       wasm-bindgen ./target/wasm32-unknown-unknown/debug/crc32fast-repro.wasm --out-dir target/build --web
+                 cargo build --target wasm32-unknown-unknown --release
+       wasm-bindgen ./target/wasm32-unknown-unknown/release/crc32fast-repro.wasm --out-dir target/build --web
        cp ./src/web/index.html ./target/build/

If you're new to Rust, here is something you can take away from this: Building Rust programs in debug mode rarely gives an accurate picture when it comes to performance, because a lot of Rust's higher-level abstractions rely on the optimizer to achieve their performance goals.
I've spent some time looking at the generated WASM as well as LLVM bytecode, and I'm still not entirely sure why exactly Rust/LLVM is deciding to add the call to memcpy when compiling in debug mode, but at this stage I figure the best thing to do is to compile in release mode and make sure that the memcpy calls get removed by the optimizer.
Let me know if you have any questions or don't agree with this, otherwise I'm inclined to close this issue!

Wow.  Can't believe I didn't look at that 🤦 .  Sorry to take up your time, dude, and I appreciate you taking your personal time to look at it.
Did not expect that memcpy would be added in debug mode.
Thanks again.  Let's close.

Also was just catching up with a coworker and (this is very off topic) we both really appreciate the time and effort you put into your response.  It's super helpful, very thoughtful, and it's also really friendly.  Thank you for being awesome!


Create GrpcResult generic type

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 2 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-11.8%) to 32.456%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/bin/server.rs
0
2
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-11.8%

Covered Lines:
111

Relevant Lines:
342

💛  - Coveralls


Update sbt-wartremover, wartremover to 3.0.13

About this PR
📦 Updates

org.wartremover:sbt-wartremover
org.wartremover:wartremover

from 3.0.6 to 3.0.13
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.wartremover" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.wartremover" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #1725.


barcode scanning not working when trying to scan a code present on top of image

I don't know if this is an issue, I am trying to scan a barcode which is placed on top of image, and its not detecting any code when scanned. The barcode has a different background, regardless of the image, a black box and margin is applied to the barcode, so I expected the scanning will work, is there any work around to this?
The image I am trying to scan is this

Is the barcode inverted? (So the white and black areas switched places)
It indeed does not scan for me as well.

Is there any way to know barcode is inverted or not?
I scanned with some other scanner apps, it worked there.

I don't know of a way to figure that out. However, there is an open PR (we still need to review it properly and give feedback)
Can you test with that PR's branch to see if it would fix this issue?

Yeah the barcode was inverted, it is fine if the package doesn't support. I have changed my implementation to show normal barcodes rather than inverted.
Thanks.


use ApiService with mockedData and react query

add ApiService that includes the API methods
add mockData file so we could see some data until the real API real work.
install react Query package to the project.
use the react query library in the clustersList component.

Mock Data file:

ApiService file:

@chad11111


⚠ Samsung has degraded performance

In cb23d32, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2912 ms

Resolved: Samsung performance has improved in e313273.


Move "Add indicator" form into modal

Issue
We now have two indicator setup experiences:

A full page version when you click "Add indicator" from the program page or home page.
A modal version when you click the gear icon on the program page or IPTT report.

Here's what the full page experience looks like today. After clicking "Add indicator", you see this:

After clicking "Save changes", you are taken to a full page version of the 6-tab indicator setup form.
Acceptance criteria

[ ] 1. Add an indicator form in pop-up

[ ] 1.1. When I click on "Add indicator" from the Program page, the form loads in a modal.

[ ] 2. There are no breadcrumbs in the form.
[ ] 3. Upon clicking "Save changes", display indicator setup form in the same modal window.

[ ] 3.1. Let's NOT show this confirmation message anymore. The fact that the database has already created an indicator object is not something we necessarily want to flaunt, as it gives an impression that it's fine to back out and fill in the rest later.

[ ] 4. We can keep this message, with some tweaks.

[ ] 4.1. If you've accessed this modal from the home page, need to make sure that clicking the link still takes you to the program page.
[ ] 4.2. If you've accessed this modal from the program page, clicking the link closes the modal and refreshes the program page to show your new indicator.

[ ] 5. All form validation messaging works as expected on the following tabs

[ ] 5.1. Indicator name field empty  -- warning to complete fields in the Summary tab
[ ] 5.2. Level field left empty -- warning to complete fields in the Performance tab
[ ] 5.3. All of the validations and warnings on the Targets tab work as expected.

Housekeeping (where applicable)

[ ] Unit test/s written
[ ] i18n strings included
[ ] Is accessible to people using screen readers

This ticket is subsumed by other tickets related to system messaging, as well as new patterns being developed for Partner Access that may replace the pop-up altogether. Closing this ticket.


Is there a way to use this plugin in react without jquery

Thanks for the awesome plugin 👍🏼
from the example https://webpack.js.org/plugins/provide-plugin/#usage-jquery
i see Jquery is a must for using this plugin. we don't want to use Jquery in our application, is there a way to use this plugin in react without using Jquery
@giniedp any help is much appreciated.

i totally understand that but unfortunately not, at least not yet. I have a local branch where i am about to remove the jQuery dependency wich i could push today. But i doubt that it will be released any time soon.

@oblivionbees hey, i am happy to tell that a beta version of spritespin is available. no jQuery dependency any more.

install as spritespin@beta
https://spritespin-beta.ginie.eu/

The API should not change at this stage. I am working on examples and documentation and watching for bug reports.


regression in API pages

see goToPage and viewPage API

Thanks Abir.
It is solved.
Can you confirm @GhilesHideur  ?

Confirmed after several internal use-cases


E17 compatibility

Hi,
I just tried the theme in e17 and seems to work good, how much compatible it is ?

It compatible with e19 and partially with e20


💬 FAQ Page

Challanges

Creating FAQ Page for the app following the original design pattern
Creating Static FAQ Dropdown with relevant answers
Design UI/UX for page
Navigation of user from FAQ to particular page (if necessay )

Hi @Lakhankumawat, would like to take this up.

You will be accompanied by some mentor shortly

Go thorugh Figma Files to check it out and get assets for the same :

Challanges :

List Must be collapsable and must consists of inner elements as shown in image above
Design Constrains must be followed i.e. your design must be responsive
Add Navigation and routing
maintain code quality and make separate components and reusable widgets .

@Lakhankumawat where can I find the figma link?

Repo README at the top

cool, was curious to know if a PR raised now will be counted in GSSOC?

Just wait for some time because the mentors are not yet assigned , also if you wish to contribute I'll make sure you get your points when it starts .

yaa

Hey @Lakhankumawat I wanted to work on this issue, so could you assign me the task.

Hi,
Please let me know if I can work on this task

Can I get assigned this thing?

@chandan0000 @WarMac4964  Can you please assign this task to me ?

Assigned to @Subhajitongit  because he came second and @Ashish-AI  is already assigned an issue  and we follow first come first serve principle  make sure you follow code conventions and quality of code 🙃

nd sorry to other guys who did n't get the issue menwhile you guys can explore figma designs and come up with something new or you can suggest something new by creating a new issue and describing it in detail and we will be happy to see it .

I would recommend the contributor of this issue to fetch upstream and resolve conflicts before creating a new Pull Request.

hi @Subhajitongit  you have 4 more days then this issue will be assigned to someone else

Un assigning @Subhajitongit due to inactivity

@MnCSSJ4x since you were next in queue who hasn't assigned any issues so  this issue is assigned to you , you can start working on it .

Can you assign this task to me?


Generalise import handling to work with Python code

Generalise import handling to work with Python code specifying the imports rather than a restrictive JSON model of the imports. This way we're closer to being able to add arbitrary Python snippets to existing code respecting their imports.

PR is just into another branch and all this code is unused so far. Merging.


Remove hardcoded pin when SetCredential command is implemented.

false

https://github.com/project-chip/connectedhomeip/blob/f0f5de0d79ae1c51d7fddbf70900ebac0acd899a/src/app/clusters/door-lock-server/door-lock-server.cpp#L49-L54

This issue was generated by todo-issue based on a TODO comment in f0f5de0d79ae1c51d7fddbf70900ebac0acd899a.

It is already implemented in the SDK.


Call to a member function getGroups() on null

This is preventing performing a successful logout.

Can you describe steps to recreate? If they passed the "logged in" check, then there should be a user available.

https://screenrec.com/share/ylMLU5XGCe
check out this video, I recorded this while using bonfire. you will get to know how this error occurred.

this was an error on codeigniter/shield, it fixed on develop-branch https://github.com/codeigniter4/shield/pull/211


Captcha still doesn't work.

Describe the bug
Captcha still doesn't work.  I can't log in.
Expected behavior
Log in successful.
How to reproduce it (as minimally and precisely as possible):
Steps to reproduce the behavior:

Install (I did via Docker)
Go to localhost:4000
Attempt at logging in.

Relevant entries from the logs
2021-07-15 22:10:18.987 [info] GET https://auth.tesla.com/oauth2/v3/authorize -> 200 (356.739 ms)

2021-07-15 22:10:19.307 [info] GET https://auth.tesla.com/captcha -> 200 (317.283 ms)

2021-07-15 22:10:33.679 [info] GET https://auth.tesla.com/oauth2/v3/authorize -> 303 (734.742 ms)

2021-07-15 22:10:36.805 [info] GET https://auth.tesla.cn/oauth2/v3/authorize?login_hint=[EMAILWASHERE]&client_id=ownerapi&redirect_uri=https%3A%2F%2Fauth.tesla.com%2Fvoid%2Fcallback&response_type=code&scope=openid+email+offline_access&code_challenge=d9uTHDNpA38Mg1k7nTu_0HrGi8iA_jMRz70N7CxDrQw&code_challenge_method=S256&state=Ccz7TZMW0UzcZGy -> 200 (3125.805 ms)

2021-07-15 22:10:37.054 [info] GET https://auth.tesla.com/captcha -> 200 (246.062 ms)

2021-07-15 22:10:37.592 [info] POST https://auth.tesla.cn/oauth2/v3/authorize -> 200 (537.113 ms)

2021-07-15 22:10:37.772 [info] GET https://auth.tesla.com/oauth2/v3/authorize -> 200 (179.214 ms)

2021-07-15 22:10:37.929 [info] GET https://auth.tesla.com/captcha -> 200 (154.382 ms)

Screenshots

Environment

TeslaMate version: 1.23.6
Type of installation: Docker
OS TeslaMate is installed on: Windows
User OS & Browser: Windows (Same machine). Vivaldi
Others: No captcha abuse from my IP. In screenshot/logs I used a fake password and email.

Sidenote:
All of the issues involving this are closed and the changelogs say it's fixed, but it's still not working for me. I have no clue why I would be any different. Any help here is appreciated, but I can't find any other reason why this would still be broken.

+1

+1

+1

+1

@adriankumpf I was able to pull edge a few minutes ago and was able to log in successfully. Thank you for the fix.

Fixed in v1.23.7


fix(quran): search issue when in juzs section

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


 Apple will sunset support for exact image sizes on June 30th Link
Related Issue

Closes #51
Motivation and Context

This plugin will not supposedly not work as expected due to Apples new guideline. Please see the link above.
How Has This Been Tested?

I already have this change in use using a fork of this plugin:
Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[X] My code follows the code style of this project.
[X] My change requires a change to the documentation.
[X] I have updated the documentation accordingly.
[X] I have read the CONTRIBUTING document.
[X] I have added tests to cover my changes.
[X] All new and existing tests passed.

@devgeeks / @EddyVerbruggen
any roadmap for merging?


Allow to specify github pullrequest merge method

Signed-off-by: Olblak<EMAIL_ADDRESS>Allow to specify github pullrequest merge method
Fix #492
Allow to specify a pullrequest merge method by using the key mergemethod set to ["","squash", "merge","rebase"]
Test
To test this pull request, you can run the following commands:
go build -o bin/updatecli
# Then test using an updatecli manifest that tries to open a pullrequest

Additional Information
Tradeoff

Potential improvement

I still needs additional testing 😁

It's now ready to be merged. The last commit fix the issue identified during testing


Floodlight start error

Hi all,
I am new in using floodlight and i can not find what is wrong .
I installed floodlight and when i try start i get this:
floodlight# java -jar target/floodlight.jar
20:00:47.715 INFO [n.f.c.m.FloodlightModuleLoader:main] Loading modules from src/main/resources/floodlightdefault.properties
20:00:48.177 WARN [n.f.r.RestApiServer:main] HTTPS disabled; HTTPS will not be used to connect to the REST API.
20:00:48.179 WARN [n.f.r.RestApiServer:main] HTTP enabled; Allowing unsecure access to REST API on port 8080.
20:00:51.881 WARN [n.f.c.i.OFSwitchManager:main] SSL disabled. Using unsecure connections between Floodlight and switches.
20:00:51.882 INFO [n.f.c.i.OFSwitchManager:main] Clear switch flow tables on initial handshake as master: TRUE
20:00:51.882 INFO [n.f.c.i.OFSwitchManager:main] Clear switch flow tables on each transition to master: TRUE
20:00:51.883 INFO [n.f.c.i.OFSwitchManager:main] Setting 0x4 as the default max table to receive table-miss flow
20:00:51.915 INFO [n.f.c.i.OFSwitchManager:main] Setting max table to receive table-miss flow to 0x4 for DPID 00:00:00:00:00:00:00:01
20:00:51.916 INFO [n.f.c.i.OFSwitchManager:main] Setting max table to receive table-miss flow to 0x4 for DPID 00:00:00:00:00:00:00:02
20:00:51.924 INFO [n.f.c.i.Controller:main] Controller role set to ACTIVE
20:00:51.988 INFO [n.f.f.Forwarding:main] Default hard timeout not configured. Using 0.
20:00:51.988 INFO [n.f.f.Forwarding:main] Default idle timeout not configured. Using 5.
20:00:51.988 INFO [n.f.f.Forwarding:main] Default priority not configured. Using 1.
20:00:51.989 INFO [n.f.f.Forwarding:main] Default flow matches set to: VLAN=true, MAC=true, IP=true, TPPT=true
20:00:52.722 INFO [o.s.s.i.c.FallbackCCProvider:main] Cluster not yet configured; using fallback local configuration
20:00:52.723 INFO [o.s.s.i.SyncManager:main] [32767] Updating sync configuration ClusterConfig [allNodes={32767=Node [hostname=localhost, port=6642, nodeId=32767, domainId=32767]}, authScheme=CHALLENGE_RESPONSE, keyStorePath=/etc/floodlight/auth_credentials.jceks, keyStorePassword is unset]
20:00:52.984 INFO [o.s.s.i.r.RPCService:main] Listening for internal floodlight RPC on localhost/<IP_ADDRESS>:6642
20:00:53.071 INFO [n.f.c.i.OFSwitchManager:main] Listening for switch connections on <IP_ADDRESS>/<IP_ADDRESS>:6653
20:00:53.093 INFO [n.f.l.i.LinkDiscoveryManager:main] Setting autoportfast feature to OFF
20:00:53.691 ERROR [n.f.core.Main:main] Exception in main
java.lang.RuntimeException: java.net.BindException: Address already in use
at net.floodlightcontroller.restserver.RestApiServer$RestApplication.run(RestApiServer.java:176) ~[floodlight.jar:na]
at net.floodlightcontroller.restserver.RestApiServer.run(RestApiServer.java:205) ~[floodlight.jar:na]
at net.floodlightcontroller.core.Main.main(Main.java:63) ~[floodlight.jar:na]
Caused by: java.net.BindException: Address already in use
at sun.nio.ch.Net.bind0(Native Method) ~[na:1.7.0_75]
at sun.nio.ch.Net.bind(Net.java:444) ~[na:1.7.0_75]
at sun.nio.ch.Net.bind(Net.java:436) ~[na:1.7.0_75]
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214) ~[na:1.7.0_75]
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74) ~[na:1.7.0_75]
at org.simpleframework.transport.connect.SocketAcceptor.bind(SocketAcceptor.java:183) ~[floodlight.jar:na]
at org.simpleframework.transport.connect.SocketAcceptor.(SocketAcceptor.java:100) ~[floodlight.jar:na]
at org.simpleframework.transport.connect.SocketListener.(SocketListener.java:81) ~[floodlight.jar:na]
at org.simpleframework.transport.connect.SocketListenerManager.listen(SocketListenerManager.java:98) ~[floodlight.jar:na]
at org.simpleframework.transport.connect.SocketListenerManager.listen(SocketListenerManager.java:81) ~[floodlight.jar:na]
at org.simpleframework.transport.connect.SocketConnection.connect(SocketConnection.java:106) ~[floodlight.jar:na]
at org.restlet.ext.simple.HttpServerHelper.start(HttpServerHelper.java:92) ~[floodlight.jar:na]
at org.restlet.Server.start(Server.java:579) ~[floodlight.jar:na]
at org.restlet.Component.startServers(Component.java:642) ~[floodlight.jar:na]
at org.restlet.Component.start(Component.java:567) ~[floodlight.jar:na]
at net.floodlightcontroller.restserver.RestApiServer$RestApplication.run(RestApiServer.java:174) ~[floodlight.jar:na]
... 2 common frames omitted
Thx

20:00:53.691 ERROR [n.f.core.Main:main] Exception in main
java.lang.RuntimeException: java.net.BindException: Address already in use
at net.floodlightcontroller.restserver.RestApiServer$RestApplication.run(RestApiServer.java:176) ~

You probably already have another instance of Floodlight running. Kill any processes using port 8080

@Catalin92 If you still have problems, try posting to the mailing list at<EMAIL_ADDRESS>@Sovietaced was pretty quick to respond here, but the list will typically get you help faster, since more people check that. Let us know if you have any further issues or when you resolve yours.

Thanks for answers.
I reinstalled all my programs(mininet , OVS, floodlight) and now it works . I am not sure what was wrong then but i don't think was a  problem with ports because i had same problem even after a restart(or kill -9 -1).

@Catalin92 Great to hear! I'll close this issue then. Feel free to reach out on the mailing list in the future if you have any problems getting up and running.

I have already solved the problem, floodlight's config file is floodlight/src/main/resources/floodlightdefault.properties, when I open the config file,I find the port 8080,so I check the port I have used,as a result,I find I have use the port 8080 for nginx,so I kill the nginx process,then everything is ok.

20:00:53.691 ERROR [n.f.core.Main:main] Exception in main
java.lang.RuntimeException: java.net.BindException: Address already in use
at net.floodlightcontroller.restserver.RestApiServer$RestApplication.run(RestApiServer.java:176) ~
what to do?

what to do?

Find out what is running on port 8080 and see if it can be killed. If it cannot be killed, adjust the property files to change the port that floodlight runs on.


--ignore option not accepting glob

According to the help shown by -h, --ignore option should accept glob.
However when I run with --ignore *.sqlite3, it throws an error saying:
(node:16493) UnhandledPromiseRejectionWarning: SyntaxError: Invalid regular expression: /*.sqlite3/: Nothing to repeat
This is because it uses RegExp to construct regexp object from the string and `*` is interpreted as arbitrary repetition but nothing precedes it (by the way RegExp is introduced in [this PR](https://github.com/zeit/micro-dev/pull/54)).

I figured out the problem myself.
micro-dev relies on chokidar for file watcher, and chokidar relies on anymatch for pattern matching.
According to the documentation of anymatch, something like .idea to absolute path does not match. Instead we have to pass **/.idea/** if we want to ignore without using RegExp.
anymatch('node_modules/**', '/absolute/path/to/node_modules/somelib/index.js'); // false
anymatch('**/node_modules/**', '/absolute/path/to/node_modules/somelib/index.js'); // true


haskell.compiler.ghc8107Binary: add missing #! patch

inplace/bin/mkdirhier needs #!/bin/sh patched to run properly. This may affect other dists, too, but this is where I ran into it.
Description of changes
Attempting to build ghc8107Binary (to bootstrap default ghc) on non-nixos host was failing on release-23.11 with glibc version errors when attempting to run inplace/bin/mkdirhier during make install.  This adds script in this directory (just this one really) to the patchShebang list.
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
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 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

[ ] Fits CONTRIBUTING.md.

I'd expect this problem also affects ghc8102Binary and ghc924Binary (some of the time). If you like feel free to add those changes.
Due to the high amount of rebuilds, please rebase on staging.

This caused a mass-ping and we cannot unsubscribe everybody who got CCed here. Hence I'll close&lock this now, please open another PR.


Suggestion: Option to display below the tree view?

I find that often I have modified a file so that when I next double click in the tree view, the file gets autosaved, and then tree-view-git-modified adds the file to it's list, and therefore moves all the files in the tree view down a line - resulting in opening the file above the one I was hoping to open.
Is it possible there could be an option to display the list below the tree view so that the above doesn't happen?

Sure, that sounds like a good idea. I will look into implementing it shortly. Thx!

This was done by someone else contribution.


Endpoint interface for inpainting models that require two images.

Is your feature request related to a problem? Please describe.
There doesn't appear to be an endpoint interface for Stable Diffusion inpainting models that require two image files, the base image and a mask.
Describe the solution you'd like
It would be handy to have an interface for these models so that the Hosted inference API widget would work on the model card views.
Describe alternatives you've considered
I recently had to create an endpoint for ControlNet inpainting: OrderAndChaos/controlnet-inpaint-endpoint. This was based on the philschmid/stable-diffusion-2-inpainting-endpoint endpoint.
Additional Context
Originally asked here: https://github.com/huggingface/huggingface_hub/issues/1486

@pcuenca @mishig25
This seems like a valid use case, wdyt ? Any models particularly fit for that ?
Maybe we should consider some highly diffuser specific component maybe (akin to Adobe ?) that could be much more general (trying to limit the number of different widgets/pipelines)
AFAIK there's:

Inpainting
ControlNet (lots of possibles additional masks/information)
Outpainting
Prompt + Prompt parsing
Negative prompt

I'm not saying to say we should support everything, I'm listing things I'm aware of that could be nice to add so we can try to think a single (at most a pair) of widgets that try to handle as many cases as possible.

, so it's a 1-to-1 relationship, is that right?

Indeed !


Update and rename missing-content.md to wellcast.md

👷 Deploy Preview for famous-marshmallow-cfbd61 processing.

Name
Link

🔨 Latest commit
c45b0a95fd966709bd92af80ac15da42304d7143

🔍 Latest deploy log
https://app.netlify.com/sites/famous-marshmallow-cfbd61/deploys/64b1fb2ad055150008637571


Frozen not working

I get the following error:
2021-08-05 06:57:57: Getting frozen data for ags: https://api.corona-zahlen.org/districts/09175/history/frozen-incidence/34 2021-08-05 06:58:00: {"error":{"message":"An error occurred.","details":"Cannot read property 'toString' of undefined","stack":"TypeError: Cannot read property 'toString' of undefined\n    at /usr/src/app/src/data-requests/frozen-incidence.ts:44:34\n    at Array.map (<anonymous>)\n    at Object.<anonymous> (/usr/src/app/src/data-requests/frozen-incidence.ts:42:24)\n    at Generator.next (<anonymous>)\n    at fulfilled (/usr/src/app/dist/data-requests/frozen-incidence.js:5:58)\n    at runMicrotasks (<anonymous>)\n    at processTicksAndRejections (internal/process/task_queues.js:97:5)"}}
Seems to me that the excel source once again has somehow changed.

see #264

Thanks! Just looked at the headlines and didn't conclude that this one was also about frozen.


Update es/upstream to include AllPermission fix

Missed to apply https://github.com/crate/elasticsearch/commit/e3ec3c9dd840bb8b52a1fe06896e22166c92fd6a

[x] User relevant changes are recorded in CHANGES.txt
[x] Touched code is covered by tests
[x] Documentation has been updated if necessary
[x] CLA is signed

retest this please

retest this please


Take all types into account when resolving the deadline handler

This resolves #2333

Looks good, but I'd like to see a test for this too.

I tried to do that but without success. Maybe you got a suggestion for me

Looks good, but I'd like to see a test for this too.

I tried to do that but without success. Maybe you got a suggestion for me

I'd hope we're able to add something to the AbstractRepositoryTest class.
It would require mocking the AggregateModel given to it I think, so that it returns several types.
The setup of the test is a bit awkward as we make an local variant of the AbstractRepository of course, but you can invoke the aggregateModel builder method on line 52 (right after: new AbstractRepository.Builder<JpaAggregate>(JpaAggregate.class)).


gnu-efi: 3.0.17 -> 3.0.15

Description of changes
Reverts #230601.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] 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/)
23.05 Release Notes (or backporting 22.11 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.

@ofborg build efitools

Uh, 33k rebuilds.

Though if it's wrong, we can't easily avoid such a rebuild.  Maybe downgrading on aarch64 only (for now?), but that doesn't seem worth it to me.

I'm going to do a system rebuild to check if aarch64-linux UEFI installations still boot on staging-next. The bug suggests that this is not the case.

Some installer tests passed on aarch64, but I don't know if they would get broken, off the top of my head: https://hydra.nixos.org/eval/1795672#tabs-still-succeed

I'm going to do a system rebuild to check if aarch64-linux UEFI installations still boot on staging-next. The bug suggests that this is not the case.

Still boots on my machine, so I guess the revert shouldn't be necessary...

My machine (aarch64 on MacOS Virtualisation.framework) got completely bricked today (EFI doesn't even load system-boot anymore).  I have a feeling it might be this version bump that caused it.

Very likely. I guess I'm not able to reproduce the issue as I'm on a different setup (aarch64-darwin, Parallels Desktop).
@vcunat What do you think?

Yes. can confirm that reverting https://github.com/NixOS/nixpkgs/pull/233944 fixes my machine. I suggest we reopen this PR and merge it into the next staging-next cycle :)

OK, done now as cc3ee6d82b5
The cycle was just beginning, so we're hardly lose any work.

r-ryantm will probably open a new PR soon, but we can then comment and draft it.


Sync eng/common directory with azure-sdk-tools for PR 2060

Sync eng/common directory with azure-sdk-tools for PR https://github.com/Azure/azure-sdk-tools/pull/2060  See eng/common workflow

The test failures are not due to these changes

/check-enforcer override


TUF/tuf name consistency

Per Go naming conventions, we should ensure that everywhere the acronym "TUF" is used, it is either all upper case or all lower case. We have many instances of "Tuf".
Low priority for somebody to do when they are on a flight or some such.

Should be solved as per #773


[MM-46861] Migrate tour tip to common components package

Summary
Migrate tour tip to common components package
Ticket Link
Fixes https://mattermost.atlassian.net/browse/MM-46861
Related Pull Requests
None
Screenshots
NA
Release Note
- Migrate tour tip to common components package

/update-branch

/update-branch

E2E tests not automatically triggered, because the PR is not in a mergeable state. Please update the branch with the base branch and resolve outstanding conflicts.


Do not build depend on pip

It seems to me that pip is not necessary to build.
In fact, I succesfully built 1.4.0a0 without pip, passing --skip-dependency-check option to python -m build so it won't complain.

Not sure if there's a way to squash both commits from the gh interface. I can do it if you want.
Also, if you have this in a different branch, feel free to drop and close this commit if you prefer.
FWIW, I built and tested 1.4.0a0 for our void linux package, x86_64 (glibc), x86_64 (musl) and i686 (glibc).


Can't manage members of top-level group

Describe the bug
I would like to manage the members of our top-level groups.
e.g. /infrastructure
I'm not able to write the correct config.yml for this task.
I have tried several variants.
Variant 1:
Here the user was only assigned to all subgroups of /infrastructure. However, not to the actual top-level group.
config_version: 3

projects_and_groups:
  "infrastructure/*":
    group_members:
      users:
        user1:
          access_level: owner

Variant 2:
An error was issued here for a subgroup of /infrastructure.
Error: The inheritance-break flag set in "infrastructure/subgroup" under key "users" is invalid
config_version: 3

projects_and_groups:
  "infrastructure/*":
    group_members:
      users:
        inherit: false
        user1:
          access_level: owner

Variant 3:
No error was output here. However, no change was made either.
config_version: 3

projects_and_groups:
  "infrastructure":
    group_members:
      users:
        user1:
          access_level: owner

Could you please help me to find the correct configuration?
GitLabForm version
3.4.0rc1
GitLab version
14.9.4-ee

Hi @escalate! Thanks for the detailed question.
Your problem seems to be the opposite of what was asked for in https://github.com/gitlabform/gitlabform/issues/434#issuecomment-1361247072 - there a user wanted to manage some settings only for a group, but not it's subgroups, while you want to manage subgroups, but not the group.
Unfortunately this is not yet supported but if we come up with a backward-compatible way to implement it, the chances for getting it added relatively soon are higher.
How about we do this:
projects_and_groups:
  "infrastructure": # settings for the "infrastructure" group, but NOT its projects or subgroups

and
projects_and_groups:
  "infrastructure/**": # settings for the projects and the subgroups of "infrastructure" but NOT that group itself

...while keeping the existing:
projects_and_groups:
  "infrastructure/*": # settings for the "infrastructure" group AND its subgroups

...and...:
projects_and_groups:
"infrastructure/project": # settings for the "infrastructure/project" project

Does this make sense to you? cc @amimas @jimisola

Hello @gdubicki ,
thank you for your quick response.
I will wait for this feature.
Best regards
Felix

Let’s keep this open until we implement it, @escalate :)

Hi @gdubicki  - I think the following two samples from your proposal might be conflicting.
projects_and_groups:
  "infrastructure": # settings for the "infrastructure" group, but NOT its projects or subgroups

projects_and_groups:
  "infrastructure/project": # settings for the "infrastructure/project" project

Here the second example could be a project or another specific subgroup of infrastructure group. How do we tell what we're configuring?
I haven't thought of an alternative yet. But you mentioned...

while you want to manage subgroups, but not the group.

I don't think that's what the original issue/desire is. I believe the user is expecting the group to be managed but it's not working. It's only working on subgroup for them. Please correct me in case I'm reading the post wrong.
Out of the 3 variants of config from @escalate , the 1st variant looks correct to me. Not sure why it's not working for them. Need to try and reproduce the issue I think. The 2nd & 3rd variant config seems wrong.

(...) How do we tell what we're configuring?

Yes, it could be a project or a group. I initially thought that it's not a problem because we will just apply whatever config is inside to whatever entities are matching (we could throw an error if the config doesn't apply to anything - f.e. when there is a group-level config under such entry while in fact it is a project). But perhaps it's better to distinguish what we expect in the config syntax itself. I just don't have a good idea how could that syntax look like so it's intuitive. Something like infrastructure/<some symbol>, perhaps?

I don't think that's what the original issue/desire is.

I think we are kind of both right.
Firstly there seem to be some bug happening here, because the 1st variant should apply the group members to infrastructure group AND all its subgroups, f.e. infrastructure/subgroup1, infrastructure/subgroup2 etc.
This surprises me a lot because this variant looks ok to me too and all the tests are using it successfully - see https://github.com/gitlabform/gitlabform/blob/df0e1ae7f1ed6078b8aa72ee07ff3696caf343e6/tests/acceptance/standard/test_group_members_users.py.
But secondly it seems that @escalate does NOT want the group members to be configured in the subgroups but ONLY in the infrastructure group - for that we would need to implement a missing feature.
(To make this more complicated, because of unexpected behavior about which I wrote here for now you seem to be able to achieve @escalate's outcome if you run gitlabform ONLY with gitlabform infrastructure but NOT with ALL_DEFINED or ALL. But this behavior will change in the future, although perhaps only in v4 as it's a pretty breaking change.).

Actually if you have a relatively static list of subgroups within the infrastructure group, @escalate, you could use this syntax:
config_version: 3

projects_and_groups:
  "infrastructure/*":
    group_members:
      users:
        user1:
          access_level: owner

  # repeat this for each of your subgroup
  "infrastructure/subgroup1/*":
    group_members:
      inherit: false

But secondly it seems that @escalate does NOT want the group members to be configured in the subgroups but ONLY in the infrastructure group - for that we would need to implement a missing feature.

Hmm... I guess I mis-interpreted what @escalate  is trying to achieve. But even in that case, I'm not sure gitlabform can do anything about it. Isn't it a built-in feature from Gitlab itself to inherit membership of parent groups?

able to achieve @escalate's outcome if you run gitlabform ONLY with gitlabform infrastructure but NOT with ALL_DEFINED or ALL.

Ahh... I see. That makes sense now. I am using the first variant config that @escalate posted and it's working for me. I use ALL_DEFINED when running gitlabform.

Actually if you have a relatively static list of subgroups within the infrastructure group, @escalate, you could use this syntax:

I had also tried this way. However, I don't want to have to remember to adjust config.yml every time a new subgroup is created via the UI. This is not intuitive enough for me and my colleagues.

Actually if you have a relatively static list of subgroups within the infrastructure group, @escalate, you could use this syntax:

I had also tried this way. However, I don't want to have to remember to adjust config.yml every time a new subgroup is created via the UI. This is not intuitive enough for me and my colleagues.

Of course, we also don't want that in the longer term. That would just be a temporary workaround. :)

Thanks for providing more info about what happened, @escalate!
Our code in fact does not use the PUT method and is using a sequence of DELETE and POST instead. And all our our acceptance tests and all kinds of real-world use worked this way with no issues up to this point.
I tried to reproduce your issue here but I was not able to - it "works for me". Can you please share an output of your gitlabform run that throws this HTTP 409 with --debug verbosity? You can do it more privately if you join our slack channel, if you prefer that: https://join.slack.com/t/gitlabform/shared_invite/zt-1mojm69tg-IFOlso8JLq3iFwZramCbrw
PS While investigating this I did in fact add support for PUT methods in the above MR, mostly as using PUT should result in cleaner audit logs (not showing misleading removal and adding users), and while I don't expect it help your case, it might help, so I will ping you when this gets merged and released in the next 3.4.0 release candidate/final release so you can retest with it - unless we find the issue sooner based on the logs that I hope you will be able share. :)

Thank you for the update.
Also with this version the same error appears.
I have tested further and found that it is due to the case sensitivity of the usernames.
My username has a capital letter at the beginning and at the end.
However, in config.yml I have the usernames all lowercase.
But the check if a user already exists seems to be case sensitive.
With the correctly written username also the errors disappear.
I thought the upper and lower case does not matter.
The users in our GitLab are from our Active Directory (LDAP).
When logging into Gitlab, the username can be lowercase.
The usernames in config.yml can also be lowercase when adding to a group.
But on the second pass, the users can no longer be found in the group, even though they already exist.

Lower case usernames don't work

It seems that we need to make the app case-insensitive for usernames then, like we already do for project and group names.

I think it would be generally better to split the keyword projects_and_groups into projects and groups.
Probably it would be easier to distinguish in the code which API has to be addressed.
Also it would be clearer how to handle the * wildcard and the direct group names.
In addition, it fits well with the existing two keywords skip_projects and skip_groups.
This breaking change might be good for config version 4.

Interesting take.
Could you please go ahead a propose a syntax f.e. to provide settings:

to a group entity and its subgroups/projects,
to a group entity but NOT its subgroups/projects,
ONLY to the group's subgroups/projects,
?

Hello @gdubicki,
My idea for structuring the YAML file is the following.
To filter the projects I would use the key "path_with_namespace".
See API docs: https://docs.gitlab.com/ee/api/projects.html
To filter the groups I would use the key "full_path".
See API docs: https://docs.gitlab.com/ee/api/groups.html
These are also the keys currently in use.
Example YAML file after split:
projects:
    "*":  # All projects
    "group1/project1":  # Only project1
    "group1/*":  # All projects starting with group1/

groups:
    "*":  # All groups
    "group1"  # Only group1
    "group2/subgroup1"  # Only subgroup1
    "group2/*"  # All groups starting with group2/ incl. group2

All prefixes can be removed from the keys after splitting. e.g. project_ or group_
projects:
    "*":
        members:
        settings:  # Instead of project_settings
        badges:
        variables:

groups:
    "*":
        members:  # Instead of group_members
        settings:  # Instead of group_settings
        badges:  # Instead of group_badges
        variables:  # Instead of group_variables

skip_projects:
    - group1/project1  # Only project1
    - group1/*  # All projects starting with group1/

skip_groups:
    - group1  # Only group1
    - group2/subgroup1  # Only subgroup1
    - group2/*  # All groups starting with group2/ incl. group2

Is the explanation helpful for you?
Best regards
Felix

I like the structure but I'm not sure if we should spend a lot of time on this considering that GitLab is working on moving away from projects and groups to namespaces by the end of 2023, i.e. GitLab will merge projects and groups into a new entity.
See e.g.: https://gitlab.com/groups/gitlab-org/-/epics/9090

I agree with you. The effort would not be justified. The only thing left open in this issue is the changeover of the username check.


protos: Remove several unused macros, functions and global variables

The unused global variable TrainingData used a lot of runtime memory.
Signed-off-by: Stefan Weil<EMAIL_ADDRESS>

The 2nd commit removes the unused config variable MicroFeatures. Is this acceptable, although in theory it might cause problems when it is still in use somewhere?

Comparing sizes before and after these commits:
   text	   data	    bss	    dec	    hex	filename
2542223	  16064	2770240	5328527	 514e8f	tesseract (old)
2540439	  16056	 410944	2967439	 2d478f	tesseract (new)

Tesseract was built with --disable-shared.

I did not find any usage (yet ;-) ) Let's try it :-)


DigiScape instance SPARQL UI not returning results

http://<IP_ADDRESS>/function/sparql

Irrelevant - GRAPH querying needed in SPARQL


Bugfix: Documentation fixes

I've a small PR to fix a few small issues I encountered whilst running through the guide from scratch:

The route53 resource was incorrectly called Route 53 in many policies, and a supporting hyperlink.
The subscription filter now uses double-quotes ("") in the first example, to handle exact matching of domain names (and dashes, etc.)
DNSZONE isn't necessarily defined until later on in the documentation, so the reference to the policy containing it was fixed to point further down the guide.
The lambda function now uses root variables to have one area for guide followers to configure alternate region, cluster, and service names.

Everything else worked as expected, and many thanks to putting this together! I've been meaning to do this myself for a while now, but this guide clarifies the setup, and what the components are used for very well.

Great catches, especially on my obvious find+replace mistake for route53...  I may modify the order of the procedure so that it can be performed chronologically (this was intended) but am going to merge your fixes in first.


Add config option for redirect target (other than /panel)

I know, this plugin is currently meant to log in Oauth users into the Kirby panel. However, Kirby users can also be used to implement restricted pages (see https://getkirby.com/docs/cookbook/security/access-restriction) by creating a user group, that doesn't have access to the panel.
Therefore, it'd be great, if there was an optional config option for a redirect target (after succesful login) other than /panel, so it could be used to direct the user to some restricted page, e.g. /internalPage/someSubpage.
Are you open this? I might come up with a PR, if this is okay for you.

Sure, great Idea!

I believe this should already be achievable with Kirby 3.6 out-of-the-box (well, except for two bugs, https://github.com/getkirby/kirby/issues/4054 and https://github.com/getkirby/kirby/issues/4056, that need to be addressed first): by setting the home option in a user blueprint, we can control where a user lands after login. This is extremely flexible, including custom site methods.
The neat thing is that the URL /panel also redirects to that configured "home URL" after the initial login. Since the OAuth plugin specifically redirects to /panel, this should comprehensively cover above use case and likely not require any changes to this plugin?

@sebastiangreger Yes, that's what I figured out, too. I don't think there need to be any adjustments to this plugin. Thanks for your research and the bug tickets! Closing this issue, as this can be achieved with Kirby alone.

Great, thanks guys! 👍

I believe this should already be achievable with Kirby 3.6 out-of-the-box (well, except for two bugs, getkirby/kirby#4054 and getkirby/kirby#4056, that need to be addressed first): by setting the home option in a user blueprint, we can control where a user lands after login. This is extremely flexible, including custom site methods.
The neat thing is that the URL /panel also redirects to that configured "home URL" after the initial login. Since the OAuth plugin specifically redirects to /panel, this should comprehensively cover above use case and likely not require any changes to this plugin?

@sebastiangreger I've submitted two PRs to fix both of the bugs you discovered. Hope the Kirby team agrees with my fixes and we can get this merged in the next release.


Governance UI improvements

Selector for oldest/newest is not needed for Proposals or Consensus Changes. Just use newest first order always.
Status selector (approved, rejected, etc) should also have an All option. Can also show a count like the android mobile wallet does on the selector for the transactions page.
Remove wallet selector from Consensus Changes page.
Add status selector.
Voting Preference: yes    can instead read   Vote Choice: [wallet1] yes, [wallet2] yes
Update Preference button can instead say  Set Choice
Title can change to Set Vote Choice
ID field and title field are redundant. Get rid of the ID field. Don't capitalize the title.
Remove grayed out voting preference button on votes that are no longer active. Also, no need to show Vote Choice here.
On the voting dashboard popup, also display a link to https://github.com/decred/dcps  for dcps info.
Latest agenda order should be reversed for consistency with the rest of the older agendas.
Search boxes dont work.
Reload button is not needed on the Consensus Changes page.

https://www.figma.com/file/e0cYaAzkXyXXPY00v23cQY/GoDCR-%26-DCRMobile?node-id=1239%3A63393 associating designs.


Missing information on "merge into/pull from" dropdown on a forked repo

Description
Coming from this solved issue, when you fork a repository and transfer its ownership to the owner of the parent fork and create a pull request on the forked repository, the base repository is marked as the default target in the dropdown "merge into", which works well. If you then click on the "merge into" dropdown, you can see the different branches from the different repositories that can be selected:
See attached "Screenshot 1".
The issue comes when you click on one of the branches of the forked repo on the dropdown, everything works well but if you click one more time on the "merge into" dropdown, only the owner of the repository and the branch name can be seen, making it difficult to differentiate between which branch is on which repository.
See attached "Screenshot 2".
I guess that in image 2 it should be:

lopezd:test  -> lopezd/base-repo-fork:test
lopezd:main -> lopezd/base-repo-fork:main
lopezd:main -> lopezd/base-repo:main

And in the first image it would be useful to have:

lopezd:main -> lopezd/base-repo:main
lopezd:test -> lopezd/base-repo-fork:test
lopezd:main -> lopezd/base-repo-fork:main

This has been reproduced at https://try.gitea.io/:

https://try.gitea.io/lopezd/base-repo
https://try.gitea.io/lopezd/base-repo-fork

Gitea Version
1.17.4
Can you reproduce the bug on the Gitea demo site?
Yes
Log Gist
No response
Screenshots
Screenshot 1

Screenshot 2

Git Version
No response
Operating System
No response
How are you running Gitea?

Docker image
https://try.gitea.io/

Database
SQLite

I think it should be failed when move a fork to any user/org which have contains a parent or child fork repository.

Is there any reason not to allow an organization/user to fork and owned repository?

Is there any reason not to allow an organization/user to fork an owned repository?

I would still like to receive an answer to this question.

Is there any reason not to allow an organization/user to fork an owned repository?

I think the idea is derived from Github?

Yes, it is. But I was again not able to find any reasons on why it is the way it is.
My thoughts on this are, if Gitea has a feature that some users (like us and many others) have found use cases for it and those use cases are not against any patterns/good practices/etc, why remove it?
As I said, if there is a specific reason to not do so, I would happily close this issue and would love to see this feature/bug removed.

Closing as it was addressed in #22882


Recommended way to implement forms

When I did Reflux-based app I just used this.state.model as both initial data for forms
and write target at form changes. It was just a pointer to the same data for both component and store.
so it worked and was more convenient than piping every field through actions (omg).
With Baobab such trick is impossible(?), as data is "immutable". I wonder how people implement their forms and what are recommended approaches. 2-way data flow is very handy with forms so I'd like to have it in some kind.

Great question - I'm just running into this now and will share what I find. Curious to hear other people's solutions. @christianalfoni? @Yomguithereal?

@marbemac, I see a few possible directions:

Reflect new / edited model state in Baobab. Update Baobab state right from the component. No actions involved in field editing.

// This is not necessarily a good idea to let your components handle the state updates by
// themselves but you could do it if needed.
this.cursors.name.edit('John');

Use Baobab as default data for edited model only. Mirror new / edited model state in Form component. Update Baobab state on submit only. No actions involved in field editing.

@marbemac do see other ways to approach this?
@christianalfoni wrote a good article about forms, but there are no clues about Baobab and model state reflection (if I'm right: focus of article differs a bit).

There are two types of forms: with immediate save and with save on submit. First type of forms is popular in OS settings (immediate reaction, not required to scroll long list of options...) but is not really applicable for creation. When to save? Dunno... So CRUD should be either implemented with a mix of two (complex) or with second type only. That's why I propose to ignore the possibility of immediate forms for a while in this issue.

The other thing here is to be able to define whether your Baobab tree, i.e. your app's state, really needs to hold the state of your form, or at least to be in full sync when the inputs change. In most cases, you don't and state component is way simpler and can handle the form alone. In other, however, for whatever reasons, you'll need to store the form's state into the app's one. Only one tricky thing here with React: you'll have to commit the state changes synchronously if you don't want to observe nasty cursor hopping.
this.tree.commit();

The most complex thing is how to ask external data from component. Every example in the Internet just shows data already preloaded, lol. There is no way to declare external data dependency in component. React has nothing to help your, hooks doesn't accept promises, etc.
I'm getting very complex and error prone code when trying to emulate that.

I've just decided to accept reality, and simply preload all data from the start.
Otherwise React is plainly unusable as all it's API is not composable with async stuff.
"Practicality beats purity"

@ivan-kleshnin, what about cycleJS?

@Yomguithereal unfortunately, I don't reach form question there. I continue to elaborate both React and Cycle. CycleJS is a long-distance goal for me as it will be compatible with Web Components and have a lot of other promises but the lack of matherial about RxJS slows everything alot.
Of of the big problems with React (as I've already said a number of times) is it's hooks.
Behavior of hooks is predefined and can't be customized. Hooks are limited and limiting.
They are too class-oriented. In CycleJS you won't have any as you will operate on lower level.
React just merges rendering, control and state aspects in on Component. Seals it and expose hooks.
On the app level you operate with different primitives than on the component level. CycleJS resolves this by providing the same usable primitives (Model, View, Intent) on all levels. That's the main architectural benefit besides all that Rx stuff.

I've got working edit form prototype but with huge hacks. Please review and advice how to improve.
// EditRobotComponent
export default React.createClass({
  mixins: [State.mixin],

  cursors() {
    return {
      robots: ["robots"], // required to track load status
      loadModel: ["robots", "models", this.getParams().id], // "reference" model (see reset)
    }
  },

  getInitialState() {
    return {
      model: undefined,
      loaded: false,
      loadError: undefined,
      loadModel: {
        name: undefined,
        assemblyDate: undefined,
        manufacturer: undefined,
      },
    }
  },

  componentWillMount() {
    // `componentWillUpdate` is not called at first render, and data is not "changed"
    // so we need to hack this manually. How to handle this case without hack???
    RobotActions.askData();
  },

  componentWillUpdate(nextProps, nextState) {
    if (!this.state.model && nextState.cursors.loadModel) {
      nextState.model = Object.assign({}, nextState.cursors.loadModel);
    }
  },

render() {
    let {models, loaded, loadError} = this.state.cursors.robots;
    let loadModel = this.state.cursors.loadModel
    let model = this.state.model;

    if (!loaded) {
      return <Loading/>;
    } else if (loadError) {
      return <NotFound/>;
    } else {
      return (
        <DocumentTitle title={"Edit " + model.name}>
          ... form ...
        </DocumentTitle>
      );
    }
}

// Actions
export function askData() {
  State.select("robots").set("timestamp", new Date()); // dirty hack to trigger data sharing
}

React mixins are completely broken. No wonder they deprecate it.
Baobab mixins provides hook getInitialState() where there is already all data I need.
Second version of the same hook getInitialState() in component get called after but it does not receive data in arguments as it logically should. So the only way to solve such cases is to split components into data-source components and "working" components. Everyone seems to hate mixins now and for a reason. But the root of the problem lies in React inability to provide decent compositional block. Components are extremely complicated. They complect state, rendering, actions, external data input and external data output. They illustrate perfectly God-object anti-pattern. Every component is a little God-object.

Using my query mixin, this became fairly trivial.
https://gist.github.com/marbemac/a18582da8d2912285950#file-mixins-js
var Post = React.createClass({
  mixins: [ StateMixins.query ],

  queries: {
    post: {
      cursors: {
        entries: ['models', 'posts'],
      },
      local: function(_this, data) {
        // using react-router
        var id = _this.context.router.getCurrentParams().postId;
        // if we're editing a post, fetch it
        if (id) {
          return StateQuery.findOne(data.posts.get(), {id: id});
        } else { // not editing a post? return a new one right away
          return new PostModel();
        }
      },
      remote: function(_this, data) {
        return StateActions.findOne(
          StateActions.models.POST,
          _this.context.router.getCurrentParams().postId,
          false
        );
      }
    }
  }
})

In the local function, if there is a postId in the url, we look for the post locally (if not found, it will call the remote function and fetch it via the api). If no postId, then we just immediately return a new Post. Then, in render and all the functions that are called on form input updates, I use/edit this.state.post.result directly.

@marbemac I don't really like to keep everything in component, especially external data dependencies. It's a pain to test.

@marbemac I don't really like to keep everything in component, especially external data dependencies. It's a pain to test.

@ivan-kleshnin Why is it too much for one component? I understand the concept of the god-object, and don't believe this concept applies to components built in the way described above.
From the wikipedia god-object definition:
"Most of such a program's overall functionality is coded into a single "all-knowing" object, which maintains most of the information about the entire program..."

The react component described in my post knows nothing about the rest of the program. It knows enough to render itself, and that's it. It is not a god-object.
I actually modeled this after Relay. In relay, each component contains a definition defining the data needs for that component. This is useful, because now a component is self sufficient, and depends only on itself. You can drop it in anywhere and it will just work. It knows nothing about the rest of the system, or other components - it just knows how to render itself.
I'm curious about how you are fetching/managing data for your components? I'm totally open to other solutions! For me, so far, the solution above has been working quite well.

I'm updating Baobab tree on onBlur event:
import State from '../state';

var EmailForm = React.createClass({
  mixins: [State.mixin],

  cursors: {
    email: ['email']
  },

  updateEmail: function(v) {
    State.set('email', v);
  },

  render: function() {
    return <input
      defaultValue={ this.cursors.email.get() }
      onBlur={ this.updateEmail } />
  }
});

I would put it on onChange too, but the cursor get kind of crazy. Anyone has a better solution to it?
Back to the code, instead of calling State.set inside the React class, I would put it in another module, then it could transform or validate before updating or not the tree.
That way we would have what could be called an ASV architecture: Actions > State > View. Does it make sense?

@lucasmreis, you probably have cursor issues because baoab's updates are asynchronous and because react cannot handle controlled input with asynchronous state updates. You should try tree.commit to apply tree state changes synchronously in this case.


SNOW-1842455: fix pandas import in local testing

Which Jira issue is this PR addressing? Make sure that there is an accompanying issue to your PR.
<!---
In this section, please add a Snowflake Jira issue number.
<p>Note that if a corresponding GitHub issue exists, you should still include
the Snowflake Jira issue number. For example, for GitHub issue
https://github.com/snowflakedb/snowpark-python/issues/1400, you should
add "SNOW-1335071" here.
--->
Fixes SNOW-NNNNNNN

Fill out the following pre-review checklist:

[ ] I am adding a new automated test(s) to verify correctness of my new code

[ ] If this test skips Local Testing mode, I'm requesting review from @snowflakedb/local-testing

[ ] I am adding new logging messages
[ ] I am adding a new telemetry message
[ ] I am adding new credentials
[ ] I am adding a new dependency
[ ] If this is a new feature/behavior, I'm adding the Local Testing parity changes.
[x] I acknowledge that I have ensured my changes to be thread-safe. Follow the link for more information: Thread-safe Developer Guidelines

Please describe how your code solves the related issue.

fix the local testing change in https://github.com/snowflakedb/snowpark-python/commit/9f9398bcb4bb3435d20321d6d64d571eb2dde182
pandas is not a required dependency for snowpark python
in local testing we should avoid hard dependency on pandas which causes import error to users if pandas is not installed.

successful running:
https://github.com/snowflakedb/snowpark-python/actions/runs/12129062942/job/33816860204


mechanic support ...

robotic should include it
is auto-calculating mechanical for accurate robots/vehicules move   planned ?
for example i plan open-source projects in all those field with mechanical parts made in  openscad and i hope to work on  it in your sym.
will i  ?

Just to make sure I understand correctly. Does that means some subtle mechanical stuff (such as a lot amount of gears and nuts and bolts)?

that's it
thanks
Le dim. 22 déc. 2024 à 06:38, Yian Wang @.***> a écrit :

Just to make sure I understand correctly. Does that means some subtle
mechanical stuff (such as a lot amount of gears and nuts and bolts)?
—
Reply to this email directly, view it on GitHub
https://github.com/Genesis-Embodied-AI/Genesis/issues/171#issuecomment-2558339037,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AESIHJJXMJ4EBYVSPNY4KTL2GZF57AVCNFSM6AAAAABT7P6RUOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNJYGMZTSMBTG4
.
You are receiving this because you authored the thread.Message ID:
@.***>

Yes, that's one of the top priority thing in my stack actually.

great
thanks
Le dim. 22 déc. 2024 à 16:11, Yian Wang @.***> a écrit :

Yes, that's one of the top priority thing in my stack actually.
—
Reply to this email directly, view it on GitHub
https://github.com/Genesis-Embodied-AI/Genesis/issues/171#issuecomment-2558487572,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AESIHJPYYXD6TTW5AUOWM7T2G3JBNAVCNFSM6AAAAABT7P6RUOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNJYGQ4DONJXGI
.
You are receiving this because you authored the thread.Message ID:
@.***>


ViewModel and Service

Hi,
I have a question regarding the recommended architecture to share data from ViewModel to a Service and vice versa.
In my app, an Activity that instantiate a ViewModel and also binds to a Service.
The Service manages a few WebSockets which sends and receives network messages in the background.
The communication between the Activity to the Service is done through callback interface and also public methods in the Service which the Activity calls.
By this, the activity can send and receive messages from the WebSockets and then updates the ViewModel with the messages from the sockets, or from the ViewModel to the sockets.
What is the best way to send and receive messages between a ViewModel and a Service?
Should it go through the Activity ?
Thanks,
Moti.

Your Service data should go through a repository.
Check out the guide to app architecture for details.

@florina-muntenescu I have the same question, would you please describe how to inject repository to the service? I think service should insert data to the repository and repository inform viewmodel about data change, am I right?


Always show completions when typing

Is that possible with the current architecture?

+1 for this feature....

Autocomplete-plus will at some point in the next few months replace autocomplete in core. There's no need to +1 this anymore, it's accepted and in-progress.
Here's the 1.0 tracking issue: https://github.com/atom/atom/issues/3684
Here's the tracking issue for "autocomplete next": https://github.com/atom/atom/issues/4364

Ok sorry. Do you want to shut this thread then?

@vimes1984 No reason to apologize - but I think I'll lock it now but wait to close it until the functionality makes it into core, that way people will see this issue and not open another.

This package is deprecated and no longer shipped with Atom. If this is still an issue using the autocomplete-plus package, please open up a new issue on that repository, thanks.

We should :fire: this package


HAVIT Blazor - Bootstrap 5 component library

Added new component library to Component bundles section. See https://havit.blazor.eu to get a basic picture.

Thanks!


Collect diagnostic data for file submissions command does not work.

The command mpcmdrun -getfiles does not work on Windows 10 Enterprise 2019 LTSC.
mpcmdrun : The term 'mpcmdrun' is not recognized as the name of a cmdlet, function, script file, or operable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ mpcmdrun -getfiles
+ ~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (mpcmdrun:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

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

ID: 34df903a-7faf-bff1-802c-cf5081ce258e
Version Independent ID: ac1f1b04-d27a-5fdb-292e-32998d10b35f
Content: Troubleshoot problems with attack surface reduction rules - Windows security
Content Source: windows/security/threat-protection/microsoft-defender-atp/troubleshoot-asr.md
Product: m365-security
Technology: mde
GitHub Login: @denisebmsft
Microsoft Alias: deniseb

@jozefizso   . you have entered wrong command in wrong place.

@jozefizso The error format indicate that you've tried to run the command from a PowerShell session, and not from an elevated command prompt as the documentation instructs.
I've just tested the command on a Windows 10 Ent 2019 LTSC machine and it does work:

Closing the issue.


Newsletter Implementation | Email Validation | Toast Alerts Addition

I want to add the following features :-

Newsletter Implementation
Email Validation
Toast Alerts Addition

https://github.com/user-attachments/assets/3eb4ff87-b6f7-429b-9105-911856c1c99e
@SaranshBangar Please assign this to me

Please increase the level

@Shariq2003 I am sorry, this issue is very basic and can be resolved easily

But the Progress Issue should be of Level 2

@Shariq2003 That is great but just changing the type of an input tag cannot be considered for level 2 in my repo

@Shariq2003 That is great but just changing the type of an input tag cannot be considered for level 2 in my repo

I am also implementing react toats sir

@Shariq2003 Please raise the PR for the same, I will review it and verify the level then

@Shariq2003 Please raise the PR for the same, I will review it and verify the level then

Review my PR sir


chore(deps): upgrade configuration

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-configuration-k8s-25-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 2730

Questions ?
Please refer to the Backport tool documentation