Changing tasks/Microsoft.DotNet.SourceBuild.Tasks/vendor/ breaks roslyn

I was trying to understand how new RIDs might be supported by source-build. So I made this change:
diff --git a/tasks/Microsoft.DotNet.SourceBuild.Tasks/vendor/Microsoft.DotNet.PlatformAbstractions/Native/PlatformApis.cs b/tasks/Microsoft.DotNet.SourceBuild.Tasks/vendor/Microsoft.DotNet.PlatformAbstractions/Native/PlatformApis.cs
index 2786534..36ceaac 100644
--- a/tasks/Microsoft.DotNet.SourceBuild.Tasks/vendor/Microsoft.DotNet.PlatformAbstractions/Native/PlatformApis.cs
+++ b/tasks/Microsoft.DotNet.SourceBuild.Tasks/vendor/Microsoft.DotNet.PlatformAbstractions/Native/PlatformApis.cs
@@ -112,10 +112,27 @@ namespace Microsoft.DotNet.PlatformAbstractions.Native
                         result.VersionId = line.Substring(11).Trim('"', '\'');
                     }
                 }
+                if (string.Equals(result.Id, "rhel", StringComparison.Ordinal))
+                {
+                   result = NormalizeRhelDistroInfo(result);
+                }
                 return result;
             }
             return null;
         }
+
+        // RHEL minor versions are backwards compatible. Normalize all 7.x
+        // versions to '7'
+        private static DistroInfo NormalizeRhelDistroInfo(DistroInfo distro)
+        {
+            var result = new DistroInfo();
+            result.Id = distro.Id;
+            if (distro.VersionId.StartsWith("7."))
+            {
+                result.VersionId = "7";
+            }
+            return result;
+        }

         // I could probably have just done one method signature and put the #if inside the body but the implementations
         // are just completely different so I wanted to make that clear by putting the whole thing inside the #if.

Then building using ./build.sh on RHEL 7.2 (actually 7.3 with /etc/os-release claiming 7.2), causes the build to work until roslyn. Then it hits roslyn's Makefile:
$(BINARIES_PATH)/dotnet-cli/dotnet publish -o $(TOOLSET_PATH)

Which fails without a --runtime flag.

Mentioned fix is merged, @omajid please let me know if you hit this again.


2.18.2 has an incorrect dependency on eslint-module-utils in the published package

I found this whilst investigating https://github.com/typescript-eslint/typescript-eslint/issues/1160

It looks like it's declared correctly within this repo:
https://github.com/benmosher/eslint-plugin-import/blob/112a0bf442e52b25cd7029a9905df2508e191ac1/package.json#L89
However, it looks like the published package has the wrong version specified:
https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.18.2.tgz
The package.json has dependency:
"eslint-module-utils": "^2.4.0",
Because of this incorrect dependency, it meant that if a user upgrades from an older version of eslint-plugin-import (before the 2.4.1 release), then yarn will not upgrade the version of eslint-module-utils, because the version in the lock file satisfies the specified dependency.
This is obv a huge problem, as 2.4.1 includes https://github.com/benmosher/eslint-plugin-import/pull/1409, which has some huge wins for perf (and fixes the problem from the above issue).

The semver range means it gets automatically upgraded. If you’re using a lockfile, you’ve opted in to having to manually update transitive deps.
I’m sure yarn has a command to update transitive deps in its lockfile; npm certainly does.
To reiterate, ^2.4.0 is the right version, and while the next publish will force it to be ^2.4.1, that publish isn’t required for consumers to benefit from that patch.


neo4j: 3.4.0 -> 3.4.1

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools.
This update was made based on information from https://repology.org/metapackage/neo4j/versions.
These checks were done:

built on NixOS
/nix/store/cmnl1i2dr77i6rs6kvk2y5pml713zpp6-neo4j-3.4.1/bin/neo4j passed the binary check.
/nix/store/cmnl1i2dr77i6rs6kvk2y5pml713zpp6-neo4j-3.4.1/bin/neo4j-admin passed the binary check.
/nix/store/cmnl1i2dr77i6rs6kvk2y5pml713zpp6-neo4j-3.4.1/bin/neo4j-import passed the binary check.
/nix/store/cmnl1i2dr77i6rs6kvk2y5pml713zpp6-neo4j-3.4.1/bin/neo4j-shell passed the binary check.
/nix/store/cmnl1i2dr77i6rs6kvk2y5pml713zpp6-neo4j-3.4.1/bin/cypher-shell passed the binary check.
5 of 5 passed binary check by having a zero exit code.
2 of 5 passed binary check by having the new version present in output.
found 3.4.1 with grep in /nix/store/cmnl1i2dr77i6rs6kvk2y5pml713zpp6-neo4j-3.4.1
directory tree listing: https://gist.github.com/89bcc22704e3395637aebe7490b1c372
du listing: https://gist.github.com/28e23479c8d4173c73887b835e0d2ada

meta.description for neo4j is: '"A highly scalable, robust (fully ACID) native graph database"'.
cc @offlinehacker for testing.
Experimental: this build is cached with Cachix. To use the cache follow these experimental instructions:
One time setup in nixpkgs Git checkout:
cachix use r-ryantm
git remote add r-ryantm https://github.com/r-ryantm/nixpkgs.git

Test this build:
git fetch r-ryantm && git checkout d4ae961350924b1cad0abfa586edff4b21609dbe && nix-shell --pure -I nixpkgs=. -p neo4j

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: neo4j
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnfree = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnfree = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: neo4j
Partial log (click to expand)
strip is /nix/store/4mf2xm9p32lzrim927yk92xhx35yaz62-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/cmnl1i2dr77i6rs6kvk2y5pml713zpp6-neo4j-3.4.1/bin
patching script interpreter paths in /nix/store/cmnl1i2dr77i6rs6kvk2y5pml713zpp6-neo4j-3.4.1
/nix/store/cmnl1i2dr77i6rs6kvk2y5pml713zpp6-neo4j-3.4.1/share/neo4j/bin/neo4j-shell: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/0aa1ngxygf1iqanfbpdb10klc7r343c0-bash-4.4-p19/bin/bash"
/nix/store/cmnl1i2dr77i6rs6kvk2y5pml713zpp6-neo4j-3.4.1/share/neo4j/bin/neo4j-import: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/0aa1ngxygf1iqanfbpdb10klc7r343c0-bash-4.4-p19/bin/bash"
/nix/store/cmnl1i2dr77i6rs6kvk2y5pml713zpp6-neo4j-3.4.1/share/neo4j/bin/neo4j-admin: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/0aa1ngxygf1iqanfbpdb10klc7r343c0-bash-4.4-p19/bin/bash"
/nix/store/cmnl1i2dr77i6rs6kvk2y5pml713zpp6-neo4j-3.4.1/share/neo4j/bin/neo4j: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/0aa1ngxygf1iqanfbpdb10klc7r343c0-bash-4.4-p19/bin/bash"
/nix/store/cmnl1i2dr77i6rs6kvk2y5pml713zpp6-neo4j-3.4.1/share/neo4j/bin/cypher-shell: interpreter directive changed from "/bin/bash" to "/nix/store/0aa1ngxygf1iqanfbpdb10klc7r343c0-bash-4.4-p19/bin/bash"
checking for references to /build in /nix/store/cmnl1i2dr77i6rs6kvk2y5pml713zpp6-neo4j-3.4.1...
/nix/store/cmnl1i2dr77i6rs6kvk2y5pml713zpp6-neo4j-3.4.1

Success on x86_64-darwin (full log)
Attempted: neo4j
Partial log (click to expand)
post-installation fixup
strip is /nix/store/8q05v40n0f7amgw70pk6bkb23r7hrzgn-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/qbl7frgxx7x1ccpjqirr6s5kbgw3si24-neo4j-3.4.1/bin
patching script interpreter paths in /nix/store/qbl7frgxx7x1ccpjqirr6s5kbgw3si24-neo4j-3.4.1
/nix/store/qbl7frgxx7x1ccpjqirr6s5kbgw3si24-neo4j-3.4.1/share/neo4j/bin/neo4j: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/7jlpy03vrh1v74b6rnrclbqc9s40ixkg-bash-4.4-p19/bin/bash"
/nix/store/qbl7frgxx7x1ccpjqirr6s5kbgw3si24-neo4j-3.4.1/share/neo4j/bin/neo4j-shell: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/7jlpy03vrh1v74b6rnrclbqc9s40ixkg-bash-4.4-p19/bin/bash"
/nix/store/qbl7frgxx7x1ccpjqirr6s5kbgw3si24-neo4j-3.4.1/share/neo4j/bin/neo4j-admin: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/7jlpy03vrh1v74b6rnrclbqc9s40ixkg-bash-4.4-p19/bin/bash"
/nix/store/qbl7frgxx7x1ccpjqirr6s5kbgw3si24-neo4j-3.4.1/share/neo4j/bin/neo4j-import: interpreter directive changed from "/usr/bin/env bash" to "/nix/store/7jlpy03vrh1v74b6rnrclbqc9s40ixkg-bash-4.4-p19/bin/bash"
/nix/store/qbl7frgxx7x1ccpjqirr6s5kbgw3si24-neo4j-3.4.1/share/neo4j/bin/cypher-shell: interpreter directive changed from "/bin/bash" to "/nix/store/7jlpy03vrh1v74b6rnrclbqc9s40ixkg-bash-4.4-p19/bin/bash"
/nix/store/qbl7frgxx7x1ccpjqirr6s5kbgw3si24-neo4j-3.4.1


Crash on modeling editor feedback view

Describe the bug
In the feedback view of the modelling editor (when opened after the task has been graded), the browser slows down extremely and eventually crashes (memory leak?).
This makes it hard to examine feedback and very difficult to request further feedback or to submit a complaint.
To Reproduce

Go to a modelling task (e.g. W01E02 in PSE).
Click on 'View result' to open up the model editor
Look at the feedback, click through the model to view the tooltips etc.
After about 30 seconds to a minute, the browser will lock up and crash (or it needs to be killed manually because it has frozen up).

Expected behavior
The modeling editor stays performant and has quick response times.
Screenshots
No response
Which version of Artemis are you seeing the problem on?
7.6.5
What browsers are you seeing the problem on?
Chrome, Firefox
Additional context
No response
Relevant log output
No response

I have the same issue in Safari, for me it locks up pretty much instantly. Can confirm that this appears to be (or cause) a memory leak as the tab started to use up to and over 10 GB of RAM.

I have the same problem on Chrome and Firefox. Using Chrome, there are also a lot of error messages coming that keep coming:

Likely related to #9032, @egenerse do you think it is the same underlying issue?


The second one is always true since it was defined.
Use #if GETOPT_DEBUG_MESSAGES or #if GETOPT_DEBUG_MESSAGES == 1 instead.

This was temporary. It'll become an option in opt::options


bypass namespace RBAC in IPPool with a simple annotation

Expected Behavior
when a namespace has one IPPool assigned it cannot deploy pods using other's IPPool, pod/deployment/other kind of resources should fail.
Actual Behavior
with ovn.kubernetes.io/ip_address or ovn.kubernetes.io/ip_pool annotation you can specify IPs belonging to others' IPPool.
Even the provided webhook is unable to check this violation.
Steps to Reproduce the Problem

create two pools, one per namespace

apiVersion: kubeovn.io/v1
kind: IPPool
metadata:
  name: pool-ns1
spec:
  subnet:  subnet1-vpc
  ips:
  - "<IP_ADDRESS>/29"
  namespaces:
  - ns1

---
apiVersion: kubeovn.io/v1
kind: IPPool
metadata:
  name: pool-ns2
spec:
  subnet:  subnet1-vpc
  ips:
  - "<IP_ADDRESS>/29"
  namespaces:
  - ns2

create a pod, in namespace ns1, but using a ip pool belonging to ns2 namespace

apiVersion: v1
kind: Pod
metadata:
  name: busybox-21
  labels:
    app: busybox
  annotations:
    ovn.kubernetes.io/logical_switch: subnet1-vpc
    ovn.kubernetes.io/ip_address: <IP_ADDRESS>
  namespace: ns1
spec:
  containers:
  - name: busybox

pod will get the requested ip allocated and starts normally

Additional Info

Kubernetes version:
Output of kubectl version:

1.28.2

- kube-ovn version:

1.12.0

- operation-system/kernel version:

**Output of `awk -F '=' '/PRETTY_NAME/ { print $2 }' /etc/os-release`:**
**Output of `uname -r`:**

(paste your output here)

<!-- Any other additional information -->

dear @zhangzujian shouldn't this be marked as a bug instead of a feature?

This behavior is by design. Pod's annotation has a higher priority than the namespace.

@zhangzujian I understand. But in a multitenant environment you cannot trust the developer: if you configured a IPPool for namespace, shorter than the overall subnet cidr, why should you allow a user to bypass that restriction? In that case you should add that specific address to the pool (or create a new One). My 2 cents.

Label feature means this is a feature request, or the problem can be resolved by adding a new feature.

@zhangzujian sure, thx for explaination. what about a contribute (patch) on the webhook in order to check this ippool boundary? So it's not part of the core ipam code, easier to test and it's optionally activated by users.

Hi, i wonder if there is any way to fix this at the moment, can you please reopen it?


Terminology in code

Make it consistent with the paper. From what I can tell, this is the final list.

"stellar labels"
"reference objects"
"survey objects"
"training step"
"test step"
"label transfer"

Not only should the words match, the symbols should too -- like M, m, N, n, theta, ell, etc...


Grammar should check that sub-schemas are actual schemas

THere was a bug - I put an int type where a scheam (Atom int) belonged, it didn't show up immediately.
Instead check on creation that it is a schema

Fixed in version after 0.3.2


${workspaceFolder} does not work in .env file

Environment data

VS Code version: 1.49.0
Extension version (available under the Extensions sidebar): 2020.8.109390
OS and version: Ubuntu 20.04 LTS running on WSL2 under Windows 10
Python version (& distribution if applicable, e.g. Anaconda): Vanialla Python 3.8.2 64 bit from Ubuntu repo
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): none
Value of the python.languageServer setting: Jedi

Expected behaviour
I have set the PYTHONPATH environment variable in the .env file located in the root of my project workspace. That is working fine in the editor, all Python packages that should be found in the folders specified via PYTHONPATH can be found. One of these folders is a sub directory under my project root, so I replaced that part with ${workspaceFolder} in the .env file. As soon as I do so and restart VS Code the Python packages in that folder are not found in the editor any more.
I double-checked the value that I set for the PYTHONPATH variable, in fact I use the very same value I also use in the launch config, where ${workspaceFolder} works just fine. It's just not working in the .env file. I have expected this variable would work there as well.
Actual behaviour
As described above, using ${workspaceFolder} in the .env file does not work.
Is this a bug or a feature?

@haimat This is by design. ${workspaceFolder} is not an environment variable, it is supported only by VS Code in the json files that it works with. .env files are meant to work outside of VS Code.

@haimat This is by design. ${workspaceFolder} is not an environment variable, it is supported only by VS Code in the json files that it works with. .env files are meant to work outside of VS Code.

That makes sense, thanks.

Any workaround ?


Contribution file needs to be updated to document new commit standard

Since we have now transitioned to GitHub issues from Jira for tracking issues we need to update the contribution doc. It currently documents marking each commit with DNN-####. This should be updated to reference the new standard of using github # notation in commits

We should mention DNN-#### or the issue #. Can you please submit a PR @ahoefling


Remove useless file and remove template variable declarations

An index.html file was created in /initiatives/ by mistake and some template variables are set incorrectly. This removes them.
@KimberlyMunoz @anselmbradford @jimmynotjim

LGTM :+1:


tooltips: Add a dedicated tooltip for status-emojis.

This issue requires us to add a dedicated tooltip whenever the user hovers over the status-emoji in the left and right sidebar.Currently we don't show the name of status-emoji in sidebars and only show the active-status tooltip.
This PR adds a dedicated tooltip in left and right sidebar whenever user hovers over the status-emoji.
Provisionally, the changes done are -

For users with status-emoji we show the name of status-emoji tooltip and hide the active-status-tooltip.
For users without status-emoji show the active-status-tooltip.

Partially Fixes: #26772

Screenshots and screen captures:

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

You will need to add screenshots, go through the self-review checklist, and fix failing tests in order for this PR to be ready for review.

Hey @alya I have added screenshots and fixed the failing tests. PTAL

Ah, but my comment had three points to take care of. ;)

Thanks @alya I have updated the self-review checklist for this PR to be ready for review.

@karlstolley do you want to do a first-round review on this one? I haven't tested it.

Thanks for your work here, @shashank-23002 .See my comments above--the approach here introduces a significant regression, because the ordinary user tooltip will not be displayed if a user has a status set.
What needs to happen is a better separation of which username elements get the user tooltip, and how to isolate that from the status emoji, which should have its tooltip set on a specific selector.

Thanks @karlstolley I have fixed the regression and updated the id with class.
But the main concern due to which it has become a little confusing to resolve this issue is that status-emoji selector lies inside the username tooltip selector due to which both of them are triggered simultaneously.
Moreover when I change the target element to isolate the status-emoji selector from the username tooltip selector , the username tooltip selector becomes limited to just the user-name class and the tooltip won't be triggered for the status-text as it was happening before.

Hey @karlstolley I have done the necessary changes which can fix this issue. PTAL

Thanks for your patience and your work here, @shashank-23002! The code changes here are looking good, and manual testing of the feature in the left and right sidebars and compose pills all acted as expected. I'll mark for QA review so that @alya has a chance to poke at it, but I suspect this will soon be ready for integration review.

Thanks Karl , would also like to mention that probably this could close #19821 because the current issue actually originated from the former.
Would be really great if both of the issues are closed simultaneously.

Thanks! Unfortunately, this isn't quite working right.
If I hover over the status emoji, and then move my mouse to the user's name, the regular tooltip for the user should get displayed; it currently does not. Going in the other direction (name -> emoji) seems to work as expected.

Also, with some amount of playing with it, I was able to get both tooltips to appear at the same time, which I think should never happen. I'm not sure how to reproduce this.

Also, it looks like this feature does not work for custom emoji. Is that expected?

Thanks @alya for reviewing the code.
The logic I am using here is to hide all the tooltips when hovering over the status-emoji and to just show the emoji-tooltip.
Now , to trigger the user-name tooltip once again we need to re-enter the trigger defined in user-name tooltip i.e mouseenter on selectable-sidebar-block.
As we can see the status-emoji is a part of user-name tooltip trigger so they can't be separated apart. Thus it is obvious that once the user-name tooltip has been hidden , you need to re-trigger it through the defined logic.
One logic can be to store all the tooltips which were hidden when status-emoji-tooltip was triggered and reshow all of them when the user leaves. But that makes it a little heavy when the user just keep entering and re-entering the status-emoji.
So, I guess probably the current logic might not cause an issue for the user to re trigger the user-name tooltip when he has already seen one before hiding from the status-emoji tooltip.

Also, with some amount of playing with it, I was able to get both tooltips to appear at the same time, which I think should never happen. I'm not sure how to reproduce this.

I tried to reproduce the issue but couldn't figure out if it would be possible. Because according to the logic , once the status-emoji-tooltips are shown all the other tooltip instances are hidden.
Might be an issue with slow-network due to which the tooltips didn't hide instantly.
Would love to hear from @karlstolley if he faced the same issue while reviewing or for any suggestions.
Thanks.

Also, it looks like this feature does not work for custom emoji. Is that expected?

Ohh thanks , I didn't have the idea about this feature.
Will update my PR accordingly

So, I guess probably the current logic might not cause an issue for the user to re trigger the user-name tooltip which he already does everytime he needs to see the user-list tooltip. Moreover which he has already seen before hiding from the status-emoji tooltip.

I still think it would be better for the tooltip to appear, but I'll let @karlstolley comment on whether this is too tricky.

@karlstolley I have changed my approach and updated the required changes as per your suggestions.
Now the tooltips appear as @alya expected to have them.
Hope that works.

Works for me in manual testing, including custom emoji!

@karlstolley please mark this PR for integration review whenever it's ready from your perspective.

Thanks @shashank-23002! This looks like a solid set of changes.
I think the next step is to give this some burn-in time on CZO, but I'll just mark for integration review so @timabbott can decide what's best.

Though @shashank-23002 please use the correct image markdown to display your screenshots, rather than make reviewers follow links.

Thanks for reviewing the changes Karl .
I have updated the screenshots , though I couldn't understand why am I unable to upload screen recordings on this PR. Whenever I do so , it converts into followable links.
Hope there's not an issue with current screenshots.

I've test-deployed this on chat.zulip.org; we should bump the relevant thread for testing/feedback, since I doubt folks will test this a lot by accident.

CZO discussion -- @shashank-23002, it would be good to link to that from the

CZO discussion -- @shashank-23002, it would be good to link to that from the original pull request text.
Sorry about the closing and reopening--my palm landed on my trackpad.

Sure , I bumped a thread on CZO for feedback and updated my PR fixing an issue faced by a user.

I did some tweaks to the comments, moved the tooltip placement to "top", and marked this to merge once CI passes, thanks @shashank-23002!


Remember last save directory

Desktop version
Export -> save is always "local/piskel/downloads"

I can't reproduce the issue with version 0.5.4 on Windows.
Which version/OS are you using ?

I used 0.5.2. and tried 0.5.4 still the same.
Windows7 64-bit
Is there a way to export the selected layer as png?

I thought you mean the "Save" option and not the "Download PNG" / "Download ZIP". I will see if I can improve this.

Is there a way to export the selected layer as png?

Not really. You can delete layers and undo ... but there's no clean way to do it.


Add FQDN configuration property

This implements a suggestion from @dain .. we might also make the HTTPS requirement more explicit or push harder to configure secure internal communication.

Thanks for the merge.


Incorrect block producer key with testnet

I'm using EOSIO Dawn 3.0 . For the single instance, setup looks fine (https://www.screencast.com/t/nsbYQWaCnp)
But when trying to connect with testnet getting following error. I have used this config.ini and genesis.json file.
https://www.screencast.com/t/oJ64Sdvh
Please help.
Thanks

Please ask in the community testnet group for help on this.  The testnet was not in a good way but should be better now


cannot access camAchievement in static function

Describe your bug here.
im trying to make a function on PlayState but got a issue with the camAchivement and idk how to solve it ._.

if someone got a way this can help thanks :>
Command Prompt/Terminal logs (if existing)
BUILDING GAME
source/PlayState.hx:1416: characters 62-76 : Cannot access camAchievement in static function
source/PlayState.hx:1416: characters 62-76 : ... For optional function argument 'camera'
source/PlayState.hx:1416: characters 62-76 : ... For function argument 'Object'

Are you modding a build from source or with Lua?
Source
What is your build target?
Windows
Did you edit anything in this build? If so, mention or summarize your changes.
yes, Playstate, FunkinLua, MainMenue, Achievements

camAchievement is not static

that's make sense but there is a way to use it or a other way?

no why

no why

just asking, thanks :>


Don’t throw on state lookup in a missing folder

Catch missing folder errors as well as missing file errors on state lookup.

Coverage remained the same at 70.233% when pulling 3175a1ef8233ccdee35b4e201c85dceb0fb911b1 on fix-state-lookup into 2770135b13bd80b288850d452886ca5a9b46c358 on master.


Add FMPy support

Add FMPy support: https://github.com/CATIA-Systems/FMPy/tree/master/fmpy

This is not needed, since PyFMI already supports Python 3 and can be installed via conda.

First of all, thanks for the great library!
Just to add a note about this: one advantage of fmpy over PyFMI is that it can be easily installed with stock pip without the need to use Anaconda. simplifying deployment of the standard system python.

Thanks @traversaro, that's a fair point. I reopened the issue, but don't have time to work on it now. It would be probably nice to have a support for both.
Maybe someone would like to look into it?
I think the only class that needs to be adapted is this one:
https://github.com/sdu-cfei/modest-py/blob/master/modestpy/fmi/model.py

Thanks @krzysztofarendt . I personally do not have time to look into this right now, but I think having an open issue on this is a starting point, thanks!

Hi!
If someone knows how to replace pyFMI for fmPY in modestpy please update!

We will work on this on this branch: https://github.com/sdu-cfei/modest-py/tree/issue_52_add_fmpy

The file that needs to be changes is: https://github.com/sdu-cfei/modest-py/blob/master/modestpy/fmi/model.py


Running bin/vite fails on production with bundler

I'm using vite_rails (3.0.14) with  vite_ruby (3.3.0), and running bin/vite results in this error from bundler:
Activating bundler (< 2) failed:
Could not find 'bundler' (< 2) - did find: [bundler-2.3.7,bundler-2.2.11]
Checked in 'GEM_PATH=/usr/share/rvm/gems/ruby-3.1.1:/usr/share/rvm/rubies/ruby-3.1.1/lib/ruby/gems/3.1.0' , execute `gem env` for more information

To install the version of bundler this project requires, run `gem install bundler -v '< 2'`

In my Gemfile or Gemfile.lock there's no bundler < 2 specification... it's frustrating.
I tried to force binstubs with bundle binstubs bundler --force (must be forced at every deploy!) and after that I get this error:
$ bin/vite
/usr/share/rvm/rubies/ruby-3.1.1/lib/ruby/3.1.0/rubygems/requirement.rb:106:in `parse': Illformed requirement [""] (Gem::Requirement::BadRequirementError)
	from /usr/share/rvm/rubies/ruby-3.1.1/lib/ruby/3.1.0/rubygems/requirement.rb:138:in `block in initialize'
	from /usr/share/rvm/rubies/ruby-3.1.1/lib/ruby/3.1.0/rubygems/requirement.rb:138:in `map!'
	from /usr/share/rvm/rubies/ruby-3.1.1/lib/ruby/3.1.0/rubygems/requirement.rb:138:in `initialize'
	from /home/rails/my-project/releases/20230324161244/bin/bundle:97:in `new'
	from /home/rails/my-project/releases/20230324161244/bin/bundle:97:in `activate_bundler'
	from /home/rails/my-project/releases/20230324161244/bin/bundle:86:in `load_bundler!'
	from /home/rails/my-project/releases/20230324161244/bin/bundle:110:in `<top (required)>'
	from bin/vite:19:in `load'
	from bin/vite:19:in `<main>'

This is the output of
$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 3.3.7
  - RUBY VERSION: 3.1.1 (2022-02-18 patchlevel 18) [x86_64-linux]
  - INSTALLATION DIRECTORY: /usr/share/rvm/gems/ruby-3.1.1
  - USER INSTALLATION DIRECTORY: /home/rails/.local/share/gem/ruby/3.1.0
  - RUBY EXECUTABLE: /usr/share/rvm/rubies/ruby-3.1.1/bin/ruby
  - GIT EXECUTABLE: /usr/bin/git
  - EXECUTABLE DIRECTORY: /usr/share/rvm/gems/ruby-3.1.1/bin
  - SPEC CACHE DIRECTORY: /home/rails/.local/share/gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /etc
  - RUBYGEMS PLATFORMS:
     - ruby
     - x86_64-linux
  - GEM PATHS:
     - /usr/share/rvm/gems/ruby-3.1.1
     - /usr/share/rvm/rubies/ruby-3.1.1/lib/ruby/gems/3.1.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/share/rvm/gems/ruby-3.1.1/bin
     - /usr/share/rvm/gems/ruby-3.1.1@global/bin
     - /usr/share/rvm/rubies/ruby-3.1.1/bin
     - /usr/share/rvm/bin
     - /usr/local/sbin
     - /usr/local/bin
     - /usr/sbin
     - /usr/bin
     - /sbin
     - /bin
     - /usr/games
     - /usr/local/games
     - /snap/bin

I have these bundler versions:
$ gem list | grep bundle
bundler (default: 2.3.7, 2.2.11)
bundler-unload (1.0.2)
rubygems-bundler (1.4.5)

This is what I tried to do:

[x] I remove BUNDLED_WITH from Gemfile.lock with no luck
[x] vite command works great on development.. not in production
[x] I have tried upgrading by running bundle update vite_ruby.
[x] I have read the [troubleshooting section] before opening an issue.

Hi Mattia!
Since Vite Ruby relies on Bundler to generate the binstub, and I haven't seen this problem before, it's likely that your application has another gem with an invalid requirement, causing bundler to fail when using a binstub.
Try running bundle exec vite instead.
If you provide a minimal reproduction, I can take a look.

Somehow I managed to resolve by downgrading Vite ( I was already using bundler ).


termwindow: Show cursor only when his X and Y axis is smaller than the window size

This will prevent showing the cursor over the terminal windows own status bar.
Fixes #3034

Updated again after realizing that the same is reproducible with vsplit and the term at the left tab.

It seems that it affects any vsplit even without terms....

I know micro's internal structure bad but let me guess. I think it is because the left pane gets zero size so the right pane think that it is size is size of full window but micro still draws separator... As you can see from two
following screenshots the divider is drawn above actual pane

I am not sure I even didn't looked at code of #3069 but it seems so me that it can be related in some way

In non-term windows it will be solved with @dmaluka's PR too. At least I wasn't able to reproduce it any longer.

At least I wasn't able to reproduce it any longer.

I also couldn't but I just decided to perform stress test and see what will happen if I open more vsplits than width of the terminal. As expected I got the behavior of #3071 but it also smashed all the splits to visually one with self cursor highlighting

But it doesn't give anything new


[Publication]:[Admin area] Unpublish option is available for chat/prompt inside publication request in Approve required section

EPAM AI DIAL chat version
0.12.0
How to reproduce
Steps:

create unpublish request for chat or prompt/folder
admin click on unpublish request
admin hover 3 dots for chat/prompt inside unpublish request

Actual result
Unpublish option is available

Expected result
Unpublish option should NOT be available for chats/prompts inside publish/unpublish requests in Approve required section
Confidential information

[X] I confirm that do not share any confidential information

Verified on STG successfully


asyncReducer initial state in the redux store

Hey there, I've got a couple of questions about asyncReducers. I very much like the injectReducer method and how it lets you add reducers to the store from pretty much anywhere. However, I'm finding that one of the reducers I added this way does not add its initial state to the store until its route component is mounted.
// loginDucks.js
export default function loginReducer(state = {}, action) {
  return state
}

// loginRoutes.js
import { injectReducer } from 'store/reducers'

export default (store) => ({
  path: '/login',
  getComponent(nextState, cb) {
    require.ensure([], require => {
      const LoginPage = require('./LoginPage').default
      const reducer = require('./loginDucks').default
      injectReducer(store, { key: 'auth', reducer })
      cb(null, LoginPage)
    }, 'login')
  },
})

and then somewhere else
import { connect } from 'react-redux'

const MyComponent = ({ auth }) => {
  console.log(auth)
  return
Hello world

}

const mapStateToProps = state => ({ auth: state.auth })
export default connect(mapStateToProps)(MyComponent)

Expected: auth is an empty object (because that was the loginReducer initial state)
Actual: auth === undefined, until I navigate to /login, at which time auth === {}
So my questions: Is this behaviour by design, or a consequence of the injectReducer pattern? If so, what should I do instead?

This is by design for async reducers and enables code splitting where chunks of your store may not exist until loaded on demand. You probably want your auth stuff loaded from the get-go synchronously which happens in src/store/reducers.js.


Decode kissmanga obfuscation

Explained and attempted fix here: https://github.com/nhanb/pytaku/commit/fcc6524f98670a9a90b222bcd2643af5df24a176
However it still randomly fails on pytaku. Let's solve this once and for all here.

So this implementation is practically a py2-to-py3 port from the one in pytaku. It works on all test cases but still doesn't answer why pytaku randomly fails.
Interestingly, on pytaku one same chapter can go from failing to working correctly after a few retries.  Let's consider this closed for now and come back to it if the bug ever happens in fundoshi itself.


Sugar Canes and Enchanted Book Texture/Rendering? Bug

Describe the bug
Whenever I have the Inspirations Mod installed, Sugar Cane tends to have a weird rendering issue when it grows. Also, the Enchanted Book's texture seems to not change even if there is a texture pack that is supposed to make it look different!
Screenshots or crash report (if relevant)
Inspirations Mod Not Installed

Inspirations Mod Installed:

Versions (please complete the following information):

Minecraft: 1.15.2
Mantle: 1.15.2-1.5.15
Inspirations 1.15.2-1.1.0

Note: GitHub doesn't let me upload the screenshot of the Enchanted Book (Inspirations Not Installed), also, the texturepack is called Simplistico.

What you are looking at is a lack of resource pack support for two of my features. I replace the enchanted book texture in order to recolor the book ribbons based on the enchantements, and make sugar cane grow smoothly (pixel by pixel) instead of in full blocks. It is easy for resource packs to support my feature, or you can just disable the two features in my config.

What you are looking at is a lack of resource pack support for two of my features. I replace the enchanted book texture in order to recolor the book ribbons based on the enchantements, and make sugar cane grow smoothly (pixel by pixel) instead of in full blocks. It is easy for resource packs to support my feature, or you can just disable the two features in my config.

Oh, thanks for the help. However, I can't find the features on the config file. Is there a place where I can check where they are located in?

By fails to load, do you mean crashes? If so, post the issue here.
As far as config, the sugar cane feature is part of the serverside config, which is saved per world. I suggest researching Forge default configs. The other one you found was in the client side config, which can be different per user.

By fails to load, do you mean crashes? If so, post the crash report in another issue.
As far as config, the sugar cane feature is part of the serverside config, which is saved per world. I suggest researching Forge default configs. The other one you found was in the client side config, which can be different per user.

Yes, after all the mods have been loaded, a screen appears saying that the mod failed to load. Here is the screenshot:

Locate either a relevant crash report, or post your latest.log on a new issue.


Uhhhh this is pretty strange; you're getting CPU pages with all zeros it looks like which is obviously invalid ftrace data.
Which device are you running this on? Android? Or arm64 Linux? I don't think Perfetto has ever been explicitly tested on arm64 Linux but given our extensive coverage on Android, feels like we'd have seen this before now if this was really a Perfetto issue.

arm64 Linux ;) Running trace-cmd (pure ftrace) have no problems ^

Can we debug it somehow in source or to get ?

Realistically, this is pretty deep in the weeds of ftrace. Without access to this device for us (and a bunch of extra time) or some very in-depth debugging on your side, this is going to be difficult to fix.


Add new name for Perl6: Raku

This is not quite backward compatible with perl6 due to renaming environment variables, binaries, etc. The old perl6 support should remain in place for some period (1 year?) for those testing against older versions (before Jan 2020) but I think Perl6 should be replaced in the documentation with Raku. I will provide a doc patch if this way forward makes sense.
I've also used rakubrew to replace rakudobrew. It's setup to use downloaded binaries when available rather than building them; this may save up to 9 minutes when it can be done.
@tony-o, @ugexe, @hoelzro, @paultcochrane: reviews appreciated.

Ping? Is anyone paying attention to this?


Compiler's addDirective side effects

Hello, I am one of the maintainers of angular-ui/bootstrap and we are doing a massive "refactor" to bring prefixes to our directives.
To not break the current users code, we are just duplicating our directives. So from foo we leave it as is and we also create a prefixedFoo.
To warn our users that they are using deprecated directives, we are just logging a message out. So far so good.
.directive('prefixedFoo', function($prefixedService) {
  return {
    template: '
Foo
'
  };
})

.directive('foo', function($service) {
  return {
    template: '
Foo
',
    link: function() {
      console.log('foo is deprecated, please use prefixedFoo.');
    }
  };
})

What is the problem here? When we add prefixedFoo in our app and the compiler process it, it will eventually say:

Hey, process this node to see if there is any directive (

)
Ok, let me check. Grabs foo.
addDirective will inject foo successfully and then it will check its restrict.
Ah, it is not restricted to classes, ignore it.

The problem with that, is that it is going to inject foo which is going to load $service:
.service('$service', function() {
  console.log('$service is deprecated, please use $prefixedService');
})

So that deprecation log will be printed out.
So addDirective is going to inject foo and also load its dependencies.
I know this is not a common case, but took me lots of hours figuring it out and a couple of hacks to bypass this. Just thought that it could be good to bring this to your attention.
Cheers.
PD: A plunker to see it in action http://plnkr.co/edit/UDBP7yBgCw2fD0PapOmj?p=info

You mean the problem is that the deprecated directive injects the deprecated service, so people get a deprecation warning even though they personally didn't inject the service?

So why don't you use the prefixedService in your unprefixedDirective?

So why don't you use the prefixedService in your unprefixedDirective?

Sure, this would be one way of working around this. But from what I understand this issue was about making sure that a directive doesn't "wake up" if it doesn't match. But I understand that this might be challenging since we need to the actual directive definition object to see if it matches....

@pkozlowski-opensource That is what I was telling @wesleycho. Having to wake up the directive to get the DDO.
@Narretz Your solution is a good workaround, but we decided to leave the deprecated directives "in the dark". Every new feat/fix is only applied in the prefixed directive (and services). If we put the deprecated directives to "redirect" to the nonPrefixed ones, people won't find a good reason (other than warnings in the console) to update. So we say: Update ASAP because deprecated directives are not getting any fixes.
At least that is the main idea :P.
My point with this issue was not about discussing what could we do in our library, but more about raising a discussion on addDirective behavior.
Cheers :)

Oh, so the problem is that the directive is injected even if it doesn't match. Well, that's something different.

@Narretz injected in code, tested agains restrictions and then discarded (because it cannot be applied on classes due to restrict EA). It never reaches the page nor it completely loads. It just wake up, load all its deps and nothing else.

I'm afraid we can't do anything (that would not be a nasty breaking change). Since the .directive() method accepts a factory function, we need to instantiate all services to get to the DDO (note that an injected service might be used in order to construct that DDO in the first place).
Changing the API so that dependencies are not loaded if the directive doesn't match (e.g. having an alternative way to specify the directive's restrict property), would be possible, but a potentialy hard-to-debug breking change. At this point, I don't feel it is worth it.
Also, note, that the new .component() API does behave that way (no injection, unless the component matches and gets applied to an element).
(Obviously, there are several work-arounds available, such as manually instantiating dependencies using the $injector, but I understand that is outside of the scope of this issue.)
--
tl;dr
At this point, I don't think it makes sense to make such a breaking change, considering the small number of usecase that would benefit, the already available APIs and the possible work-arounds.
We could add a backwards-compatible way of specifying the restrict without having to invoke the directive factory, but I doubt it would be more helpful than confusing for most people.
I'm going to close this as won't fix, but if anyone fancies taking a crack at it, I would be glad to take a look :smiley:

That is fine. We did a workaround in the day, and we don't need it anymore.
Thanks


Diagnostic provided when try to user a foreach loop over a stream with completion type error is confusing/wrong

Description:
public function main() returns error? {
    var l = [1, 2, 3];
    // just to get the compiler happy
    stream<int, error> streamResult = <stream<int, error>> <any> l.toStream();

    foreach var i in streamResult { // incompatible types: expected 'int', found '(int|error)'(BCE2066)

    }
}

I think given diagnostic here is confusing, and feels like something wrong with the type of variable i but then it's a var and not something user provided.
The error should say that, we can't iterate over a stream like this.
Steps to reproduce:
Affected Versions:
Swan Lake beta1
OS, DB, other environment details and versions:
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

See https://github.com/ballerina-platform/ballerina-lang/issues/28264#issuecomment-1477631113.


Move DetailedPersonDisplay downwards to reduce width of image

Fixes #310

Codecov Report

Merging #311 (492d83d) into master (84a8cf9) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #311   +/-   ##
=========================================
  Coverage     73.91%   73.91%
  Complexity      687      687
=========================================
  Files            98       98
  Lines          2101     2101
  Branches        238      238
=========================================
  Hits           1553     1553
  Misses          481      481
  Partials         67       67

Continue to review full report at Codecov.

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

Image too messy


add support for remote helmfiles referenced with git::

Using remote helmfile like this:
environments:
  default:
    values:
    - jx-values.yaml
namespace: kiam-test
helmfiles:
  - path: git::https://github.com/cloudposse/helmfiles.git@releases/kiam.yaml?ref=0.40.0
templates: {}
renderedvalues: {}

leads to following error during jx gitops helmfile resolve step:
error: failed to : failed to gather nested helmfiles: failed to get nested helmfiles helmfiles/kiam-test/helmfile.yaml in : failed to find nested helmfile helmfiles/kiam-test/git::https:/github.com/cloudposse/helmfiles.git@releases/kiam.yaml?ref=0.40.0

fixed by https://github.com/jenkins-x/jx-gitops/pull/704


Fuzz - Fixed the panic that was caused by incorrect data

Fixed the issue https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=42466

@naveensrinivasan can you amend the commit with the DCO sign off and I will merge this? Thanks!

@naveensrinivasan can you amend the commit with the DCO sign off and I will merge this? Thanks!

Thanks! I did that. TBH, what value does DCO bring? It is a pain to remember every time to do it.

Not debating the value, but all Linux Foundation collaborative projects require contributors to execute a DCO.

On Dec 31, 2021, at 1:47 PM, Naveen @.***> wrote:

@naveensrinivasan can you amend the commit with the DCO sign off and I will merge this? Thanks!
Thanks! I did that. TBH, what value does DCO bring? It is a pain to remember every time to do it.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you commented.

Not debating the value, but all Linux Foundation collaborative projects require contributors to execute a DCO.
…

OSSF is part of the Linux Foundation and the projects there don't require this.

OSSF is part of the Linux Foundation and the projects there don't require this.

They're supposed to. See Section 5, IP Policy here: https://cdn.platform.linuxfoundation.org/agreements/openssf.pdf


Correction for raw affiliation INRA-UMR IATE, 2 place Viala, 34060 Montpellier Cedex 2, France; LIRMM, CNRS-UM2, F-34392 Montpellier, France

Correction needed for raw affiliation INRA-UMR IATE, 2 place Viala, 34060 Montpellier Cedex 2, France; LIRMM, CNRS-UM2, F-34392 Montpellier, France
raw_affiliation_name: INRA-UMR IATE, 2 place Viala, 34060 Montpellier Cedex 2, France; LIRMM, CNRS-UM2, F-34392 Montpellier, France
new_rors: 02feahw73;05y503v71;013yean28;0000n5x09
previous_rors: 02feahw73;05y503v71;013yean28
works_examples: W2074774419
contact: f43e43f26a1cd723089e0e16ab064b32:b038e82b39410a3d2155a6fe1ea966a8b0d4 @ inrae.fr

This issue was accepted and ingested by the OpenAlex team on 2024-11-18. The new affiliations should be visible within the next 7 days.


ValueError: NOT FOUND when trying to save train state in docker container

I'm getting the following error when I try to save my train state from within a docker container:
Traceback (most recent call last):
  File "/project/test.py", line 32, in <module>
    checkpointer.save(os.path.abspath('checkpoints/checkpoint1'), state)
  File "/usr/local/lib/python3.9/site-packages/orbax/checkpoint/checkpointer.py", line 81, in save
    self._handler.save(tmpdir, item, *args, **kwargs)
  File "/usr/local/lib/python3.9/site-packages/orbax/checkpoint/pytree_checkpoint_handler.py", line 756, in save
    asyncio.run(async_save(directory, item, *args, **kwargs))
  File "/usr/local/lib/python3.9/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/usr/local/lib/python3.9/asyncio/base_events.py", line 647, in run_until_complete
    return future.result()
  File "/usr/local/lib/python3.9/site-packages/orbax/checkpoint/pytree_checkpoint_handler.py", line 754, in async_save
    future.result()  # Block on result.
ValueError: NOT_FOUND: Error opening "cast" driver: Error opening "zarr" driver: Error writing "step/.zarray" in OCDBT database at local file "/project/checkpoints/checkpoint1.orbax-checkpoint-tmp-1690941767098696/": Error writing local file "/project/checkpoints/checkpoint1.orbax-checkpoint-tmp-1690941767098696/manifest.ocdbt": Error getting file info: /project/checkpoints/checkpoint1.orbax-checkpoint-tmp-1690941767098696/manifest.ocdbt.__lock [OS error: No such file or directory] [tensorstore_spec[1]='{\"base\":{\"create\":true,\"driver\":\"zarr\",\"dtype\":\"int64\",\"kvstore\":{\"base\":{\"driver\":\"file\",\"path\":\"/project/checkpoints/checkpoint1.orbax-checkpoint-tmp-1690941767098696/\"},\"cache_pool\":\"cache_pool#ocdbt\",\"config\":{\"max_decoded_node_bytes\":100000000,\"max_inline_value_bytes\":1024},\"driver\":\"ocdbt\",\"experimental_read_coalescing_threshold_bytes\":1000000,\"path\":\"step/\"},\"metadata\":{\"chunks\":[],\"compressor\":{\"id\":\"zstd\",\"level\":1},\"shape\":[]},\"open\":true,\"recheck_cached_data\":false,\"recheck_cached_metadata\":false},\"context\":{\"cache_pool\":{},\"cache_pool#ocdbt\":{\"total_bytes_limit\":100000000},\"data_copy_concurrency\":{},\"file_io_concurrency\":{\"limit\":128},\"ocdbt_coordinator\":{}},\"driver\":\"cast\",\"dtype\":\"int64\"}'] [source locations='tensorstore/kvstore/kvstore.cc:268\ntensorstore/kvstore/kvstore.cc:268\ntensorstore/driver/driver.cc:114\ntensorstore/driver/driver.cc:114'] [tensorstore_spec='{\"context\":{\"cache_pool\":{},\"cache_pool#ocdbt\":{\"total_bytes_limit\":100000000},\"data_copy_concurrency\":{},\"file_io_concurrency\":{\"limit\":128},\"ocdbt_coordinator\":{}},\"create\":true,\"driver\":\"zarr\",\"dtype\":\"int64\",\"kvstore\":{\"base\":{\"driver\":\"file\",\"path\":\"/project/checkpoints/checkpoint1.orbax-checkpoint-tmp-1690941767098696/\"},\"cache_pool\":\"cache_pool#ocdbt\",\"config\":{\"max_decoded_node_bytes\":100000000,\"max_inline_value_bytes\":1024},\"driver\":\"ocdbt\",\"experimental_read_coalescing_threshold_bytes\":1000000,\"path\":\"step/\"},\"metadata\":{\"chunks\":[],\"compressor\":{\"id\":\"zstd\",\"level\":1},\"shape\":[]},\"open\":true,\"recheck_cached_data\":false,\"recheck_cached_metadata\":false}']

Here's the code to reproduce:
import flax.linen as nn
from flax.training import train_state
import optax
import orbax.checkpoint as ocp
import jax
import jax.numpy as jnp
import os

def create_train_state(module, rng):
    x = (jnp.ones([1, 256, 256, 1]))
    variables = module.init(rng, x)
    params = variables['params']
    tx = optax.adam(1e-3)
    ts = train_state.TrainState.create(
        apply_fn=module.apply, params=params, tx=tx
    )
    return ts

class TestModel(nn.Module):
    @nn.compact
    def __call__(self, x):
        x = nn.Conv(4, kernel_size=(3, 3))(x)
        return x

if __name__ == '__main__':
    init_rng = jax.random.PRNGKey(0)
    model = TestModel()
    state = create_train_state(model, init_rng)
    del init_rng

    checkpointer = ocp.Checkpointer(ocp.PyTreeCheckpointHandler(use_ocdbt=True))
    checkpointer.save(os.path.abspath('checkpoints/checkpoint1'), state)

And here's my docker setup:
Dockerfile:
FROM python:3.9.17-slim-bullseye

WORKDIR /project
COPY requirements.txt requirements.txt

RUN python -m pip install --upgrade pip
RUN python -m pip install jupyterlab flax orbax-checkpoint jax

EXPOSE 8888

ENTRYPOINT ["jupyter", "lab", "--ip=<IP_ADDRESS>", "--allow-root", "--no-browser", "--NotebookApp.token=''", "--NotebookApp.password=''"]

docker-compose.yaml:
services:
  test:
    build: .
    ports:
      - 8888:8888
    volumes:
      - .:/project
    deploy:
      resources:
        reservations:
          devices:
          - capabilities: [gpu]

I use the following commands to build and enter my docker container:
docker-compose build
docker-compose up -d
docker-compose exec test bash

Then I create the checkpoint directory:
mkdir checkpoints

From here you can run the reproduction code.
I've been able to reproduce this error in a couple of different docker environments, but this one is the simplest. For some reason it does not reproduce in Colab.

I was able to run your codes without errors from a simple virtual env without docker.  I think it's something do file permission of your project & checkpoints folder.  Please make sure your docker env has full permissions to the checkpoint path.

I just tried running it in ubuntu without docker and it worked, so it seems docker is the problem. Creating the checkpoints folder with python doesn't seem to change anything. I'll keep experimenting.

So the problem was the ownership of my mounted volume. Because I mounted /projects from my host machine, I couldn't control its ownership from inside the container. I solved this by adding RUN mkdir /checkpoints to my dockerfile in order to create a separate directory that is owned by the root user, then saving checkpoints to that directory instead of the one inside /project. The one problem with this is that everything inside of /checkpoints will be lost when I stop the container. I got around this by only using /checkpoints as a temp directory and immediately copying any checkpoints to /project/checkpoints after they're created.
Here's the updated dockerfile:
FROM python:3.9.17-slim-bullseye

RUN mkdir /checkpoints

WORKDIR /project
COPY requirements.txt requirements.txt

RUN python -m pip install --upgrade pip
RUN python -m pip install requirements.txt

EXPOSE 8888

ENTRYPOINT ["jupyter", "lab", "--ip=<IP_ADDRESS>", "--allow-root", "--no-browser", "--NotebookApp.token=''", "--NotebookApp.password=''"]

So the root directory of my container now looks like this:
(usual linux stuff)
/checkpoints
/project
     /checkpoints
     /test.py
     ...

And /checkpoints is owned by the root user:
root@12b24ced75c4:/# ls -ld checkpoints
drwxr-xr-x 2 root root 4096 Aug  2 20:18 checkpoints

Whereas /project and by extension /project/checkpoints are not:
root@12b24ced75c4:/# ls -ld project
drwxrwxrwx 1 1000 1000 4096 Aug  2 20:17 project

Finally, here's the updated python file with the copying technique that I mentioned:
import flax.linen as nn
from flax.training import train_state
import optax
import orbax.checkpoint as ocp
import jax
import jax.numpy as jnp
import os
import shutil

def create_train_state(module, rng):
    x = (jnp.ones([1, 256, 256, 1]))
    variables = module.init(rng, x)
    params = variables['params']
    tx = optax.adam(1e-3)
    ts = train_state.TrainState.create(
        apply_fn=module.apply, params=params, tx=tx
    )
    return ts

class TestModel(nn.Module):
    @nn.compact
    def __call__(self, x):
        x = nn.Conv(4, kernel_size=(3, 3))(x)
        return x

if __name__ == '__main__':
    init_rng = jax.random.PRNGKey(0)
    model = TestModel()
    state = create_train_state(model, init_rng)
    del init_rng

    checkpointer = ocp.Checkpointer(ocp.PyTreeCheckpointHandler(use_ocdbt=True))
    # Save to root owned checkpoints dir.
    checkpointer.save(os.path.abspath('../checkpoints/checkpoint1'), state)
    # Copy from root owned checkpoints dir, to checkpoints dir in mounted volume.
    shutil.copytree('../checkpoints/checkpoint1', 'checkpoints/checkpoint1')
    # Restore from checkpoints dir in mounted volume.
    state = checkpointer.restore(os.path.abspath('checkpoints/checkpoint1'))

@ChromeHearts thanks for pointing me in the right direction.

This is certainly very weird.  Your docker was actually running as root so it shouldn't have issues directly saving checkpoints to the checkpoint folder.  In addition, if you can copy the checkpoints from temp to mounted folder, it meant your python script had no issues writing as well.  It's definitely something to do with your docker or local mount.   I re-did your setup in docker and was able to checkpoint directly to local mount folder.
root@e8a981978d40:/project# ls -l
total 16
-rw-r--r-- 1 1003 1003  268 Aug  3 02:26 Dockerfile
-rw-r--r-- 1 1003 1003  105 Aug  3 02:27 docker-compose.yaml
-rw-r--r-- 1 1003 1003  940 Aug  3 02:07 main.py
drwxr-xr-x 5 1003 1003 4096 Aug  3 02:08 py39
root@e8a981978d40:/project# mkdir checkpoints
root@e8a981978d40:/project# python main.py
No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)
save_path='/project/checkpoints/checkpoint1'
root@e8a981978d40:/project# ls -l
total 20
-rw-r--r-- 1 1003 1003  268 Aug  3 02:26 Dockerfile
drwxr-xr-x 3 root root 4096 Aug  3 02:35 checkpoints
-rw-r--r-- 1 1003 1003  105 Aug  3 02:27 docker-compose.yaml
-rw-r--r-- 1 1003 1003  940 Aug  3 02:07 main.py
drwxr-xr-x 5 1003 1003 4096 Aug  3 02:08 py39
root@e8a981978d40:/project# find checkpoints
checkpoints
checkpoints/checkpoint1
checkpoints/checkpoint1/checkpoint
checkpoints/checkpoint1/d
checkpoints/checkpoint1/d/ce942794f70ea11a64fa0742f009b653
checkpoints/checkpoint1/d/2b248e926ce267f2604fe6215090a51b
checkpoints/checkpoint1/d/7d4d3dd57291b20fd8866db6035f8025
checkpoints/checkpoint1/manifest.ocdbt
root@e8a981978d40:/project#```

The main.py is simply your python script (1st version without the copy).  I managed to save checkpoint without issues.  I suggest avoid the copy from temp to mounted volume.  Docker temp folder is not meant for storing large dataset.

It seems that we have at least one solution, so closing this issue.


OAKD camera fails to launch

Please provide the following information:

OS: Ubuntu 22.04
ROS Distro: Humble
installed:
Package version: (if from repository, give version from sudo dpkg -s ros-$ROS_VERSION-turtlebot4-PACKAGE_WITH_ISSUE, if from source, give commit hash)

Expected behaviour
Oakd camera launches and publishes the images in the topic
Actual behaviour
Oakd camera fails to launch and does not publish anything
To Reproduce
ubuntu@ubuntu:~$ ros2 launch turtlebot4_bringup oakd.launch.py namespace:='agent_1'
[INFO] [launch]: All log files can be found below /home/ubuntu/.ros/log/2023-07-25-13-04-09-968744-ubuntu-2109
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [component_container-1]: process started with pid [2122]
[component_container-1] [INFO] [1690283051.105485881] [agent_1.oakd_container]: Load Library: /opt/ros/humble/lib/libdepthai_ros_driver.so
[component_container-1] [INFO] [1690283051.354585291] [agent_1.oakd_container]: Found class: rclcpp_components::NodeFactoryTemplate<depthai_ros_driver::Camera>
[component_container-1] [INFO] [1690283051.354723161] [agent_1.oakd_container]: Instantiate class: rclcpp_components::NodeFactoryTemplate<depthai_ros_driver::Camera>
[component_container-1] [INFO] [1690283051.402580322] [oakd]: No ip/mxid specified, connecting to the next available device.
[component_container-1] [INFO] [1690283054.358447048] [oakd]: Camera with MXID:<PHONE_NUMBER>DC371300 and Name: 1.1.2 connected!
[component_container-1] [INFO] [1690283054.361502138] [oakd]: USB SPEED: SUPER
[component_container-1] [INFO] [1690283054.384179296] [oakd]: Device type: OAK-D-PRO-AF
[component_container-1] [INFO] [1690283054.389250380] [oakd]: Pipeline type: RGBD
[component_container-1] [INFO] [1690283054.524608326] [oakd]: NN Family: mobilenet
[component_container-1] [INFO] [1690283054.934450124] [oakd]: NN input size: 300 x 300. Resizing input image in case of different dimensions.
[component_container-1] [INFO] [1690283055.670105916] [oakd]: Finished setting up pipeline.
[component_container-1] [ERROR] [1690283059.455945762] [agent_1.oakd_container]: Component constructor threw an exception: Device already closed or disconnected: Input/output error
[ERROR] [launch_ros.actions.load_composable_nodes]: Failed to load node 'oakd' of type 'depthai_ros_driver::Camera' in container '/agent_1/oakd_container': Component constructor threw an exception: Device already closed or disconnected: Input/output error

Other notes
Add anything else you thing is important.

What package version of depthai are you running? (apt show ros-humble-depthai)

This issue is being closed due to inactivity. If you are still experiencing the issue, feel free to reopen this ticket when you are ready to continue the troubleshooting process.


update about.md from ash

This is from ashrita. Testing if pull request works and is accepted by you

Ok Thanks for the contribution 🥰


Certificate not trusted

I can't seem to update my stretch chroot; it says that the certificate of chromium.googlesource.com is not trusted. I can visit https://chromium.googlesource.com/ from my Chromebook browser with no issues.
chronos@localhost ~/Downloads/crouton-master $ sudo sh crouton -u -n stretch
/usr/local/chroots/stretch already exists; updating it...
Preparing chroot environment...
Installing brightness into the chroot...
Installing croutonpowerd into the chroot...
Installing croutonversion into the chroot...
Installing host-dbus into the chroot...
Installing host-x11 into the chroot...
Installing pulseaudio-default.pa into the chroot...

(snip)
The following packages were automatically installed and are no longer required:
  libasound2-dev:i386 libc6-dev:i386 libspeex-dev:i386 libspeex1:i386 libspeexdsp-dev:i386 libxext-dev libxfixes-dev libxi-dev linux-libc-dev:i386
  x11proto-fixes-dev x11proto-xext-dev
Use 'apt-get autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Syncing timezone...
Installing target audio...
Fetching CRAS (branch 9fb0902cca2403ce4776c8c3af70f718bb965172)...
--2015-06-11 12:39:28--  https://chromium.googlesource.com/chromiumos/third_party/adhd/+archive/9fb0902cca2403ce4776c8c3af70f718bb965172.tar.gz
Resolving chromium.googlesource.com (chromium.googlesource.com)... <IP_ADDRESS>, 2607:f8b0:400c:c06::52
Connecting to chromium.googlesource.com (chromium.googlesource.com)|<IP_ADDRESS>|:443... connected.
ERROR: The certificate of 'chromium.googlesource.com' is not trusted.
Error fetching CRAS
Failed to complete chroot setup.
Unmounting /mnt/stateful_partition/crouton/chroots/stretch...
chronos@localhost ~/Downloads/crouton-master $

This the version I'm using:
crouton: version 1-20150504234933~master:75fb08cb
release: stretch
architecture: amd64
xmethod: xorg
targets: xfce,xorg
host: version 6812.88.0 (Official Build) stable-channel wolf
kernel: Linux localhost 3.8.11 #1 SMP Fri May 8 14:15:23 PDT 2015 x86_64 GNU/Linux
freon: yes

Thanks in advance, take care.

Seems like this is working now; I'll reopen if I have any more issues.


Unable to Deploy - An error occured while performing the operation

I am running into an error trying to run the serve command and unable to get past this.  I am not sure where the issue even sits.
nr1-command-center>nr1 nerdpack:serve --verbose
init version<EMAIL_ADDRESS>argv: [ '--verbose', [length]: 1 ]
init version<EMAIL_ADDRESS>argv: [ '--verbose', [length]: 1 ]
Found and loaded 2 nr1.json files on msp-alerts (60c98924-44fd-458f-bbf6-b96485cede4c) Nerdpack.
Schema file is 8 min old
Nerdpack:
√  msp-alerts (60c98924-44fd-458f-bbf6-b96485cede4c) nr1.json
Launchers:
√  nr1-command-center-launcher launchers\nr1-command-center-launcher\nr1.json
Nerdlets:
√  nr1-command-center-nerdlet nerdlets\nr1-command-center-nerdlet\nr1.json
Using profile XXXXX_NonProd_US
There is no certificate created yet.
Request: GET https://ca.service.newrelic.com/user/certificate
Data: undefined
Headers: {
'API-Key': 'XXXXXXX'
}
x  Error: An error ocurred while performing the operation
{ origin: 'service' }

Hello @tdavis13 ! Can you please provide the output of the following commands?
nr1 --version
nr1 profiles:list
It looks like there is an issue generating a cert for your default profile - which may not be set. Assuming the profile(account) that the nerdpack is being served to is not your default profile, you could try running nr1 nerdpack:serve with the --profile flag like this:
nr1 nerdpack:serve --profile=XXXXX_NonProd_US

nr1-command-center>nr1 --version
@datanerd/nr1/1.22.2 win32-x64 node-v10.16.3
nr1-command-center>nr1 profiles:list
Name                      Region  API key

XXXXX_NonProd_US (default)  us

@tdavis13 - are you able to successfully curl https://ca.service.newrelic.com/user/certificate ? You could also try to remove your certs directory located under .newrelic and try to run nr1 nerdpack:serve again.
Another common issue (especially on Windows) is file/directory permissions. I would make sure your user (or whatever user installed nr1 CLI) has read/write access to the .newrelic directory.

There was no .newrelic directory under nr1-command-center.  Unless it is supposed to be somewhere else, I created a hidden file and the certs directory under it.

So, I wiped out the nr1-command-center directory I had and tried in a new location.  Caught an error I may have missed before.  On the download/unpack of the repository, I get an error with the uuid regeneration.  Running just that command, I get:
nr1-command-center>nr1 nerdpack:uuid --generate --force
x  Error: 401 - Your API key is missing or is invalid
i  You can run this command with "--verbose" for more info.
nr1-command-center>nr1 nerdpack:uuid --generate --force --verbose
init version<EMAIL_ADDRESS>argv: [ '--generate', '--force', '--verbose', [length]: 3 ]
Using profile XXXXX_NonProd_US
Request: POST https://artifact-registry.service.newrelic.com/graphql
Data: mutation {
generatePackageUuid
}
Headers: {
'API-Key': 'XXXXXXX',
'Content-Type': 'application/graphql'
}
x  Error: 401 - Your API key is missing or is invalid
{ origin: 'service-gateway' }
I had dropped and recreated my only profile.

Yeah the .newrelic directory should be somewhere else- I spun up a windows machine and for me after going through the CLI install steps 1-4 found by clicking on the "New Relic One command line interface (CLI)" link located on this page: https://developer.newrelic.com/build-apps/set-up-dev-env ...
The .newrelic directory was located at C:\Users\<myUser>\.newrelic

Looks like I just had to dig out the 'right' API key.  Now, I get a Syntax Error.  But, this may be a different issues now.
[./nerdlets/nr1-command-center-nerdlet/alarms.js] 2.58 KiB {b7d5d057-55b3-4de8-bfe8-d7dd07d6fdbb--nr1-command-center-nerdlet} [built] [failed] [1 error]
[./nerdlets/nr1-command-center-nerdlet/index.js] 2.83 KiB {b7d5d057-55b3-4de8-bfe8-d7dd07d6fdbb--nr1-command-center-nerdlet} [built]
[nr1] external "__NR1_EXTERNAL_LIB__" 42 bytes {b7d5d057-55b3-4de8-bfe8-d7dd07d6fdbb--nr1-command-center-nerdlet} [built]
[react] external "React" 42 bytes {b7d5d057-55b3-4de8-bfe8-d7dd07d6fdbb--nr1-command-center-nerdlet} [built]

ERROR in ./nerdlets/nr1-command-center-nerdlet/alarms.js
Module build failed (from C:/Users/td013244/AppData/Local/newrelic-cli/client/1.22.2/node_modules/babel-loader/lib/index.js):
SyntaxError: c:\Users\td013244\Desktop\nr1-command-center\nerdlets\nr1-command-center-nerdlet\alarms.js: Unexpected token, expected "}" (41:12)

  39 |
  40 |     this.schema = {
> 41 |       "type": "object",
     |             ^
  42 |       "properties": {
  43 |         "accounts": {
  44 |           "type": "array",
    at Object._raise (C:\Users\td013244\AppData\Local\newrelic-cli\client\1.22.2\node_modules\@babel\parser\lib\index.js:742:17)
    at Object.raiseWithData (C:\Users\td013244\AppData\Local\newrelic-cli\client\1.22.2\node_modules\@babel\parser\lib\index.js:735:17)
    at Object.raise (C:\Users\td013244\AppData\Local\newrelic-cli\client\1.22.2\node_modules\@babel\parser\lib\index.js:729:17)
    at Object.unexpected (C:\Users\td013244\AppData\Local\newrelic-cli\client\1.22.2\node_modules\@babel\parser\lib\index.js:8757:16)
    at Object.expect (C:\Users\td013244\AppData\Local\newrelic-cli\client\1.22.2\node_modules\@babel\parser\lib\index.js:8743:28)
    at Object.jsxParseExpressionContainer (C:\Users\td013244\AppData\Local\newrelic-cli\client\1.22.2\node_modules\@babel\parser\lib\index.js:4468:10)
    at Object.jsxParseElementAt (C:\Users\td013244\AppData\Local\newrelic-cli\client\1.22.2\node_modules\@babel\parser\lib\index.js:4559:36)
    at Object.jsxParseElement (C:\Users\td013244\AppData\Local\newrelic-cli\client\1.22.2\node_modules\@babel\parser\lib\index.js:4602:17)
    at Object.parseExprAtom (C:\Users\td013244\AppData\Local\newrelic-cli\client\1.22.2\node_modules\@babel\parser\lib\index.js:4609:19)
    at Object.parseExprSubscripts (C:\Users\td013244\AppData\Local\newrelic-cli\client\1.22.2\node_modules\@babel\parser\lib\index.js:9602:23)
 @ ./nerdlets/nr1-command-center-nerdlet/index.js 14:0-30 49:48-54

Child
Hash: c2df752adee82316e500
Time: 3690ms
Built at: 08/03/2020 6:30:59 PM
Asset      Size                                        Chunks                   Chunk Names

glad you solved it! Yes that issue is solved by filling this pre-req:
Configured accountId within alarms.js (this.accountId = <your_account_id>)
Basically put the accountId of whatever account you are deploying it to.

This can be closed now.  Finally got it all working.  Now, it is humming.  Go figure out how to make it sing now.


KeyboardInterrupt catch?

i've tried catch it with :
except KeyboardInterrupt as e:
        loop.stop()
        print("Received KeyboardInterrupt, shutting down...")

But its working so slowly...
maybe another, more simple way to do this..?

Hello there,
What are you exactly trying to do? Doesn't the program already stop by itself when you do ctrl+c? By the way, do you use windows, linux or macos? I use nixos (linux) and the CTRL+C is instantaneous but it seems to me that under windows it takes a lot of time (I don't know why yet but I'm going to read more about it).

That's what i mean)
i've tested it under windows and really..

under windows it takes a lot of time
wanted just run it and try..

thank you for your sharing

which variables can i use inside my order_update_handler ?
i mean order_quantity, side - what else?
same that listed here? [https://th0rgal.gitbook.io/binance-py/events-list]

which variables can i use inside my order_update_handler ?
i mean order_quantity, side - what else?
same that listed here? [https://th0rgal.gitbook.io/binance-py/events-list]

Yup exactly, everything listed here: https://th0rgal.gitbook.io/binance-py/events-list#order-update
It is just a wrapper for this: https://github.com/binance-exchange/binance-official-api-docs/blob/master/user-data-stream.md#order-update


Test - Exalate feature request

What problem are you trying to solve?
Something great
What's your suggested solution?
Dunno
Examples (if relevant)
???
Is anything blocking this from being implemented? (if relevant)
No response
Definition of Done
No response

super comment
youpi

🧶


Add option to pokedex to show imperial units.

Also adds a space between number and units.
ptal @mackorone

Going to merge this - if @mackorone is strongly opposed we can revert it 😄


Should if (condition) { ... } allow if condition { ... } syntax?

At the second lesson with Marta I saw that she intuitively  wanted to write:
if n <= 0 {
  return n
}

instead of
if (n <= 0) {
  return n
}

Should we support the syntax without brackets for if?

Not sure about that, might degrade readability.

Not sure about that, might degrade readability.

Can you show an example where this degrades readability? If we allow both syntaxes, which one should the formatter use?

Not sure about that, might degrade readability.

Can you show an example where this degrades readability? If we allow both syntaxes, which one should the formatter use?

I'd say in every case, I am simply a proponent of braces.
As for a concrete example, I think it's easier to spot quickly if's condition if there are braces, compare:

and:

Ok, let's leave it open to gather more opinions. For one, I remember that Douglas Crockford advocated for no braces in if


Update requirements.txt and setup.py according to GHSA-977j-xj7q-2jr9

This UNTESTED patch addresses the tensorflow vulns.
--timball

@timball , I don't see any additional changes. Why did you assign back to me?
Also, there's one thing I missed last time -- this will need an entry in the changelog.

Okay @stephen-hoover sorry. didn't mean to passive-aggressive assign the ticket. I accepted your changes. Hope this works! Still totally UNTESTED.
--timball

@jacksonllee , it looks like Tensorflow v1.15.2 doesn't support Python 3.4 or 2.7, which this repo is still testing in. Thoughts? When will you be ready to end 2.7 and 3.4 support in muffnn?
The >= 3.5 tests have a couple of odd failures in the tests which I haven't had time to look into yet.

@stephen-hoover TL;DR -- I'm leaning towards having this PR merge for now, so that this PR (and @timball ) aren't on the hook. Then the current muffnn maintainers will fix the master branch shortly (for the following two issues) and make a new release.
Re: Python 2.7 and 3.4, since Tensorflow v1.15.2 doesn't support them anymore and we need at least this version of Tensorflow for security, it looks like muffnn would have to stop supporting Python 2.7 and 3.4 in the next release (coming up in about a week). Probably not ideal, especially since we didn't have a cycle of deprecation, etc. But it looks like Tensorflow is the limiting factor here... The action items would be to (i) remove Python 2.7 and 3.4 in the Travis CI yaml config and (ii) document in the README.md what Python versions are supported (there's currently no mention at all).
Re: test failures for Python 3.5+, it looks like they have to do with small numerical discrepancies. I can fix them in a separate PR as well.
cc @mheilman in case you have thoughts

@timball @stephen-hoover Thank you again for the help! @mheilman and I decided that we shouldn't merge PRs that would fail the builds, and so we're holding off this PR while investigating #102.


Don't remove other hosts' containers

The algorithm in the agent which tells amber about which containers are instances of which services does this:

Look at each container running on this host, and record it as an instance of any service it matches;
Look at each instance, and if it does not correspond to a container running on this host, remove it.

This has the effect, when running on more than one host, of removing all instances.

This is only a problem when trying to reconcile the the source of truth for container lifecycle (docker) with the source of truth for services (etcd), when the agent starts. While running, we have enough information to add and remove containers accurately.
An obvious tactic would be to label each instance with a host identifier, and remove only those that belong to the host on which the agent runs. Another would be to use leases, and garbage collect.

If the host crashes (or the docker daemon is stopped, for that matter), we'd want the instances to go away; this suggests a heartbeat mechanism.
As a stop-gap, associating each instance with a host identifier will be adequate. Assuming the host IP given to the agent identifies the host, we can use that.

As a stop-gap, associating each instance with a host identifier will be adequate. Assuming the host IP given to the agent identifies the host, we can use that.

Done as described. Needs tests though.

Test in eeb83683f3ec2214cd9aaa230ce1cfbdd076ecf6


Change second country text color to blue as well

Sorry, I forgot to do this when I changed the first one!

@saltedlolly I think this needs to be rebased or reapplied on main again. I tried to do it myself but there's a lot of commits and it's not clear to me what's going on.

Thanks. I will take a look. I'm not sure what I did wrong with the PR. I only changed one line!


Implement Gitea to hold otomi values

User story
As a user I would like to have a git repo for otomi values out of the box, so I don't have to bring my own.
Tasks
core:

[ ] Add Gitea as chart
[ ] Add gotmpl glue and default config to use git.$domain etc
[ ] Update json schema

otomi docs:

[ ] Update docs with

Definition Of Done

[ ] Tasks are done
[ ] (Unit) Tests are added to code
[ ] (Architecture) Design Record(s) have been added as adr/*.md and appended to list in adr/_index.md
[ ] Specs and demo files have been updated to reflect code changes
[ ] Documentation has been updated
[ ] Functionality, code, and/or documentation has been peer reviewed
[ ] Relevant team members have been notified

Let's assign this to @Dunky13?

Let's assign this to @Dunky13?

good idea, as was already discussed :)

good idea, as was already discussed :)

I see then this moved into "progress"...

I see then this moved into "progress"...

IMO people should self assign when they start work. Communication about who does what should not be done via the "assignee" field, as that might change always.

IMO people should self assign when they start work. Communication about who does what should not be done via the "assignee" field, as that might change always.

I don't want pre-assigning to hinder adoption by those who are available and ready to start on it.

I don't want pre-assigning to hinder adoption by those who are available and ready to start on it.

Yes that makes sense, sorry about that.

Yes that makes sense, sorry about that.

No worries, no sorry's p

No worries, no sorry's p

As a user I would like to have a git repo for otomi values out of the box, so I don't have to bring my own.

Does this mean that we provide with a otomi-values template, that the use has to fill in themselves? Or a way for the user to configure the data, that is then inserted into the gitea o-v repo?


unknown shorthand flag: 'r' in -rm

Problem encountered on https://dotnet.microsoft.com/learn/aspnet/microservice-tutorial/run-docker
Operating System: windows
Provide details about the problem you're experiencing. Include your operating system version, exact error message, code sample, and anything else that is relevant.
unknown shorthand flag: 'r' in -rm and
Could not execute because the application was not found or a compatible .NET SDK is not installed.
Possible reasons for this include:

You intended to execute a .NET program:
The application 'MyMicroservice.dll' does not exist.
You intended to execute a .NET SDK command:
It was not possible to find any installed .NET SDKs.
Install a .NET SDK from:
https://aka.ms/dotnet-download

Can you paste the exact command you're trying to run? The command on that page is a docker command, not dotnet. The error message seems to indicate the dotnet command was used instead. Maybe try using the copy button to make sure the right command was used. Let me know if I'm missing anything.


Content for Projects Page

up near the top is a call to action
Submit a project
We are looking for projects that collaborators can work on during the event. Maybe you have a project that is up and running but not open-sourced. We can help take you to the next level. Perhaps you have an idea for a project and would like to start it out by working in the open. We can get you started. Or maybe you have some data stuck in a flat file somewhere you’d like to see made available to the world or have a PI built. That works too! We’d love to build community connections between projects and contributors.
Fill in the project form here  https://goo.gl/forms/xQsoEPznuxRDdhNz2
then list all the cool projects (looks great)
maybe ask for link to projects or images?    cc<EMAIL_ADDRESS>on emails.

added description and link to form

I just updated it with

Current State of your project
Possible state after the event

I have a great idea!
You have launched a project online with all the things folks need to   collaborate with you!

I have an open project on github but nobody is contributing.
Now your project is welcoming and inviting to folks and you have   issues for folks to work on.

I have a project I’d like to share, but I’d like to keep my branding private   for reasons.

I made a giant pong controller and now folks in Chattanooga want one,   but I don’t want to build it or ship it to them
You’ve publish the plan on Instructables, add a creative commons   license and they can build it themselves!


Add one time split preselection

Describe your PR, what does it fix/add?
This adds the bspwm like preselection in case you want your window to open in a specific direction.
Note this only works for Dwindle.
Changes
added a persistent mode: permanent_direction_override
this leaves the  selected direction until: another direction has been specified, no direction has been specified (any other character as direction as those who would specify a direction), or this mode is turned off in config.
config entry is in dwindle -> dwindle:permanent_direction_override
Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
I am not a user of groups, and or special workspaces, so if there are issues with them please tell me.
Is it ready for merging, or does it need work?
It should be ready for merging, a quick look at the impl is ofc appreciated.
Usage
hyprctl dispatch layoutmsg "preselect u"  -> up (or t)
hyprctl dispatch layoutmsg "preselect d" -> down (or b)
hyprctl dispatch layoutmsg "preselect r" -> right
hyprctl dispatch layoutmsg "preselect l" -> left
hyprctl dispatch layoutmsg "preselect n" -> no direction (this can be any character other than those above)
the no direction is needed to reset the override in persistent mode.
wiki entry: https://github.com/hyprwm/hyprland-wiki/pull/218

I added a persistent mode as well, changes are in the description above, not much changed, seemed like a good thing to include. Now people can go out and tell others hey hyprland now has "manual tiling" as well :P

I have been using this, haven't noticed anything. It essentially just uses what is already there either way.


add brc20 inscription example

A simple brc20 transfer inscription example, as it can also be an example for taproot script-path spending.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
19540

Relevant Lines:
23250

💛  - Coveralls

Hello @oneforalone, thanks for the contribution. I don't feel I know enough about BRC-20 to review this PR. I am not opposed to inscriptions in principle, I don't feel it belongs as rust-bitcoin example. We also don't have examples for creating lightning transactions, liquid multisig creation or any other exotic scheme.
I would recommend creating an example crate using rust-bitcoin demonstrating the flow for creating inscriptions. I would be happy directing all the inscription related questions/queries to that repo.

Actually, I did push the code to my personal repo for brc20 demo (https://github.com/oneforalone/brc20-demo.git).

I don't feel it belongs as rust-bitcoin example. We also don't have examples for creating lightning transactions, liquid multisig creation or any other exotic scheme.

Okay, got it, but what if make this brc20 example as a taproot script path spending example?

Okay, got it, but what if make this brc20 example as a taproot script path spending example?

Usually, examples should be minimalist and hyper-focused on the topic they wish to cover.
Someone who says "I want to try a script path spend, but I don't know how." and finds this example should not be required to then ask themselves "ok, what is brc20? how does it work?"
A script path spend example should ideally just have a single CHECKSIG, or maybe a multisig spend using CHECKSIGADD (since that would be the most likely use case) but even that is stretching a bit.

Okay, thanks for your explanation, now I'm closing this PR.


update badges

Codecov Report

Merging #47 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #47   +/-   ##
=======================================
  Coverage   71.25%   71.25%
=======================================
  Files          17       17
  Lines        2282     2282
=======================================
  Hits         1626     1626
  Misses        656      656

Continue to review full report at Codecov.

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


Add support to disable macOS signing

Build the macOS installer when CERTIFICATE is not set. User can add their own customized steps to sign the macOS package.

@gdams do you mind to review this? thank you!

reviewed

hmm @junyzheng we're now seeing this error:
./pkgbuild.sh: line 67: INPUT_DIRECTORY: unbound variable

Any idea what needs fixing?

hmmm... OK, let me take a look.

okay think I've fixed it now :)


fix error when trying to use dummy load

Pull Request Test Coverage Report for Build<PHONE_NUMBER>9
Details

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

Totals

Change from base Build<PHONE_NUMBER>0:
0.0%

Covered Lines:
4716

Relevant Lines:
4718

💛  - Coveralls


feat: configure Segment plugin to be able to send data to Red Hat (disabled by default)

Description
This PR adds configuration for the Segment plugin to send data to Red Hat. The plugin is disabled by default. The user needs to enable this plugin in the Helm or Operator configuration.
I'm having issues with this plugin when running locally. The Segment plugin fails to load correctly, and it shows a warning in the browser console (https://issues.redhat.com/browse/RHIDP-1451):
Segment.ts:58 Failed to read configuration value at 'app.analytics.segment.writeKey' as it is not visible. See https://backstage.io/docs/conf/defining#visibility for instructions on how to make it visible.

This issue is present only when running locally (yarn start). When running from the image, everything is OK. Because o that I don't consider this a blocker for this PR, it might be issue with local configuration.
TODOs:

[x] add documentation and information on how to enable and disable
[x] provide the production key to the production Dockerfile (this will be done in downstream https://gitlab.cee.redhat.com/rhidp/rhdh/-/merge_requests/10/diffs?commit_id=35426e292eda191d0b3ecf649695ecc416ff73a7#86d2a35e6325bba5ceaf29e203b14cd809af55fd_175_184)

Which issue(s) does this PR fix
Related to: https://issues.redhat.com/browse/RHIDP-1311
PR acceptance criteria
Please make sure that the following steps are complete:

[ ] GitHub Actions are completed and successful
[ ] Unit Tests are updated and passing
[ ] E2E Tests are updated and passing
[ ] Documentation is updated if necessary (requirement for new features)
[ ] Add a screenshot if the change is UX/UI related

How to test changes / Special notes to the reviewer

@kadel, How can a user disable the telemetry feature in an air-gapped environment?

@kadel, How can a user disable the telemetry feature in an air-gapped environment?

The same way as disabling it in any other environment (it is documented in getting started guide in this PR)

/retest

/retest

    "beforeAll" hook timeout of 80000ms exceeded.
      14 |     'https://github.com/janus-qe/custom-catalog-entities/blob/main/timestamp-catalog-info.yaml';
      15 |
    > 16 |   test.beforeAll(async ({ browser }, testInfo) => {
         |        ^
      17 |     page = (await setupBrowser(browser, testInfo)).page;
      18 |
      19 |     common = new Common(page);
        at /tmp/backstage-showcase/e2e-tests/playwright/e2e/catalog-timestamp.spec.ts:16:8
    "beforeAll" hook timeout of 80000ms exceeded.
      14 |     'https://github.com/janus-qe/custom-catalog-entities/blob/main/timestamp-catalog-info.yaml';
      15 |
    > 16 |   test.beforeAll(async ({ browser }, testInfo) => {
         |        ^
      17 |     page = (await setupBrowser(browser, testInfo)).page;
      18 |
      19 |     common = new Common(page);
        at /tmp/backstage-showcase/e2e-tests/playwright/e2e/catalog-timestamp.spec.ts:16:8
    Error: expect(locator).toBeHidden()
    Locator: locator('#app_totp')
    Expected: hidden
    Received: visible
    Call log:
      - expect.toBeHidden with timeout 120000ms
      - waiting for locator('#app_totp')
      -   locator resolved to <input value="" type="text" id="app_totp" name="app_otp…/>
      -   unexpected value "visible"

/lgtm

/lgtm


Add some examples

Please add examples how to use the different components.

+1

+1

+1 doooo it

+1

Sorry I have been quite busy lately.
I will add some example soon.

+1

+1

any news ?

Hi everyone,
Once again, huge apologies for how slowly this has moved.
I have started generating a style guide using styleguidist
First version is up on github pages http://croudsupport.github.io/vue-semantic/
I will be adding to this over the next week so feel free to make suggestions or even contribute if you want.
Thanks for your patience.
Brock

Fantastic! Thank you!


What are some way to obtain Udemy decryption keys after they patched on 2/1/2022?

What are some ways to obtain Udemy decryption keys?
Downgrading widevine does not work anymore...
Thanks

I will not provide support for getting decryption keys.


Promise inheritance

fetch('') instanceof Promise is returning false. I could not understand why.

Why are you trying to detect whether fetch() returns a promise? You know that it already does. If you need to detect promise-like objects, just check if typeof obj.then === "function". Even if such "thenable" object isn't an instance of Promise, or if it's a type of promise that is not Promises/A+ complatible, you can wrap it in a promise using Promise.resolve(obj).

Which browser version? This information helps greatly when reporting client-side problems to any project. For instance, fetch('') instanceof Promise is true in Chrome, where there is both a native implementation of Promise and of window.fetch.

I'm closing this issue but feel free to continue the conversation. Questions like this are best asked on Stack Overflow. There just isn't enough detail in the question to know how to answer.

Typeof obj.then == "function" was what I did when I encountered the problem and that worked fine. The problem happened in a recent version of firefox. It took me a while to realize the problem because I was using Chrome too and everything was working fine. I could not understand precisely what happened, but it looked like a bug in this project's code or in the Promise polyfill project. My code is working well, but I believe that it is better to fix it somehow.  Tanks!

I don't think was that kind of question. I was just concerned about the project.

@priori We appreciate your concern. 😄 If the problem that you saw was in Firefox, then this polyfill wasn't used at all. Firefox has its own implemenation of window.fetch.

Sorry, you are right! For some reason the Promise polyfill did overwrite the native one.


CI failure when building add ons...

Seems to be broken on various different add on builds..

The broken thing is the package management of alpine. 😅
For the build test, the apk packages must exist at the specified version. Since alpine only keep the last version the build get red when at least one package is out of date.

Is there not a better way to handle it?

@reedy I could go to remove a specific version of the system packages, but then by always using "latest" a build is not reproducable and might introduce new issues without notice.
Downside on the current way: when changing anything and there are new packages, the build breaks.
Pro: The version update needs to be made by hand, tested the function and provides a stable addon.

It'd be useful if there was a bot or something that monitored for new packages, and at least created an issue, and/or a PR and see if the CI works...
Arguably, that's not full testing, I know...
You could do the inbetween, and not specify the the -r[0-9]; which in theory should only be underlying package rebuilds...
Though, looking at https://git.alpinelinux.org/aports/log/community/syncthing, most of the -r builds end up being bumping go versions, which probably could cause more problems than updating the package itself.
🍿


feat(editor/subscriber): Show counter for Subscriber Plugins (Logical Nodes / Later) (GOOSE/SMV)

This will replace PR https://github.com/openscd/open-scd/pull/993 and closes #958
Thanks @danyill for the code.
It will added the counter to the Left Side of the Editor for both Data and Later Binding.
Through a event the counter will be updated if the subscription changes.

@danyill, which issue will this PR close? Would be nice to link it to this PR.

@danyill, can you try again if the performance is better?
I fixed the update method. This was indeed needed to make it faster.

LVGTM, thanks!


Set up the GitHub DashBoard for 24/25 Team

Set up the GitHub DashBoard for the team of 24/25
The recruitment period is over and now we should get started with the fun stuff. First of all, we need to have an overview of all issues and tasks that have not been done for this year. For this purpose, we create this GitHub project of the existing template and start filling it with tasks.
Tasks

[ ] Look over what issues should be migrated.
[ ] Ask all leads to add the initial issues to this project.
[ ] Evaluate added issues.

Requirements

[ ] The dashboard is supposed to be similar to the one in the previous year.
[ ] Needs to contain issues from all teams.

(This is the first issue of this semester. yaayyy)

Notes from my converaation with Tris

The project should focus on Orka