feat: scroll to the active tab on click

Description

Contribution Checklist:

[x] The pull request only addresses one issue or adds one feature.
[x] The pull request does not introduce any breaking changes
[x] I have added screenshots or gifs to help explain the change if applicable.
[x] I have read the contribution guidelines.
[ ] Create an issue and link to the pull request.

scrolling to the active tab on clicking on the request.  related issue:  #363
after.webm

This is cool !
Thanks @therealrinku !


Form view to summarize

Create a SummarizeLectureForm in admin/forms.py that takes a lecture model as its Meta class.

See CreateLectureForm for reference.

The form should use the summarize(text) in summarization.py to store the summary of the LectureModel.live_transcript in LectureModel.summary

@svp19 there is no need to create a separate SummarizeLectureForm. CreateLectureForm will work. We just need to add the live_transcript field to form and while submitting it in the view call the summarize(text). Thus, we can save the complete lecture in one go.

The transcription of the text might take some time. With your approach, we should set it up as a background task. I was hoping the lecture could be created first so that the URL is available for users. Also, ideally the transcript so should update dynamically on the page - hence the name - 'Crispy LIVE'.
When I opened this issue, I was hoping to eventually convert it to an API where an admin can make a POST request to this view and update the transcript after recording is done or when a better version of the recording is reuploaded.


Menu

The menu is not clickable once viewed in mobile

@Situma thank you for the information. Can you please give us more details? Which menu, what device and what is the OS? In this way we can test your issue.
Best,
Alex

Hi @alexandru-paduraru ,
On both my ipod and my xperia z2 the page becomes responsive in a lovely way but the menu cannot dropdown to show it's links.
I also tried to inpect element and adjusted the screen size on chrome to emulate a mobile phone but still the issue is the same.

@alexandru-paduraru , I'm new to the whole gethub thing, but I found the components-documentation.html was missing the data-toggle="collapse" attribute for the navbar hamburger button and it prevented it from expanding the menu when collapsed. I have updated it locally but I don't know how and or have the permissions to upload it to submit a pull request. Hopefully this helps.

@rallixt thank you for the PR, that is the right way of giving us a help with code. We will add your change for the next release.
Best,
Alex


Refactor component ui registry to unify edit ui & display ui

Today, we have separate registration for edit & display ui on the "component ui registry". Whenever we want to display a value and there's no display ui, we fall back to a disabled version of the edit ui (and if none of those is present we use arrow based display).
The problem with this approach is that a lot of things look incorrect when shown as disabled. Most prominent & recent example:

#6658

We want to have these uis ideally in the same place and avoid an explosion of multiline/singleline edit/display ui methods!
Therefore, we should change the ui registration to methods that get a MaybeMutRef type which it can operate on independently. (do this for both single and multiline uis)
In the process we migrate existing display uis to the edit_ui crate (to be renamed). They live today in the data_ui crate even though they are strictly speaking not data uis.
Note that the display methods have very different signatures today and some may do additional queries (which are likely buggy in the new blueprint override/default world). Expect difficulties with:

Tensor display
ClassId / KeypointId
(we need to find a way to pass through annotation context etc.!)

Once done, we can have a new DataUi implementation that pickts single/multiline component ui appropriately.

As shortly discussed with @Wumpf, UiLayout remains a critically important piece for the display of data. Currently, edit UI assume UiLayout::List,  but we could imagine a future where it would be nice to have edit UI that exploit the available space (e.g. a multiline editor when you select an override for a Text component—when that becomes possible).
Also, technically, Ui::stack() could be used to provide the same/similar context information as the current UiLayout argument, but it's unclear that migrating to this would be a net win.


Enable search in other tabs of PC console

Search in areachair and reviewer status tabs searches over the names only.

Great! Thanks Zach.
It looks very good to me.
Some comments:

I don't think we can sort the search results, so when the user tries to select a sort criteria we should clear the search textbox. Unless we can sort the search results :)
It seems the sorting in the Reviewer Status tab stopped working.
It would be nice to keep the search result when the user switches tabs and the come back, but this is a 'nice to have'.

Points 1 and 2 are now fixed and I think we should save 3 for a future update. This should be ready  to be merged now!

Minor improvements: In case the search does not yield any result, we can show the usual text: "No papers to display" or something similar, instead of a blank table.

Just an idea: while searching by paper number, a search for, say, 33 should yield all these results: 33, 133, 233, ..., 1033, and so on. Would that be more helpful to the PCs?

@zbialecki what do you think?
I would prefer to deploy this today but I can wait for Mohit's improvements. Or do it in the next iteration.

Matching multiple paper numbers would be easy to do and I guess it might be more intuitive.
Displaying an empty message is something I think we should save for a future release.

Should I merge it?


Add two training courses from Coursera

Added two online training courses from Coursera which are free for auditing.

I signed it

/assign @chenopis
pinging @chenopis for approval

/lgtm
/approve


serve all in-crate js files

Starting with rust-lang/rust#59776, the search index, aliases, and source file list are getting the resource suffix added to their file names. This means we can't route them from a static path any more.
Since we always check the static file router first, this will still allow serving main.js for rustdoc versions prior to the addition of --static-root-path, and also allows rustdoc to add per-crate javascript files without requiring docs.rs to update to handle it.
(It also allows us to start hosting things other than rustdoc output as docs - e.g. mdbook output - in the future without changing the routing table massively.)
WARNING: Do not merge/deploy until rust-lang/rust#59776 is in nightly rustdoc. Deploy with update-both-rustc-docsrs script to ensure that docs.rs doesn't use the wrong rustdoc to build/serve docs!

I had a chance to test this on my dev server and it unfortunately does not work. I'll probably need to change the redirection logic to make the new search index work.
(...also we missed sidebar-items.js :sweat:)

I had a chance to look at it again, and it seems like the /:crate/:version/*.js route i added wasn't getting hit at all - it seemed to be hitting the /:crate/:version/:target one first, which made it redirect those files to the crate root docs instead. In the last commit i pushed, i took advantage of that to just inspect the file from that handler and defer to the proper handler if it was hit with a JS file. (This could be extended in the future for CSS files, if necessary, but for now i just kept it to JS files.)


Deploy baked template demos in branches

Resolves #67.

For baked templates which include a .github dir, it is not possible to take advantage of any GitHub Actions App. This is a security condition imposed by the platform.
I decided to rename the baked .github to .github_demo so this can be implemented.

Codecov Report

Merging #75 (824c48d) into main (3f824ae) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #75   +/-   ##
=======================================
  Coverage   88.33%   88.33%
=======================================
  Files           6        6
  Lines         120      120
=======================================
  Hits          106      106
  Misses         14       14

Continue to review full report at Codecov.

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

As suggested by @akaszynski, I added a section where links to each rendered template are collected.


chore(main): release 0.58.13

:robot: I have created a release beep boop
0.58.13 (2023-08-22)
Features

admin improvements (#532) (1aa130d)

Bug Fixes

Workspaces: Add the 'workspaces' feature to legacy users invited in a workspace (#537) (ed6fedf)
Workspaces: filter invitations by user and workspace (#538) (bf99e12)

Miscellaneous

remove IASO connector (step 2) (#531) (90a8410)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/BLSQ/openhexa-app/releases/tag/0.58.13 :sunflower:


Formatting Not Working - M1 Macs (darwin/arm64) Unsupported

For M1 Macs, the issue is the new Darwin architecture is missing. The architecture directory on this repository has not been updated in 7 years so I will also include a workaround:

Run pip3 install pyastyle in your favorite pyenv. I have not confirmed the compatibility between the latest version of pyastyle and the one used in this 7 year old library so YMMV.
Open the plugin's pyastyle directory:open "~/Library/Application Support/Sublime Text/Packages/SublimeAStyleFormatter/pyastyle/python3"

Create a new directory named _darwin.
Create an empty __init__.py in the new _darwin directory.
Link or Copy & Rename the darwin binary installed in step 1 to _darwin with the name pyastyle.so. If you pip3 installed this globally, this might be located in a path similar to: ~/Library/Python/3.8/lib/python/site-packages/pyastyle.cpython-38-darwin.so
Modify "~/Library/Application Support/Sublime Text/Packages/SublimeAStyleFormatter/pyastyle/python3/__init__.py" to only include the following:try:
    from ._darwin.pyastyle import *
    platform = "MacOS X Darwin"
except ImportError:
    raise ImportError("Could not find a suitable pyastyle binary for your platform and architecture.")

Thanks, it works.

Thanks, works on the M1 chip now.

in step5 i think it must be "pyastyle.so" insted of "pyastayle.so"
For half an hour I thought I was doing something wrong ))

Fixed @berrymoor, thanks, and sorry about that.

Thanks you are a saviour, Now I can live peacefully!

I've made the patch PR, try pulling from mine if you're too lazy to set up

I've made the patch PR, try pulling from mine if you're too lazy to set up

Thanks a lot !

good solution and thx!


[Documentation issue] The full dRuby package can be downloaded from the dRuby home page (see References).

Right now the README reads:
"The full dRuby package can be downloaded from the dRuby home page (see References)."
However had searching for "References" yields no result on the main README.
Could a link be added to the main README, or a notice in regards "full dRuby"; or if this
is no longer available, the line shown above be removed? Right now it is a bit confusing,
as we visitors do not know what is meant with "References" exactly, as there is no such
word on the main README other than that sentence.

@rubyFeedback The note in the README is a part of the generated documentation system's way of documenting.
https://github.com/ruby/drb/blob/master/lib/drb/drb.rb#L29 is the heading References, where the homepage note is listed.
The links there have been with the project ever since its extraction as a separate gem.


feat(multi_object_tracker): debug timer to work with reduced replay rate recomputation

Description

Debug timers
Current timer only works in real-time.
In a week development environment such as a laptop, usually reduced replay rate and rely on rostime.
This PR modify the timing to use rostime so that the evaluation is working under low speed replay.
Also some new timers were added.

Refactoring
the debugging class is separated from the main node code.

Tests performed
A rosbag replay was done in the rate of 0.2, and showed expected cycle time of 100 ms.

Effects on system behavior

Not applicable.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[ ] I've confirmed the contribution guidelines.
[ ] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

Quick question as I have had ROS time vs wall time issues with the multi_object_tracker. I changed the files in autoware to these, but when rebuilding autoware I get an error:
Call Stack (most recent call first):
CMakeLists.txt:44 (ament_auto_add_library)
Am I missing something here?


Downloadable item unclear

There are many downloadable items released. Some are obvious from their names, e.g., the ones with OS names. Some are unclear, e.g., the ones with different hash numbers.
I suggest that we either document what these downloadables mean and which one to choose for different purposes, or remove the ones with different hash numbers.

@sgpearse will remove the python API installers from the 3.8.1 release.  Our team will then rely only on conda for user distributable packages.

No longer applicable.


Pretty print the stored JSON

One of the more appealing advantage of storing data in JSON rather than say sqlite is that it has potential to be properly versioned controlled via git. This cannot be leveraged upon as the current implementation stores the JSON data as a single line.
I would like to propose passing the JSON_PRETTY_PRINT constant in the toJson method during model saving so that it would pretty print the JSON. This would allow git to detect changed lines (single property inside the JSON) as opposed to replacing the whole collection should a merge conflict occur.
However this does increase the file size, if this is a concern, which it shouldn't be, you might want to expose this in the config file.
This would open up new possibilities and usecases for this package. Think of a team of devs working with a same set of versioned controlled JSON data without worrying much when a conflict occur.

I agree, it would be nice with a config value. I would accept a full tested PR for this.


sh: 1: concurrently: not found

am trying to run through the tutorials but am stuck at running the dev/server

@Keman95 Ok, well, there are a couple of issues that might help to know. What you do depends on if you are using a package that was part of the last release published to PyPi or a dev version that has not been published to PyPi. Do you know which one you are using? What directions are you following?


Scaffolding a Piral Instance Fails in Windows

Bug Report
For more information, see the CONTRIBUTING guide.
Prerequisites

[x] Can you reproduce the problem in a MWE?
[x] Are you running the latest version?
[x] Did you perform a search in the issues?

Environment Details and Version
<EMAIL_ADDRESS>Windows
Description
Trying to follow the tutorial#1 getting started, says to run piral new --target my-app, following this fails to run. It gives me a blank folder with a package.json and nothing else.
Steps to reproduce
$ piral new --target app-shell
> Codes Reference: https://docs.piral.io/code/search

Expected behavior
There should be a new piral instance there with the correct template
Actual behavior
The folder was empty and piral debug fails.
Possible Origin / Solution
The tutorials may be out of date?

As a follow up https://docs.piral.io/ seems to say that you should instead use npm init piral-instance, which DOES work, so this is probably just outdated tutorial pages.

As a follow up https://docs.piral.io/ seems to say that you should instead use npm init piral-instance, which DOES work, so this is probably just outdated tutorial pages.

npm init piral-instance uses piral new under the hood. The latter is just a pure CLI UX with parameters while the former places a survey upfront to walk through the different options.
So both things should work - and the tutorial is not outdated even though we recommend using npm init for a couple of reasons.
I've just tried this in WSL and for me this worked. What version of the piral-cli did you install? Is 0.11.1 also the version of the Piral CLI?
rapplf@DBTNODH:/mnt/c/Users/flori$ piral --version
0.11.1
rapplf@DBTNODH:/mnt/c/Users/flori$ cd /mnt/e/Code/Piral-Playground/
rapplf@DBTNODH:/mnt/e/Code/Piral-Playground$ piral new --target my-app
✨  Successfully scaffolded new Piral instance!
rapplf@DBTNODH:/mnt/e/Code/Piral-Playground$ cd my-app/
rapplf@DBTNODH:/mnt/e/Code/Piral-Playground/my-app$ ls
node_modules  package.json  src  tsconfig.json
rapplf@DBTNODH:/mnt/e/Code/Piral-Playground/my-app$ npm start

><EMAIL_ADDRESS>start /mnt/e/Code/Piral-Playground/my-app
> piral debug

⚡  Running at http://localhost:1234.
⚙  Manage via http://localhost:1234/manage-mock-server.

Maybe this is OS related. I'll try in plain Windows later!
Thanks for the report. I'll keep investigating.

Specifically, I was following https://docs.piral.io/tutorials/02-getting-started , so I should have @latest tag of piral-cli, which is<EMAIL_ADDRESS>

Looks like this is windows only, ran in WSL (Ubuntu) and the scaffold worked just fine.

Looks like this is windows only, ran in WSL (Ubuntu) and the scaffold worked just fine.

Thanks for confirming. Will be fixed asap!
:beers:

So far I'm unable to reproduce this on my Windows machine. I could find another bug with the verbose logging filename of Parcel's logger on Windows, which will be fixed.
I used:

NPM v6.1.0
Node v10.7.0

Executed the scaffolding in PowerShell.

I did some more tries and it's working for me when I use PowerShell directly, but it fails when I run it from the Visual Studio Code integrated PowerShell.
The output on the integrated PowerShell is:
PS C:\tmp\piral> piral new --target app-shell
- Preparing source and target ...null
Codes Reference: https://docs.piral.io/code/search

It created the app-shell folder but it only contains a package.json, nothing more.

Hm I just tried running from VS Code. Seems to be working so far. I'll try a few variations.
Mind sharing the Node / NPM version? Thanks!

PS C:\tmp> node --version
v12.16.1
PS C:\tmp> npm --version
6.14.4
PS C:\tmp> code --version
1.43.2
0ba0ca52957102ca3527cf479571617f0de6ed50
x64
PS C:\tmp> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      5.1.18362.628
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.18362.628
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

I also updated my Node / NPM versions to match this. No success so far - it always works.

I did some quick debugging and it seems like the promise in https://github.com/smapiot/piral/blob/23e7fd9a8f9ee8abaee52fd6572601aa40949f73/src/packages/piral-cli/src/apps/new-piral.ts#L85 gets rejected with that error:
Error: null
    at ChildProcess.<anonymous> (C:\Users\schwendner\AppData\Roaming\npm\node_modules\piral-cli\lib\common\scripts.js:24:75)
    at ChildProcess.emit (events.js:323:22)
    at maybeClose (internal/child_process.js:1021:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)

though it doesn't really give any hints why the install failed...

I guess it may be due to the way the options are provided. But then not sure why it works in one PS and not in the other. I would expect some issue, e.g., with CMD.
Definitely interesting ... Thanks for the investigation so far! :beers:

I'm running in node v10.14.2 and npm 6.4.1 for more info.

Still having trouble to reproduce.
For me - no matter the Node and NPM version - it works. It works in PowerShell, works in PS of VS Code (Windows) and also works in plain CMD.
I have a feeling that the problem lies in this part
export function runScript(script: string, cwd = process.cwd(), output: NodeJS.WritableStream = process.stdout) {
  const bin = resolve('./node_modules/.bin');
  const sep = isWindows ? ';' : ':';
  const env = Object.assign({}, process.env);

  env.PATH = `${bin}${sep}${env.PATH}`;
  log('generalDebug_0003', `Running "${script}" in "${cwd}" ("${bin}").`);

  return new Promise<void>((resolve, reject) => {
    const error = new MemoryStream();
    const opt = { end: false };
    const cp = exec(script, {
      cwd,
      env,
    });

    cp.stdout.pipe(output, opt);
    cp.stderr.pipe(error, opt);

    cp.on('error', () => reject(new Error(error.value)));
    cp.on('close', (code, signal) => (code === 0 ? resolve() : reject(new Error(signal))));
  });
}

but I don't know which part could be responsible.
I will actually defer this issue to 0.11.3 - and I hope that in the meantime it can be reproduced. Thanks for the infos and efforts so far @MattShrider @axinom-benjamin !

Any news on this one?
@MattShrider @axinom-benjamin
Would love to get a repro on it. So far being not successful, but still hoping :)

no news, unfortunately - working around it by not using the integrated terminal for the CLI.
not sure if it helps anything, but the issue is not happening when using the integrated (bash) terminal of my WSL.

With 0.11.5 we at least improved the output.
Maybe we get now more information what could be the root cause for the failure of npm under these circumstances.
Any help appreciated! Thanks!
cc @MattShrider  @axinom-benjamin

That did something! It's now telling that npm.cmd could not be found.
Though only when executing from the global installation. When installing it locally and running it using npx it works.
PS C:\Projects\PiralTest> piral --version
0.11.5
PS C:\Projects\PiralTest> piral new --target app-shell
- Preparing source and target ...Der Befehl "npm.cmd" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Codes Reference: https://docs.piral.io/code/search
PS C:\Projects\PiralTest> npx piral-cli new --target app-shell
√  Pilet scaffolded successfully!

Great - thanks @axinom-benjamin for the insight.
I guess I now have the right pointer. What we do is that we add the local node_modules/.bin folder to the PATH, but we assume that the global one is in the path. Apparently, it is not always given.
I'll figure out a way to check that beforehand and potentially add it.
Thanks again for helping here! :beers:

There is a potential fix out there.
After installing npm i -g piral-cli@next can you try running?
piral new --target app-shell

I'd love to know if the fix is working for this scenario. Otherwise, I'd love to know what's the output if you run:
echo %PATH:;=&echo.%

Thanks for helping us out here @axinom-benjamin

Unfortunately, the issue is still there:
PS C:\Projects\PiralTest> piral --version
0.11.6-pre.1256
PS C:\Projects\PiralTest> piral new --target app-shell
- Preparing source and target ...Der Befehl "npm.cmd" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

I'll set it back to "implementation". Let's hope we can tame this beast ;).

fingers crossed :-)

Two more things I'll need to ask (sorry @axinom-benjamin ):

Can you try which npm? What's the result?
One of the differences (to my config) I've noted is that the path to nodejs is in there twice. Can you try what happens if you remove one of them? What if you remove the empty entry?

Thanks a lot!

Erm... I managed to fix it - but I'm not sure how... :-(
When running the which/where command it reported be back both locations C:\Users\schwendner\AppData\Roaming\npm  as well as C:\Program Files\nodejs. Then I went ahead and removed the AppData one from my path. This changed it in a way, that the shell was not able to find the Piral CLI at all anymore. So I decided to run the global installation again - to install it to that installation of npm - which succeeded, but still the command was not found. So I went and added the AppData folder back to the path variable - and then all of the sudden the scaffolding command succeeded...
So I now unfortunately repaired the testing environment for that issue - and I don't know why/how...
I will ask a colleague tomorrow who I think said he was seeing the same issues - maybe we can debug further using his machine.

I think the which npm resulting in two locations may be helpful here.
Right now is it still returning two locations or just one?

yes, the where npm is still returning both locations:
PS C:\Projects\PiralTest> where.exe npm
C:\Program Files\nodejs\npm
C:\Program Files\nodejs\npm.cmd
C:\Users\schwendner\AppData\Roaming\npm\npm
C:\Users\schwendner\AppData\Roaming\npm\npm.cmd

There is another trial out there. We would only need someone with a suitable test config ...

I checked with my colleague but he doesn't have that issue on his machine.
But I double-checked it on my machine now and - I absolutely have no idea why but - it's broken again now!
I don't have the CLI installed globally right now because I uninstalled it for one of the tests I did but when I run it using npx I'm getting the following output:
PS C:\Projects\PiralTest> npx piral-cli --version
0.11.5
PS C:\Projects\PiralTest> npx piral-cli new --target app-shell
- Preparing source and target ...Der Befehl "npm.cmd" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Codes Reference: https://docs.piral.io/code/search
PS C:\Projects\PiralTest> npx piral-cli@next --version
0.11.6-pre.1324
PS C:\Projects\PiralTest> npx piral-cli@next new --target app-shell
- Preparing source and target ...Der Befehl "where.exe" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Codes Reference: https://docs.piral.io/code/search

does that help?

What Windows version is this? Any other special constraints here?
Remark: where.exe should be available everywhere. Quite strange. We now use this as a fallback to determine if there are multiple options.

this is Windows 10 Enterprise Version 1909 (Build 18363.778).
No special constraints - that I'm aware of.
where.exe is also running well, when executing it from PowerShell directly (in the same one that can not find it when executed by the CLI)

All these point in a direction that I have not yet fully understood the problem...
It seems that the process runs in a special sub-shell that for some reason does not share any paths (or env variables at all?) with the parent shell.
I'll keep investigating.

Can you give it another spin @axinom-benjamin ? Thanks a lot :beers:! And sorry for bothering you. Trust me, if I could reproduce I would not bother you with these tests 🥇 .

PS C:\Projects\PiralTest> npx piral-cli@next new --target app-shell
- Preparing source and target ...Der Befehl "where.exe" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Codes Reference: https://docs.piral.io/code/search
PS C:\Projects\PiralTest> npx piral-cli@next new --version
0.11.6-pre.1372

still the same

Hm something does not seem right. The latest next version does not come with any usage / lookup for where.exe.

that's strange indeed...
one more thing to note: I see this issue only when running through npx or running piral from the global installation.
When running npm i piral-cli (only locally installed) first and then executing it from a npm script it will succeed - even with 0.11.5.
and when installing @next globally and running the new command I get now this:
PS C:\Projects\PiralTest> piral new --target app-shell
- Preparing source and target ...Der Befehl "npm.cmd" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Codes Reference: https://docs.piral.io/code/search
PS C:\Projects\PiralTest> piral --version
0.11.6-pre.1372

Understood. Thanks for the investigation @axinom-benjamin !
One more try please (...). Thanks!

PS C:\Projects\PiralTest> npx piral-cli@next --version
0.11.6-pre.1380
PS C:\Projects\PiralTest> npx piral-cli@next new --target app-shell
- Preparing source and target ...Der Befehl "npm.cmd" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Codes Reference: https://docs.piral.io/code/search

:worried:

Since we cannot reproduce it I would suggest to try npm cache clean --force if this has any impact.
We'd now defer that  back to an unknown point in time. Its not a critical issue and it seems to be difficult / very special to reproduce. At least we have not managed to see it on our Windows machines.
Once a solid path for reproduction is known we can look into this again.

still the same after npm cache clean --force
But I agree that this issue is not worth hunting further. It sees not really wide-spread and most likely some strange configuration that is happening on my machine. Since there are also very feasible workarounds, so it's not a critical issue at all.
The workarounds (that work on my machine) for the protocol:

Running from actual Powershell rather than the integrated VS Code terminal works
Running from global installation works
Running from local installation through npm scripts work

The only thing that doesn't work is: running it using npx from inside the integrated terminal in VS Code.
Still, thanks for all the time spent trying to find the issue!

I get the same issue when using Powershell inside VS Code on my dev machine at work.
In comparison to a standalone Powershell terminal the environment seems partially different.
But it's not an issue for me because I don't use it there.
Just to inform you that I can reproduce it here.

Tried in VS Code on my Windows host. I tried piral new (global installation) npx piral new (using npx task runner) and npm init piral-instance -y. All worked.
I am therefore unsure to proceed. I'd love to close (fix) this, but without having a reproducible on my machine it will be difficult. I am quite sure its something about the ENV, but I don't know what.

Our organization has just started looking into piral as an alternative microfrontend framework.
We encountered a possibly-related issue where, in some environments, the piral build also had a problem finding the npm command during the packaging step of the piral instance.
Tracked it down to a Windows environment where nodejs is not installed in the standard location because it was installed as non-administrator.  In this case, npm.cmd was installed in some path like C:\Users\USER\apps\nodejs and that path is added to the Windows PATH environment variable.
As discovered in https://github.com/smapiot/piral/issues/192#issuecomment-615106475, the scripts.ts code is incorrectly using the env object Path property because of case-sensitivity as described in https://github.com/nodejs/node/issues/20605
Fixed it in scripts.ts with the following (changing all env.PATH to env.Path):
export function runScript(script: string, cwd = process.cwd(), output: NodeJS.WritableStream = process.stdout) {
  const bin = resolve('./node_modules/.bin');
  const sep = isWindows ? ';' : ':';
  const env = Object.assign({}, process.env);

  env.Path = `${bin}${sep}${env.Path}`;
  log('generalDebug_0003', `Running "${script}" in "${cwd}" ("${bin}").`);

  if (isWindows) {
    // on windows we sometimes may see a strange behavior,
    // see https://github.com/smapiot/piral/issues/192
    const newPaths = [
      resolveWinPath('AppData', 'npm'),
      resolveWinPath('ProgramFiles', 'nodejs'),
      resolveWinPath('ProgramFiles(x86)', 'nodejs'),
      ...env.Path.split(';'),
    ];
    env.Path = newPaths.filter(Boolean).join(sep);
  }
  ...

I'd like to initiate a PR, but I get failures on the latest develop branch on building piral-cli-webpack5.

I'd like to initiate a PR, but I get failures on the latest develop branch on building piral-cli-webpack5.

Yeah just do the PR (much appreciated!) - we can handle the build failure separately!

(I also need to point out that we need to be careful here. process.env.PATH is not process.env.Path. On Linux you'd get undefined in the latter case. I think we need to distinguish the OS here. And by the way, with Node 16 both ways also seem to work fine on Windows, so I'm not sure if that is indeed the issue / fix.)

@FlorianRappl Thanks for pointing that out, and I had to rework my fix.  Spawning a child process still looks for the PATH property on the env options, so I made the change only for a Windows environment.  See changes in PR https://github.com/smapiot/piral/pull/444


When importing to AWS I am getting error 429 too many requests.

Maybe I am doing something wrong but here is what I have come up with after a little research.
From the docs:
Amazon API Gateway limits the rate at which you can submit requests:
You can submit a maximum of two POSTs to the applications resource per second per AWS account.
You can submit a maximum of four POSTs to an application's sessions resource per second per AWS account.
Stacktrace:
com.amazonaws.services.apigateway.model.LimitExceededException: Too Many Requests (Service: null; Status Code: 429; Error Code: null; Request ID: 01645d77-5721-11e5-b141-a1f953910c1b)
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:1182)
at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:770)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:489)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:310)
at com.amazonaws.hal.client.HalClient.invoke(HalClient.java:235)
at com.amazonaws.hal.client.HalClient.putResource(HalClient.java:122)
at com.amazonaws.hal.client.HalResourceInvocationHandler.invoke(HalResourceInvocationHandler.java:125)
at com.sun.proxy.$Proxy34.putMethodResponse(Unknown Source)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.lambda$createMethodResponses$13(ApiGatewaySdkSwaggerApiImporter.java:729)
at java.util.LinkedHashMap$LinkedEntrySet.forEach(LinkedHashMap.java:663)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.createMethodResponses(ApiGatewaySdkSwaggerApiImporter.java:722)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.updateMethodResponses(ApiGatewaySdkSwaggerApiImporter.java:809)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.updateMethod(ApiGatewaySdkSwaggerApiImporter.java:583)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.updateMethods(ApiGatewaySdkSwaggerApiImporter.java:346)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.updateApi(ApiGatewaySdkSwaggerApiImporter.java:111)
at com.amazonaws.service.apigateway.importer.impl.ApiGatewaySwaggerFileImporter.updateApi(ApiGatewaySwaggerFileImporter.java:58)
at com.amazonaws.service.apigateway.importer.ApiImporterMain.execute(ApiImporterMain.java:107)
at com.amazonaws.service.apigateway.importer.ApiImporterMain.main(ApiImporterMain.java:65)

This is a known issue. You can get around it for now by adding calls to sleep()

Thanks! Ill try that.

@rpgreen Where are you adding those calls to sleep? I'm getting this same error (which is new - it was previously working fine)

Can you send a stack trace? I don't believe any of the service limits have changed on our end. Did you recently change your swagger file? Are you using the web console at the same time?

Yes I'm using the web console at the same time - but I'm not interacting with it - just waiting for the script to finish.
2015-09-09 14:56:41,366 INFO - Creating method parameter for api 7ld0x5ok9f and method GET with name method.request.header.authorization
2015-09-09 14:56:41,437 INFO - Creating integration with type HTTP
2015-09-09 14:56:41,688 ERROR - Error importing API from Swagger
com.amazonaws.services.apigateway.model.LimitExceededException: Too Many Requests (Service: null; Status Code: 429; Error Code: null; Request ID: a74708e3-573d-11e5-b141-a1f953910c1b)
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:1182)
at com.amazonaws.http.AmazonHttpClient.executeOneRequest(AmazonHttpClient.java:770)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:489)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:310)
at com.amazonaws.hal.client.HalClient.invoke(HalClient.java:235)
at com.amazonaws.hal.client.HalClient.putResource(HalClient.java:122)
at com.amazonaws.hal.client.HalResourceInvocationHandler.invoke(HalResourceInvocationHandler.java:125)
at com.sun.proxy.$Proxy36.putIntegrationResponse(Unknown Source)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.lambda$createIntegrationResponses$4(ApiGatewaySdkSwaggerApiImporter.java:405)
at java.util.LinkedHashMap$LinkedEntrySet.forEach(LinkedHashMap.java:663)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.createIntegrationResponses(ApiGatewaySdkSwaggerApiImporter.java:394)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.createIntegration(ApiGatewaySdkSwaggerApiImporter.java:433)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.updateMethod(ApiGatewaySdkSwaggerApiImporter.java:585)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.updateMethods(ApiGatewaySdkSwaggerApiImporter.java:346)
at com.amazonaws.service.apigateway.importer.impl.sdk.ApiGatewaySdkSwaggerApiImporter.updateApi(ApiGatewaySdkSwaggerApiImporter.java:111)
at com.amazonaws.service.apigateway.importer.impl.ApiGatewaySwaggerFileImporter.updateApi(ApiGatewaySwaggerFileImporter.java:58)
at com.amazonaws.service.apigateway.importer.ApiImporterMain.execute(ApiImporterMain.java:107)
at com.amazonaws.service.apigateway.importer.ApiImporterMain.main(ApiImporterMain.java:65)

@rpgreen  Ah... I see the sleep() that you had in there but my latest swagger is running 4+ responses types per method without a sleep being called. I added a sleep in the createMethodResponse method to ensure that large sets of method response types won't trigger the limit. I'll send you a pull request.

This should be fixed now. Please update and rebuild


Client config should support chef

https://sensuapp.org/docs/latest/reference/clients.html#chef-attributes

Released in v2.35.0


UTF-8 encoding error

It seems that on Windows the package tries to encode the downloaded JSON as cp1252. This creates problems when the data in baserow contains characters outside the code page.

I suppose, this can be solved by explicitly setting the file encoding in line https://github.com/acdh-oeaw/acdh-baserow-pyutils/blob/main/acdh_baserow_pyutils/init.py#L116

For Windows compatibility all open and write calls should have the encoding parameter set. See https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files
Unfortunately python on Windows defaults to the "System Codepage" which is cp1252 in Europe.

There is an environment variable PYTHONUTF8=1 that switches python to using UTF-8 on Windows.
If you want to set this on a Laptop or PC and you have no admin rights (company issued) use
rundll32 sysdm.cpl,EditEnvironmentVariables

The UI lets you change the environment variables for your user account and is not accessible without administrator rights using system settings.

Getestet. Das Problem ist behoben.


Tenant name does not appear when signing in as a guest user

Steps to reproduce

Access Graph explorer using tenanted URL  e.g.
https://developer.microsoft-tst.com/en-us/graph/graph-explorer?tenant=tavis.ca

Sign in as a guest user to the tenant

Expected
To see the tenant name in the header and in the user profile card.
Actual

Hey @darrelmiller,
I am trying to reproduce this though I don't have a guest account.
How can I create a guest account?

Got it, I have been able to reproduce this now.
So, the first time I ran this, it was blank for me too... then after testing again, I got some tenant information

could you try running it again and see if you'll get anything this time.

@adhiambovivian Could be because I have to make a separate network call to get tenant info... This info doesn't seem to be present on a user's account data

@ElinorW is this really blocked or work we haven't gotten to yet.

@ddyett this isn't blocked, this should be in the backlog and can be worked on in the August milestone

This is resolved. For the tenant value I had to use a tenant ID as opposed to the tenant name
https://user-images.githubusercontent.com/18407044/184647759-0f81994a-5eeb-470c-9514-6e0836b23517.mp4

This has been resolved also when with the use of a tenant name.

I've tried using this today, and it is broken for both Tenant Id and Tenant Name


PowerBI datasource Reference to REST API output (datasource Type)

Hi Team
am consuming the 'definitive list' of Power BI datasources and want to marry them up to the datasource information that i extract using the Admin REST API's .
I can then provide more context and intel around connection and datasource issues and the like.
Unfortunately the Data Sources in the  web list dont necessarily align with the 'datasources.datasourceType' that the API's produce:
eg1 API produces 'AzureBlobs' while the list provides 'Azure Blob Storage'
eg2 API produces 'Exchange' while the list provides 'Microsoft Exchange'
These are simple examples and easy to align, most others are somewhat more esoteric.
A manual mapping exercise is open to guesswork and mandraulic error!!
Could you consider adding API column to the list that shows the associated datasource datatype?
Or point me to a repo that has the the list of plain english datasources and associated REST API datasourceTypes?
Cheers
Chris

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

ID: 3c34c249-033f-4156-0abc-8d16cbe355a0
Version Independent ID: 20dc29c2-9cb7-2322-e80b-3f801bc34cfe
Content: Power BI data sources - Power BI
Content Source: powerbi-docs/connect-data/power-bi-data-sources.md
Service: powerbi
Sub-service: pbi-data-sources
GitHub Login: @davidiseminger
Microsoft Alias: davidi

Hi @Chris-Burgess-ACTGOV, I am forwarding your request along to the doc owner for further consideration. Thanks for reaching out to us!

Thanks @paulinbar
@davidiseminger there may be an anomoly in the 'web' datasource type - gateway (required) should be 'no'?
Cheers
Chris

Thanks for your comment. This looks like a support or feature request rather than documentation feedback. You might find a solution in the Power BI Community, found at https://community.powerbi.com. If not, you can get support by going to https://support.powerbi.com.

Hi @davidiseminger
I guess it is a feature request for the documentation meta.
If i raise a ticket it will come to you for consideration to add a column for 'REST API' name into https://learn.microsoft.com/en-us/power-bi/connect-data/power-bi-data-sources content will it not?
Or are you angling that the API response should be amended to align with the published documentation?
Cheers
Chris


column selection

Which issue does this PR close?
Closes #.
Rationale for this change
What changes are included in this PR?
Are there any user-facing changes?

Current dependencies on/for this PR:

main

PR #202   👈

This comment was auto-generated by Graphite.

Codecov Report

Merging #202 (cdc002b) into main (b295769) will increase coverage by 7.34%.
The diff coverage is 83.70%.

@@            Coverage Diff             @@
##             main     #202      +/-   ##
==========================================
+ Coverage   51.01%   58.35%   +7.34%
==========================================
  Files          39       35       -4
  Lines        2623     2829     +206
==========================================
+ Hits         1338     1651     +313
+ Misses       1285     1178     -107

Impacted Files
Coverage Δ

rust/area-store/src/lib.rs
100.00% <ø> (ø)

rust/area-store/src/store/utils.rs
0.00% <0.00%> (ø)

rust/flight-fusion/src/handlers/delta.rs
84.17% <77.39%> (-8.03%)
:arrow_down:

rust/area-store/src/projection.rs
84.01% <84.01%> (ø)

rust/area-store/src/store/basic.rs
82.64% <87.50%> (ø)

rust/area-store/src/store/mod.rs
64.58% <90.00%> (+3.60%)
:arrow_up:

rust/flight-fusion/src/handlers/do_get.rs
69.74% <97.14%> (+11.91%)
:arrow_up:

rust/area-store/src/store/cache.rs
94.73% <100.00%> (ø)

rust/area-store/src/store/writer.rs
80.95% <100.00%> (ø)

rust/area-store/src/test_utils.rs
87.12% <100.00%> (+1.73%)
:arrow_up:

... and 6 more

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more

Graphite Merge Job
Current status: 🔄 Waiting for checks to pass
This pull request is currently waiting for CI and mergeability checks to pass before being merged.
This comment was auto-generated by Graphite.

Job Reference: AYTBi6bWvvMWK07MovUC


Support private JFrog CLI plugins

The user does not need to create a repo for the tests, it is created by the tests suite.


108 feature implement path visualization

Description
Added a component that handles the translation between the static main frame and the moving hero frame. The hero frame moves and rotates as the ego vehicle does. The path published by the planning (or the dummy at the moment) uses the main frame, while rviz uses the hero frame. So this component makes it possible to see the path in rviz.
Since the position of the ego vehicle has to been known, but the gps doesn't seem to work good enough, this component can only be tested and used when #131 is solved.
Closes #108
Time invested

Julian Graf: 7h

Type of change

New feature (non-breaking change which adds functionality)

Does this PR introduce a breaking change?
No
Most important changes

Adds component to convert between main frame and hero fame
changes rviz setup to show path

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works (might be obsolete with CI later on)
[ ] New and existing unit tests pass locally with my changes (might be obsolete with CI later on)

TODO: rename "main" frame to "global" frame


Fixed a problem which prevents opening capture files larger than 2gb on windows

_wstat returns -1 for files larger than 2gb

Thanks for this. I'm going to update GetModifiedTimestamp the same way then.


Hex Editor File Watching testing

https://github.com/microsoft/vscode-hexeditor/issues/76

[ ] macOS @JacksonKearl
[ ] Windows
[x] Linux @mjbvz

Complexity: 2
Author: @lramos15
Create Issue

Testing Steps:

Install this VSIX  (change from .zip to .VSIX)
hexeditor-1.2.0.zip
Test file watching support in the hex editor. A few cases are with edits + file deleted, with edits + file changed, without edits + file changed, without edits + file deleted, and SCM view. Make sure the behavior feels natural and everything works as expected.

File watching looks good on Linux. Tested on Ubuntu

Watching looks good on MacOS too. Saw a couple of the same bugs as in Linux (#118, #119)


Postgres schema support in schema migrations

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Summary 💡
I am using ent in my project with postgres database.
The tables are created in different postgres schemas (using https://www.postgresql.org/docs/9.1/ddl-schemas.html) which allows me to give different microservices access to only certain tables while still having the ability to access the entire db together if needed (in contrast to different database per microservice).
I am using the feature flag schema config (https://entgo.io/docs/feature-flags#schema-config) which lets me define in which schema each table resides. However, the migration code that creates the tables ignores the schema config (which means it creates all tables in the default schema). I'll explain the issue with an example.
I define client with the following code:
client, err := ent.Open(dialect, conn, ent.AlternateSchema(ent.SchemaConfig{
    User: "userschema",
}))

client.Schema.Create(ctx) currently runs: CREATE TABLE IF NOT EXISTS "users" (...)
What I would want it to run is: CREATE TABLE IF NOT EXISTS "userschema"."users" (...)
Right now as a workaround I use rewriter driver as defined in /entc/integration/multischema/multischema_test.go which basically replaces table names in queries.
Example from code:
	rp := strings.NewReplacer("`groups`", "`db1`.`groups`", "`pets`", "`db1`.`pets`", "`users`", "`db2`.`users`", "`group_users`", "`db2`.`group_users`")

However, it requires me to maintain another list of schemas and it's also seems like an error prone approach.
Does adding schemas to ent migration sounds like a good idea ?
I would love to help with contributing code if you'd like. However, I wasn't sure what is the best way to support it.
I thought it might be easier to support it if we could add Schema field to entsql.Annotation but there might be another way to support it in the current approach.
Also worth noting that schemas exist in postgres but not in other databases which complicates what is the best way to support it

Hey @naormatania and it's great to see you here again 😃
We're working now on writing the ent migration from scratch and this option is going to be supported there. Meanwhile, your/my workaround works, but if you or someone else wants to contribute this change I'll be happy to support them.

why not use unified mod:  ent.AlternateSchema(ent.SchemaConfig{})


Add Configs CI

In a similar vein to https://github.com/ACCESS-NRI/access-om2-configs/, add CI for configurations, including the release-* and dev-* config branches.
Todo:

[x] Consolidate CI from access-om2-configs into a parent repository. See https://github.com/ACCESS-NRI/model-config-tests/issues/23
[ ] Add appropriate branch protections to main, release-* and dev-*
[ ] Add appropriate GitHub environments
[ ] Add simple .github/workflows

Extra credit:

[ ] Make this style of *-configs repository a public template, like https://github.com/ACCESS-NRI/model-deployment-template

Requires:

A consolidated configs CI, in https://github.com/ACCESS-NRI/reproducibility/issues/8

Getting onto this now :)


Fix multi-call hoisting in scc-hoist and extend test

Small bug fix in scc-hoist that ensure that a driver loop with more than one call to kernel routines hoists argument for all of them. The bug was simply cause by lazily using the loop to find and adjust the outer block loop with the loop over all candidate calls. The respective test has been extended in place to capture the corner case that tripped this in CLOUDSC2.
As a small bonus, I've also added a log line that prints out the variables hoisted for each driver call, which should not be too polluting in practical cases.

@piotrows to confirm that this fixes the problem in CLOUDSC2-NL for loki-scc transformations.

@piotrows to confirm that this fixes the problem in CLOUDSC2-NL for loki-scc transformations.

I can confirm that this works for CLOUDSC2-NL loki-scc-hoist transformation.

Codecov Report

Merging #71 (fb17ab8) into main (bfb8780) will increase coverage by 0.22%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main      #71      +/-   ##
==========================================
+ Coverage   91.78%   92.00%   +0.22%
==========================================
  Files          86       76      -10
  Lines       15282    14003    -1279
==========================================
- Hits        14026    12884    -1142
+ Misses       1256     1119     -137

Flag
Coverage Δ

lint_rules
?

loki
92.00% <ø> (-0.01%)
:arrow_down:

transformations
?

Flags with carried forward coverage won't be shown. Click here to find out more.
see 11 files with indirect coverage changes


Investigate Project System

Investiage whether it makes sense to have our own project files and what that would entail regarding both the command line build and the integration into VS via the CPS.

The command line build seems more or less straight forward to set up. However, while we should have our own project files in the future, we need to budget a non-trivial amount of time to set them up. The VS specific setup needed is rather extensive. I'll mark this as closed, since the initial investigation is indeed concluded, and I will mark the task for working on it as currently not resourced.


Fix sub-pixel positioning

Fixes sub-pixel positioning (part of this must be applied by users of this crate, though failing to do so won't cause anything much worse than pre-existing render issues)
Enables sub-pixel positioning by default

And the result looks pretty good IMO (though still lacks RGB sub-pixel rendering):


feature(search): Add DocSearch to docs

For some reason, we only added the DocSearch to the English version this time.


fix issue 161

[LEVEL]/[COMPONENT]
TASK:  Warning: Received false for a non-boolean attribute sm.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Only
[ ] Refactor

Description, Motivation and Context

This PR fixes issue 161. The problem was the defaultProps object which was having a sm key rather than small.

Screenshots - Animations

No visual change was made.

Codecov Report

Merging #166 (ab650fa) into main (6d433ee) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #166   +/-   ##
=======================================
  Coverage   76.10%   76.10%
=======================================
  Files         140      140
  Lines        2272     2272
  Branches      680      680
=======================================
  Hits         1729     1729
  Misses        538      538
  Partials        5        5

Impacted Files
Coverage Δ

packages/react/src/text/text.tsx
100.00% <ø> (ø)

Continue to review full report at Codecov.

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

Hey @mariusflorescu thanks you so much mate 🚀


fix error: use * for Type

This will break again with purescript-0.11.  Seems that the way forward is to import Type from Prim.

Oddly it did not brake the travis build yet.

I need to update the package.json file to use the new purescript version. I will do it during the weekend. Thanks for the heads up! :)


Clustering in small rna report

Below, this is code in small rnaseq workflow.
Clustering
counts = counts(obj)
dds = DESeqDataSetFromMatrix(counts[rowSums(counts>0)>3,], colData=design, design=~1)
vst = rlog(dds)

pheatmap(assay(vst), annotation_col = design, show_rownames = F,
         clustering_distance_cols = "correlation",
         clustering_method = "ward.D")

When I running the report script with my data, I got the error in R.

dds = DESeqDataSetFromMatrix(counts[rowSums(counts>0)>3,], colData=design, design=~1)
converting counts to integer mode
vst = rlog(dds)
Error in estimateSizeFactorsForMatrix(counts(object), locfunc = locfunc,  :
every gene contains at least one zero, cannot compute log geometric means

Hi,
sorry about that. But it seems your data is not as expected. DESeq2 will need to have rows where at least all sample has some values, other wise can not normalize. It seems you have very few reads are annotated, and that is a warning for problems in the library preparation and I don't know how much we can trust those numbers.
I don't think the report will work with this data. What would you want to do with that? I only can think of using edgeR instead, maybe it has less restriction. But, as I said, I don't know how much you can trust this in the sense that don't know if those numbers reflect really the real expression.
But, you will need to code yourself because this isn't an expected miRNA data set.
hope this help.

You can try to change this line in case that help:
dds = DESeqDataSetFromMatrix(counts, colData=design, design=~1)

You can calculate your own version of the geometric means that will get around this error and set the size factors manually:
geoMeans = apply(counts, 1, function(row) if (all(row == 0)) 0 else
                 exp(mean(log(row[row != 0]))))
dds = estimateSizeFactors(dds, geoMeans=geoMeans)

@lpantano Thanks for your comment. I'll try to analyze with edgeR.
@roryk Thanks for your reply.  I'll try it.

> head(assay(vst))
                    B-332      B-340     B-344     B-362      B-371        B-375     B-376
hsa-let-7a-2-3p  2.341578  1.3727496  1.420016  1.893527  1.5568376 -0.001161153  0.815964
hsa-let-7a-3p   10.791047 10.3270608 10.842259 11.098459 11.2003986 10.935129696 10.721029
hsa-let-7a-5p   18.926544 17.9083707 18.530504 18.076433 19.6061448 18.777105616 17.943720
hsa-let-7b-3p   11.089317 10.1167183 11.483489 11.167033 11.5732016 10.766074796 10.496683
hsa-let-7b-5p   16.251453 15.2663444 16.313983 15.966429 17.0895321 16.502040499 15.324242
hsa-let-7c-3p    6.634920  0.3977725  1.178295  3.463485  0.6571737  0.457471697  1.229257
                      B-379     B-407      B-408      B-442      B-444     B-449     B-513
hsa-let-7a-2-3p -0.00500646  2.211619  0.6834753  0.5450910  0.1147926  1.894183  1.597481
hsa-let-7a-3p   10.90810460 10.728484 10.5837025 10.7590746 11.1143354 10.300482 10.798222
hsa-let-7a-5p   19.17100836 18.079088 18.4104564 18.4143518 18.8651266 19.065348 18.188016
hsa-let-7b-3p   11.11222578 10.523866 10.6820384 10.3241710 10.5683958 10.897570 10.492906
hsa-let-7b-5p   16.66470932 15.898820 15.9697339 15.7217689 16.1664212 16.136493 15.982578
hsa-let-7c-3p    0.45221174  2.019025  1.7308893  0.9342329  0.6145399  4.977081  2.142039
                     B-570     B-585       B-612      B-613      B-614     B-633     B-644
hsa-let-7a-2-3p  1.0748688  1.234150 -0.05885191 -0.1310145 -0.1310858  2.100481  2.193966
hsa-let-7a-3p   11.2482008 10.978136 10.67891571 10.9779511 10.8166571 11.508798 10.564941
hsa-let-7a-5p   18.6875037 18.063877 18.42041066 18.6451934 18.5005942 18.552671 18.156141
hsa-let-7b-3p   11.3122771 10.462373 10.35812006 10.9530461 10.2835952 10.446914  9.996429
hsa-let-7b-5p   16.5160570 15.193941 16.20156437 16.4666535 15.9177237 15.962268 15.449748
hsa-let-7c-3p    0.3985822  2.506486  0.37809520  0.2770982  0.2769972  1.936219  4.343858
                      B-662     B-667    BS-667     BT-278       BT-287     BT-301      BT-309
hsa-let-7a-2-3p -0.04398344  1.185983  2.151094  0.1627322  0.001236821 -0.1271673 -0.06360384
hsa-let-7a-3p   10.95741838 10.763450 10.621095 11.4081627 11.442557212 11.0642787  9.97719262
hsa-let-7a-5p   19.03946923 18.851025 18.452473 19.3232366 19.346139725 18.6002639 19.34781203
hsa-let-7b-3p   11.30908772 10.525738 10.198294 11.6657409 11.376736244 11.1507371 10.99785521
hsa-let-7b-5p   16.55239899 16.292041 15.880261 17.0987179 16.967461790 16.3982084 16.45860994
hsa-let-7c-3p    0.39865342  3.327487  2.607207  2.0616566  2.189548578  1.5535574  1.45322384
                    BT-312     C-359     C-362     C-368     C-369
hsa-let-7a-2-3p -0.2212989  2.832719  3.061427  2.383292  2.040646
hsa-let-7a-3p   10.5701870 10.730067 10.738789 10.795776 10.651851
hsa-let-7a-5p   18.2680715 18.527916 18.578039 18.945795 18.523040
hsa-let-7b-3p   10.0617485 10.025657 10.541703 10.357888 10.314145
hsa-let-7b-5p   15.7649021 15.829922 16.446595 16.292001 15.796748
hsa-let-7c-3p    0.1469735  4.009235  4.371326  4.543349  3.528750

> pheatmap(assay(vst), annotation_col = design, show_rownames = F,
+ clustering_distance_cols = "correlation",
+ clustering_method = "ward.D")
Error in cut.default(a, breaks = 100) : 'x' must be numeric

Can you check this error?

Error in cut.default(a, breaks = 100) : 'x' must be numeric

Hi,
can you pase the design matrix?
if only contains one column with the same values or the row names are not the same than the column names from the matrix, normally throws this error.
thanks for helping debugging this.

head(design)
type batch phenotype
B-332  MIBC  None        NA
B-340  MIBC  None        NA
B-344 NMIBC  None        NA
B-362  MIBC  None        NA
B-371 NMIBC  None        NA
B-375 NMIBC  None        NA

Hi @hmkim,
yes, normally you have different names for each columns. I would do `design[,"type",drop=FALSE]. You would need to do this for all the cases pheatmap is in the code.
cheers

Yeah! I recognized it.
Thanks @lpantano


SpacingCheck: add "for", "while" and "switch" support, closes #46

Eventually this check should probably support the inverse as well (enforcing there are no spaces).

:+1:


Update correct policyName in optimistic data

Details

Update correct policyName in optimistic data
Fixed Issues

$ https://github.com/Expensify/App/issues/37759
PROPOSAL: https://github.com/Expensify/App/issues/37759#issuecomment-1980055330
Tests

Create a workspace
Change the workspace name
Delete the workspace and back to LHN
Verify that the workspace chat avatar and name is the same as the avatar and the name of the workspace after we edit the workspace name in step 2

[x] Verify that no errors appear in the JS console

Offline tests

Same as above
QA Steps

Create a workspace
Change the workspace name
Delete the workspace and back to LHN
Verify that the workspace chat avatar and name are the same as the avatar and the name of the workspace after we edit the workspace name in step 2

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/129500732/97a886f1-8452-4516-8057-c09fdf8978aa

Android: mWeb Chrome
https://github.com/Expensify/App/assets/129500732/dffbfdae-8fd7-4bbe-b2d4-a0c84ceb3de0

iOS: Native
https://github.com/Expensify/App/assets/129500732/3a9e35a7-516c-453b-b580-4290a6884c23

iOS: mWeb Safari
https://github.com/Expensify/App/assets/129500732/b8b8e892-0065-4256-ab2c-bb1dc14e3deb

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/129500732/c4c53c2e-4325-4f4d-a8c8-bc14489be7fc

MacOS: Desktop
https://github.com/Expensify/App/assets/129500732/ad7064cc-5b92-44d1-910f-03cd2695d240

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/cead22 in version: 1.4.55-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
failure ❌

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/cead22 in version: 1.4.55-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/AndrewGable in version: 1.4.55-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


add options for media_url and static_url

Codecov Report
Attention: Patch coverage is 0% with 25 lines in your changes missing coverage. Please review.

Project coverage is 60.45%. Comparing base (23bdd12) to head (c108f16).

Files with missing lines
Patch %
Lines

src/ansys/dynamicreporting/core/serverless/adr.py
0.00%
16 Missing :warning:

src/ansys/dynamicreporting/core/serverless/item.py
0.00%
9 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #205      +/-   ##
==========================================
- Coverage   60.51%   60.45%   -0.06%
==========================================
  Files          22       22
  Lines        6620     6626       +6
  Branches     1260     1264       +4
==========================================
  Hits         4006     4006
- Misses       2240     2246       +6
  Partials      374      374

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Brandon's Attempt at completing the Beginning Git video course.

Hi,
This PR represents all the work I did to complete the kodeco.com Beginning Git video course. It was a delightful experience, and I'd recommend it to anybody.
Brandon

Hey @letsgobjones—congrats on submitting a PR at the end of the git course! I hope that you enjoyed the course, and learnt some things along the way.
If you weren't already using git for your code, hopefully this has inspired you to do so. I hope that you enjoy the "Mastering Git" video course as well—you'll soon be able to get git to bend to your will :)
You can now wear this #GitWarrior badge with pride—and Tweet your historic victory!

sam


More QIIME 2 / TensorFlow conda-forge installation problems ._.

So, installing Songbird via conda-forge into a fresh QIIME 2 2020.2 environment now works, at least insofar as getting Songbird installed. (Like, importing Songbird into python works, running songbird multinomial --help works, ...)
However, when you run qiime dev refresh-cache, the following error rears its head:
QIIME is caching your current deployment for improved performance. This may take a few moments and should only happen once per deployment.
Traceback (most recent call last):
  File "/home/marcus/Software/miniconda2/envs/q2-2020.2b/bin/qiime", line 11, in <module>
    sys.exit(qiime())
  File "/home/marcus/.local/lib/python3.6/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/home/marcus/.local/lib/python3.6/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/home/marcus/.local/lib/python3.6/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/marcus/.local/lib/python3.6/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/marcus/.local/lib/python3.6/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/marcus/.local/lib/python3.6/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/home/marcus/Software/miniconda2/envs/q2-2020.2b/lib/python3.6/site-packages/q2cli/builtin/dev.py", line 31, in refresh_cache
    import q2cli.core.cache
  File "/home/marcus/Software/miniconda2/envs/q2-2020.2b/lib/python3.6/site-packages/q2cli/core/cache.py", line 404, in <module>
    CACHE = DeploymentCache()
  File "/home/marcus/Software/miniconda2/envs/q2-2020.2b/lib/python3.6/site-packages/q2cli/core/cache.py", line 61, in __init__
    self._state = self._get_cached_state(refresh=refresh)
  File "/home/marcus/Software/miniconda2/envs/q2-2020.2b/lib/python3.6/site-packages/q2cli/core/cache.py", line 107, in _get_cached_state
    self._cache_current_state(current_requirements)
  File "/home/marcus/Software/miniconda2/envs/q2-2020.2b/lib/python3.6/site-packages/q2cli/core/cache.py", line 200, in _cache_current_state
    state = self._get_current_state()
  File "/home/marcus/Software/miniconda2/envs/q2-2020.2b/lib/python3.6/site-packages/q2cli/core/cache.py", line 238, in _get_current_state
    plugin_manager = qiime2.sdk.PluginManager()
  File "/home/marcus/Software/miniconda2/envs/q2-2020.2b/lib/python3.6/site-packages/qiime2/sdk/plugin_manager.py", line 54, in __new__
    self._init(add_plugins=add_plugins)
  File "/home/marcus/Software/miniconda2/envs/q2-2020.2b/lib/python3.6/site-packages/qiime2/sdk/plugin_manager.py", line 81, in _init
    plugin = entry_point.load()
  File "/home/marcus/.local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2433, in load
    self.require(*args, **kwargs)
  File "/home/marcus/.local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2456, in require
    items = working_set.resolve(reqs, env, installer, extras=self.extras)
  File "/home/marcus/.local/lib/python3.6/site-packages/pkg_resources/__init__.py", line 791, in resolve
    raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (opt-einsum 0+untagged.53.g6ab433b.dirty (/home/marcus/Software/miniconda2/envs/q2-2020.2b/lib/python3.6/site-packages), Requirement.parse('opt-einsum>=2.3.2'), {'tensorflow'})

For reference, opt_einsum is a dependency of TensorFlow. The funky thing is that this library actually is getting installed when you install Songbird via conda-forge: see this Qurro Travis build log for an example (just ctrl-C for einsum).
But here's the kicker. opt_einsum is getting installed, but TensorFlow is exploding because it expects opt-einsum to be installed. Yeah, apparently the hyphen (-) vs. underscore (_) actually separates two different "packages", at least from conda-forge's perspective (hyphen, underscore).
The "underscore" version (opt_einsum) is apparently the actively maintained version of this package, but the "hyphen" version (opt-einsum) actually works with TensorFlow (it seems like QIIME 2 is checking the currently-installed package versions against TensorFlow's setup.py or something, and the setup.py hasn't been updated to point to opt_einsum instead of opt-einsum yet).
A solution (documented by some brave souls who have also run into this problem) corroborates that we can get around this by literally adding a requirement for opt-einsum to the conda-forge recipe. (Similarly, running conda install -c conda-forge opt-einsum after conda-installing songbird fixes the QIIME 2 errors. The downside seems to be that now there are two opt[-_]einsum packages installed in the conda environment, which is probably pretty confusing for everyone involved.)
So, there are a few ways around this (updating the songbird recipe, updating the songbird readme, raising this issue with the tensorflow conda-forge maintainers, just asking users to pip install songbird for the time being, ...) -- hopefully getting around this shouldn't be too bad.

I'm actually having some trouble reproducing this issue - I was able to install songbird in a qiime2-2020.2 environment without the seeing the qiime dev refresh-cache errors you ran into.
But agree with the pip install recommendation - thank you for pushing that PR in.

I suspect that you have both versions of opt[_-]einsum installed -- I had the same thing happen to me, it worked the first time in a "old" Q2 2020.2 environment that I'd been using for a while, but when I installed a new Q2 2020.2 environment and then immediately tried to install Songbird I got the error.
If my hypothesis is correct :), I think running conda list | grep einsum in your environment should show two packages... if this isn't the case, then you may have figured out a way past this issue, so that's also useful ;)

In a vanilla Q2.2020.2 environment, the songbird install only worked with python -m pip install songbird; whereas pip install songbird give _ModuleNotFoundError: No module named 'pip._internal'.
Thought this could help others

Hi @Alxdu thanks for reporting this issue.  I'm having trouble producing this issue as well. Do you have pip installed?  You can verify with which pip.
It is also worthwhile conda-forge install via conda install songbird -c conda-forge if there are issues with pip.

I've only seen the issue in the conda environment created by the default qiime2-2020.2 install.
which pip
'/home/user/miniconda3/envs/qiime2-2020.2/bin/pip'
Conda also report this package installed:  pip   20.0.2     py_2    conda-forge
I haven't tried a standalone songbird install. But like I mentioned, running python -m pip install songbird in the qiime env works well. I was able to run through the demo RedSea data. No issues to report after installation.

Ok, I'm able to reproduce these issues.
FYI : not sure if the pip install will work if you want to get the qiime commands in qiime2-2020.6.
The current workaround is to run
conda install tensorflow==1.15
conda install songbird -c conda-forge

A fix to the songbird conda-forge recipe will be coming up soon (I hope).