Create single source of user stories and notes for back-end Node certification projects

Internally, we had several discussions about the pros and cons of moving all the user stories for the back-end certification projects to a single location. The decision was to move all the user stories and notes for the back-end Node projects to learn.
Goals:

Creates a single source for user stories and instructions to reside.
Makes it easier to create translations of these projects’ instructions.
Make them easier to maintain

Tasks:

Each user story will be a test text in the learn file. The user stories should be written from the second person perspective.
The description section of each  learn file should be standardized to include a link to the demo project and to the boileplate (repl.it and github.com). Any supplemental information likes notes or examples would be incorporated in the bottom of description section. Here's how the markdown should look:

Build a full stack JavaScript app that is functionally similar to this: https://timestamp-microservice.freecodecamp.rocks/. Working on this project will involve you writing your code using one of the following methods:

- Clone this GitHub repo and complete your project locally.
- Use our repl.it starter project to complete your project.
 Be sure to incorporate all the files from our GitHub repo.

When you are done, make sure a working demo of your project is hosted somewhere public. Then submit the URL to it in the `Solution Link` field. Optionally, also submit a link to your project's source code in the `GitHub Link` field.

Use the user stories with the most specificity. e.g. If the user stories are more specific on the README.md (boilerplate or demo-project) or index.html of demo project, use those on /learn for the test text.
Each boilerplate README.md file should only contain a project title that links to the the applicable  learn page project.  Any other text should be deleted. Example:

# [URL Shortener Microservice](https://www.freecodecamp.org/learn/apis-and-microservices/apis-and-microservices-projects/url-shortener-microservice)

Any user stories or instructions should be removed form the project code files (i.e. myApp.js or server.js.
Remove any user story information from a project’s landing page (i.e. index.html).  The only thing that should remain would be example usage information. This applies to the demo projects and boilerplates.

Notes:

The project demos are hosted in the demo-projects repo
Please limit PR's on /learn to one project at a time
PR's to boilerplates cannot be merged until changes on learn hit production.
Once all changes have been deployed, the README.mds for each project in the demo-projects repo will be deleted.
If you would like to work on one of the projects, please reply so we can add your name to the table below, to avoid duplicate work by other contributors.

Certification Project
Demo Project
Boilerplates
/learn

Timestamp Microservice- challenge file- boilerplate
[x] Has user stories removed[x] Is hosted on .rockshttps://github.com/freeCodeCamp/demo-projects/pull/24
[x] Has user stories removed[x] Readme has link to /learnhttps://github.com/freeCodeCamp/boilerplate-project-timestamp/pull/43
[x] Has user stories[x] On productionhttps://github.com/freeCodeCamp/freeCodeCamp/pull/39961

Request Header Parser Microservice- challenge file- boilerplate
[x] Has user stories removed[x] Is hosted on .rockshttps://github.com/freeCodeCamp/demo-projects/pull/25
[x] Has user stories removed[x] Readme has link to /learnhttps://github.com/freeCodeCamp/boilerplate-project-headerparser/pull/12
[x] Has user stories[x] On productionhttps://github.com/freeCodeCamp/freeCodeCamp/pull/39964

URL Shortener Microservice- challenge file- boilerplateAssigned to: @Sky020
[x] Has user stories removed[x] Is hosted on .rockshttps://github.com/freeCodeCamp/demo-projects/pull/21
[x] Has user stories removed[x] Readme has link to /learnhttps://github.com/freeCodeCamp/boilerplate-project-urlshortener/pull/23
[x] Has user stories[x] On productionhttps://github.com/freeCodeCamp/freeCodeCamp/pull/39311

Exercise Tracker- challenge file- boilerplate
[x] Has user stories removed[x] Is hosted on .rockshttps://github.com/freeCodeCamp/demo-projects/pull/26
[x] Has user stories removed[x] Readme has link to /learnhttps://github.com/freeCodeCamp/boilerplate-project-exercisetracker/pull/42
[x] Has user stories[x] On productionhttps://github.com/freeCodeCamp/freeCodeCamp/pull/39965

File Metadata Microservice- challenge file- boilerplate
[x] Has user stories removed[x] Is hosted on .rockshttps://github.com/freeCodeCamp/demo-projects/pull/27
[x] Has user stories removed[x] Readme has link to /learnhttps://github.com/freeCodeCamp/boilerplate-project-filemetadata/pull/9
[x] Has user stories[x] In productionhttps://github.com/freeCodeCamp/freeCodeCamp/pull/40217

Metric-Imperial Converter- challenge file- boilerplate
[x] Has user stories removed[x] Is hosted on .rockshttps://github.com/freeCodeCamp/demo-projects/pull/28https://github.com/freeCodeCamp/demo-projects/pull/37
[x] Has user stories removed[x] Readme has link to /learnhttps://github.com/freeCodeCamp/boilerplate-project-metricimpconverter/pull/12
[ ] Has user stories[ ] On productionhttps://github.com/freeCodeCamp/freeCodeCamp/pull/40358

Issue Tracker- challenge file- boilerplate
[x] Has user stories removed[x] Is hosted on .rockshttps://github.com/freeCodeCamp/demo-projects/pull/32https://github.com/freeCodeCamp/demo-projects/pull/34
[x] Has user stories removed[x] Readme has link to /learnhttps://github.com/freeCodeCamp/boilerplate-project-issuetracker/pull/15https://github.com/freeCodeCamp/boilerplate-project-issuetracker/pull/16
[x] Has user stories[x] In productionhttps://github.com/freeCodeCamp/freeCodeCamp/pull/39627https://github.com/freeCodeCamp/freeCodeCamp/pull/40263

Personal Library- challenge file- boilerplate
[x] Has user stories removed[x] Is hosted on .rockshttps://github.com/freeCodeCamp/demo-projects/pull/33https://github.com/freeCodeCamp/demo-projects/pull/39
[x] Has user stories removed[x] Readme has link to /learnhttps://github.com/freeCodeCamp/boilerplate-project-library/pull/5
[x] Has user stories[x] In productionhttps://github.com/freeCodeCamp/freeCodeCamp/pull/39642

Sudoku Solver- challenge file- boilerplate
[x] Has user stories removed[x] Is hosted on .rockshttps://github.com/freeCodeCamp/demo-projects/pull/22
[x] Has user stories removed[x] Readme has link to /learnhttps://github.com/freeCodeCamp/boilerplate-project-sudoku-solver/pull/8https://github.com/freeCodeCamp/boilerplate-project-sudoku-solver/pull/10
[x] Has user stories[x] On productionhttps://github.com/freeCodeCamp/freeCodeCamp/pull/39816https://github.com/freeCodeCamp/freeCodeCamp/pull/40264

American British Translator- challenge file- boilerplate
[x] Has user stories removed[x] Is hosted on .rockshttps://github.com/freeCodeCamp/demo-projects/pull/23
[x] Has user stories removed[x] Readme has link to /learnhttps://github.com/freeCodeCamp/boilerplate-project-american-british-english-translator/pull/6https://github.com/freeCodeCamp/boilerplate-project-american-british-english-translator/pull/8
[x] Has user stories[x] On productionhttps://github.com/freeCodeCamp/freeCodeCamp/pull/39822https://github.com/freeCodeCamp/freeCodeCamp/pull/40265

Stock Price Checker- challenge file- boilerplate
[x] Has user stories removed[x] Is hosted on .rockshttps://github.com/freeCodeCamp/demo-projects/pull/31
[x] Has user stories removed[x] Readme has link to /learnhttps://github.com/freeCodeCamp/boilerplate-project-stockchecker/pull/13
[x] Has user stories[x] On productionhttps://github.com/freeCodeCamp/freeCodeCamp/pull/40218

Anonymous Message Board- challenge file- boilerplate
[x] Has user stories removed[x] Is hosted on .rockshttps://github.com/freeCodeCamp/demo-projects/pull/30
[x] Has user stories removed[x] Readme has link to /learnhttps://github.com/freeCodeCamp/boilerplate-project-messageboard/pull/9
[x] Has user stories[x] On productionhttps://github.com/freeCodeCamp/freeCodeCamp/pull/40219

Secure Real Time Multiplayer Game- challenge file- boilerplate
[x] Has user stories removed[x] Is hosted on .rockshttps://github.com/freeCodeCamp/demo-projects/pull/29
[x] Has user stories removed[x] Readme has link to /learnhttps://github.com/freeCodeCamp/boilerplate-project-secure-real-time-multiplayer-game/pull/5
[ ] Has user stories[ ] On production

For this one, I've got a couple of PRs open to add tests.
Would it be preferred to roll these changes into those PRs or open new separate PRs?

Just keeping it as a discussion for a very short time in case anyone can point out any issues with making these changes.
@Sky020 @nhcarrigan @SaintPeter We are aware there are a few PRs you all are working on related to one or more of these projects.  For now, just continue implementing your changes as you had planned, though I do suggest waiting until we open this issue up for PRs before creating any new PRs for the projects.

Can you please clarify what you mean by "test text"?  Is that the - text in the YAML?  Meaning that the only place the user stories will be found is there?
There is a potential issue with that for some of the untestable user stories.  Even with the changes I've proposed to the Sudoku Solver and American/British Translator, there are front-end specific user stories that we cannot test.  Is the expectation that we have an "empty test" with that user story?
If I recall correctly, @nhcarrigan mentioned that there were similar issues on the "Anonymous Message Board" project.

Correct - I did have some tests I couldn't figure out.
Though if we end up rebuilding the projects to hit a backend API endpoint instead, that issue becomes moot.

Those are those tests the functional/unit tests, correct? If that's the case, I don't think we should get rid of them. So that leaves either moving them along side the rest of the tests (at the bottom of each challenge page) - or moving the non testable user stories to the instructions area of the challenge page. Pretty sure there's several out there now that just put the text at the bottom of the challenge pages as if there are tests. I think that, for now, we would be fine doing that and once we get everything moved over to learn, perhaps we can look into moving some user stories to the instructions area. Or trying to find a way to actually test some of them.
You mentioned on the other issue @SaintPeter,

Update the fCC tests to just check the /_api/get-tests end point and parse for passed on various tests.

Would this not work for those? Just check if they're all passing?

Update the fCC tests to just check the /_api/get-tests end point and parse for passed on various tests.

Would this not work for those? Just check if they're all passing?

I suppose we could check for the specific test names and look for "passed" and at least one assertion.  In conjunction with the actual testable endpoints, that does seem reasonable. I had been against using JUST the /_api/get_tests output, but using it for a smaller part would probably be ok.
We can add additional admonishments to the boilerplate 2_funcational_tests file against each test that is only checked via the _api.  Something like:

// Do not change the name of this test

We would need to make sure they were not any of the function ______() tests, since those seem to invite modification.

I think for this issue then, those should just go down by the tests with the rest of them.

We can add additional admonishments to the boilerplate 2_funcational_tests file against each test that is only checked via the _api. Something like:
// Do not change the name of this test

This was not discussed before, but we do not want to add comments to the boilerplate code.  All instructions will need to be made in either the tests' text or in the description section as notes.  Why?  Because we are not translating the boilerplates.

@RandellDawson Sign me up for the URL Shortener project. I will keep track of the current PR against it, and work from there to implement these changes.

Note, I updated the text that should appear on /learn from this...
    > Build a full stack JavaScript app that is functionally similar to this: https://metric-imperial-converter-freecodecamp.rocks/.
    >
    > Working on this project will involve you writing your code using one of the following methods:
    >
    > - Clone this GitHub repo and work on your project locally.  After completing the project, host a live version of it somewhere and submit the url to it in the `Solution Link` field below.  Also, post the link to your GitHub repo in the `GitHub Link` field below.
    >
    > - Use our repl.it starter project to complete your project.  After completing the project, submit the public url (the homepage of your app) in the `Solution Link` field.  Optionally, submit a link to a repository of your source code in the `GitHub Link` field.
    >
    > - Use a site builder of your choice to complete the project.  Make sure to incorporate all the files shown in the GitHub repo.  When you are done, submit the URL to your publicly available site (to the homepage of your app) into `Solution Link` field below. Optionally, submit a link to a repository of your source code in the `GitHub Link` field.

To what is now in the issue. I thought it was more concise this way, but we can change it back if we don't like it.

@moT01 I am wondering if we should not remove the mention of completing the projects locally?
This has to do with the cert projects, and their submissions should be publicly visible. So, either remove its mention in the list, or remove the

...using one of the following...

Being explicit about the need to host the project somewhere, once they are done.

It does say to submit a "working demo" - perhaps we could add "publicly visible working demo" ?

#6 says Remove any user story information from a project’s landing page (i.e. index.html). The only thing that should remain would be example usage information. - I know this is true for the example projects, but do we want to keep example usages in the boilerplates? Or just have a blank page?

do we want to keep example usages in the boilerplates? Or just have a blank page?

I would definitely leave the example usages in the boilerplates -> Just remove the user stories

@moT01 I think, "publicly visible working demo" should be ok. I still suspect some campers will submit localhost:3000 🤷♂

@moT01 I think, "publicly visible working demo" should be ok. I still suspect some campers will submit localhost:3000

Seems likely.  Can we catch those with validation?

Can we catch those with validation?

@ojeytonwilliams Not in any way I can think that would not hinder development...
I frequently submit local URLs before finally pushing a test-passing project to something like Heroku to submit the challenge.
Although...perhaps we could interrupt on-submission, if the URL contains a local location? Just leave the tests able to run as is.

I feel like I would rather just word it so it is understandable instead of trying to add code for that. What about this...
When you are done, make sure your project is hosted somewhere public and submit the URL to your working demo in the Solution Link field. Optionally, submit a link to your projects source code in the GitHub Link field.

It says in the issue - "Once all changes have been deployed, the README.mds for each project in the demo-projects repo will be deleted." - do we want to remove those readme's on the demo projects or give them a link to the learn page like we're doing for the boilerplates? I am leaning towards having a link.

do we want to remove those readme's on the demo projects or give them a link to the learn page like we're doing for the boilerplates?

I thought the thinking behind this was, there should be no way a camper will end up on a demo-project README. So, remove them?

I'll remove the READMEs from the various Boilerplate PRs I have open.

@SaintPeter To clarify: It is not the READMEs in the boilerplates that need to be removed...it is the READMEs in the demo-projects which need to be removed.

I frequently submit local URLs before finally pushing a test-passing project to something like Heroku to submit the challenge.
Although...perhaps we could interrupt on-submission, if the URL contains a local location? Just leave the tests able to run as is.

Good point.  We could always disable the submit button if we detect localhost, but that's definitely something that's nice to have, rather than urgent.

Most of the PR's I have just stick to the issue. There's a number of other things I would like to do to the boilerplates and demo projects...

Change the favicons
Make all the titles uniform
Make a uniform layout where we can - basically just have the project title and an hr
Remove old assets (glitch/hyperdev, .gitconfig file)
Create a .gitignore with a few things in it
Maybe a uniform footer

Wondering if that is getting to be too much or we can tack on some of this to these PR's. I already added some to the timestamp PR's, but I am going to hold off on the others for now. I know there's some bigger PR's out there that existed before this issue - those are fine. I'm thinking if we can add them on to these PR's, it will be one less round of reviews and PR's to create.

@moT01 Give me some standards and a favicon.ico file and I'll be happy to update my many PRs to include them.  I've been doing cleanup to the best of my ability, but I didn't want to poke stuff I wasn't familiar with.

Is there any way we can DRY this out? There's a lot of repetition in the boilerplates that it would be nice to centralise, but I'm not sure if there's a simple way.
Submodules should work, but then users would need to work with them and that's a bit of a pain. Does anyone know of a better approach?

Not even sure how submodules would work - we could have one per project, use it for basically all the boilerplate - then just add the submodule and additional code for each example project. Not sure if that actually helps or just complicates it in a different way. Most of these boilerplates and example projects do share a lot of code, but not all of them and many of the ones not on here, don't. I kind of feel like we should continue with this how it is and maybe bring that up in another issue. Not too familiar with submodules to be honest, so I'm not quite sure how it would work or the best way to use them.
Here's what I put on my timestamp PR @SaintPeter https://cdn.freecodecamp.org/universal/favicons/favicon-32x32.png - I think that should be fine?

I believe we've caught them all, but just in case we missed any... an extra set of eyes to ensure there are no InfoSec related stories/tests on the QA projects would be greatly appreciated 😁
I closed #39435 to roll in to this issue.

Do we want to try to incorporate these additions to the PR's already out there for adding tests? or should we keep them separate?

Not even sure how submodules would work

The approach would be to have the common stuff (package.json, dotenv, express etc.) in a single repo. Each project would have their own repos and be imported into the common one.

Not sure if that actually helps or just complicates it in a different way.

Probably the latter, but I figured there was some chance it was a sensible approach and I'm not keen on the amount of code repetition.  That said, the cure could be worse than the disease.
Anyway, I don't want to derail the conversation, so I'll leave it at that!

See above for Issue Tracker Boilerplate and Demo Project updates.

Alright - I pushed out PRs to hit the Stock Price checker and Message Board projects. 🙂

I believe this can be closed?


perf: Improved canonical visitor performance

What does this PR do/solve?
Fixes #319

@Luke265 what's the result of this improvement for your case?

logFn contains this check inside
https://github.com/comigor/artemis/blob/e1a213400a84dc44eb830bd90f26efe12bb2874c/lib/generator/helpers.dart#L192

@Luke265 what's the result of this improvement for your case?

Before 163 205 ms (~3 minutes), ~13 000 lines in schema file
[INFO] Generating build script...
[INFO] Generating build script completed, took 408ms

[WARNING] Invalidated precompiled build script due to missing asset graph.
[INFO] Precompiling build script......
[INFO] Precompiling build script... completed, took 996ms

[WARNING] The package `____` does not include some required sources in any of its targets (see their build.yaml file).
The missing sources are:
  - $package$
[INFO] Initializing inputs
[INFO] Building new asset graph...
[INFO] Building new asset graph completed, took 814ms

[INFO] Checking for unexpected pre-existing outputs....
[INFO] Checking for unexpected pre-existing outputs. completed, took 1ms

[INFO] Running build...
[WARNING] artemis:artemis on lib/$lib$:
[DEBUG] Profiling schema.accept(canonicalVisitor); started
[WARNING] artemis:artemis on lib/$lib$:
[DEBUG] schema.accept(canonicalVisitor); executed within 163205 ms
[INFO] 2m 46s elapsed, 0/1 actions completed.
[WARNING] No actions completed for 2m 46s, waiting on:
  - artemis:artemis on lib/$lib$

[INFO] 2m 47s elapsed, 27/29 actions completed.
[INFO] 2m 48s elapsed, 27/29 actions completed.
[INFO] 2m 49s elapsed, 27/29 actions completed.
[INFO] 2m 51s elapsed, 27/29 actions completed.
[INFO] 3m 0s elapsed, 28/29 actions completed.
[INFO] 3m 1s elapsed, 86/87 actions completed.
[INFO] Running build completed, took 3m 1s

[INFO] Caching finalized dependency graph...
[INFO] Caching finalized dependency graph completed, took 48ms

[INFO] Succeeded after 3m 1s with 5 outputs (117 actions)

After 16 ms, huge improvement
[INFO] Generating build script...
[INFO] Generating build script completed, took 428ms

[WARNING] The package `____` does not include some required sources in any of its targets (see their build.yaml file).
The missing sources are:
  - $package$
[INFO] Initializing inputs
[INFO] Reading cached asset graph...
[INFO] Reading cached asset graph completed, took 64ms

[INFO] Checking for updates since last build...
[INFO] Checking for updates since last build completed, took 756ms

[WARNING] Invalidating asset graph due to build script update!
[INFO] Cleaning up outputs from previous builds....
[INFO] Cleaning up outputs from previous builds. completed, took 4ms

[INFO] Generating build script...
[INFO] Generating build script completed, took 100ms

[WARNING] Invalidated precompiled build script due to missing asset graph.
[INFO] Precompiling build script......
[INFO] Precompiling build script... completed, took 921ms

[WARNING] The package `land_lord` does not include some required sources in any of its targets (see their build.yaml file).
The missing sources are:
  - $package$
[INFO] Initializing inputs
[INFO] Building new asset graph...
[INFO] Building new asset graph completed, took 822ms

[INFO] Checking for unexpected pre-existing outputs....
[INFO] Checking for unexpected pre-existing outputs. completed, took 1ms

[INFO] Running build...
[WARNING] artemis:artemis on lib/$lib$:
[DEBUG] Profiling schema.accept(canonicalVisitor); started
[WARNING] artemis:artemis on lib/$lib$:
[DEBUG] schema.accept(canonicalVisitor); executed within 76 ms
[INFO] 2.6s elapsed, 0/1 actions completed.
[INFO] 3.6s elapsed, 27/29 actions completed.
[INFO] 4.7s elapsed, 27/29 actions completed.
[INFO] 5.7s elapsed, 27/29 actions completed.
[INFO] 7.4s elapsed, 27/29 actions completed.
[INFO] 14.5s elapsed, 28/29 actions completed.
[INFO] 15.5s elapsed, 86/87 actions completed.
[INFO] Running build completed, took 15.6s

[INFO] Caching finalized dependency graph...
[INFO] Caching finalized dependency graph completed, took 54ms

[INFO] Succeeded after 15.7s with 5 outputs (117 actions)

logFn contains this check inside
https://github.com/comigor/artemis/blob/e1a213400a84dc44eb830bd90f26efe12bb2874c/lib/generator/helpers.dart#L192

Yes, I was aware of that. But checking whether to log or not, before function call is a tiny bit more performant too. But the real culprit is properties.addAll. It is super slow, not sure why exactly. Maybe because of list growth, or internal type checks.

Are you sure that omitting one fiction call could result in 10 times better performance?
It seems like result of the second run of generation with the same input(which is fast due to the caching).

Could you attach your schema?

Are you sure that omitting one fiction call could result in 10 times better performance?
It seems like result of the second run of generation with the same input(which is fast due to the caching).

I am also aware about caching. Yes, if queries and mutations are not changed, since last build, then second run would be fast without these changes. But I've changed some queries every time before building to avoid caching. So yes, I'am sure that this tiny change improves performance.

Could you attach your schema?

https://pastebin.com/VZEZd4Yg
This schema is auto generated with typegraphql-prisma

Thanks for extended explanation.
I will check your samples.
May be this will help to improve overall performance

@Luke265 the main issue in your test is that map in itarable resolves lazily. If you add .toList() on your map we will get
TestAddAll 116
TestJustMap 107

So the main idea it to make all results from canonical lazy resolvable.
I will try to do it this week

Try 7.0.0-beta.16


RFC: let notation inside declaration binders

Proposal
Currently, Lean provides
def foo (x y : Nat) : Nat := x + y

as notation for
def foo : ∀ x y : Nat, Nat := fun x y => x + y

This RFC suggests extending this with
def bar (x : Nat) (let y : Nat := 2) : Nat := x + y

as notation for
def bar : ∀ x : Nat, let y : Nat := 2; Nat := fun x => let y : Nat := 2; x + y

Rocq already has this notation, as (y := 2). This notation is already claimed by optParams in Lean, but (let y := 2) seems like a natural alternative.
Motivation:

Accidental use of optParams is a common trap (https://github.com/trishullab/PutnamBench/issues/166); the let syntax could be referenced in the docstring of optParam to help resolve confusion
Allowing theorem signatures to represent letE in addition to forallE means that they can now completely capture any intermediate goal state in a proof, allowing mathlib's extract_goal to more faithfully extract the current goal with an identical local context at the start of the proof.

Optional extensions that this RFC is neutral on:

Allow let binders as fun x (let y := 2 * x) (z : Fin y) => z.val
Allow let binders as have foo (x : Nat) (let y : Nat := 2) :=
Allow let binders in Exists and other custom binder types
def foo (x : Nat) (open scoped Nat) (y : Fin (x)!) and similar for set_option

Community Feedback

older Zulip discussion

Impact
Add :+1: to issues you consider important. If others benefit from the changes in this proposal being added, please ask them to add :+1: to it.

The simplest workaround here should be to move the relevant part of the type to the RHS of :. This means the binders have to be reintroduced in the body, but for proofs that can be done with intros so I'd say it's really not too bad.

This strategy also extends to open in etc.

Does intros really replay open in / set_option _ in clauses in binders like it does let?


Fix evaluate script bug #1788

Proposed changes
Fix evaluate script bug #1788

Hey @boranfrkn, thanks a lot.
Could you also add a test to verify the fix?

Hey @bartekpacia I think it's okay, what you think?


Code using both cor and Ncor to split clusters

Thank you for the very useful software. Line 29 of file Tree_partition_utils.R suggests that both cor and Ncor are being used to decide whether to split a cluster, even though there is a --comparison_metric parameter whose documentation implies only one or the other is used. Is this correct? Is there a rationale for this behavior?

Hi ,
The motifs are compared using two metrics, pearson correlation (cor) and width-normalized pearson correlation (Ncor).
The hierarchical tree is computed using one of these metrics (default : Ncor), but when we create the progressive alignment and to decide if we add an extra motif or we split a branch, we compute the average (or min/max depending on the linkage type selected by the user) of the Ncor and cor values.
This rationale is based on a grid search evaluation we made in the matrix-clustering paper (see the supplementary notes), we observed that a threshold in these two metrics provided better results than using a single metric.


Unable to resize outside window

Unable to resize the outer edge—not sure if it's specific to the program or to the Java implementation. In any event, might be worthwhile to make the window bigger since the contents will always need to be expanded to fit properly.
Downloaded .jar release, run with java -jar pattypan.jar

Thats strange, looks like #justjavathings. So you cannot resize window like on screenshot below?

It's confirmed working on Win, Mac and Ubuntu. I will need your distribution name and JRE/JDK. I know that Oracle one is working fine.

Nope, can't resize like that—I'll get the icon to resize at the edges but it doesn't do anything when I click & drag

$ java -version
openjdk version "1.8.0_121"
OpenJDK Runtime Environment (build 1.8.0_121-b13)
OpenJDK 64-Bit Server VM (build 25.121-b13, mixed mode)

OS: Manjaro 17.0 Gellivara (Arch)
Kernel: x86_64 Linux 4.8.17-1-MANJARO

For now, can you try to resize window using config.properties file? You should find it in ~/.pattypan directory

Yes, that worked and oddly enough, I can resize the window up choosing the directory (even before clicking "next"). After the directory is chosen and its content composition displayed, the resize icon will move the whole window rather than allowing it to be resized.

@owcz I understand it's still the case, right? Can you check log file in the latest version of Pattypan? Maybe there is information about some exceptions.

Likely won't get to this for a bit, so feel free to close if needed (Xfce has all kinds of incongruities with file select so who knows)
Will test next time I batch upload

Switched to low prio in the meantime.


Use Shared Project instead to be able to create single assembly

Did a rough sketch of this here: https://github.com/appel1/ExcelDataReader/tree/projectlayout
Didn't create a pull request from it since it contains other changes, fixes and code cleanup.
If it is something this project is interested in I can probably create a new branch and pull request with just the shared project changes. Or is the VS2015 requirement a big no-no?

Hi @appel1,
do you think recent branch meets the requirements of yours?
Unfortunately I can't install VS 2015, could you kindly double check with @andersnm his solution?
Thanks a lot

@wizardgsz Yes, looks good to me.
(There seems to be a build dependency issue so after the first checkout you have to build twice to get the tests to compile)

@andersnm just "fixed" it in http://github.com/ExcelDataReader/ExcelDataReader/commit/eb5c760


Adding default value for IP_FAMILY

This fixing ./tests/e2e/common-operator-integ-suite.sh: line 287: IP_FAMILY: unbound variable

@FilipB: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

e2e-kind-multicluster_sail-operator_main
04fdffdd9fcc41be9502775bef676230d69627b6
link
true
/test e2e-kind-multicluster

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

/retest


Unit test cannot handle docker push and pull cases

When push to registry, registry needs notification service to notify the cache to update. However, import service in package api will cause the cycle import problem.
Now the solution is to push images before test using a shell script.
Just mark for better solution.

This is no longer a problem as we are running E2E test to cover the push/pull scenarios


featureMTMV pause and resume

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall


Fix of the docs for tz_conver and tz_localize (fix for #9865)

Fix for issue #9865 "Cannot convert tz-naive timestamps":
Docs for tz_convert and tz_localize were updated and "Raises" section were added.

Looking good, thanks a lot!


UX improvements to input simulation indicators

Overview
Makes input simulation indicators to the sides and updates the reset button to look like a 'refresh' button.

Changes

Fixes: #6023

Verification

This optional section is a place where you can detail the specific type of verification
you want from reviewers. For example, if you want reviewers to checkout the PR locally
and validate the functionality of specific scenarios, provide instructions
on the specific scenarios and what you want verified.
If there are specific areas of concern or question feel free to highlight them here so
that reviewers can watch out for those issues.
As a reviewer, it is possible to check out this change locally by using the following
commands (substituting {PR_ID} with the ID of this pull request):
git fetch origin pull/{PR_ID}/head:name_of_local_branch
git checkout name_of_local_branch

@cre8ivepark  could i please get some help with the reset icons?

Updated reset icon.

/azp run

/azp run

@julenka, should we set hide flags on the indicators in inspector?
Also how does one show/hide the indicators?

@julenka, should we set hide flags on the indicators in inspector?
Also how does one show/hide the indicators?

I would rather not. Hiding stuff in the inspector tends to make devs feel less in control, I find.

Also how does one show/hide the indicators?

You can set the 'indicators' prefab to none in the profile. On the sides the indicators are not too intrusive actually.

/azp run

UPDATE:, after moving indicators to the side, raycasts related to Unity UI began failing. Since the indicators as they are are too visually distracting from interaction, check them in as off by default. Filed #6106 to track turning them back on. The indicators as they are checked in will be on the sides, with correct refresh buttons.

/azp run


Image as background of canvas

Hello,
I did not found it anywhere, but it is possible to add an image as the background and not as an ImageVisual?
Thanks for reply!

Hi!
If you are trying to set the background of the Canvas (probably RichItemsControl) to an Image, did you try to set the Background property on it? You can probably get some ideas on Google on how to bind/set an image to the Background of a Control.
I am not sure if that's working as intended or if I understood correctly your requirement, but you can give it a try.


Generate a proper error message when the hash is invalid

When calling /hash-check?hash=SOME_HASH and the hash doesn't exist, a null error is being returned. This is not friendly.

Returns hash invalid error, and error message regarding database when not found


Add yarn.lock file

If someone wants to use yarn we should create by default a yarn.lock file.

I am using yarn and we have a yarn.lock file

Oops, I was browsing in the master branch. 🤦♂


Add keyboard layout enum and related updates

#52
First time contributing to an Open Source Project.
I have added an enum for keyboard layouts.

Hey @Gleebo !
Thank you for your contributing :)
I will review it in a few days!

Good!

Wow, thanks!
I would like to keep contributing in my free time. Planning to study and play around with the codebase a bit more to add some meaningful unit tests & more.
Unfortunately my windows PC broke the next day after I made this PR, only have a macbook to work on.

Approved your changes. Thanks for your help in improving this library! :)
If you get any ideas to implement or want to do some more issues, that would be great!
Your changes will come in the next NuGet patch.


Failed To Import / Download

안녕하세요 개발자님. 그동안 1년 이상 잘 사용하고 있다가, 어제부터 Import가 안되는 이슈가 생겼습니다.
Authentication도 문제없이 진행되는데, Import하려고 하면

이렇게 나오는데, 링크를 찾아서 들어가도 페이지가 없다고 나옵니다.
Download시 발생하는 에러는

System.AggregateException: One or more errors occurred. ---> System.Net.WebException: The remote server returned an error: (401) Unknown authorization header.
at System.Net.HttpWebRequest+d__240.MoveNext () [0x00152] in :0
--- End of stack trace from previous location where exception was thrown ---
at System.Net.HttpWebRequest.EndGetResponse (System.IAsyncResult asyncResult) [0x0001d] in :0
at System.Threading.Tasks.TaskFactory1[TResult].FromAsyncCoreLogic (System.IAsyncResult iar, System.Func2[T,TResult] endFunction, System.Action1[T] endAction, System.Threading.Tasks.Task1[TResult] promise, System.Boolean requiresSynchronization) [0x0000f] in <695d1cc93cca45069c528c15c9fdd749>:0 <---

이렇게 나옵니다.
구글 프로젝트 문제인가 싶어서 gcp에서 새로운 프로젝트로 시도해보았지만 여전히 되지 않았습니다. 해결방법이 있을까요?

오늘 다시 잘 작동하네요. 일시적인 문제였던것 같습니다. 이슈는 닫겠습니다

Sounds great! Cheers.

안녕하세요. 그이후로 이슈가 발생해서 이번엔 사라지지 않는데, 혹시 개발자님은 잘 되시나요? ㅠㅠ

Hi,
I can no longer fetch from google spread sheet. After some research, Google Sheets API v3 may be deprecated and we may need to move to API v4.
Intermittent 404 Errors on Google Sheet Feed

I'm also getting this error as well, and its stopping me from updating any text. When can we expect an update?

Hi, Thanks for your great library.
I can no longer fetch from google spread sheet. After some research, Google Sheets API v3 may be deprecated and this may be need to move to API v4.
Intermittent 404 Errors on Google Sheet Feed

I've got the same problem today. Does anybody have a solution?

Would you share more information about this?
Google Sheets API v3 may be deprecated and this may be need to move to API v4.
If API would be a problems, we may need to replace the existing DLLs. (not 100% sure)

I was looking into this myself, it looks like GData, the library that is used to talk to the spreadsheet API is now being deprecated and replaced with Spreadsheet API v4. Google say the GData version is still live, but obviously that isnt the case...
https://developers.google.com/gdata/docs/directory
There seems to be other projects that use API v4 in unity, so it is possible to get it working:
https://github.com/UniGameTeam/UniGame.GoogleSpreadsheetsImporter
I believe it is a case of removing the gdata DLL's and using this new API to do all the spreadsheet calls to pull down data.
I haven't tried to set this up yet, I just fell back to using the excel version for now as I needed to update copy in various projects.

My solution is: I removed this plugin from my project and wrote a wrapper for Google Sheets API v4. I imported the API using the Nuget package manager in Visual studio. Then I removed unnecessary plugins and kept only folders called "net45" and "net40" (for Google.Apis.Sheets.v<IP_ADDRESS>.2371).  In the import settings of each plugin, I changed the "Editor" option to true so it's only is using in Unity Editor. Then I wrote few scripts to use the API.  The samples of code you can find here . This API I use in Unity 2019.4.20f and everything works perfectly. Thanks, Google for the .NET API.

My solution is: I removed this plugin from my project and wrote a wrapper for Google Sheets API v4. I imported the API using the Nuget package manager in Visual studio. Then I removed unnecessary plugins and kept only folders called "net45" and "net40" (for Google.Apis.Sheets.v<IP_ADDRESS>.2371). In the import settings of each plugin, I changed the "Editor" option to true so it's only is using in Unity Editor. Then I wrote few scripts to use the API. The samples of code you can find here . This API I use in Unity 2019.4.20f and everything works perfectly. Thanks, Google for the .NET API.

does your solution import the text into the scriptable objects that quicksheets uses? Would you mind sharing some of your wrapper code?

I uploaded my solution sample. You have to modify the code for yourself.
https://github.com/YuriiZhuk/Google-Sheets-API-Wrapper-C-.git

@JonathanReid Thank you for sharing the info. If the cause of this problem is becasue of the change of Google API, it makes sense.

I believe it is a case of removing the gdata DLL's and using this new API to do all the spreadsheet calls to pull down data.

I agree. it would need replacing old APIs with new Spreadsheet API v4.
@YuriiZhuk
Thank you for sharing the code. I grasped quickly your code and just found that there's only some code for credentials.

You have to modify the code for yourself.

Meaning, it still needs to modify the rest of the code regarding Google API, correct? Hope to be very clarified because you've mentioned that "My Solution-" in your answer so, I wonder whether the above approach is the way can resolve the issue entirely.

@JonathanReid Thank you for sharing the info. If the cause of this problem is becasue of the change of Google API, it makes sense.

I believe it is a case of removing the gdata DLL's and using this new API to do all the spreadsheet calls to pull down data.

I agree. it would need replacing old APIs with new Spreadsheet API v4.
@YuriiZhuk
Thank you for sharing the code. I grasped quickly your code and just found that there's only some code for credentials.

You have to modify the code for yourself.

Meaning, it still needs to modify the rest of the code regarding Google API, correct? Hope to be very clarified because you've mentioned that "My Solution-" in your answer so, I wonder whether the above approach is the way can resolve the issue entirely.

I released my example which contains not only credentials code. There is a code that has authentication logic, code for getting Google sheets and using it with a scriptable object.   "You have to modify the code for yourself." - it means that you have to set a value of the field called "spreadsheetId " to your spreadsheet id. Also if you want, you can change the path of a generated token or for a scriptable object.  I described everything on my git-wiki page https://github.com/YuriiZhuk/Google-Sheets-API-Wrapper-C-/wiki.

Meaning, it still needs to modify the rest of the code regarding Google API, correct? Hope to be very clarified because you've mentioned that "My Solution-" in your answer so, I wonder whether the above approach is the way can resolve the issue entirely.

No. There is a configured code. As I mentioned above, you have to set the value of your spreadsheet to get the needed data. My solution doesn't use your plugin. Also, my solution uses OAuth 2.0 authentication. When you click on the "Import" button, your browser opens and you have to log in with Google.  Just look up to my guide on the wiki page.

Heads up. We've got a blocker.
Google changed spreadsheet APIs recently and it blocks QuickSheet to work with Google Spreadsheet currently.
The workaround would be replacing old GData's APIs with the latest  Spreadsheet API v4 as @JonathanReid pointed. Unfortunately, it would need some amount of time(=efforts 😓).
In the meantime, what @YuriiZhuk suggested way is writing your own plugin and out of the scope for the project. But thank you @YuriiZhuk for your feedback.
Sorry for the inconvenience and stay tuned till the workaround comes.
Cheers,

Hi, any update on this?

Not yet. Sorry for the delay. I'm too busy for a traveling even under the covid situation for a business.
You guys may need a bit more time.
Sorry again.

Not yet. Sorry for the delay. I'm too busy for a traveling even under the covid situation for a business.
You guys may need a bit more time.
Sorry again.

okiez do update here as well if it gets a fix!

Hi, any news about the workaround?

Hi, any news about the workaround?

I use my solution. It's still working fine.


多轮对话训练数据格式组织

我现在想基于多轮对话数据来微调模型，想问下训练数据的格式应该怎么组织呢

As Qwen1.0 is no longer actively maintained, we kindly ask to you migrate to Qwen1.5 and direct your related question there. Thanks for you cooperation.


Links don't work on touch screens in Chrome (with enabled touch-events)

Hi!
I've noticed that click events ain't triggered at all in Chrome (version 29). As result any links in the area with scroller enabled don't work on touch screens.
Steps to reproduce:

On a computer with touch screen...
Open EasyScroller example: http://zynga.github.io/scroller/demo/easyscroller.html
Using Chrome Dev Tools edit a piece of text, adding A-link somewhere.
Now try to click on the link, it won't open.

Workaround is to DISABLE touch events in Chrome. Visit internal URL chrome://flags/, and set variable "Enable touch events Mac, Windows, Linux, Chrome OS" from Automatic (default) to DIsabled.
The other problem with emulating touch events using mouse (that's what we get after disabling touch events in Chrome or if using Firefox which doesn't support touch events or has this disabled by default - idk) is that click events occur even if you just scroll the content. I.e. if you start scrolling from touching a link and simply release your  finger/mouse touch, then after animation finishes, browser opens the link! Touch-emulation part of the library should disable such clicks.

If somebody try to solve this problem on examples from repository, maybe help you my solution. It's based on solution from @mayurloved
https://github.com/facebook/fixed-data-table/blob/master/site/examples/TouchableArea.js
Just remove all e.preventDefault(); occurrences in TouchableArea.js and Chrome on touch-devices will be working again.


Querying user credentials returns duplicate data

I add one credential but return duplicate data when querying
I will fix it.

I will fix it.


i53: ut-core: add docker run instructions for the arm toolchain sc docker launch instructions for the

RDK Dunfell Docker Toolchain Manual
This manual guides you through the process of using the RDK Dunfell Docker Toolchain to build projects targeted for ARM architecture, using Docker.
Launching the Toolchain Docker Container
To start the Docker container and open a bash shell within it, use the following command:
sc docker run rdk-dunfell-toolchain /bin/bash

Setting Up the Environment
Once inside the Docker container, follow these steps to set up the environment:

Navigate to the toolchain directory:
cd /opt/toolchains/rdk-glibc-arm-toolchain/

Activate the environment setup for ARMv7:
. environment-setup-armv7at2hf-neon-oe-linux-gnueabi

To verify that the compiler (CC) is set correctly in the environment, execute:
echo $CC

The output should start with arm-oe-linux-gnueabi-gcc followed by various compiler switches.

Building the Project
To build your project using the ARM toolchain, follow these steps:

Change to your project directory (replace <project> with your actual project directory name):
cd <project>

Start the build process by specifying the target:
make TARGET=arm

Optional Single Command Execution
Alternatively, you can combine all the steps into a single command to set up the environment and build your project directly. Here’s how:
sc docker run rdk-dunfell-toolchain "/bin/bash -c '. /opt/toolchains/rdk-glibc-arm-toolchain/environment-setup-armv7at2hf-neon-oe-linux-gnueabi; cd <project>; make TARGET=arm'"

Make sure to replace <project> with your actual project directory. This command facilitates running everything in one go inside the Docker container.

created wiki: https://github.com/rdkcentral/ut-core/wiki/RDK-Dunfell-Docker-Toolchain-Manual


Admin username error

Dont use admin username with lower than 5 characters osticket will not work
023-06-05.18:46:43 [ERROR] ** [osticket] Admin user need to be 5 characters or greater. Exiting..
I was using "nik" as my admin username on the docker compose file.

It is in the docs:
Admin Username Must be more than 5 characters


HeaderValueException:Too many "Content-Type" header values: "[application/json, application/json]"

Seeing this from time to time:
org.glassfish.jersey.message.internal.HeaderValueException:Too many "Content-Type" header values: "[application/json, application/json]"
org.glassfish.jersey.message.internal.OutboundMessageContext.singleHeader(OutboundMessageContext.java:199)
org.glassfish.jersey.message.internal.OutboundMessageContext.getMediaType(OutboundMessageContext.java:270)
org.glassfish.jersey.client.ClientRequest.ensureMediaType(ClientRequest.java:511)
org.glassfish.jersey.client.ClientRequest.writeEntity(ClientRequest.java:441)
org.glassfish.jersey.client.internal.HttpUrlConnector._apply(HttpUrlConnector.java:367)
org.glassfish.jersey.client.internal.HttpUrlConnector.apply(HttpUrlConnector.java:265)
org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:297)
org.glassfish.jersey.client.JerseyInvocation.lambda$invoke$1(JerseyInvocation.java:643)
org.glassfish.jersey.client.JerseyInvocation.call(JerseyInvocation.java:665)
org.glassfish.jersey.client.JerseyInvocation.lambda$runInScope$3(JerseyInvocation.java:659)
org.glassfish.jersey.internal.Errors.process(Errors.java:292)
org.glassfish.jersey.internal.Errors.process(Errors.java:274)
org.glassfish.jersey.internal.Errors.process(Errors.java:205)
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:390)
org.glassfish.jersey.client.JerseyInvocation.runInScope(JerseyInvocation.java:659)
org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:642)
org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:445)
org.glassfish.jersey.client.JerseyInvocation$Builder.post(JerseyInvocation.java:346)
com.wildbit.java.postmark.client.HttpClient.execute(HttpClient.java:62)
com.wildbit.java.postmark.client.HttpClientHandler.execute(HttpClientHandler.java:62)
com.wildbit.java.postmark.client.ApiClient.deliverMessage(ApiClient.java:67)

Yes to multithreading environment (a java/scala web app), as in there can be multiple threads/requests calling the Postmark API client in parallel.
Is the client not thread-safe, should we take care of the synch access on our end?
java -version
Picked up JAVA_TOOL_OPTIONS: -Xmx100m -Xss512k -Djava.net.preferIPv4Stack=true
openjdk version "11.0.7" 2020-04-14 LTS
OpenJDK Runtime Environment Corretto-<IP_ADDRESS>.1 (build 11.0.7+10-LTS)
OpenJDK 64-Bit Server VM Corretto-<IP_ADDRESS>.1 (build 11.0.7+10-LTS, mixed mode)

Thanks @ediweissmann
client should be thread safe, but I will see to dig into this issue this week

Hi @ediweissmann
we just released version 1.7.6 which should resolve this issue. Let me know if works correctly for you.
Igor

Thank you, will let you know if it happens after updating.

Hello @ibalosh
We're using 1.8.0 version and still getting same error. Do you have any idea?

Hi @aonurozcan
unfortunately we can't reproduce the issue and haven't received any additional customer support regarding this issue. We will need to investigate it more

Hey guys,
in order to resolve this issue I would need as much details as possible from you so that we can reproduce it and fix it. We are not yet sure if the issue is coming from the library or from the API response for this specific case.
things that help

exact Java version
library version (I am guessing latest)
in which period of the day you see the issue
any other specific libraries/environment you are using
what is the type of sending you do when you see the issue (batch, single emails, attachments, how big email messages, etc)
for which endpoints do you see the issue? (sending, templates, outbound messages, link tracking, stats, bounces, etc)
do you use windows, linux, mac environment, etc

The more details you share, the easier we will track the issue down
Thanks

Hey guys,
in order to resolve this issue I would need as much details as possible from you so that we can reproduce it and fix it. We are not yet sure if the issue is coming from the library or from the API response for this specific case.
things that help

exact Java version
library version (I am guessing latest)
in which period of the day you see the issue
any other specific libraries/environment you are using
what is the type of sending you do when you see the issue (batch, single emails, attachments, how big email messages, etc)
for which endpoints do you see the issue? (sending, templates, outbound messages, link tracking, stats, bounces, etc)
do you use windows, linux, mac environment, etc

The more details you share, the easier we will track the issue down
Thanks

java version: java-11-amazon-corretto
library version: 1.8.0
in which period of the day you see the issue: it is randomly, we have simulated same failed request and it does successfully sent email
any other specific libraries/environment you are using: spring boot 2.6.6
what is the type of sending you do when you see the issue: single emails with attachment
for which endpoints do you see the issue?: sending mail
do you use windows, linux, mac environment: we are using AWS Beanstalk with Amazon Linux 2/3.2.14

@enkuru could you also share how big is the email you are sending, body + attachment?

@ibalosh sorry I have checked we don't send attachment, only template. So there is only body with 15 KB

np, @enkuru do you see this only when sending with templates, or you can see it on some other endpoints too?

Hi, we saw it only sending with templates


Fix compiler errors in the tests related to c_char signedness differe…

…nces on different platforms
Fixes https://github.com/gtk-rs/gtk-rs-core/issues/166

CC @remilauzier: Please confirm that this actually fixes your test failures on ARM.

Also needs to be backported to 0.14.

And also need to figure out how to make clippy happy
error: casting integer literal to `u8` is unnecessary
   --> glib/src/char.rs:203:62
    |
203 |         assert_eq!(UChar(241 as c_uchar), unsafe { from_glib(241 as c_uchar) });
    |                                                              ^^^^^^^^^^^^^^ help: try: `241_u8`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast

Should I maybe just silence this specific clippy warning for these tests, or does someone have a better idea?

CI is failing because of unnecessary casts.


Transcript section is incorrect

The note calling out that JS doesn't support this is incorrect. Not sure about Python or Java.

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

ID: 7538ed7a-5bb8-abc0-23e7-5b118e2fd47f
Version Independent ID: f6181862-6527-6698-afcd-4f6d240123da
Content: Write directly to storage - Bot Service
Content Source: articles/v4sdk/bot-builder-howto-v4-storage.md
Service: bot-service
GitHub Login: @DeniseMak
Microsoft Alias: kamrani

Looks like I updated the article and forgot to close this issue.


Attempting to perform inValueSet operation on value sets passed into a function throws an exception in the engine

Any of the following code snippets including value set parameters passed to functions:
library Test version '1'
using FHIR version '4.0.1'
valueset "VS": '20785'
context Unfiltered
/*
define testC: test3("VS")
define function test3(vs System.ValueSet): [Procedure: vs]
*/
/*
define testD: test4()
define function test4(): [Procedure: "VS"]
*/
/*
define testE: test5("VS")
define function test5(vs System.ValueSet): Code{code: 'A', system: 'foo'} in vs
*/
throws an exception in the engine with the following stack trace:
org.opencds.cqf.cql.engine.exception.CqlException: java.lang.IllegalArgumentException: Unable to locate ValueSet 20785
at org.opencds.cqf.cql.engine.elm.execution.Executable.evaluate(Executable.java:37)
at org.opencds.cqf.cql.engine.elm.execution.FunctionRefEvaluator.internalEvaluate(FunctionRefEvaluator.java:33)
at org.opencds.cqf.cql.engine.elm.execution.Executable.evaluate(Executable.java:18)
at org.opencds.cqf.cql.engine.elm.execution.ExpressionDefEvaluator.internalEvaluate(ExpressionDefEvaluator.java:19)
at org.opencds.cqf.cql.engine.elm.execution.Executable.evaluate(Executable.java:18)
at org.opencds.cqf.cql.engine.execution.CqlEngine.evaluateExpressions(CqlEngine.java:186)
at org.opencds.cqf.cql.engine.execution.CqlEngine.evaluate(CqlEngine.java:164)
at org.opencds.cqf.cql.evaluator.CqlEvaluator.evaluate(CqlEvaluator.java:89)
at org.opencds.cqf.cql.evaluator.CqlEvaluator.evaluate(CqlEvaluator.java:76)
at org.opencds.cqf.cql.evaluator.cli.command.CqlCommand.call(CqlCommand.java:159)
at org.opencds.cqf.cql.evaluator.cli.command.CqlCommand.call(CqlCommand.java:33)
at picocli.CommandLine.executeUserObject(CommandLine.java:1953)
at picocli.CommandLine.access$1300(CommandLine.java:145)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2352)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2346)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2311)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179)
at picocli.CommandLine.execute(CommandLine.java:2078)
at org.opencds.cqf.cql.evaluator.cli.Main.run(Main.java:19)
at org.opencds.cqf.cql.evaluator.cli.Main.main(Main.java:12)
Caused by: java.lang.IllegalArgumentException: Unable to locate ValueSet 20785
at org.opencds.cqf.cql.evaluator.engine.terminology.BundleTerminologyProvider.expand(BundleTerminologyProvider.java:87)
at org.opencds.cqf.cql.evaluator.engine.terminology.PrivateCachingTerminologyProviderDecorator.expand(PrivateCachingTerminologyProviderDecorator.java:47)
at org.opencds.cqf.cql.evaluator.engine.terminology.PrivateCachingTerminologyProviderDecorator.in(PrivateCachingTerminologyProviderDecorator.java:25)
at org.opencds.cqf.cql.evaluator.engine.retrieve.BundleRetrieveProvider.anyCodeInValueSet(BundleRetrieveProvider.java:89)
at org.opencds.cqf.cql.evaluator.engine.retrieve.BundleRetrieveProvider.filterByTerminology(BundleRetrieveProvider.java:151)
at org.opencds.cqf.cql.evaluator.engine.retrieve.BundleRetrieveProvider.retrieve(BundleRetrieveProvider.java:56)
at org.opencds.cqf.cql.evaluator.engine.retrieve.PriorityRetrieveProvider.retrieve(PriorityRetrieveProvider.java:28)
at org.opencds.cqf.cql.engine.data.CompositeDataProvider.retrieve(CompositeDataProvider.java:96)
at org.opencds.cqf.cql.engine.elm.execution.RetrieveEvaluator.internalEvaluate(RetrieveEvaluator.java:57)
at org.opencds.cqf.cql.engine.elm.execution.Executable.evaluate(Executable.java:18)
... 19 more
Basically, it looks as though whenever an InValueSet evaluation is done against a value set which has been passed to a function as a parameter, the terminology provider cannot find the target value set.

Interesting use case.
I was able to successfully run the following in VSCode:
valueset "Marital Status": 'http://hl7.org/fhir/ValueSet/marital-status'

define "Call VSTestIn function":
    VSTestIn("Marital Status")

define function VSTestIn(vs System.ValueSet):
    Code { code: 'L', system: 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus' } in vs

Not sure how you're testing this, but is the ValueSet available in the terminology server/provider?

Yes, the ValueSet is available - it's being returned as the result of a
previous test, which I removed to shorten the test file. I am running the
code in the jar of cql-evaluator which I built from scratch yesterday.  I
heard that you folks had released a new version of the engine this morning.
Could that have fixed the issue? I am wondering if it's something as simple
as a versioning issue now.
Frank Adrian
On Wed, Aug 31, 2022 at 12:43 PM c-schuler @.***> wrote:

Interesting use case.
I was able to successfully run the following in VSCode:
valueset "Marital Status": 'http://hl7.org/fhir/ValueSet/marital-status'
define "Call VSTestIn function":
VSTestIn("Marital Status")
define function VSTestIn(vs System.ValueSet):
Code { code: 'L', system: 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus' } in vs
Not sure how you're testing this, but is the ValueSet available in the
terminology server/provider?
—
Reply to this email directly, view it on GitHub
https://github.com/DBCG/cql_engine/issues/609#issuecomment-1233349138,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACJKAKO7J7BPJEL5ZYBO2ILV36YVBANCNFSM6AAAAAAQBVN5DM
.
You are receiving this because you authored the thread.Message ID:
@.***>

Given that the exception is being thrown in the BundleTerminologyProvider, which is part of the evaluator, not the engine, I will shift my queries over to that component. You may close this issue.

In case you wanted to see it, I've attached the entire test file...
Frank Adrian
On Wed, Aug 31, 2022 at 1:35 PM Frank Adrian @.***>
wrote:

Yes, the ValueSet is available - it's being returned as the result of a
previous test, which I removed to shorten the test file. I am running the
code in the jar of cql-evaluator which I built from scratch yesterday.  I
heard that you folks had released a new version of the engine this morning.
Could that have fixed the issue? I am wondering if it's something as simple
as a versioning issue now.
Frank Adrian
On Wed, Aug 31, 2022 at 12:43 PM c-schuler @.***>
wrote:

Interesting use case.
I was able to successfully run the following in VSCode:
valueset "Marital Status": 'http://hl7.org/fhir/ValueSet/marital-status'
define "Call VSTestIn function":
VSTestIn("Marital Status")
define function VSTestIn(vs System.ValueSet):
Code { code: 'L', system: 'http://terminology.hl7.org/CodeSystem/v3-MaritalStatus' } in vs
Not sure how you're testing this, but is the ValueSet available in the
terminology server/provider?
—
Reply to this email directly, view it on GitHub
https://github.com/DBCG/cql_engine/issues/609#issuecomment-1233349138,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACJKAKO7J7BPJEL5ZYBO2ILV36YVBANCNFSM6AAAAAAQBVN5DM
.
You are receiving this because you authored the thread.Message ID:
@.***>


Save and resture the global serializer state

When testing the serializers, save the global state before the
serializer test is run, and restore it after. This fixes an issue where
tests that run after the serializer tests have run are affected by the
default serializer stored in Maildir::Message.serializer.

I'm looking at this PR, and while it seems to fix the bug, I can't shake the feeling that it's solving the problem in the wrong place. Specifically, the patch:
serializers.each do |klass, dumper|
  context "A message serialized with #{klass} (#{dumper.object_id})" do
    setup do
      @original_serializer = Maildir::Message.serializer

is adding an instance variable just for Maildir::Message.serializer, and the setup/teardown have to do this even when the test isn't testing this particular serializer. The problem really seems to be somewhere in test/test_serializers.rb:34:
 Maildir::Message.serializer = klass.new
@message = temp_maildir.add(@data)

I think reviewing the code in lib/maildir/serializer/mail.rb and trying to capture the actual diff between expected and actual would result in a cleaner patch. I'm in no way trying to discourage your contribution, but want the patch to be as minimally invasive as possible. Right now, it feels like we're changing the serializer test harness to accommodate an error, rather than fixing the broken test or serializer that's responsible for the problem. I'd rather isolate and fix the test(s) that are triggering the error than wrap the whole test harness.
In addition, the patch needs to include a unit test that either exposes this bug (e.g. on the current master branch) or shows how it's been solved on the patch branch. The unit test will create specificity for the patch, and will document both the problem and the fix for future users.
Thanks for your continued work on this. I think this is an important bug to squash.

I  agree with you. The bug is test order dependent. Other tests, in particular those in tests/test_message, assume that  Maildir::Message.serializer is the default value (Maildir::Serializer::Base.new). This is not always the case. In current master, after the tests in tests/test_serializer.rb run, the value in Maildir::Message.serializer can be one of the other serializers.
This pull request was just the first solution that came about while I was investigating the issue. I am by no means attached to this pull request :smile:. There are several other solutions that I can see.

set Maildir.serializer = Maildir::Serializer::Base.new, in the setup in the tests in test/test_message.rb and elsewhere where the value of what is stored is tested to ensure the right serialization is used.
Update temp_maildir to ensure that the serializer is Maildir::Serializer::Base.new so that all the tests know that they are getting the base serializer.
Add code to Maildir::Message that allows independent, per message serialization settings
Remove the global @@serializer, fully deprecate Maildir::Message.serializer and make the messages use the serializer that is set for that Maildir instance they are being (which they currently are, its just that that one falls back to the global).

Personally I'm a fan of (4) :smile: I don't particularly like class/global settings that are mutable. That's just me though.

@copiousfreetime I'm not finding the test that's actually calling Maildir.serializer= or setting @@serializer. The fact that the error is order-dependent implies that there is such a test, but I'm having a hard time finding it even when I step through the code.
Fixing the test_message.rb setup to use a fixed serializer is the easier fix and helps to make the tests more explicit, but I'd prefer to fix the test that's actually broken rather than guard against the breakage elsewhere. Have you been able to isolate what's modifying the serializer?

@CodeGnome It is a side effect of the setup method call from test/test_serializer.rb. Maildir::Message.serializer= is called https://github.com/ktheory/maildir/blob/master/test/test_serializers.rb#L34. which in turn sets Maildir.serializer.
The sequence of events is:

With SEED=48094 during a test run, the order of the serializers in test/test_serializer.rb reslts in Maildir::Serializer::Mail being the last serializer tested.
Many other tests run
The test at https://github.com/ktheory/maildir/blob/master/test/test_message.rb#L81,  runs which tests the result of the Maildir::Message#data call.
Maildir::Message#data(https://github.com/ktheory/maildir/blob/master/test/test_message.rb#L81) is really testing against the result of the serializer's #load method that was used for that message. At this point ::Maildir.serializer is an instance of ::Maildir::Serializer::Mail.
The result of Maildir::Serializer::Mail#load is a ::Mail object.
The test compares the difference between @data ("foo") and the result of @message.data (An instance of ::Mail).
test fails.

The reason this error only happens sometimes, is that in order for the test on line 81 of test/test_message.rb to fail, the serializer that is currently in use must be something that will result in a non-string value being returned from Maildir::Serializer::<ChildClass>#load. The other serializers under this circumstance (where the variable under test @data = "foo") will all return a String.
This could be considered a bug in ::Maildir::Serializer::Mail since an arbitray value passed to #dump is not the value that is returned from #load That is, ::Maildir::Serializer::Mail assumes that the value given to it in #dump is an instance of ::Mail
I've pushed a branch demonstrating the issue, see the debug additions:

branch: https://github.com/copiousfreetime/maildir/tree/bugfix/demonstrate-issue-19
difference from ktheory/master
output on my laptop: https://gist.github.com/copiousfreetime/29ef05de5ae34d521df2

I hope that helps.

I opted to resolve this issue in a slightly less invasive way that I hope will be easier to reason about. In response to issue https://github.com/ktheory/maildir/issues/20, I created a unit test to capture the problem you identified for regression testing, and then addressed the default serializer issue with a frozen constant rather than trying to save off the state of the class variable.
I'm going to close this pull request with a great deal of gratitude to you for helping to debug this. While I opted to solve the problem in a slightly different way, your help was invaluable in identifying what the problem actually was.
I'm not entirely sure that I agree with the use of a class variable to initialize state across instances the way the code currently does it. I think we've cleanly captured the edge case, so I don't expect it to be an issue in the future.
Per your previous comments, I'm personally in favor of removing the @@serializer class variable, but I don't want to do it "just to do it." There may be people using the library who rely on this behavior and on the exposure of the @serializer instance variable, and changing the implementation would represent a breaking change that would require bumping the major version number, so I don't want to go there unless there's actually a pressing need for it.
As far as I know, the only known problem with the implementation is in the tests (which we have now fixed) and not in the library's functionality, so I'm going to veto a breaking change to the library's interface unless there's a real-world problem that requires such a a change. If such a problem surfaces, then of course we'll revisit the matter and have a head start on the necessary refactoring.
Thanks again for your help in bringing this issue to light, and in helping to resolve it!

I concur. Refactoring would require a major version number bump since there is no explicitly defined public interface at this time. Thanks for your work!


Rfj 22 save to pdf

Request to merge Fran33 branch RFJ-22-Save-to-PDF into codefordc rfj master branch
This may be considered a draft edition of PDF because I added two ways and both depends on some form revision. I think the charges list should be changed from json to an array to help PDF have some absolute sequencing. I also added two way to PDF, one a screen capture and one a field display.
This task also taught me how to add new functions to the state for use in both controller and components. Not sure where I should add that as lesson learned.

Awesome!
Thank you so much for this PR. We will be taking a look at it.

anything you need from me to review this pull request? or my other two PR?

This is approved but also has a conflict.

@blingit is taking this!

branch updated with persistence from reset button plus pdf print of both case and charges

Hi @Fran33. Sorry for not keeping up with this. I'll take a look at it between today and tomorrow.

@froi, any update?


AttributeError: module 'xdg' has no attribute 'xdg_config_home'

Attempting to fix with pip install -U leocli produced the same error.
Attempting with pip install -U xdg fixed it, even though there's an error during the installation:
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
leocli 3.4.3 requires xdg<6.0.0,>=5.1.1, but you have xdg 6.0.0 which is incompatible.

The capping xdg<6.0.0,>probably should be removed.
Python 3.11.4
leocli 3.4.3
macOS 13.4.1

Sorry for this issue and the late reply. Would you like to give some hints how you installed the package? And can you find the version of xdg that was installed in the first run? I can't find any recent version of the xdg package that does not include xdg_config_home(). However I'll update the dependencies soon.

Please test again with version 3.4.4 and feel free to reopen this issue if it still exists 😉


some profiles fail scraping

conprof-0 conprof level=debug ts=2020-04-28T04:21:13.165040571Z caller=scrape.go:370 component=scrape-manager scrape_pool=conprof msg="scraping profile" url=http://<IP_ADDRESS>:8080/debug/pprof/trace
conprof-0 conprof level=debug ts=2020-04-28T04:21:14.18123509Z caller=scrape.go:505 component=scrape-manager scrape_pool=conprof target=http://<IP_ADDRESS>:8080/debug/pprof/trace msg="Scrape failed" err="failed to parse target's pprof profile: parsing profile: unrecognized profile format"

Same for cmdline profile:
conprof-0 conprof level=debug ts=2020-04-28T04:23:02.305811774Z caller=scrape.go:370 component=scrape-manager scrape_pool=conprof msg="scraping profile" url=http://<IP_ADDRESS>:8080/debug/pprof/cmdline
conprof-0 conprof level=debug ts=2020-04-28T04:23:02.310718078Z caller=scrape.go:505 component=scrape-manager scrape_pool=conprof target=http://<IP_ADDRESS>:8080/debug/pprof/cmdline msg="Scrape failed" err="failed to parse target's pprof profile: parsing profile: unrecognized profile format"

Might be a consequence of running on arm

I assume subsequent scrapes are working?

Nope, all of them fail
I'm currently just collecting pprof's from conprof
rl=http://<IP_ADDRESS>:8080/debug/pprof/cmdline
level=debug ts=2020-04-28T14:50:02.307342886Z caller=scrape.go:505 component=scrape-manager scrape_pool=conprof target=http://<IP_ADDRESS>:8080/debug/pprof/cmdline msg="Scrape failed" err="failed to parse target's pprof profile: parsing profile: unrecognized profile format"
level=debug ts=2020-04-28T14:50:03.419355382Z caller=scrape.go:370 component=scrape-manager scrape_pool=conprof msg="scraping profile" url=http://<IP_ADDRESS>:8080/debug/pprof/mutex
level=debug ts=2020-04-28T14:50:03.927836756Z caller=scrape.go:370 component=scrape-manager scrape_pool=conprof msg="scraping profile" url=http://<IP_ADDRESS>:8080/debug/pprof/threadcreate
level=debug ts=2020-04-28T14:50:04.271020553Z caller=scrape.go:370 component=scrape-manager scrape_pool=conprof msg="scraping profile" url=http://<IP_ADDRESS>:8080/debug/pprof/profile
level=debug ts=2020-04-28T14:50:13.165194934Z caller=scrape.go:370 component=scrape-manager scrape_pool=conprof msg="scraping profile" url=http://<IP_ADDRESS>:8080/debug/pprof/trace
level=debug ts=2020-04-28T14:50:14.171548533Z caller=scrape.go:505 component=scrape-manager scrape_pool=conprof target=http://<IP_ADDRESS>:8080/debug/pprof/trace msg="Scrape failed" err="failed to parse target's pprof profile: parsing profile: unrecognized profile format"

This is the contents of http://localhost:8080/debug/pprof/cmdline from conprof pod:
cmdline.txt

I have also just build the project from master and it not able to scrap itself nor any of my projects built with 1.14.2
Is there currently an issue/fix for this?
level=debug ts=2020-04-28T22:23:29.358497874Z caller=scrape.go:505 component=scrape-manager scrape_pool=conprof target=http://localhost:8080/debug/pprof/trace msg="Scrape failed" err=
"failed to parse target's pprof profile: parsing profile: unrecognized profile format"
level=debug ts=2020-04-28T22:23:31.105672907Z caller=scrape.go:370 component=scrape-manager scrape_pool=conprof msg="scraping profile" url=http://localhost:8080/debug/pprof/block
level=debug ts=2020-04-28T22:23:31.309165448Z caller=scrape.go:370 component=scrape-manager scrape_pool=conprof msg="scraping profile" url=http://localhost:8080/debug/pprof/allocs
level=debug ts=2020-04-28T22:23:36.404392335Z caller=scrape.go:370 component=scrape-manager scrape_pool=conprof msg="scraping profile" url=http://localhost:8080/debug/pprof/profile
level=debug ts=2020-04-28T22:23:51.891763991Z caller=scrape.go:370 component=scrape-manager scrape_pool=conprof msg="scraping profile" url=http://localhost:8080/debug/pprof/goroutine
level=debug ts=2020-04-28T22:23:52.290836201Z caller=scrape.go:370 component=scrape-manager scrape_pool=conprof msg="scraping profile" url=http://localhost:8080/debug/pprof/cmdline
level=debug ts=2020-04-28T22:23:52.291465509Z caller=scrape.go:505 component=scrape-manager scrape_pool=conprof target=http://localhost:8080/debug/pprof/cmdline msg="Scrape failed" er
r="failed to parse target's pprof profile: parsing profile: unrecognized profile format"
level=debug ts=2020-04-28T22:24:15.571826594Z caller=scrape.go:370 component=scrape-manager scrape_pool=conprof msg="scraping profile" url=http://localhost:8080/debug/pprof/mutex
level=debug ts=2020-04-28T22:24:18.492315323Z caller=scrape.go:370 component=scrape-manager scrape_pool=conprof msg="scraping profile" url=http://localhost:8080/debug/pprof/heap
level=debug ts=2020-04-28T22:24:26.875040226Z caller=scrape.go:370 component=scrape-manager scrape_pool=conprof msg="scraping profile" url=http://localhost:8080/debug/pprof/threadcrea
te
level=debug ts=2020-04-28T22:24:28.357037155Z caller=scrape.go:370 component=scrape-manager scrape_pool=conprof msg="scraping profile" url=http://localhost:8080/debug/pprof/trace
level=debug ts=2020-04-28T22:24:29.358824086Z caller=scrape.go:505 component=scrape-manager scrape_pool=conprof target=http://localhost:8080/debug/pprof/trace msg="Scrape failed" err=
"failed to parse target's pprof profile: parsing profile: unrecognized profile format"

So basically there is no support for traces in https://github.com/google/pprof/issues/529 and won't be.
There is a way to convert  traces to pprof using go tool trace -pprof=TYPE trace.out > TYPE.pprof.
Types:
- net: network blocking profile
- sync: synchronization blocking profile
- syscall: syscall blocking profile
- sched: scheduler latency profile

One option is to convert trace to pprof, which would mean roughly copy paste & adapt code https://golang.org/src/cmd/trace/pprof.go here.
Another option actually support golang traces and build UI on top of that? (The way go tool does it now).
Also question what we can do with cmdline?

IMO supporting go tool trace is a better option as the go tool trace is quite useful:

@povilasv
Interesting, but did you get it working on any of the profiles? I have been actively spacing 4 apps and in the UI I don't see anything at all

you need to add query expression, like {job="conprof"}, as the landing page doesn't show you anything without expression.

@povilasv both of those suggestions sound good to me (remove cmdline, embed trace UI).

@povilasv Thanks for the tip! it's now working :-)

I've made some progress :man_dancing:

My proposal to move this forward is:

We copy go's internal/trace package to internal/trace, leave the License headers as is.
We add a new profile_type label to all profiles. This is need to figure out which UI to show + new you can query for specific type of profile :)
We add a new internal/traceui package which roughly copies /usr/lib/go/src/cmd/trace, but instead of using global variable, which stores parsed profile we change it to actually take it as an argument.

Still needs some work:

Network blocking profile
Synchronization blocking profile
Syscall blocking profile
Scheduler latency profile

As internally go tool just converts them to pprof and outputs a svg. Maybe I can just use pprof UI instead.
My approach would be we add those internal packages to the repo incrementally and expose UIs to users little by little.
Thoughts?

I don't mind copying the internal code, I've started doing this on a branch as well which convert profile nodes into Prometheus remote read.

We add a new internal/traceui package which roughly copies /usr/lib/go/src/cmd/trace, but instead of using global variable, which stores parsed profile we change it to actually take it as an argument.

I would say even if we copy the internal package, let's try contributing this upstream as we're going to want to stay as close to upstream as possible, making copying of internal essentially vendoring.

I don't mind copying the internal code, I've started doing this on a branch as well which convert profile nodes into Prometheus remote read.

We add a new internal/traceui package which roughly copies /usr/lib/go/src/cmd/trace, but instead of using global variable, which stores parsed profile we change it to actually take it as an argument.

I would say even if we copy the internal package, let's try contributing this upstream as we're going to want to stay as close to upstream as possible, making copying of internal essentially vendoring.

Agree, I've created an issue https://github.com/golang/go/issues/38971 if Go maintainers agree, I would try to help them .

BTW I actually made everything work :dancers:

Nice! I don't even think it needs to necessarily be a non internal package, as long as we don't modify the "manually vendored" one.

In an attempt to not duplicate work, I opened a WIP for the remote read work I had laying around as that also did the internal manual vendoring: https://github.com/conprof/conprof/pull/54

Cycling back to the profile type proposal. I think something like type metadata in Prometheus would be more appropriate here. I think I'm ok with a stop gap (maybe analysing the profile scrape path) to heuristically decide what profile it probably is (kind of like Prometheus interpreting _bytes metrics).

What about users wanting to query for specific profiles? I can definitely see myself asking conprof "show me memory profiles for jobs conprof,traefik" . Right now we could only do it via paths.
But what if my path is different for different types of apps? For example I can can easily configure HeapConfig job to scrape /pprof/heap for one application and  /debug/heap for another.
We already have specific types of config for each different profile, so it makes sense to me to have a type also.
For Prometheus it's a bit different as you have a metric name and you can query just that metric.
Thoughts?

IMHO, I kind of like the profile name / type solution as the queries won't change from app to app.

I think I like the ergonomics of the profile type/name being the entrypiont for querying. I think we're going to have to adjust the query language/API for this slightly.

managed to make it work :)

As Add Profile Type got merged, we can now scrape traces, so closing this. I've opened a seperate issue for UI https://github.com/conprof/conprof/issues/61


DNM *(ticdc): Embed pd info into changefeed

What problem does this PR solve?

Issue Number: close #5301
What is changed and how it works?
embed pd information into changefeed
Check List
Tests

Unit test
Integration test

Release note
`None`.

Codecov Report

Merging #5424 (6d334b8) into master (687e248) will decrease coverage by 0.1771%.
The diff coverage is 52.1206%.

:exclamation: Current head 6d334b8 differs from pull request most recent head f077c97. Consider uploading reports for the commit f077c97 to get more accurate results

Flag
Coverage Δ

cdc
61.0126% <52.1206%> (+0.4140%)
:arrow_up:

dm
51.9841% <ø> (-0.4855%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
@@               Coverage Diff                @@
##             master      #5424        +/-   ##
================================================
- Coverage   56.1240%   55.9468%   -0.1772%
================================================
  Files           522        530         +8
  Lines         65325      69659      +4334
================================================
+ Hits          36663      38972      +2309
- Misses        25094      26963      +1869
- Partials       3568       3724       +156

/run-integration-tests

/run-all-tests

/run-integration-tests

/run-all-tests

/run-all-tests

/run-verify-test

/run-all-tests

store cluster-info in another etcd key


Remove undesirable hardcoding of PATH into zshrc

See b67961d for why hardcoding the PATH into zshrc is a bad idea and why it's better to allow the user to make those customizations as needed.

@robbyrussell @mcornella any update on this?

👍

Any reason why this one is not pulled yet? Is there anything we can do to speed this up?

Sorry for the delay. I was working on expanding this to fix other installer issues (#5169).


useWaitForTransactionReceipt status is pending when no hash is provided.

Describe the bug
Consider the following code:
  const { writeContract, data: hash } = useWriteContract();

  const { data, status } = useWaitForTransactionReceipt({
    hash: hash,
  });

// status: pending

The writeContract status is idle as it has yet to be invoked, but the status on the receipt is pending. Should the status not be idle in this instance? While it awaits a transaction hash to kick things off, at which point it would be pending? Previously we have used the status on useWaitForTransaction as the source of truth for UI state on buttons (showing pending/disabled states) as it moves from idle to pending to success/error when tx completes.
Alongside this I've noticed that useWaitForTransactionReceipt no longer has an onSuccess function. We have previously used this to invalidate query keys after a tx completed, is the suggested method for this to listen to the status within a useEffect?
Link to Minimal Reproducible Example
No response
Steps To Reproduce
No response
Wagmi Version
2.1.12
Viem Version
2.0.6
TypeScript Version
5.2.2
Check existing issues

[X] I checked there isn't already an issue for the bug I encountered.

Anything else?
No response

This is expected.

status === 'pending' - The query has no data yet
status === 'error' - The query encountered an error
status === 'success' - The query was successful and data is available

For more info, check out the TanStack Query docs.


Extra projection when parsing sort by computation from legacy NN syntax

Example:
now => ( sort param:count:Number desc of ( compute count ( param:award:Array(String) ) of ( @org.schema.Book.Book ) ) ) [ 1 ] => notify

is parsed as
sort(count desc of [*, count(award)] of @org.schema.Book.Book())[1];

which is then optimized to
[*, count(award)] of sort(count(award) desc of @org.schema.Book.Book())[1];

This is the correct behavior, in that it preserves the exact semantics of sort & compute in old thingtalk (which you need otherwise things no longer typecheck). The semantics are just different in thingtalk 2.0


[2.5 Forward port] Editing deployed Rancher Logging looses state if you Edit as File

Forward port issue for https://github.com/rancher/rancher/issues/26559

Rancher version: v2.5-head 63e99b6
I validated the Fluentd Configuration state is preserved navigating back and forth as Form and as File.
I will work on #29562 (master). v2.4-head was validated already in #26559


Where to get validation.txt file in ADE20K dataset?

RuntimeError: Image list file do not exist: /raid/data/datasets/semanticSegmentation/ade20k/list/validation.txt
To solve this error I need validation.txt file from ADE20K dataset. I have tried a lot to find it but unable to find this file.
Please help me to get this file.
Thanks,
Bhavika

You can get this information from the dataset website (https://groups.csail.mit.edu/vision/datasets/ADE20K/) and from their repository(https://github.com/CSAILVision/semantic-segmentation-pytorch).


update resetPkSequence to use pg_sequences and use server_version_num to get postgresql version easier

I've cleaned up already proposed code here
https://github.com/horde/Db/pull/1
server_version_num is supported from postgresql 8.2 that has been already EOLed bt Posgresql project.

Guys, this is essential.  Can we please get this committed?

Yes, please. Applying the patch manually makes Horde work with PostgreSQL 10 again.

Thanks for the clarification!

@yunosh @jan, please do a new release with thoses fixes (i.e b3381ee644b20c17a1724b5fdc030a7072d3bd17 in FRAMEWORK_5_2)
Thanks

@sathieu thanks for the job offer, but I'm already taken. ;-)


Improve accessibility for visually impaired people

At the moment the GUI seems to be unusable for users using screen readers. Would be good to have at least the minimal functionalities fully accessible to blind/visually impaired people.
An issue was initially opened by a blind user in 1475. I redirected them here, but they didn't open an issue yet. I think it's a problem that it's important to solve regardless, so i'm opening this issue to keep track of the progresses on this front.

ehm. Wrong repo.


Get this tested with the Logstash acceptance tests.

Cool. So, you mean this guy extended to work with Docker?
Thanks.


Fix race condition in eager dispatch

Fix a race condition on the WaitGroup in baseWorker with eager dispatch (activity and workflow) on worker shutdown.
In Go WaitGroups have confusing concurrency rules https://pkg.go.dev/sync#WaitGroup.Add:
Note that calls with a positive delta that occur when the counter is zero must happen before a Wait. Calls with a negative delta, or calls with a positive delta that start when the counter is greater than zero, may happen at any time. Typically this means the calls to Add should execute before the statement creating the goroutine or other event to be waited for. If a WaitGroup is reused to wait for several independent sets of events, new Add calls must happen after all previous Wait calls have returned. See the WaitGroup example.

Here is the situation

Eager executor reserves slot
In a different go routine .stop()  is called on the worker. This closes the stopch  and triggers all the go routines the baseWorker started to stop and decrement the stopWG  to zero
after In another go routine stopWG.wait()  is called
Eager executor attempts to give a task to the base worker, base worker tries to increment stopWG because it will launch a go routine to process the task, but stopWG is zero and stopWG.wait() is called so that is a illegal.

The basic issue is we cannot increment stopWG from a go routine the baseWorker did not start.
To fix this I created a new go routine to launch all eager workflow tasks that the baseWorker now owns so it can interact with the wait group.

closes https://github.com/temporalio/sdk-go/issues/1050


python39Packages.ansible: 6.2.0 -> 6.4.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python39Packages.ansible is: "Radically simple IT automation"
meta.homepage for python39Packages.ansible is: "https://www.ansible.com"
meta.changelog for python39Packages.ansible is: "https://github.com/ansible-community/ansible-build-data/blob/6.3.0/6/CHANGELOG-v6.rst"
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
Warning: a test defined in passthru.tests did not pass
found 6.3.0 with grep in /nix/store/42qvicz4c09rgp4bvpijjxcvh43x2z79-python3.9-ansible-6.3.0
found 6.3.0 in filename of file in /nix/store/42qvicz4c09rgp4bvpijjxcvh43x2z79-python3.9-ansible-6.3.0

Rebuild report (if merged into master) (click to expand)

21 total rebuild path(s)

21 package rebuild(s)

First fifty rebuilds by attrpath
ansible
ansible-later
ansible-lint
ansible_2_12
ansible_2_13
python310Packages.ansible
python310Packages.ansible-compat
python310Packages.ansible-core
python310Packages.ansible-kernel
python310Packages.ansible-later
python310Packages.ansible-lint
python310Packages.ansible-runner
python310Packages.pytest-ansible
python39Packages.ansible
python39Packages.ansible-compat
python39Packages.ansible-core
python39Packages.ansible-kernel
python39Packages.ansible-later
python39Packages.ansible-lint
python39Packages.ansible-runner
python39Packages.pytest-ansible

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/42qvicz4c09rgp4bvpijjxcvh43x2z79-python3.9-ansible-6.3.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python39Packages.ansible https://github.com/r-ryantm/nixpkgs/archive/090b6075ccc82a898334f87e479e866e3fe0194d.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/42qvicz4c09rgp4bvpijjxcvh43x2z79-python3.9-ansible-6.3.0
ls -la /nix/store/42qvicz4c09rgp4bvpijjxcvh43x2z79-python3.9-ansible-6.3.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages marked as broken and skipped:

python310Packages.pytest-ansible
python39Packages.pytest-ansible

2 packages failed to build:

ansible-later (python310Packages.ansible-later)
python39Packages.ansible-later

13 packages built:

ansible
ansible-lint (python310Packages.ansible-lint)
ansible_2_13 (python310Packages.ansible-core)
python310Packages.ansible
python310Packages.ansible-compat
python310Packages.ansible-kernel
python310Packages.ansible-runner
python39Packages.ansible
python39Packages.ansible-compat
python39Packages.ansible-core
python39Packages.ansible-kernel
python39Packages.ansible-lint
python39Packages.ansible-runner

Maintainer pings

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python39Packages.ansible is: "Radically simple IT automation"
meta.homepage for python39Packages.ansible is: "https://www.ansible.com"
meta.changelog for python39Packages.ansible is: "https://github.com/ansible-community/ansible-build-data/blob/6.4.0/6/CHANGELOG-v6.rst"
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
Warning: a test defined in passthru.tests did not pass
found 6.4.0 with grep in /nix/store/ihjpjwbrgakaxfmlkvgh1i7njplb4r18-python3.9-ansible-6.4.0
found 6.4.0 in filename of file in /nix/store/ihjpjwbrgakaxfmlkvgh1i7njplb4r18-python3.9-ansible-6.4.0

Rebuild report (if merged into master) (click to expand)

21 total rebuild path(s)

21 package rebuild(s)

First fifty rebuilds by attrpath
ansible
ansible-later
ansible-lint
ansible_2_12
ansible_2_13
python310Packages.ansible
python310Packages.ansible-compat
python310Packages.ansible-core
python310Packages.ansible-kernel
python310Packages.ansible-later
python310Packages.ansible-lint
python310Packages.ansible-runner
python310Packages.pytest-ansible
python39Packages.ansible
python39Packages.ansible-compat
python39Packages.ansible-core
python39Packages.ansible-kernel
python39Packages.ansible-later
python39Packages.ansible-lint
python39Packages.ansible-runner
python39Packages.pytest-ansible

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/ihjpjwbrgakaxfmlkvgh1i7njplb4r18-python3.9-ansible-6.4.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python39Packages.ansible https://github.com/r-ryantm/nixpkgs/archive/629a4adf67f90ba0361efac08c83c9e1401fcf10.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/ihjpjwbrgakaxfmlkvgh1i7njplb4r18-python3.9-ansible-6.4.0
ls -la /nix/store/ihjpjwbrgakaxfmlkvgh1i7njplb4r18-python3.9-ansible-6.4.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages marked as broken and skipped:

python310Packages.pytest-ansible
python39Packages.pytest-ansible

2 packages failed to build:

ansible-later (python310Packages.ansible-later)
python39Packages.ansible-later

13 packages built:

ansible
ansible-lint (python310Packages.ansible-lint)
ansible_2_13 (python310Packages.ansible-core)
python310Packages.ansible
python310Packages.ansible-compat
python310Packages.ansible-kernel
python310Packages.ansible-runner
python39Packages.ansible
python39Packages.ansible-compat
python39Packages.ansible-core
python39Packages.ansible-kernel
python39Packages.ansible-lint
python39Packages.ansible-runner

Maintainer pings


Enable CORS per origin

Enable CORS

To enable Cross-Origin Resource Sharing (CORS) in an Ingress rule add the annotation ingress.kubernetes.io/enable-cors: "true". This will add a section in the server location enabling this functionality. For more information please check https://enable-cors.org/server_nginx.html

As per the docs, the value is just true. Is it possible to make it foo.com ?

If you want to specify which origin to enable CORS, you can define an ingress rule like:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    ingress.kubernetes.io/enable-cors: "true"
  name: test
spec:
  rules:
  - host: foo.com
    http:
      paths:
      - backend:
          serviceName: s1
          servicePort: 80

Thanks.


FALSE and TRUE constants giving ODD results

Some odd behavior out of using the TRUE and FALSE constants.
print not FALSE
00
print not TRUE
0-1

What it should do?
print not FALSE
-1
print not TRUE
0

..and using true and false numbers (values) also gives odd results.
print not -1
-1
print not 00
00

It's actually not a bug. It's arguable it should be an enhancement. There is no NOT keyword so it thinks it's a variable, so it's printing out the value of 'not' and not-1 is an expression.
I'll close this and add NOT


STORM-3259: Adds NUMA awareness to enable worker pinning

Thank you for addressing all comments @govind-menon


Use versioneer for managing versions

Use the versioneer package
for managing our version string. This will pick up the appropiate string from
our git tags instead of requiring us to manually bump.
Closes #391

rerun tests

rerun tests

rerun tests

rerun tests

rerun tests

rerun tests

rerun tests

rerun tests