Possibilities for full-duplex ports (i.e. topology map).

First of all thanks for this library!
It's probably not really within the scope of this project but would it be a lot of work to add duplex ports/connections? An example (a.k.a. what I need) would be where a node represents a network device with full-duplex ports (e.g. switch) which can be interconnected to each other. In other words, building a physical network topology. Thanks in advance!

Would be totally possible if #117 were to be merged

Thanks Russel, I'm going to pull in the changes from that PR and try it out. Closing this for now.

In that case, let's leave it open for a moment longer.

@russelltg, would you mind giving me a push into the right direction (using your PR). Only if you have the time of course.
Say I have a list of network devices (i.e. nodes) that each contain one or more local interfaces (i.e. ports). These ports could have an interconnection to a port on another device. I would like to iterate over the list of devices and create a custom node with x ports each having a unique identifier.
I've already managed to create the devices (i.e. nodes) but I'm struggling on creating the custom ports for each device.
Many thanks in advance.

How my PR works is it entirely separates the representation of the underlying data from the graph itsself.
Basicly, don't use DataFlowScene, use FlowScene directly and subclass FlowSceneModel with your own data representation.

Managed to get this to work a while back with some custom edit to the original master branch. Thanks.


Error with markdownToDraft and tables

as per the example below, markdownToDraft does strange things with tables, they're converted to just the last value in the last row, plus the line before the table is removed.
I know markdown-draft-js (understandably) doesn't support tables fully but it would be great if it could just leave them alone rather than messing them up.
(the draftToMarkdown in the last line is unnecessary, it's just there to demonstrate more clearly what the output looks like).
const v = 'this is the first line.\n' +
          '\n' +
          'this is the second line.\n' +
          '\n' +
          '| foo | bar |\n' +
          '| --- | --- |\n' +
          '| baz | bim |\n' +
          '\n' +
          'This is another line under the table.'

const s = EditorState.createWithContent(convertFromRaw(markdownToDraft(v)))
const raw = convertToRaw(s.getCurrentContent())
console.log(JSON.stringify(raw, null, 2))
console.log(draftToMarkdown(raw))

{
  "blocks": [
    {
      "key": "d2fmf",
      "text": "this is the first line.",
      "type": "unstyled",
      "depth": 0,
      "inlineStyleRanges": [],
      "entityRanges": [],
      "data": {}
    },
    {
      "key": "5155o",
      "text": "bim",
      "type": "unstyled",
      "depth": 0,
      "inlineStyleRanges": [],
      "entityRanges": [],
      "data": {}
    },
    {
      "key": "c784q",
      "text": "This is another line under the table.",
      "type": "unstyled",
      "depth": 0,
      "inlineStyleRanges": [],
      "entityRanges": [],
      "data": {}
    }
  ],
  "entityMap": {}
}
------------------------------------------------------------------------------------
this is the first line.

bim

This is another line under the table.

This seems to be a problem with the line below the heading in the table | --- | --- | without that it seems to work fine.

Oh thanks! This turned out to be a fairly easy fix, so here it is - https://github.com/Rosey/markdown-draft-js/pull/81 😄

Great, thanks.


Fix discord links for Dune and Flashbots

The old links were not working.

@0xBoxer could you have a look? The discord links on https://docs.dune.com/ are broken.

Thanks @zheli!


AUTO INCREMENT MySQL processing issue

Description
When adding a new column that AUTO INCREMENTs and then adding it as a key, DBeaver treats it as two commands even though if an AUTO INCREMENT column is introduced in MySQL it must be a key. This means that if using the GUI, there is no way
DBeaver Version
<IP_ADDRESS>404071654
Operating System
Debian-based Linux
Database and driver
MySQL
Steps to reproduce
In the table's tab, create a column that AUTO INCREMENTS
Go to Constraints and set up a new primary key
Commit the changes
Should get an SQL error saying that only one AUTO INCREMENT column is allowed and it must be a key
Additional context
No response

It's not quite clear, what are you trying to do. Are you creating PK for the column created with AUTO INCREMENT attribute? Are there other columns with AUTO INCREMENT attribute in this table?
Have you tried using the options to create PK automatically, when creating a column?

It's been a while since no update here. If the issue is still actual please let me know and provide additional information.


GoType on field named "id"

I'm trying to override default id field with own type called "ID"
func (IDMixin) Fields() []ent.Field {
	return []ent.Field{
		field.Int64("id").GoType(sid.ID("")).DefaultFunc(sid.New).Unique().Immutable(),
	}
}

where sid.ID is a type implemented ValueScanner interface ( simplified ):

type ID string

func (i ID) Value() (driver.Value, error) {

	return i.ToInt64()
}

func (i *ID) Scan(src interface{}) error {
	switch v := src.(type) {
	case nil:
		return nil
	case int64:
		*i = ID(Int64ToString(v))
		return nil
	}
	return errors.New("not a valid base62")
}

func New() ID {
	return NewLength(10)
}
func NewLength(len int) ID {
	return ID(utils.RandomString(len))
}

After generation I found there is an error in table_create.go, which located in func (acb *<table>CreateBulk) Save(ctx context.Context) ([]*<table>, error)  function :
mutation.id = &nodes[i].ID
mutation.done = true
if specs[i].ID.Value != nil && nodes[i].ID == 0 {      <-error here
	id := specs[i].ID.Value.(int64)
	nodes[i].ID = sid.ID(id)
}
return nodes[i], nil

the error is Invalid operation: nodes[i].ID == 0 (mismatched types sid.ID and untyped int)
Did I misuse this feature, like the id field cannot be override with custom types?

Hey @lynkas, what ent version do you use? Can you check if you get this on master? Use go get entgo.io/ent@master to update.

@a8m I was using v0.9.1. It still occurs on master.

Hello @lynkas, could you try using the field.Other as on this example using the master version:
https://github.com/ent/ent/blob/a7beb5c834f0b81de7afd15350da9c42d8eb6b88/entc/integration/customid/ent/schema/other.go#L22-L29

@crossworth Thank you for your contribution! It works perfectly on an individual table. However some problems occurs when it queries a foreign key.

It tried to cast sid input type (a string) to sid store type (int64), and error occurred.
e.g. the Token table have a foreign key to Account table. When querying a token with the account with WithAccount() method, there will be an above casting error.

Hey @lynkas , thats make sense, I forgot to add tests for edges 😔.
I will try to check it soon, mean while, could you show an example of the schema/query that are causing the problem and which database are you using?

@crossworth This is a full example:
https://github.com/lynkas/ent-custom-id-type
And I'm using postgres. (did not test for other databases)

Hello @lynkas , could you update to master (again) and see if now the problem is solved?


Build documentation in Nix workflow.

Reopening #61.

References show up as [?]. Any idea what that could be?

Less than 16 minutes for the total duration of the Nix CI including the documentation job (which takes 9 minutes). That's 10 minutes less than the doc pipeline.

Less than 16 minutes for the total duration of the Nix CI including the documentation job (which takes 9 minutes). That's 10 minutes less than the doc pipeline.

Actually, we are even faster at the second run because all the dependencies (in particular SerAPI and its own dependencies) are already built and in cache already. Now, the total duration of the pipeline is 14m40s.
There is still an issue though, which makes the pipeline slower than it should, which is that make html isn't compatible with cachedMake (probably because of timestamps being wrong) and therefore vo files are rebuilt in the build-doc job. We can fix this issue by moving the coqdoc build to the previous step (building hydra-battles-single).

Hi Théo,
It looks to be the place of the « bibtex  hydras » line in doc/Makefile.
I made some tests on my machine
a) remove doc/hydras.bbl
b) make pdf
It results in unresolved citations
Then I changed the place of « bibles hydras » between the first and the second « lualatex hydras »
Removed again hydras.bbl, then it seems to work.
I didn’t notice this issue, probably because of the old hydras.bbl from older compilations.
Could you check if changing the makefile works ?
Pierre
hydras.pdf: ${DEP_FILES}
@+${MAKE} -C movies all
lualatex hydras.tex
bibtex hydras
lualatex hydras.tex
makeindex coq
makeindex maths
makeindex hydras
makeindex primrec
makeindex additions
lualatex hydras.tex
lualatex hydras.tex

Le 22 août 2021 à 18:34, Théo Zimmermann @.***> a écrit :
@Zimmi48 commented on this pull request.
In .github/workflows/nix-action-default.yml https://github.com/coq-community/hydra-battles/pull/62#discussion_r693526410:

   nix-shell --run "make pdf"

   # I need to run make pdf twice to get reference resolved :(

   touch doc/hydras.tex

   nix-shell --run "make pdf"

I run make pdf twice to work around the unresolved reference issue. There is probably a better fix (which probably involves fixing a makefile). Suggestions welcome!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/coq-community/hydra-battles/pull/62#pullrequestreview-735592610, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJW6FCSNDNGPM4IQIJOVMOTT6ERITANCNFSM5CQUI3RQ.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email.

There is still an issue though, which makes the pipeline slower than it should, which is that make html isn't compatible with cachedMake (probably because of timestamps being wrong) and therefore vo files are rebuilt in the build-doc job. We can fix this issue by moving the coqdoc build to the previous step (building hydra-battles-single).

I've done that and now hydra-battles-single takes much longer to build, to the point that the overall pipeline duration is bigger by a few minutes. I don't understand what is going on. If I don't manage to solve this issue, I'll revert to the version without this change.

There is still an issue though, which makes the pipeline slower than it should, which is that make html isn't compatible with cachedMake (probably because of timestamps being wrong) and therefore vo files are rebuilt in the build-doc job. We can fix this issue by moving the coqdoc build to the previous step (building hydra-battles-single).

Actually, the issue was more limited than what I thought (not all files are rebuilt). I've reported it as https://github.com/coq-community/coq-nix-toolbox/issues/60.
I still don't understand the issue with make install-doc triggering a partial rebuild and making the hydra-battles-single job much longer. In the interest of making progress, even if imperfect, I will revert to a version which doesn't build the doc in the hydra-battles-single job.

This is probably not perfect yet, but seems good enough to merge as is, especially given that I don't have more time to devote to this for now.

Looks to me as a true improvement! Thanks a lot!
Just a (not urgent, I can write an ad-hoc fix) details.
On

Le 24 août 2021 à 18:21, Théo Zimmermann @.***> a écrit :
This is probably not perfect yet, but seems good enough to merge as is, especially given that I don't have more time to devote to this for now.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/coq-community/hydra-battles/pull/62#issuecomment-904787732, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJW6FCXPXARCUNSZM2GULPDT6PBJ7ANCNFSM5CQUI3RQ.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email.

Oups ! Here is the full message.

Le 25 août 2021 à 12:56, Castéran Pierre @.***> a écrit :
Looks to me as a true improvement! Thanks a lot!
Just a (not urgent, I can write an ad-hoc fix) details.

On https://coq-community.org/hydra-battles/doc/hydras.pdf https://coq-community.org/hydra-battles/doc/hydras.pdf the date on the first page is « January 1, 1980 » since yesterday.

Le 24 août 2021 à 18:21, Théo Zimmermann @.*** @.***>> a écrit :
This is probably not perfect yet, but seems good enough to merge as is, especially given that I don't have more time to devote to this for now.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/coq-community/hydra-battles/pull/62#issuecomment-904787732, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJW6FCXPXARCUNSZM2GULPDT6PBJ7ANCNFSM5CQUI3RQ.
Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email.


CPMap Category

As discussed with @giodefelice:
Given any category C, CPMap[C] has objects Ob(C) x Ob(C). Boxes compose freely in sequence and in parallel but also support a unfold method that effectively implements the doubling construction.

Yes you are right, we should close one of the issues. Sorry!
@giodefelice's idea seems to be that CP[C] would still present diagrams with the boxes not duplicated and .unfold would send back to C but with the boxes duplicated. Upon construction we would distinguish which objects are "quantum" and which objects are "classical". (CP[C, qubit, bit])

Let's have a chat about it soon! From what I understand we could reuse the same pattern as for the interaction module.


container-service-limits.md

The max pods per node setting is not a hard limit and can be set via ARM deployment.  This is very important as 30 pods is very low.

@scott1138 : Thanks for your contribution! The author, @, has been notified to review your proposed change.

@neilpeterson - Would you review the proposed changes? Thanks.

#sign-off

@neilpeterson: I'm sorry - only the author of this article, @, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


App closes on pressing back from bugs fragment #281

Fixes #281 .

Issue could be solved by adding just one line of code.

@syedjahangirpeeran Look into this. It seems better to add fragment to the stack.


Scrollbar always exists on Chrome and Firefox in mode="ios"

Hi!
I'm using the 4.0.0-beta.12 but it was the same with previous ones.
When creating an almost empty page:
<!DOCTYPE html>
<html mode="ios">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <link href="https://unpkg.com/<EMAIL_ADDRESS>rel="stylesheet">
    <script src="https://unpkg.com/<EMAIL_ADDRESS>  <body>
  <ion-content>aaaa</ion-content>
</html>

The scrollbar is always visible since you can scroll 1 pixel down... There is no reason why since there is no content.
By the way, that's not due to missing  or whatever, I get the problem in my full application. I had to look for a while to figure out that's specific to the iOS mode!
If you set <html mode="md"> the issue no longer exists.
But in my case I would prefer to use iOS mode :s ...
Is it something you've already heard about?
Thank you,
EDIT: BTW when switching the mode to "solve" this issue I also get in troubles with #15859
EDIT2: Note that this problem does not appear on Edge (for once 😆)

Any thoughts @mlynch?

@manucorporat thank you!

@manucorporat I just upgraded to beta.13 but nothing changed. I have cleared my cache... is it included in this beta version?

@manucorporat could you please reopen the issue? Or maybe confirm me that it works well we the example I provided?
Thank you,


Concourse pipelines with a local Docker Registry example is throwing error: invalid configuration error

The local docker registry tutorial [https://github.com/pivotalservices/concourse-pipeline-samples/tree/master/private-docker-registry] is already 2 years old, so maybe it's just outdated, but when I try to apply the inline-pipeline.yml I am getting an invalid configuration error
Output is below
`$ fly -t lite set-pipeline -p test-registry -c inline-pipeline.yml
groups:
group main has been added:
name: main
jobs:
- check-os-version
- issue-ls-command
resources:
resource concourse-pipeline-samples has been added:
name: concourse-pipeline-samples
type: git
source:
branch: master
uri: https://github.com/pivotalservices/concourse-pipeline-samples.git
jobs:
job check-os-version has been added:
name: check-os-version
public: true
serial: true
plan:
- get: concourse-pipeline-samples
trigger: true
- task: check-image-os-version
config:
platform: linux
image_resource:
type: docker-image
source:
insecure_registries:
- <IP_ADDRESS>:5000
repository: <IP_ADDRESS>:5000/ubuntu
tag: latest
run:
path: cat
inputs:
- name: concourse-pipeline-samples
path: ""
optional: false
job issue-ls-command has been added:
name: issue-ls-command
public: true
serial: true
plan:
- get: concourse-pipeline-samples
passed:
- check-os-version
trigger: true
- task: issue-ls-command
config:
platform: linux
image_resource:
type: docker-image
source:
insecure_registries:
- <IP_ADDRESS>:5000
repository: <IP_ADDRESS>:5000/ubuntu
tag: latest
run:
path: ls
inputs:
- name: concourse-pipeline-samples
path: ""
optional: false
apply configuration? [yN]: y
error: invalid configuration:
unknown/extra keys:

jobs[0].plan[1].config.args
jobs[1].plan[1].config.args`

Thanks for reporting the problem. The args parameters were misaligned for that sample pipeline.
I fixed it in commit https://github.com/pivotalservices/concourse-pipeline-samples/commit/1e4a4a2b427bbe1e92d299155d43b456aa3ba798. Regards.


Support Node >= v22

To address https://github.com/prosopo/captcha/issues/1539
This change updates the import statements for JSON modules to use 'with' instead of 'assert'. This ensures compatibility with the latest module syntax standards and helps maintain consistency across the codebase.

I have tested with Node 20, It can run smoothly.

HeY @hckhanh thanks very much for the PR! We'll get this in very soon.

Hey @hckhanh we usually PR into the staging branch before we do a release. Would you mind resolving the package-lock.json conflicts? We'll merge it if it passes all the tests. Thanks again!

@hckhanh thanks so much!


Improve check for viur.maxPostParamsCount

Present a more useful error message to the user than just "Not Acceptable" when supplying too many arguments.

In agreement with @phorward I have made a few adjustments in https://github.com/viur-framework/viur-core/pull/526/commits/1a667b1292cfbca9f2a2db86ad835dcf5e227050.


Add more high quality comments

For code where the design decisions, tradeoffs, or critical implementation considerations are not obvious to the average SDK developer, add some high quality comments that provide any relevant context.

@christothes do you have any particular snippets in mind that could benefit from it?
I think this is valuable but I am not sure where to start? How do we identify such code paths in our current code base?

None in particular. Initially this was targeted at Core, but it should probably just apply as a general principle moving forward.


prowlarr: init at <IP_ADDRESS>8

Motivation for this change
https://github.com/NixOS/nixpkgs/issues/135887
This PR adds a new package and NixOS service for Prowlarr. This is an indexer similar to jackett (which is already in nixpkgs), but is newer and more well-integrated with the *arr ecosystem (e.g. radarr and sonarr, which are also already in nixpkgs).
I mostly copied the config from radarr and fixed the prowlarr-specific bits. In particular, the update.sh script had to be modified because the releases are not official releases yet, so we have to specify the version we want to use.
This is my first significant nixpkgs PR. I've updated the versions of packages before, but I've never added a new service from scratch. I would think anyone who is a maintainer for radarr could/should review this. I'm also happy to add myself as a maintainer for this package, but I'm not sure what the protocol on that is.
I used this nixpkgs fork and enabled prowlarr in my home server's NixOS config, and it worked flawlessly, so this has basically been tested end-to-end.
Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Release notes)

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

[ ] Fits CONTRIBUTING.md.

I meant to open this against my fork, sorry for the noise.

Okay, I tested this end-to-end and it is ready for review!

Result of nixpkgs-review pr 136039 at ab21e02c run on x86_64-linux 1

2 packages built successfully:

nixos-install-tools
prowlarr

1 suggestion:

warning: maintainers-missing
Package does not have a maintainer. Consider adding yourself?
Near pkgs/servers/prowlarr/default.nix:47:3:
   |
47 |   meta = with lib; {
   |   ^

Thanks for the review @aanderse! I fixed those issues, and I also added myself as a maintainer for the package.

I rebased against master to fix a merge conflict in the release notes.
@SuperSandro2000 do you have time to review this, or do you know anyone else who would have time?

Hey @aanderse and @SuperSandro2000, do you know how I could get the module reviewed? Is there some way to flag this PR as needing review? Does @aanderse's approval mark it as not needing review somehow?

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/590

@jdreaver please try this out: https://github.com/timokau/marvin-mk2#as-a-pr-author
If this hasn't been merged in 7 days please ping again.

Thanks for the tip @aanderse, and thanks for showing me that Discourse thread!
/marvin opt-in
/status needs_reviewer

Thanks for the review @SuperSandro2000! This is ready for another look when you have time.

Requested a review from maintainers of sonarr, bazarr, lidarr and radarr. Maybe one of them feels comfortable merging this.

Awesome, so let's get this PR in order. To merge I need:

1 commit maintainers: add <yourname>
1 commit prowlarr: init at <version> for the package
1 commit nixos/prowlarr: init for the module

the release note changes belongs to the module

1 commit nixos/tests/prowlarr: init for the test

in which you add the passthru.tests option to the package

And let's discuss if we can simplify this alot with DynamicUser and StateDirectory. This is systemd hardening 101. :wink:

The commit structure looks good now!

@mweinelt ah good catch, this is probably a symptom of me copy/pasting too liberally and then modifying the script :sweat_smile:
I ran the script as-is in that directory, like ./update.sh <IP_ADDRESS>8. It sounds like this won't work as a passthru.updateScript until the issue in this comment is resolved
https://github.com/jdreaver/nixpkgs/blob/3b98f4851f256759851f864a5e39328f495640f9/pkgs/servers/prowlarr/update.sh#L36-L49
# N.B. Prowlarr is still in development, so
# https://api.github.com/repos/Prowlarr/Prowlarr/releases/latest
# returns nothing. Instead, we require the release as an argument. Go
# to https://github.com/Prowlarr/Prowlarr/releases to see releases.

Do you happen to know a workaround? Should I remove this script as a passthru.updateScript for now?

git ls-remote --tags git@github.com:Prowlarr/Prowlarr.git | cut -d '/' -f3  | sort --version-sort | tail -n1

@mweinelt I found a similar solution that uses the API and jq to sort the versions as strings. Here is the diff:
modified   pkgs/servers/prowlarr/update.sh
@@ -3,14 +3,6 @@

 set -eou pipefail

-if [ "$#" -ne 1 ]; then
-    echo "Usage: $0 VERSION" >&2
-    echo "Example: $0 <IP_ADDRESS>5" >&2
-    exit 1
-fi
-
-version=$1
-
 dirname="$(dirname "$0")"

 updateHash()
@@ -33,23 +25,25 @@ updateVersion()
     sed -i "s/version = \"[0-9.]*\";/version = \"$1\";/g" "$dirname/default.nix"
 }

+currentVersion=$(cd $dirname && nix eval --raw -f ../../.. prowlarr.version)
+
 # N.B. Prowlarr is still in development, so
 # https://api.github.com/repos/Prowlarr/Prowlarr/releases/latest
-# returns nothing. Instead, we require the release as an argument. Go
-# to https://github.com/Prowlarr/Prowlarr/releases to see releases.
-
-# currentVersion=$(cd $dirname && nix eval --raw -f ../../.. prowlarr.version)
+# returns nothing. Once this endpoint returns something, we should use
+# it. Until then, we use jq to sort releases as strings, which is
+# error-prone, so please verify the latest version used!

 # latestTag=$(curl https://api.github.com/repos/Prowlarr/Prowlarr/releases/latest | jq -r ".tag_name")
 # latestVersion="$(expr $latestTag : 'v\(.*\)')"
+latestVersion=$(curl https://api.github.com/repos/Prowlarr/Prowlarr/git/refs/tags | jq '. | map(.ref) | sort | .[-1]' -r | sed 's|refs/tags/v||')

-# if [[ "$currentVersion" == "$latestVersion" ]]; then
-#     echo "Prowlarr is up-to-date: ${currentVersion}"
-#     exit 0
-# fi
+if [[ "$currentVersion" == "$latestVersion" ]]; then
+    echo "Prowlarr is up-to-date: ${currentVersion}"
+    exit 0
+fi

-updateVersion $version
+updateVersion $latestVersion

-updateHash $version x64 linux
-updateHash $version arm64 linux
-updateHash $version x64 osx
+updateHash $latestVersion x64 linux
+updateHash $latestVersion arm64 linux
+updateHash $latestVersion x64 osx

I manually changed the file version and hashes to dummy files, and I got the script to work as a passthru:
Before:
diff --git a/pkgs/servers/prowlarr/default.nix b/pkgs/servers/prowlarr/default.nix
index 511217a48f1..caa8fbe2900 100644
--- a/pkgs/servers/prowlarr/default.nix
+++ b/pkgs/servers/prowlarr/default.nix
@@ -16,14 +16,14 @@ let
   }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");

   hash = {
-    x64-linux_hash = "sha256-9DoqyotXAUha2TMSgDIot5PD8ABpfZ8gsshS1ypr5SY=";
-    arm64-linux_hash = "sha256-r22c70OuevRsF8gOHZOkkhlRtoD4nsTHnXF82elQIF8=";
-    x64-osx_hash = "sha256-6jVM4iSGT7tpagocI/1nuBPVvAegfFqsCfrz2fPKCI4=";
+    x64-linux_hash = "sha256-FAKE";
+    arm64-linux_hash = "sha256-FAKE";
+    x64-osx_hash = "sha256-FAKE";
   }."${arch}-${os}_hash";

 in stdenv.mkDerivation rec {
   pname = "prowlarr";
-  version = "<IP_ADDRESS>8";
+  version = "0.0.1";

   src = fetchurl {
     url = "https://github.com/Prowlarr/Prowlarr/releases/download/v${version}/Prowlarr.develop.${version}.${os}-core-${arch}.tar.gz";

$ nix-shell maintainers/scripts/update.nix --argstr package prowlarr
this derivation will be built:
  /nix/store/z2f9yfxpk9bhr0vg0gm5ls4ca4i9mgwa-packages.json.drv
building '/nix/store/z2f9yfxpk9bhr0vg0gm5ls4ca4i9mgwa-packages.json.drv'...

Going to be running update for following packages:
 - prowlarr-0.0.1

Press Enter key to continue...

Running update for:
 - prowlarr-0.0.1: UPDATING ...
 - prowlarr-0.0.1: DONE.

Packages updated!

$ git diff
$

Okay one last change so we sort by version numbers properly instead of sorting them as raw strings:
diff --git a/pkgs/servers/prowlarr/update.sh b/pkgs/servers/prowlarr/update.sh
index 9fb40da46c7..d61edda5a0a 100755
--- a/pkgs/servers/prowlarr/update.sh
+++ b/pkgs/servers/prowlarr/update.sh
@@ -30,12 +30,13 @@ currentVersion=$(cd $dirname && nix eval --raw -f ../../.. prowlarr.version)
 # N.B. Prowlarr is still in development, so
 # https://api.github.com/repos/Prowlarr/Prowlarr/releases/latest
 # returns nothing. Once this endpoint returns something, we should use
-# it. Until then, we use jq to sort releases as strings, which is
-# error-prone, so please verify the latest version used!
+# it. Until then, we use jq to sort releases (N.B. the "sort_by(. |
+# split(".") | map(tonumber))" incantation is to sort the version
+# number properly and not as a string).

 # latestTag=$(curl https://api.github.com/repos/Prowlarr/Prowlarr/releases/latest | jq -r ".tag_name")
 # latestVersion="$(expr $latestTag : 'v\(.*\)')"
-latestVersion=$(curl https://api.github.com/repos/Prowlarr/Prowlarr/git/refs/tags | jq '. | map(.ref) | sort | .[-1]' -r | sed 's|refs/tags/v||')
+latestVersion=$(curl https://api.github.com/repos/Prowlarr/Prowlarr/git/refs/tags | jq '. | map(.ref | sub("refs/tags/v";"")) | sort_by(. | split(".") | map(tonumber)) | .[-1]' -r)

 if [[ "$currentVersion" == "$latestVersion" ]]; then
     echo "Prowlarr is up-to-date: ${currentVersion}"

And that's it. Thanks!


Shutdown& Restart Popup

Both of these should be left-aligned. All pop-ups should be left-aligned first unless otherwise specified.
Current:

Ideal:

Figma: https://www.figma.com/file/Gwf2q6521ybcvHrff1lA0I/Groundseg?type=design&node-id=717%3A245&mode=design&t=vXaW8I1dM18Xhv93-1

Got it, will be fixed tomorrow

fixed


Setting up Paths

@anhtuduong I already created a .zshrc file as instructed:
~ 43s
base ❯ nano ~/Projects/FBK/kits23/envar.zshrc

~ 16s
base ❯ cat ~/Projects/FBK/kits23/envar.zshrc
export nnUNet_raw="/media/fabian/nnUNet_raw"
export nnUNet_preprocessed="/media/fabian/nnUNet_preprocessed"
export nnUNet_results="/media/fabian/nnUNet_results"

Right now, I am doing the Setting up Paths step. They said in the document as follow:
Setting up Paths
nnU-Net relies on environment variables to know where raw data, preprocessed data and trained model weights are stored.
To use the full functionality of nnU-Net, the following three environment variables must be set:

nnUNet_raw: This is where you place the raw datasets. This folder will have one subfolder for each dataset names
DatasetXXX_YYY where XXX is a 3-digit identifier (such as 001, 002, 043, 999, ...) and YYY is the (unique)
dataset name. The datasets must be in nnU-Net format, see here.
Example tree structure:
nnUNet_raw/Dataset001_NAME1
├── dataset.json
├── imagesTr
│   ├── ...
├── imagesTs
│   ├── ...
└── labelsTr
    ├── ...
nnUNet_raw/Dataset002_NAME2
├── dataset.json
├── imagesTr
│   ├── ...
├── imagesTs
│   ├── ...
└── labelsTr
    ├── ...

But I don't know how to automatically set the dataset names like the format. Can you help me ?

@anhtuduong Sure !! Thank you

@thuhoainguyen Oh by the way can you:
git add envar.zshrc

git commit -m "something"

git push

I also need this file, thankss

@thuhoainguyen I have converted the dataset format for nnUNet:

I also setup a folder with the nnUNet model and all requirements to run. So next phase is:

Copy my setup folder to your hard drive.
Try to copy it to Optimus machine. (I don't know how)
Run the nnUNet model on Optimus.
Evaluate the test cases to obtain the metrics (can run on Optimus or your laptop).


[#2020]Refactor mapper.xml to query list

// Describe your PR here; eg. Fixes #issueNo

Make sure that:

[ ] You have read the contribution guidelines.
[ ] You submit test cases (unit or integration tests) that back your changes.
[ ] Your local test passed mvn clean install -Dmaven.javadoc.skip=true.

@impactCn thanks for your help. 👍

Codecov Report

Merging #2047 (fd0cf7e) into master (28d3b7b) will decrease coverage by 0.14%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #2047      +/-   ##
============================================
- Coverage     60.82%   60.67%   -0.15%
+ Complexity     4028     4026       -2
============================================
  Files           602      604       +2
  Lines         17715    17756      +41
  Branches       1687     1694       +7
============================================
- Hits          10775    10774       -1
- Misses         6065     6104      +39
- Partials        875      878       +3

Impacted Files
Coverage Δ

.../apache/shenyu/web/handler/GlobalErrorHandler.java
85.71% <0.00%> (-14.29%)
:arrow_down:

...che/shenyu/sync/data/http/HttpSyncDataService.java
70.87% <0.00%> (-3.89%)
:arrow_down:

...u/plugin/modify/response/ModifyResponsePlugin.java
14.70% <0.00%> (-3.61%)
:arrow_down:

...shenyu/sync/data/consul/ConsulSyncDataService.java
66.10% <0.00%> (-1.70%)
:arrow_down:

...in/java/org/apache/shenyu/web/logo/ShenyuLogo.java
0.00% <0.00%> (ø)

...enyu/web/configuration/SpringExtConfiguration.java
0.00% <0.00%> (ø)

...yu/admin/spring/ShenyuApplicationContextAware.java
100.00% <0.00%> (ø)

...shenyu/plugin/sign/service/DefaultSignService.java
75.00% <0.00%> (ø)

...t/starter/plugin/sign/SignPluginConfiguration.java
100.00% <0.00%> (ø)

...pache/shenyu/plugin/base/ParamTransformPlugin.java

... and 5 more

Continue to review full report at Codecov.

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


Redirect http to https

Hello,
How to redirect http to https, I used the method told by symfony in
http://symfony.com/doc/current/cookbook/routing/scheme.html
and also in the file security.yml
but nothing changed. Is there another way to redirect in the code without passing by the virtualHost ?
Thanks .

The link you posted is for the symfony static routes.
if your website is always https you should really configure your webserver vhost correctly.
sulu works correctly on https if it is requested as https.
it doesnt make sense todo something like this in php as it will cost performance which shouldn't.
So pls edit your vhost. If you cant edit the .htaccess file. And the last step but really not recommended way would be edit the web/website.php and web/admin.php to force https. Because this redirect should be done before initialisation of a kernel.


Zahi/slice semantics

[BACKEND] Updated slice layout semantics, updated vectorization logic used for load/store ops.

Left a few comments but OK to merge once these are addressed


Log probability on MSEDistribution is not executed via tfd.Independent

I experienced that gradients were often vanished when I minimize reconstruction loss on other datasets. So I spent some time on debugging your model, and I found that log_prob implementation on MSEDistribution has not been used when training loss is calculated.
Since your paper has the quote below, I guess this is some kind of mistake.

Note that the log-likelihood under a Gaussian distribution with unit variance equals the mean squared error up to a constant.

Could you check this point?

I forgot to mention what should be changed. The name of log_prob function on MSEDistribution should be _log_prob.

Also there is a bug in the function in line 45:
https://github.com/google-research/planet/blob/9cd9abed5b9a8831388f4d9da16e5604cfbd7c20/planet/tools/mse_distribution.py#L42-L47
.ndims should be inside the parenthesis event_dims = [-(x + 1) for x in range(self.event_shape.ndims)]. Although, I don't see the benefit of using this MSE dist. over regular Normal pdf. It was intended to be faster or what?

Thanks for pointing this out, this is good to know! Are you saying that tfd.Independent calls _log_prob() on the inner distribution instead of log_prob()? By the way, you can just use the Normal distribution from TensorFlow Probability instead, it works just fine.

Are you sure MSEDistribution.log_prob() is not called? I don't see how else it can compute a likelihood. To clarify, are you saying that tfd.Independent calls _log_prob() on the inner distribution instead of log_prob()? (@piojanu Thanks, that's definitely a typo but the code path isn't triggered.)
The intention of the MSEDistribution is to get more interpretable summaries that show MSE rather than log probs. But can just use the Normal distribution from TensorFlow Probability instead, I'm using it and it works just fine. I will probably update the code to make it the default at some point.

I think so. Now, the code has similar structure to the code below.
dist = MSEDistribution(mean)
dist = tfd.Independent(distribution=dist)
dist.log_prob(output)

tfd.Independent doesn't have log_prob function, so log_prob function of tfd.Distribution, the parent class of tfd.Independent, will be invoked. After following the codes there, _log_prob function of tfd.Independent will be called. Finally, _log_prob function of MSEDistribution will be the destination.
Nevertheless, I guess that this problem doesn't matter on training process.

I just found that the difference between package dependencies on README.md and setup.py. I tested planet on tensorflow 1.12 and tensorflow-probability 0.5 (which setup.py requires), while you might test this on 1.13.1 and 0.6 as README.md says.
In this commit, tensorflow-probability has changed their codes not to call _log_prob and to call log_prob. I think writing both functions (_log_prob, log_prob) is the best way.

Thanks for looking into this! Yes, the readme has the updated dependencies. Are you getting an error with the previous version of TFP? If the code runs, it must be calling the correct log_prob() implementation since there is no other one that it could call, as far as I can see.

Closing as I don't think is the case. If you still think there is a problem here, please comment.


heif / hevc support

Android P will support this, and I think a fair few of us will switch over for better quality/smaller sizes, so support in advance would be awesome!

Version 1.0.6 actually does somehow support HEIC. (At least it works on my machine)
I created a HEIC image with GIMP and transfered it to my phone. It didn't show up.
But when I changed the file extension to .jpg and opened it with camera roll it worked. And it also does show up in the gallery with preview. Only additional file information didn't work. (Didn't work means it doesnt show correct information but doesn't crash)
So just adding .heic to the supported file format list and it should be possible to view HEIC images.

Version 1.0.6 actually does somehow support HEIC. (At least it works on my machine)
I created a HEIC image with GIMP and transfered it to my phone. It didn't show up.
But when I changed the file extension to .jpg and opened it with camera roll it worked. And it also does show up in the gallery with preview. Only additional file information didn't work. (Didn't work means it doesnt show correct information but doesn't crash)
So just adding .heic to the supported file format list and it should be possible to view HEIC images.

Can you zoom 100%? I suspect this may just be reading an embedded thumbnail.

Yes I can zoom to 100%. I can even use the function "use as" and use the image as wallpaper.
I tried to implement this feature, but I struggle with setting up the project in Android Studio.


Retry failed queries

User Story
As an application writer, I want my application to be resilient to transitive failures that Insights does not protect me from.
Background
As of 2021-10-07, an Insights query which is accepted, syntactically valid, and running against valid log groups may simply "fail" for unexplained reasons. When this happens, the CloudWatch Logs Insights service puts the query into status "Failed" and the QueryManager will log:

2021/10/07 23:46:58 incite: QueryManager(0xc00063ba00) unexpected terminal status chunk "[some query here]" [2021-10-02 17:00:00 +0000 UTC..2021-10-02 17:15:00 +0000 UTC): Failed

The stream will then return an error to the same effect.
The customer should be protected from these transient failures to some degree.
Task List

Add a configuration line item in Config that specifies a finite number of times to allow retrying a chunk.

Could be a fixed number per chunk.
Could also be a throttled global number per QueryManager to try to prevent retry storms during big outage type events.

Implement the code in QueryManager.

This is silly.
Why should anyone have to configure anything, anyway? QM already does infinite retry in the case of 500s, why should this be different?
New plan: no configuration, and infinite retry of failed queries is always on as long as you're not in Preview mode.

Implemented it in commit f577360a as always-on infinite retry. If future events prove we need to have a max counter (no API change) or expose a max counter (API change) we can do that then.
This change should make it easier to do chunk splitting, also.
Will be part of the v1.1.0 release, coming soon.


Android theme..can't get it work

No mather wht I use, I got this:

That's how it looks if I don't use the andorid Theme options, or if I use this  androidTheme: 'THEME_HOLO_LIGHT', or  androidTheme: 'THEME_DEVICE_DEFAULT_LIGHT'
This is happening on Andorid 6, 5.1 and 5 (the ones I tested it)

is there a solution for this problem?

Anyone? please

The value for the theme is an int, starting at 1, for the themes in the list.
So:
THEME_TRADITIONAL = 1
THEME_HOLO_DARK = 2
THEME_HOLO_LIGHT = 3
THEME_DEVICE_DEFAULT_DARK = 4
THEME_DEVICE_DEFAULT_LIGHT = 5

I see. i fount the enumeration in the Android js file.
Ithink docs should be updated showing set the androidTheme option with the   window.datePicker.ANDROID_THEMES

Hi, I'm having the same issue, I'm setting androidTheme to 5 tho...


Typo "@StoreID"→"@StoreID"

Italic with escape characters
https://docs.microsoft.com/en-us/sql/reporting-services/tutorial-add-a-parameter-to-your-report-report-builder?view=sql-server-2017

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

Corrections confirmed. Thanks.


docs: fix Method-Chaining example results

Fix
Modified the example results from /docs/method-chaining.
Before
fx("abc")
  .map((a) => a.toUpperCase()) // ["a", "b"]
  .take(2)
  .toArray(); // ["a", "b"]

After
fx("abc")
  .map((a) => a.toUpperCase()) // ["A", "B"]
  .take(2)
  .toArray(); // ["A", "B"]

@kyechan99
I think your PR was correct!
What was the reason for your cancellation?
Please upload your PR and we will approve it


Refactor: React Component Testing - Scorekeeper Challenge

Rationale
My experience has shown that students are quite overwhelmed when starting the challenge. Especially the second sub task - fixing the bug in the HistoryEntry component - is confusing. We don't really show fixing bugs during the session, so starting with this task seems to be problematic.
Suggestion
I moved the sub task regarding the HistoryEntry component to the end of the challenge. Students still start with discussing which features should be tested, and then write their first, simple test case for the Navigation. Following the rest of the challenge, the tasks grow in their complexity.

This is a nice improvement. Especially the usage of test.skip. By this the students can focus on the first challenge and only later on start fixing the bugs.


Implement a deployment processor/parser for issue #199

Can one of the admins verify this patch?

ok to test

ok to test

Refer to this link for build results (access rights to CI server needed):
https://fabric8-ci.fusesource.com/job/wildfly-camel-pullreq/218/
Test PASSed.


Implement Tables.partitions(t::LazyTree)

A prototype implementation has been shown at https://gist.github.com/aminnj/79ceeb7ab9026f80e3cc1978124f8370 by @aminnj
The use case when the analysis is highly columnar (but not single column), users can potentially gain by having SIMD, so imagine computing invariant mass using two columns:
for table in Tables.partitions(t::LazyTree)
   mass.(table.lep1, table.lep2)
   # or
   @simd for row in table
       compute(row.blah1, row.blah2)
   end
end

in this case, the columns of inner table has to be contiguous in RAM (then we hope compiler is smart). Actually, @oschulz can you confirm TypedTable of VectorOfVectors is SIMD-able at all?

In fact, I don't know how to SIMD if a single row of table is bigger than SIMD size (256/512 bits?)

@oschulz can you confirm TypedTable of VectorOfVectors is SIMD-able at all?

SIMD for VectorOfVector's columns in a TypedTables.Table is not straightforward, because there are two loops involved. But it definitely works for scalar-valued columns (quite an important use case too, after all).
The main advantage of using VectorOfVectors will be the ability to use flatview, deepmap, adapt(CuArray, table) and so on.

I should probably also add support for Functors.jl to ArraysOfArrays.jl, to enable fmap and functor.

works for scalar-valued columns

yeah but in that case I don't see advantage of for table in partition(ttree) because:

If you're using scalar column, just do it on the original tree: ttree.scalar1
If many branches are loaded, the inner for row in table will stop SIMD for either VoV or because too many columns

Before I forget to mention it. There are a couple things to note about the above partitions() implementation.

We should have a more robust way to determine good partitions. I've only ever seen the fCluster stuff in NanoAOD. Haven't checked what uproot does, but they have the option for a maximum memory step size in iterate(). That's a good idea and calculable from the TBranch fields I think.
When I tried to do Arrow.write() with the partitions, I was eating up all the RAM on my machine. This is because even if you set ntasks=1, there's a @sync/@async for the writing step, which means the LazyBranch will vigorously read baskets from disk faster than they can be written. I ended up using the Tables.partitioner() API and putting a lock()/unlock() around the file to not blow up my RAM.

I don't see advantage of for table in partition(ttree) for analysis because [...]

It'll still be nice to have it, since it gives users more power to optimize the processing of the chunks (since it makes them explicit), without them having to worry about splitting the index range and how big to make the partitions.
Also, it allows for writing broadcasts over the columns/branches, which may be SIMDed even for a larger number of cols.

If you're using scalar column, just do [...] If many branches are loaded [...]

Sure, but I often have use cases when I need a access just a small number of branches/columns, and there SIMD would work nicely.

When I tried to do Arrow.write() with the partitions, I was eating up all the RAM on my machine

Hm, when the writes are done within the for tbl in partitions(mytree loop, then each write should block further reading, right (if the write is blocking)?
That's of course not the path to maximum throughput though, since we'd want to read, write and process all at the same time. There may be a fairly easy way, though, by adding a back-pressure mechanism: Lazy reading allows us to read and process at the same time, by using limited read-ahead. Lazy (i.e. non-blocking writing) could add backpressure in the loop-over-partitions model by blocking if the write-queue reaches a certain length.

If we implement Tables.partitions (with a mechanism that robustly chooses a "good" partition size), we could actually use that internally in the loop-implementation over whole trees. Could make things nicely consistent, internally and externally.

since it gives users more power to optimize the processing of the chunks

isn't "processing by chunk" a workaround to the slow-for-loop problem in Python? I recall this ever being a thing/desired pattern in C++ ROOT.

we could actually use that internally in the loop-implementation over whole trees

the iterate(tree) loop doesn't need to partition across all branches thus doesn't have this problem. each branch is individually accessed with whatever event number we're.

isn't "processing by chunk" a workaround to the slow-for-loop problem in Python?

No, we'd still loop over the content of the chunks Julia-fashion, etc. This is not about Python-style "vectorization", it's more about mapping the processing model to what current hardware likes, to me.

The iterate(tree) loop doesn't need to partition across all branches thus doesn't have this problem. each branch is individually accessed with whatever event number we're at.

Ah, right. Ok, then for looping over the whole tree "row-by-row" that's ideal.
But for use that require more control or column-wise in-memory data (we do signal processing and so on), it would be very helpful to have partitions that "synchronize" the chunks across the (active) branches.

It kinda depends on what's done per entry, I would say - if the operation per entry is somewhat expensive, iterating over the tree row-by-row will be great. For use cases where computation per entry is relatively cheap, we do want to offer user-accessible columnar memory-layout.

on the basis that we will get functional partitions()

relatively cheap, we do want to offer user-accessible columnar memory-layout.

but why? "partition" implies the user is iterating over some large range. If what they need fits in RAM, they can just work with a materialized table. And since they are iterating over some range, why would the computation being cheap or expensive matter? iterate event-by-event isn't expensive to begin with.
Expecially:

we'd still loop over the content of the chunks Julia-fashion, etc. This is not about Python-style "vectorization"

that makes me think of a double loop:
hist = ...
for subtable in partitions(mytree)
	for row in subtable # <--- notice if subtable is wider than 2 column, you lose SIMD
		push!(hist, row.leppt)
	end
end

relatively cheap, we do want to offer user-accessible columnar memory-layout.

Let's say (just an example from my own practice) that I want to do signal processing, signals and other information I need are stored in a few branches. I do want to run FFT on the signals, and other stuff, but I need information from some other branches too for that. But FFT only becomes really efficient (esp. on GPUs) if you do more than one signal at a time. So I want to have partitions (my whole file can be 10 GB or larger), and I want these partitions to be synchronized across branches, and I want to have them "in hand" (not hidden behind an  iteration mechanism over the whole tree).

So I do want to have that double loop (and the inner loop may or may not be offloaded to a different computing hardware, even).

I'd consider moving to GPU similar to writing to disk in the sense that you want to fully copy the data , somewhere, in aligned chunks. And I can totally see that being useful! Btw there's no "unsynced" ever, in looping, you're just accessing one event, and once you have a part of the table, it will be concrete.

Btw there's no "unsynced" ever, in looping

Ah - with "synced" I meant chunks that cover the same events for each branch, in comparison to the internal chunks that (if I understand correctly) store the current basket for each branch, so each cached chunk covers different events.

I should have said "aligned", not "synched".

Ignoring the issue with Arrow.write async for writing, the linked PR now lets us do
julia> using UnROOT, Tables

julia> const t = LazyTree(ROOTFile("Run2012BC_DoubleMuParked_Muons.root"),"Events",["nMuon","Muon_pt"]);

julia> mykernel(x) = length(x.Muon_pt);

julia> @time mapreduce(kernel, +, Tables.partitions(t))
 12.517621 seconds (221.90 k allocations: 7.990 GiB, 9.91% gc time, 0.46% compilation time)
149322456

where the partitions are aligned across all requested branches. As far as I understand, the typical size of a cluster is 30MB since that's a ROOT AutoFlush default somewhere, so it's pretty safe to use these partitions. And since we have the byte counts for each chunk, we can consider combining them into larger chunks if it makes mykernel more efficient.


Roadmap of node-tensorflow

Just getting started looking at this. I was attempting to use TensorFlow earlier, but was severely hampered by the Python-only API. (Translation: I have too much on my plate to learn how to use another web framework in another language, just to play around).
That said - It appears to me that most of the difficulty here, is that the C++ API does not contain the full functionality that the Python API provides, and we might need to duplicate a lot of logic in order to implement the full level of capability in this module.
I am wondering, if this almost is a blessing in disguise, since

Node is async-first. Python doesn't do things with streams, but Node developers would naturally expect to be able to use them as inputs / outputs with the Tensor graph.
Javascript has single value returns as of now (Python has a really nice tuple output from its functions, so it's possible that the API won't feel 100% natural no matter how we slice it)
There's no equivalent of numpy in the Node world, and Python range comprehension is nothing like what we (don't) have in Javascript.

I think a re-envisioning of the Python API will be necessary to turn this into a truly useful module, so perhaps it shouldn't be avoided.

@bryanerayner  The C++ graph building API is being redone right now by official Tensorflow team. We are still in the first step of roadmap, building the graph running stuff. (ref: https://github.com/tensorflow/tensorflow/issues/37)

I wonder why Google don't release a Node compatible version.

@bryanerayner I agree that JS streams or rxJS are well suited. Single value returns can always just return an array, or preferably an object. Alternatively, ES6 syntax has exactly what you're looking for (which runs fine in Node without precompiler) https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
In python you might return 2 values in a tuple. In JS you'd just return the array and use destructuring assignment.
let [a, b] = returnsTuple();

// a == first value in tuple
// b == second value in tuple

You know, I hadn't thought about how destructuring was essentially the Python tuple syntax. Thanks for that.

It would seem to me that there's the possibility of an "intermediate" C++ library that would implement some amount of the current Python-only code, and then idiomatic ES2016 bindings atop that. For running a network, there should be a pure-JS version so we can do browser-side intelligence.

https://github.com/tensorflow/tfjs


possible term merge

I'd like to suggest that we obsolete this term, or merge into its parent.
GO:0001214 RNA polymerase II transcriptional repressor activity, metal ion regulated core promoter proximal region sequence-specific binding
Only one EXP annotation form PomBase.
I don't think this term should have been requested because it includes information about the DNA-binding region with the transcription factor activity (rather than the DNA-binding term)
We don't need this term, becasue this is already captured appropriately on the DNA binding term, using extensions see:
http://www.pombase.org/spombe/result/SPAC23E2.01#go-molecular_function
Its probably better to get rid of it as it's not quite right @ukemi  do you agree?
Val

@krchristie can you have a look since this is transcription-related?

ACtually, my rationale was incorrect,  but we could do this in a more consistent (and specific)  way with involved in "cellular response to iron". In fact this is how we have don this for all other metal ion regulated transcription factors. It seems unnecessary functional detail to build what specifically regulates the transcription factor into the MF term?

The logic at the time was to represent the distinct things we know about the mechanism of action, i.e. specific kinds of "DNA binding", certain kinds of protein binding like "transcription factor binding" or "RNA polymerase binding", or in this case "metal ion binding". Thus these terms are separate because they incorporate additional has_part relationships to terms like "metal ion binding", and more specifically "copper ion binding" or "zinc ion binding".
These are very granular terms so I don't think I'd ever expect to have a lot of annotations to them. However, I think they do capture something that is not captured with only a process annotation since the MF terms specifically indicate the requirement for the metal ion binding, not just the involvement in a "cellular response to x" term.
So that's the logic behind them.
@ukemi - I'll leave it to you to decide if the logic of these terms is still within what's considered appropriate within the current philosophy on ontology development.
-Karen

Will leave these for now.


Enrich ConnectionPoolListener interface to listen to more connection events

Original question/context:
https://line-armeria.slack.com/archives/C1NGPBUH2/p1675388028842779
The ConnectionPoolListener (set here) provides APIs to listen 2 types of connection events:

Connection open
Connection close

Consider adding APIs to the ConnectionPoolListener interface to listen to more types of connection events such as:

Connection failed.
Connection state transits to pending. // still trying to establish a connection.
Connection state transits to active. // sending a request, waiting for response, or receiving a response.
Connection state transits to idle. // after the last response has been received and before the next request is sent.

IMO Connection failed listener API is useful and feasible to add. Other connection state transition APIs ( above 2, 3, and 4) may not be very useful or may be very complex/challenging to implement. Let me know what you think @trustin . Thanks!

I propose new APIs for the new connection events.
public interface ConnectionPoolListener {

    // Since a connection becomes active immediately after it is open,
    // this method can be replaced with `connectionActive()`.
    @Deprecated
    void connectionOpen(SessionProtocol protocol,
                        InetSocketAddress remoteAddr,
                        InetSocketAddress localAddr,
                        AttributeMap attrs) throws Exception;

    // This method will be invoked when either 1) a connection is established or
    // 2) an idle connection becomes active.
    default void connectionActive(SessionProtocol protocol,
                                  InetSocketAddress remoteAddr,
                                  InetSocketAddress localAddr,
                                  AttributeMap attrs, boolean isNew) throws Exception {
        if (isNew) {
            connectionOpen(protocol, remoteAddr, localAddr, attrs);
        }
    }

    // This method will be invoked when `KeepAliveHandler` detects
    // that the connection's inactivity exceeds the idle timeout.
    default void connectionIdle(SessionProtocol protocol,
                                InetSocketAddress remoteAddr,
                                InetSocketAddress localAddr,
                                AttributeMap attrs) throws Exception {}

    default void connectionFailed(SessionProtocol protocol,
                                  InetSocketAddress remoteAddr,
                                  InetSocketAddress localAddr,
                                  Throwable cause) throws Exception {}

    void connectionClosed(SessionProtocol protocol,
                          InetSocketAddress remoteAddr,
                          InetSocketAddress localAddr,
                          AttributeMap attrs) throws Exception;

}


Add processed imaging data

Add processed imaging data: 2D dimansional data that still represent movies: n_frames x n_pixels
For the dual configuration data we have three pixel matrices from 3 matlab files:

one for the hemodynamic correction --> the number of pixels is equal to n_rows * n_ columns of the mask stored in the same matlab file
one for the dff movie from blue excitation stream -->  the number of pixels is equal to the non zero elements of the mask stored in the same matlab file
one for the dff movie from violet excitation stream -->  the number of pixels is equal to the non zero elements of the mask stored in the same matlab file

For the 1p-only configuration data we have three pixel matrices stored in one matlab file:

one for the dff movie from blue excitation stream -->  the number of pixels is equal to the n_rows * n_ columns stored as additional variables in the same matlab file
one for the dff movie from violet excitation stream -->  the number of pixels is equal to the n_rows * n_ columns stored as additional variables in the same matlab file
one for the dff movie from green excitation stream -->  the number of pixels is equal to the n_rows * n_ columns stored as additional variables in the same matlab file

stub for 1p only: here
stub for dual: here

stub for 1p only: here stub for dual: here

In the dual example it looks like the image is "disappearing" over time:

Does this look like the same in the original data?

stub for 1p only: here stub for dual: here

In the dual example it looks like the image is "disappearing" over time:   Does this look like the same in the original data?

Yeah, it's really just a metter of visualization because there are some negative values as well. If I plot the same data in python, fixing max and min values, they look like this:


Possibility to refresh a OBO token from cache for another Tenant

Implements #12833.
There are no tests of the OAuth2 module since before, so there are no tests for this either.
I'm having a hard time to get the OBO functions in the OAuth2 module to work in my docker environment (they all work fine in SaaS), so I don't have the possibility to test this code at all. But it should work, according to how the other code is working.
If someone could push me in the right direction to get the OBO flow to work in a docker environment I could confirm that this works as intended.

FYI, I've really tried to make this work on Docker but constantly hit the wall. And since this is related to security, it is very hard to debug, since I do not get any good error messages.
Last month I created an issue in the BCTech repo, to get any help with this: https://github.com/microsoft/BCTech/issues/66
But no response there yet...

Thanks Johannes! We'll process your PR :-)

Hi Johannes!
Sorry for a little back-and-forth with the decision on this functionality.
We no longer recommend to use functions in the OAuth2 module that do not accept CliendID + ClientSecret or ClientID + certificate, so unfortunately we cannot move forward with this PR.
We believe the best way to cover your scenario would be to create an Azure app registration and use the functions AcquireTokenByAuthorizationCode / AcquireAuthorizationCodeTokenFromCache from the OAuth2 module (similarly to the OnPrem logic of EmailOAuthClient.Codeunit.al).
Please note, that these functions also have the advantage of not having to deal with refreshing the token "manually" (e. g. there is no need to write any special logic for refreshing the token in the background session, the logic will work fine both in foreground and in background sessions 😊)

Hi Ihor!
I added our solution to this problem in #12833.
We will just abandon this PR not then, now that we've got a proper solution in place.
Sometimes the road ahead is not that straight as we wish, but at least now we get safely to the destination. 😀
Thanks,
Johannes


test: added multiple tests for the accepts package

ADDED:

multiple tests for different sections of the code
reached 100% coverage

Codecov Report

Merging #99 into master will increase coverage by 0.80%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #99      +/-   ##
==========================================
+ Coverage   60.90%   61.71%   +0.80%
==========================================
  Files          44       44
  Lines        1614     1614
  Branches      417      417
==========================================
+ Hits          983      996      +13
+ Misses        629      616      -13
  Partials        2        2

Impacted Files
Coverage Δ

packages/accepts/src/index.ts
100.00% <0.00%> (+23.63%)
:arrow_up:

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 aeb0414...3008fe8. Read the comment docs.


Empirical study of Randoop, problem about ErrorTest generated by Randoop.

Hi, @rjust
I am a graduate student and are conducting an experimental research on Randoop. One of them is to study the ErrorTest generated by Randoop. I want to run ErrorTest on the defects4j  and calculate its coverage. Currently on the defects4j, We can only run RegressionTest. If we run ErrorTest, it will be treated as a broken test, so we need to modify the defects4j. How should we modify the defects4j dataset?
I could appreciate it if you could reply.

Hi @LuisaLiu,
Are you trying to generate error-revealing tests on the buggy or fixed versions of the Defects4J bugs?
Regarding the coverage computation, are you using the run_coverage script? If so, the "-I" flag is probably what you want. If not, can you please let us know how you are computing coverage for the generated tests?
Best,
Rene

Hi,@rjust,
I'm trying to generate error-revealing tests on the buggy version by changing the parameters in run_randoop.pl. Currently I want to study the performance of error-revealing tests in terms of defect detection and code coverage. I need to run error-revealing tests on the buggy version to get these data. In the past, I used manual execution on the eclipse platform. I want to batch execute error-revealing tests on the defects4j and get defect detection and coverage, but defects4j treats error-revealing tests as a broken test, so how should I modify defects4j.
In addition, I did use run_coverage.pl to calculate the coverage of the regression test cases, but I would not get the desired results when calculating coverage on error-revealing tests, and I did not seem to find the -l flag.
Best wishes.
Luisa

Hi @LuisaLiu,
The html documentation seems to be outdated (will fix this), but you should be able to compute coverage for failing tests using the -I flag:
    run_coverage.pl -p project_id -d suite_dir -o out_dir [-f include_file_pattern]
    [-v version_id] [-t tmp_dir] [-D] [-A | -i instrument_classes] [-I]
   ...
    -I  Ignore failing tests; report all coverage data.

Regarding the generation of error-revealing tests, this is something we have been working on in a dedicated branch, which we will be merging in soon. The new gen_tests script allows you to generate error-revealing tests using the -E flag. Also, all test generation tools are now called through a wrapper script and you can change the default configuration by adding or adapting a configuration file.
We would appreciate your feedback on this new test-generation interface as well as suitable configuration options for Randoop to maximize effectiveness.
Hope this helps.
Thanks,
René

Hi @rjust ，
Thanks for your reply. I have got the coverage of the error-revealing tests by setting -I flag based on your reply.
Best wishes.
Luisa

Great.  Please let us (or the Randoop team) know if there are any problems running Randoop.
Can we close this issue?

hi， @mernst
Sorry for not responding in time, you can certainly close this issure.Thanks again!

Great. I am closing this issue. @LuisaLiu, please feel free to open a new issue if you encounter any issues with the new test-generation interface.
Thanks,
René


Sceneform 1.6 Material / Light / Environment issue?

Hi,
i tried the latest version of SceneForm today. At the same time some of my models have changed completely. The viewer in the studio still shows the model correctly and under version 1.5.1 I didn't have any problems too. I tried to set the "isLightEstimationEnabled" method to false but this had no effect to the scene. I also recreated the model with the newest plugin version. Any suggestions?
SceneForm 1.6 Device Screenshot -> link
SceneForm 1.5.1 Device and Viewer Plugin Screenshot -> link
Update: It seems like the environment map has been changed. It is now possible to change the map by own implementation?

@dsternfeld7 @AdrianAtGoogle

Hi @bobekos thank you for submitting this issue.  The release notes for 1.6 talk about this change a little bit.
We have working plans to add support for user-provided IBL, but have not been able to commit them to a release schedule yet.  Each of these requests is fuel for moving that forward, thanks again and keep them coming!


Added a simple html page.

Added a simple html page where an employee can register itself through forms

Follow rules

@invad3r07 sir, can you plz tell me what I have to do?


[BUG] Failed to fetch Grafana repo on downloading requirements

Describe the bug
From time to time you may get such an error (result of apt update called by roles\repository\files\download-requirements\ubuntu-18.04\add-repositories.sh):
E: Failed to fetch https://packages.grafana.com/oss/deb/dists/stable/main/binary-amd64/Packages.bz2  File has unexpected size (22262 != 22243). Mirror sync in progress? [IP: <IP_ADDRESS> 443]
   Hashes of expected file:
    - Filesize:22243 [weak]
    - SHA512:79a1802f007db601ff133cd93779ab10e739952db3a7ed1aaf6c853b577a51275ee08ce35fd497fa756db6f9b834d0f080402f0cc7928d9306f41e91e48f5d15
    - SHA256:ead555f7a43091dd81ce2e91b17cac78c1c748a0790713f1ad2406853025192d
    - SHA1:6722098bfacad840ae211bddb4f3975f24a6bcc8 [weak]
    - MD5Sum:217027fca4e16f5a174c12526a31af02 [weak]
    - Release file created at: Wed, 19 May 2021 13:39:14 +0000
E: Some index files failed to download. They have been ignored, or old ones used instead.

After this occurs, every re-run fails. To fix such state and make re-running successful, the apt-get clean command has to be run on the repository host.
How to reproduce
Issue is non-deterministic (occurs from time to time).
Steps to reproduce the behavior:

Run epicli apply or upgrade many times

Expected behavior
No failure on re-run.
Environment

Cloud provider: All
OS: Ubuntu 18.04

epicli version: All
Additional context
None.

DoD checklist

Changelog

[ ] updated
[ ] not needed

COMPONENTS.md

[ ] updated
[ ] not needed

Schema

[ ] updated
[ ] not needed

Backport tasks

[ ] created
[ ] not needed

Documentation

[ ] added
[ ] updated
[ ] not needed

[ ] Feature has automated tests
[ ] Automated tests passed (QA pipelines)

[ ] apply
[ ] upgrade
[ ] backup/restore

[ ] Idempotency tested
[ ] All conversations in PR resolved

Can be closed as this is solved with: https://github.com/epiphany-platform/epiphany/pull/2475/files where Grafana is downloaded from file.


Fix Comments in docker-compose devcontainer.json

Fix a typo.
Keep instructions about commented properties consistent.

Good catch. Thanks!


Keywords in lower case

Issue Type: Feature Request
It would be great if ADS stops converting the keywords to upper case. My code style is lower case for SQL keyworks (select, union all, delete, etc.).
Azure Data Studio version: azuredatastudio 1.24.0 (eb3c0f5d9df86b9490606aab7fffaa253b0aca4d, 2020-11-10T23:38:09.705Z)
OS version: Windows_NT x64 10.0.17763

Hello @ArmandoLacerda - there's a setting that controls this. Check this box and all Intellisense suggestions to lower case. Let us know if this doesn't provide the functionality you need!


Laravel 7 CORS issue on mobile app API

Hi, I am currently encountering errors on CORS. I used laravel as my server for my mobile app. This issues should be common but the solutions I found on the internet still doesn't work.
I followed the steps on installing fruitcake/laravel-cors but still I cannot find my way out to solve this CORS issue.

I have no problem regarding on CORS when I ran it on my local, but when I uploaded it on my server, that issue came out.
Kernel.php

config/cors.php

Sorry, I got it fixed.
Clearing config caches is needed.
**> php artisan config:clear

php artisan route:clear
php artisan cache:clear**


AxonAutoConfiguration doesn't use Serializer for JpaEventStorageEngine Bean

The JpaEventStorageEngine Spring Bean as being created in the AxonAutoConfiguration doesn't use
the org.axonframework.serialization.Serializer Bean in the same Configuration class. This way declaring your own implementation and/or configuration of a Serializer Bean requires you to explicitly declare a configuration for the JpaEventStorageEngine which sets this Serializer.

Found out that Peter Höffling already fixed this issue.


Ability to order by something different from Rank

Our support team has a use case where they want issues to be ordered by number of customer cases rather than by Rank. When the server-side constructs the query to populate the cache, it appends (currently hard coded) 'ORDER BY RANK ASC' to the end of the resulting query. So adding any ORDER BY probably would break the query. Also, the rank view has an option to rerank the issues, which uses Rank
I am thinking next to the 'query-filter' in the config, you could add another 'order-by' attribute, where you could add something like:
"order-by": "'Customer Case Counter' ASC"

The presence of this 'order-by' attribute would:

Not hardcode the 'ORDER BY Rank ASC' and instead use the value of the 'order-by' attribute
Turn off the ability to do rank in the rank view

Do they want this change in rank view or they care primarily about "rank view" equivalent for customer cases ?
@bmaxwell can you comment please ?

@rsvoboda it just came up when Kabir setup a kanban on the PRODMGT, and I asked if we could order the backlog by # of case links as that would show those with more requests at the top.  I am probably going to have to make some changes to make PRODMGT work better, but right now there is not really a ranking of PRODMGT, it is more about trying to make them move more smoothly to get to the point where an EAP7 is created or the PRODMGT is rejected.

@kabir I can see this is marked as a good first issue, but I can't seem to find out where the order by is coded in the source code? It would be nice to be able to order by two clauses. As a generic example "order by fix version DESC, id ASC". Not those specifically for my use case but hopefully they illustrate the point but I can't seem to find where the ordering is done in the code? /cc @istraka

@tomjenkinson I think it is probably more complicated than a good first issue :-D
The easiest fix would be to do this on the client side, but we don't include the number of issues in the payload of issues that we send to the client, so this data is not available. It also feels like a bit of a corner case...
It has been a long time, but I believe the ordering on the server side is done here: https://github.com/overbaard/overbaard/blob/master/jira/plugin/core/src/main/java/org/overbaard/jira/impl/board/BoardProject.java#L212-L236
I'm not sure how we would configure it without some thought, and am not sure how urgent this is?

I guess an option could be to somehow supply an additional order-by clause in the board config, and if that is present not auto add the 'order by Rank' which is currently happening.
This would just result in a new order of the issues in the board, and not be toggleable. No visual indicators beyond the order.
Something like that should be reasonably simple

Thank you for the info!


I already goddamn resolved it


Semantic enhancements

Please rebase your branch interactively and squash your changes to a single commit as described in https://cwiki.apache.org/confluence/display/DAFFODIL/Code+Contributor+Workflow. That's the best way to present the changes to reviewers and avoids the message "This branch cannot be rebased due to conflicts".

This pull request should have been for the CTC repo

@rt320 When will development move towards the apache repo? A bunch of smaller incremental pull requests is going to be significantly easier to merge review than one giant PR. We also don't want to get to the point where the contribution is so big and from so many different contributors that it needs a software grant.


Cannot inline refactor method that is invoked using a cascade operator

When I try to refactor a Dart method that is invoked using the cascade operator, I get this error: "Cannot inline cascade invocation." This appears to be coming from here: https://github.com/dart-lang/sdk/blob/53fb57ea5e97608c4f96cf5c3855eff24e720d19/pkg/analysis_server/lib/src/services/refactoring/legacy/inline_method.dart#L546
For example:
class Foo {
  void bar() {
    baz();
  }

  void baz() {}
}

void main() {
  final myFoo = Foo()..bar();
}

Copy this into VSCode.
Right click bar, click refactor, then click inline.

Expected:
class Foo {
  void baz() {}
}

void main() {
  final myFoo = Foo()..baz();
}

Dart version and tooling diagnostic info (dart info): The current one in google3 (not sure if I can share here)
Whether you are using Windows, macOS, or Linux (if applicable): Linux
Whether you are using Chrome, Safari, Firefox, Edge (if applicable): N/A

Our codebase has a testing library with many void methods and it's a common pattern to use the cascade operator to chain the operations. We had one case which came up where the inlining would be very straightforward and I imagine could be covered.

Alan, you mentioned a degraded experience option, inline where possible, and leave the rest as is.
It almost works, from the InlineMethodRefactoringImpl point of view.
We actually report it as addError(), not addFatalError().
A fatal error would mean that the server completely refuses to do it.
A non-fatal error means that some changes might be invalid.
It is up to the IDE to decide how to handle these statuses.
Unfortunately, all IDEs after Dart Editor decided that even a warning is a fatal problem, and the refactoring cannot be done.
So, in the test it could work like this.
Of course here we could inline even the cascade, but I'm showing just what results we have right now, without changing much implementation in the server, and what could work in general case, if test() has multiple statements.
  Future<void> solo_test_bad_cascadeInvocation() async {
    await indexTestUnit(r'''
class A {
  foo() {}
  bar() {}
  baz() {}
  test() {
    baz();
  }
}
void f() {
 A a = new A();
 a..foo()..test()..bar();
 a.test();
}
''');
    _createRefactoring('test() {');
    // error
    var status = await refactoring.checkAllConditions();
    var location = SourceRange(findOffset('..test()'), '..test()'.length);
    assertRefactoringStatus(status, RefactoringProblemSeverity.ERROR,
        expectedMessage: 'Cannot inline cascade invocation.',
        expectedContextRange: location);
    // change
    var change = await refactoring.createChange();
    refactoringChange = change;
    assertTestChangeResult(r'''
class A {
  foo() {}
  bar() {}
  baz() {}
}
void f() {
 A a = new A();
 a..foo()..test()..bar();
 a.baz();
}
''');
  }


How to use evo for DCL-SLAM trajectory Evaluation

How to use evo for DCL-SLAM trajectory Evaluation

Do you know now, I also need to use EVO

How to use evo for DCL-SLAM trajectory Evaluation

Do you know now, I also need to use EVO


[feat] Only display Test Connection when its necessary

We currently display test connection all the time -  this isnt necessary.

We should only display it
1 - for the first time a cluster connection is created
2 - if the cluster connection details have changed
3 - if we get a connection error
We will need to store this state in the OS keychain for the cluster to know when and when not to display the test connection
Also - we should always display the  test connection option under  the connection settings

@mhmdkrmabd if this is too complex or likely to cause a lot of testing, we can move this to next release

@millerjp I prefer to move this to the next release as it needs many important changes and tests as well


chore(test): use ort 1.14

Use ort 1.14 in test

@gramalingam @abock @xadupre I think we are seeing some segfaults in ort (https://github.com/microsoft/onnx-script/actions/runs/4169248601/jobs/7216998170#step:5:976) and new errors when running OptionalGetElement with opset18.

onnxscript/tests/function_libs/torch_aten/ops_correctness_test.py::TestOutputConsistencyCPU::test_output_match_logsumexp_cpu_float32 Fatal Python error: Aborted

Current thread 0x00007f11c7772740 (most recent call first):
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/onnxruntime/capi/onnxruntime_inference_collection.py", line 200 in run
  File "/home/justinchu/dev/onnx-script/onnxscript/evaluator.py", line 384 in _call_ort
  File "/home/justinchu/dev/onnx-script/onnxscript/evaluator.py", line 407 in _eval
  File "/home/justinchu/dev/onnx-script/onnxscript/evaluator.py", line 145 in eval
  File "/home/justinchu/dev/onnx-script/onnxscript/values.py", line 185 in __call__
  File "/home/justinchu/dev/onnx-script/onnxscript/onnx_opset/_impl/opset18.py", line 1128 in ReduceLogSumExp
  File "/home/justinchu/dev/onnx-script/onnxscript/function_libs/torch_aten/ops/core.py", line 3053 in aten_logsumexp
  File "/home/justinchu/dev/onnx-script/onnxscript/evaluator.py", line 235 in eval_function
  File "/home/justinchu/dev/onnx-script/onnxscript/values.py", line 295 in __call__
  File "/home/justinchu/dev/onnx-script/onnxscript/tests/function_libs/torch_aten/ops_correctness_test.py", line 695 in test_output_match
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/torch/testing/_internal/common_device_type.py", line 815 in test_wrapper
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/torch/testing/_internal/common_device_type.py", line 378 in instantiated_test
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/unittest/case.py", line 549 in _callTestMethod
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/unittest/case.py", line 591 in run
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/torch/testing/_internal/common_utils.py", line 2038 in _run_with_retry
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/torch/testing/_internal/common_utils.py", line 2096 in run
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/torch/testing/_internal/common_device_type.py", line 438 in run
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/unittest/case.py", line 650 in __call__
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/_pytest/unittest.py", line 330 in runtest
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/_pytest/runner.py", line 167 in pytest_runtest_call
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/_pytest/runner.py", line 260 in <lambda>
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/_pytest/runner.py", line 339 in from_call
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/_pytest/runner.py", line 259 in call_runtest_hook
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/_pytest/runner.py", line 220 in call_and_report
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/_pytest/runner.py", line 131 in runtestprotocol
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/_pytest/runner.py", line 112 in pytest_runtest_protocol
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/_pytest/main.py", line 349 in pytest_runtestloop
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/_pytest/main.py", line 324 in _main
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/_pytest/main.py", line 270 in wrap_session
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/_pytest/main.py", line 317 in pytest_cmdline_main
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/pluggy/_callers.py", line 39 in _multicall
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/pluggy/_manager.py", line 80 in _hookexec
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/pluggy/_hooks.py", line 265 in __call__
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/_pytest/config/__init__.py", line 167 in main
  File "/home/justinchu/anaconda3/envs/onnx/lib/python3.10/site-packages/_pytest/config/__init__.py", line 190 in console_main
  File "/home/justinchu/anaconda3/envs/onnx/bin/pytest", line 8 in <module>

test_onnxfns_space_to_depth seems to be failing sporadically with SegFaults: https://github.com/microsoft/onnx-script/actions/runs/4177117953/jobs/7234296466#step:5:1008. I am not feeling super good about this

Happens when running pytest in parallel

https://github.com/onnx/onnx/pull/4905

Thankfully it's not optional has element which we definitely want to use. @gramalingam is it ok if we skipped this test? What would be the appropriate way to do it?

Thankfully it's not optional has element which we definitely want to use. @gramalingam is it ok if we skipped this test? What would be the appropriate way to do it?

You mean SpaceToDepth test? Yes, please feel free to skip that test. I guess we could use a unittest.skipIf(True, ...) ? Seems slightly preferable to commenting it out.
Anyway, we need to figure out a good answer to the general question of using conditional statements where one branch may fail certain onnx checks (because it represents a branch that won't execute) for the long term (before we can fully handle such test-cases).

@gramalingam OptionalGetElement is a failing backend test. Is there a good way to disable it?
onnxscript/tests/onnx_backend_test.py::TestOnnxBackEnd::test_enumerate_onnx_tests_run - RuntimeError: Unable to create onnxruntime InferenceSession for executing .OptionalGetElement op with onnx model
<
   ir_version: 8,
   opset_import: ["" : 18]
>
node_graph (float[4] input0) => ( output0) {
   output0 = OptionalGetElement (input0)
}

So the segfault was not OptionalGetElement.
OptionalGetElement causes
E   onnxruntime.capi.onnxruntime_pybind11_state.Fail: [ONNXRuntimeError] : 1 : FAIL : Node () output arg (output0) type inference failed

The segfault in test_onnxfns_space_to_depth does not have OptionalGetElement.

@xadupre I updated the backend tests so they are easier to skip. Please take a look.


sim-all: Adds tests coverage to random_activity

This is a first stab at adding tests to the simulator.
Adds tests to the random activity generator and includes some sanity checks to sim-cli so we can fail early if we need to.

Notice here the sanity checks for the accepted values are done via clap's value_parser, which yield not really friendly error messages:
error: invalid value '0' for '--capacity-multiplier <CAPACITY_MULTIPLIER>': 0 is not in 1..18446744073709551615

For more information, try '--help'.

We may want to consider adding a validate function to CLI in which we manually implement our restrictions plus return more friendly messages.

Also, after adding these tests it may be worth considering getting rid of https://github.com/bitcoin-dev-project/sim-ln/blob/main/sim-lib/src/random_activity.rs#L70-L73


Issues after 8u282 -> 8u292 update: "unrecognized algorithm name: PBEWithSHA1AndDESede"

I'm not entirely sure if this is a BC issue or something with 8u292 but here goes:
After bumping the Java version to 8u292 our services (vert.x based) failed to start with the following message:
java.security.KeyStoreException: Key protection  algorithm not found:
  java.security.UnrecoverableKeyException: Encrypt Private Key failed:
    unrecognized algorithm name: PBEWithSHA1AndDESede

From what I could tell this happened while setting up the pem cert files for the HTTPS server.
Services are using bcprov-jdk15on:168 and we were doing Security.addProvider to add BC.
I was able to confirm that:

Even not adding BC as a provider, just by it being in the classpath the above error occurs
If BC is inserted above JSSE provider then the problem goes away
I went back on BC versions and once I reached 1.56 the issue no longer happened (from 1.57 up to 1.68 has the same issue)
I am using Zulu JDK distribution, problem happens in both the glibc (Zulu <IP_ADDRESS>-CA-linux64) and musl (Zulu <IP_ADDRESS>-CA-linux-musl-x64) variant. As mentioned all version leading up to 8u282 had no such issue.

Another (might be unrelated) issue happened when BC was added before the SUN provider (pos 1). While using postgresql jdbc driver to connect to postgres using TLS, the driver would "hang" while switching to an SSL socket taking as much as 45s to connect (it would eventually succeed). When BC is added after the SUN provider then the switch happens in under 1s.
Like I mentioned in the beginning it's a bit hard tell whether this is a BC issue or one (or more) issues with vertx/postgresql or even some issue with the Java update... so I though I'd posted here first.

Hi, we have just hit the same problem.
We have a reproducer that seems to indicate, that the problem is caused by a race condition because it sometimes works and sometimes it doesn't.
Exception in thread "main" java.security.KeyStoreException: Key protection  algorithm not found: java.security.UnrecoverableKeyException: Encrypt Private Key failed: unrecognized algorithm name: PBEWithSHA1AndDESede
	at sun.security.pkcs12.PKCS12KeyStore.setKeyEntry(PKCS12KeyStore.java:677)
	at sun.security.pkcs12.PKCS12KeyStore.engineSetKeyEntry(PKCS12KeyStore.java:577)
	at java.security.KeyStore.setKeyEntry(KeyStore.java:1140)
	at TestJavaMain.main(TestJavaMain.java:132)
Caused by: java.security.UnrecoverableKeyException: Encrypt Private Key failed: unrecognized algorithm name: PBEWithSHA1AndDESede
	at sun.security.pkcs12.PKCS12KeyStore.encryptPrivateKey(PKCS12KeyStore.java:921)
	at sun.security.pkcs12.PKCS12KeyStore.setKeyEntry(PKCS12KeyStore.java:614)
	... 3 more
Caused by: java.security.NoSuchAlgorithmException: unrecognized algorithm name: PBEWithSHA1AndDESede
	at sun.security.x509.AlgorithmId.get(AlgorithmId.java:448)
	at sun.security.pkcs12.PKCS12KeyStore.mapPBEAlgorithmToOID(PKCS12KeyStore.java:938)
	at sun.security.pkcs12.PKCS12KeyStore.encryptPrivateKey(PKCS12KeyStore.java:895)
	... 4 more

We are pretty sure it is caused by a problem that was fixed for Java9 and is still unfixed for Java8:
Java9-issue: https://bugs.openjdk.java.net/browse/JDK-8156584
Linked Backport-Issue: https://bugs.openjdk.java.net/browse/JDK-8157190

We were able to reproduce our issue without bouncycastle being involved at all (not even lying unused in the classpath).
Executing this regularly in eclipse (with the affected Java-Version) works.
Executing this in debug-mode in eclipse (with the affected Java-Version) produces the stacktrace from above.
TestJavaMain.txt

We have filed a new bug here https://bugreport.java.com/bugreport/ which oracle is currently reviewing :-/

I am having the same problem.
It seems that sun.security.x509.AlgorithmId.oidTable is being initialized when verifying the BC jar signature. Jar signature verification algorithm changes the registered Providers for the thread during its execution by a limited list ("sun.security.provider.Sun", "sun.security.rsa.SunRsaSign", "sun.security.ec.SunEC", "sun.security.provider.VerificationProvider"). Therefore, the AlgorithmId.oidTable is initialized based on a limited subset of the available Providers.
I call AlgorithmId.get("PBEWithSHA1AndDESede") as a workarround before using any class that depends on BC to initialze AlgorithmId.oidTable before the BC jar signature verification occurs.

Hi, looks like we got an official openjdk-bug-id for this one: http://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8266261
@anorimaki your workaround does not work in our case (where no bouncycastle is involved at all) also it sun.security.x509.AlgorithmId is not an official stable API I suppose?

@hofmandl1 true, it is not an official API. new EncryptedPrivateKeyInfo("PBEWithSHA1AndDESede", new byte[] { 0 }); should work also where the workaround can be applied (from https://bugs.openjdk.java.net/browse/JDK-8266279).

@hofmandl1 you can fix your issue by editing your java.security property and configure a stronger algorithm for PKCS#12 and the SUN Provider:
keystore.pkcs12.keyProtectionAlgorithm=PBEWithSHA512AndAES_256
This is happening in sun.security.pkcs12.PKCS12KeyStore

https://smarsh.atlassian.net/browse/MCAM-473

setting
keystore.pkcs12.keyProtectionAlgorithm=PBEWithHmacSHA256AndAES_256
in the java security worked for me on RHEL 7
Many thanks guys!

I think this related to https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8266290
Because SignerInfo.java is changed in 8u292:

It call AIgorithmId.get() function, which will initial oidTable.
During jar verify, Providers.getThreadProviderList() is not null, it only has 4 jar verified providers.
It cause oidTable in AlgorithmId is lack.
http://cr.openjdk.java.net/~martin/webrevs/jdk8/AlgorithmId-get-race/AlgorithmId-get-race.patch can not fix this problem.

Unfortunately with any PBES2 algorithm a JDK generated keystore becomes unreadable by openssl.
See https://stackoverflow.com/questions/51242721/openssl-debugging-how-to-dump-intermediate-asn-1-inside-openssl

JDK 8u301 has been released: https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
Release notes:
https://www.oracle.com/java/technologies/javase/8u301-relnotes.html
The fix for this is supposed to be in there.


[labs/ssr] SSR shim should console warn about use of DOM operations

I think we should consider just removing non-operative DOM operations.


split ruby blocks correctly when ; is inside string literal

I was in the intro to Vim course in FMI when this bug was mentioned.
Decided this would be fun way to start my vimscript journey.
I'm not familiar with Ruby so I'm not sure if this handles all the edge cases.
The regex might be kind of overkill but I couldn't really find an easier alternative
to match only those ';' that are not surrounded by quotes.
Checking if ";" is NOT surrounded by quotation marks
<=>
NO quotation mark on its left   OR    NO quotation mark on its right
Would love some feedback!

Thank you!
I'd definitely like to try and figure this out, so I'll make some progress this week with the methods you suggested and
report back my results :). It's been quite fun so far

I decided to implement the second method since it seemed easier. I'll try and make an implementation of the first method
as well if I have time.

Thanks for the fix, I'll go ahead and merge it :+1:


Fix concurrency of ComplexMetrics.java

Fixes #9107 .

Description

Addressed #9107. Modified ComplexMetrics.java by replacing the existing HashMap with a ConcurrentHashMap. Wrapped the ComplexMetrics.registerSerde() method body in ConcurrentHashMap.compute() to ensure thread safety.
Regarding the checklist item for testing in a druid cluster. I am under the assumption that if I can spin up a cluster and use something like the HyperUnique aggregator successfully in a query, that this code will be executed. If that is not the case, I need to perform more local functional testing.
Regarding the concurrency and unit test checks on the checklist: This is my first time contributing any concurrency related code and am not entirely sure what protocol is here. I see mention of writing tests that test multi-threaded execution, but am unsure if augmenting the existing tests to do multi-threaded testing is desired here. If it is, I can certainly get to work on that, but I wanted to consult with a committer beforehand.

This PR has:

[X] been self-reviewed.

[ ] using the concurrency checklist (Remove this item if the PR doesn't have any relation to concurrency.)

[X] added Javadocs for most classes and all non-trivial methods. Linked related entities via Javadoc links.
[ ] added unit tests or modified existing tests to cover new code paths.
[X] been tested in a test Druid cluster.

Key changed/added classes in this PR

ComplexMetrics.java

@leventov As you are the author of the issue at hand, could you comment on my query regarding the unit tests for this PR? It is unclear to me if the changes made here require multi-threaded unit tests to be created (per the concurrency document) or if it is fine as is. Thanks!


[Bug]: Missing Dependencies

All of the following criteria must be met

[X] All Requirements must be installed.
[ ] Full Latest.log file included. If no file exists then leave this unchecked and state so.

All of the following are optional to answer

[X] Tried reinstalling the Game.
[X] Tried reinstalling MelonLoader.
[X] Tried restarting PC.
[X] Was able to see the Start Screen.

Describe the issue.
I'm trying to install "Developer Console" mod, it looks like mod is updated but it doesn't working. I keep getting missing dependency error on melon console.

Did you attach your log file?

[ ] Yes, I attached my log file to the text box above.
[ ] No, I could not find a log file at {Game_Directory}\MelonLoader\Latest.log

Please include your log file.

I'm having the same issue with missing dependencies on btd6, and would like some help.

I'm having the same issue with missing dependencies on btd6, and would like some help.

Create an issue thing or describe it in detail here lol oof...

This user is using an outdated MelonLoader installation.