refactor: update e2e tests to use beta app

Description

Update e2e integration test suite to use the beta app
Fix/update Peggo to v0.1.0 official release
Integrate oracle/price-feeder into e2e tests

Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...

[ ] included the correct type prefix in the PR title
[ ] added appropriate labels to the PR
[ ] added ! to the type prefix if API or client breaking change
[ ] targeted the correct branch (see PR Targeting)
[ ] provided a link to the relevant issue or specification
[ ] added a changelog entry to CHANGELOG.md
[ ] included comments for documenting Go code
[ ] updated the relevant documentation or specification
[ ] reviewed "Files changed" and left comments if necessary
[ ] confirmed all CI checks have passed

Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
I have...

[ ] confirmed the correct type prefix in the PR title
[ ] confirmed ! in the type prefix if API or client breaking change
[ ] confirmed all author checklist items have been addressed
[ ] reviewed state machine logic
[ ] reviewed API design and naming
[ ] reviewed documentation is accurate
[ ] reviewed tests and test coverage
[ ] manually tested (if applicable)

Codecov Report

Merging #326 (3f22c71) into main (c36f58c) will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #326      +/-   ##
==========================================
- Coverage   32.78%   32.77%   -0.01%
==========================================
  Files          74       74
  Lines        9258     9257       -1
==========================================
- Hits         3035     3034       -1
  Misses       5930     5930
  Partials      293      293

Impacted Files
Coverage Δ

x/oracle/keeper/keeper.go
68.01% <100.00%> (-0.15%)
:arrow_down:

Codecov Report

Merging #326 (e44f331) into main (2948dcb) will decrease coverage by 1.00%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #326      +/-   ##
==========================================
- Coverage   33.07%   32.06%   -1.01%
==========================================
  Files          74       74
  Lines        9339     9919     +580
==========================================
+ Hits         3089     3181      +92
- Misses       5957     6445     +488
  Partials      293      293

Impacted Files
Coverage Δ

x/leverage/keeper/grpc_query.go
15.54% <0.00%> (-24.15%)
:arrow_down:

x/leverage/keeper/collateral.go
71.15% <0.00%> (-5.93%)
:arrow_down:

x/leverage/client/cli/query.go
0.00% <0.00%> (ø)

x/leverage/types/query.pb.gw.go
0.00% <0.00%> (ø)

x/leverage/client/tests/suite.go
100.00% <0.00%> (ø)


FE: Topic analysis progress not visible on dark theme

Issue submitter TODO list

[X] I've looked up my issue in FAQ
[X] I've searched for an already existing issues here
[X] I've tried running master-labeled docker image and the issue still persists there
[X] I'm running a supported version of the application which is listed here

Describe the bug (actual behavior)
Topic analysis progress not visible on dark theme
Expected behavior
No response
Your installation details
v0.7.1, Dark theme
Steps to reproduce

Dark theme
Topics -> select topic -> Statistics -> Start analysis => progress stats not visible

Screenshots
https://github.com/provectus/kafka-ui/assets/702205/bba1f118-46f3-417b-91ff-23027a962eb0
Logs
No response
Additional context
No response

After deciding to work on this issue, while setting up the project i encountered this issue which prevents me from building the project,
Error -
" The type InternalPartitionsOffsets does not define InternalPartitionsOffsets(Map<Object,Object>) that is applicable here "
on line 154 - " .map(InternalPartitionsOffsets::new); "
in kafka-ui-api\src\main\java\com\provectus\kafka\ui\service\TopicsService.java
i tried using jdk 17 and 19 but the error is still there ..........

@nikhilkarve @nio2004 https://github.com/provectus/kafka-ui/discussions/4255
Please note that even if you raise a PR there will be no one who could review and merge it, as I currently don't have r/w access to the repo.

So when will you @Haarolean  get r/w access to this repo


Configurable gamepad initialization delay

Per cosmonaut on discord, Steam opens a virtual device (probably per non-XInput pad) that doesn't disconnect until some duration later (probably Steam Overlay startup).
A default-off config like INPUT_GAMEPAD_INIT_DELAY would help prevent false positives on boot and save on potential issues related to premature connection and disconnection events.

Looks like 1 frame isn't enough and cosmonaut recommends somewhere in the region of 10 frames. Seems like a reasonable default delay.

https://github.com/JujuAdams/Input/commit/96380ad94b4e19349d2efeb373c4adcb1fc79a68


Update README.md

Coverage remained the same at 100.0% when pulling 9b8aa086e146c361a44b4ecc09559709e343c379 on jeantimex-patch-1 into f6ecf86fd506928c87ccdd4c563d866f3988421c on master.


[Auto-update][Settings] New updating experience: Behavior without admin rights

With PR #11356 (Issue #10589) we implement an improved update experience in the settings window.
Enhancement
The new updating experience doesn't cover the case when the user has now elevated privileges and PT can't be installed.

We have to improve the UX, that in this case the info text says something like "No admin rights. Please visit our GitHub page and download/install the update manually."
The button should link to the GitHub page and has a lable like "Visit our GitHub page".

Addition
At the moment we have a bug where when UAC is disabled the update can be started instead linking to our GitHub page. This should be fixed while implementing the improvements described above. For details please see issue #6893.

This is an remaining work item form PR #11356.
Direct link to issue comment: https://github.com/microsoft/PowerToys/pull/11356#issuecomment-844142914

@cinamon-msft
Closing this in favor of #36381?

Sure :)


  In testing I discovered that only the default location for policy.json was being used, so that's the cause of the change in runtime_image.go.  This is the second PR for these changes.  This PR contains the fixes per @mheon.  I had a weird CLA issue with the first PR, so closed it.

LGTM pending tests

If we are documenting --signature-policy remember to remove the "hidden" flags.

LGTM

/test all

@mrunalp, @rhatdan can you kick off testing on this one please?  Finally have green CI.

/test all

Some thing wrong with the tests or are you guys not allowed to launch?

/test all

@stevekuznetsov @cevich Seems like tests does not want to run?

Passes tests, Merging.


equal height

It's not possible to make equal height via flexbox.gs, any fix?

It is not currently possible but I think something different. thanks :)

I found a solution to fix that, the problem was align-content & align-items in your "flexbox" mixin.
They need to be default (stretch) to make this possible.
I just added a own mixin to do that:
@else if $prop == "stretch" {
    -webkit-align-content: stretch;
    -ms-align-content: stretch;
    align-content: stretch;
    -webkit-align-items: stretch;
    -ms-align-items: stretch;
    align-items: stretch;
  }

So i added to my column container:
.wrap {
	@include wrap;
	@include wrap("flexbox");
	@include wrap("stretch");
}

Maybe u should make mixins for all align-items & align-content methods.
Greetz

Great! Can you send pull request ?

Hm, I'm not very good at git, maybe u can update it?
Currently I dont understand why you set align-items and align-content to center by default?
If you use the flexbox syntax in basic, the default value is stretch.
Here are the default values for flexbox:
.container {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: stretch;
	align-content: stretch;
}

Maybe you should set the defaults for align-items and align-content to your flexbox mixin,
so the columns are equal height on default and we can change it with your existing mixins like "center", "left", "right" and so on.
Or what do you think?
@else if $prop == "flexbox" {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  table-layout: auto;
  -webkit-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: flex-start;
  -ms-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-align-content: stretch;
  -ms-align-content: stretch;
  align-content: stretch;
  -webkit-align-items: stretch;
  -ms-align-items: stretch;
  align-items: stretch;
  -webkit-column-count: auto;
  -moz-column-count: auto;
  column-count: auto;
  > * {
    display: inline-block;
  }
}

Greetz

https://github.com/flexiblegs/flexiblegs-scss/releases/tag/5.6.0


Add jsonparse as a dependency

jsonparse is used in analyze-trace-file.ts but is not declared as a dependency.
Yarn >=2 with PnP throws an error when running yarn dlx @typescript/analyse-trace trace-dir because it is stricter with dependencies.
Error: @typescript/analyze-trace tried to access jsonparse, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound.

Required package: jsonparse

Good catch!

@amcasey Was I supposed to upgrade the version number in my PR? When can we expect a release?
Thanks for merging it so fast!

I'm expecting #26 to go in today or tomorrow and bump the version number.  Let me know if you need a patch release before then.

@amcasey It's perfect thanks!


docs: Adjust cross-region-replica-postgres example code

Description
Fixed cross-region-replica-postgress example code by disabling create parameter group for database.
Motivation and Context
create_db_parameter_group is set to true by default. For postgresql replica it can't be created because parameter group is inherited from source db. This variable must be explicite set to false
How Has This Been Tested?

[X] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[X] I have tested and validated these changes using one or more of the provided examples/* projects

[X] I have executed pre-commit run -a on my pull request

This PR is included in version 6.8.0 :tada:


Install instructions for Linux needed

Someone came into Pinecil chat today  wanting to install it on Arch linux.
I gave NovaViper  the packages and the command line exactly like written in  Pinecil-Dev channel but  he could not get it to work.
Please advise on procedure for Linux so we can help people in live chat when you are sleeping. I do not have linux to test it.
This is the command he used in Linux that failed.
sudo bash ./blisp.exe write -c bl70x --reset Pinecilv2_EN.bin
The terminal says ./blisp.exe: ./blisp.exe: cannot execute binary file
he also tried with no sudo.
he followed these instructions from Discord chat but it's only for Windows.

Someone in Discord said perhaps this is needed
git clone --recursive
NovaViper followed the exact  instructions here under Building:
https://github.com/pine64/blisp
Perhaps that needs to have a few more lines of  instructions for Linux people?

I don't have linux presently (for long time now)   so I could not assist and test with them.
Separately, he did not know  how to Connect pinecil to   PC/laptop.  so I can  Submit a PR later  which will have some of those Instructions.  Some people are brand new Owners of Pinecil V2,  so they need  basic  steps information.

@robertlipe your #1 wasn't ignored, just didn't had time to check it out and cherry pick the stuff.
About blisp.exe, it's correct since I posted instructions for Windows build.

Ralim  wrote to do this  for linux.  but he still could not build it.
clone --recursive https://github.com/pine64/blisp.git
cd blisp
mkdir build && cd build
cmake -DBLISP_BUILD_CLI=ON ..
cmake --build .

See history in  Pinecil-dev.

this is what I have collected for now.  Please update as needed or correct . I don't have linux right now to test any of this .
Please add Sudo where ever it is needed below.
Instructions I have on new BLISP  flasher for Linux for pinecil V2.
(1) Source Code is here for Linux BLISP flasher this is the one we are permanently moving to because it's OPEN source & gamiee wrote it.
https://github.com/pine64/blisp
(2) Linux Set up steps from  Ralim
clone --recursive https://github.com/pine64/blisp.git
cd blisp
mkdir build && cd build
cmake -DBLISP_BUILD_CLI=ON ..
cmake --build .

(3) It will then be in toosl/blisp folder, so can be run as ./tools/blisp/blisp
(4) Get newest V2 beta  from Github Actions: like here
https://github.com/Ralim/IronOS/actions/runs/3409043548
scroll to BOTTOM , get Pinecilv2.zip and extract it.
(5)  put the  Pinecilv2_EN.bin  into same folder as your BLISP you made.  can delete all the rest of the Pinecil...zip
(6) you also need  eflash_loader_32m.bin .  extract it from this ZIP.
it is not included at GitHub repo bc they are not sure yet about Licensing rules.
eflash_loader_32m.zip

red, just didn't had time to check it out and cherry pick the stuff.

there was just some confusion since the blisp.exe file was for windows only and not for linux.

Are you sure it's not just blisp? Look at the file that was generated and I'm pretty sure it's blisp, not blisp.exe.

there was just some confusion since the blisp.exe file was for windows only and not for linux. it's all sorted now.

If you like the above @gamelaster   I could make a PR for the  Build Instructions but  where do you want it?
instead of  the front page,  I could maybe we link from Readme over to a  "Getting Started" page?
then instructions for Linux Build are in Getting started.
Just let me know or make document name you like and I will use that.


Render lines via tiles

This PR introduces a change in how we render lines. It does so by organizing them into tiles, which we then move up and down through a compositing transformation. The main advantage is that paint times dramatically reduce, because now we simply need to paint a small tile, instead of all the lines. This is especially noticeable during scrolling which, as a result, will be the subject of the benchmarks I am going to show later on.
Please, note that:

[x] Specs are broken. The solution you can see here was achieved by spiking a bunch of ideas, and therefore I didn't pay attention to change specs/code gradually. As a result, I plan to adapt previous specs and write some new ones as soon as possible.
[x] There's some evident structural duplication in code. However, I'd like to start refactoring that stuff as soon as I have unit tests to prevent naive errors.
[x] Naming-wise I am not entirely happy with TilesPresenter and LinesPresenter and they're probably going to change. Any suggestion or improvement is very welcome here.
I have intentionally left out line numbers from using this new approach. I'd like to keep this PR focused and work on that right after :ship:ping this one.

:racehorse: And now some benchmarks! :racehorse:
Benchmarks
Tests conducted using:

A 1920x1080 window

editor.scrollSensitivity = 130

A custom code (associated to a keyboard key) to simulate mouseWheel events
document.querySelector("html /deep/ .editor-contents--private").dispatchEvent(new WheelEvent("mousewheel", wheelDeltaY: -250))

Keyboard Key Repeat: Fast (Mac OS X setting)

Delay Until Repeat: Short (Mac OS X setting)

I needed a (more or less) repeatable way to benchmark scrolling. To try this out, you can simply scroll up and down as you would normally do.
master

as-tiled-rendering

Why this matters?
As you can notice, paint times are dramatically reduced. This may not be noticeable with your :eyes:, but it's nevertheless important 'cause it leaves some room for additional operations (such as a more expensive character measurement computation). As said earlier, things are going to speed up further once we introduce tiling for line numbers as well.
It would be great if you could try this out, reporting any eventual regression or glitch that I may have overlooked while implementing the tiling strategy. Moreover, any code review or additional :eyes: are always welcome.
Thank you!
/cc: @atom/feedback @nathansobo

:sparkles: Really exciting work.

I've been talking about wanting to do tiles for a year now. Thanks so much for pushing this forward!

Wow, looks like a huge speedup

Always good to see speedups!

I lost your comment about breaking the presenter up into separate objects. I'm somewhat on board, at least with the idea of breaking the presenter up into objects that persist for the lifetime of the presenter. I'm less excited about objects that will come into and out of existence because that puts pressure on the GC. And whatever we do, I guess I want to make it well-encapsulated. Are there aspects of the problem that could be cleanly isolated? Right now, a single model update can update many aspects of the presenter state, which leaves us room to keep the view simple. If we break things up into objects but the objects aren't cleanly encapsulated, I think we've made things worse.

I have rebased this branch against master and fixed TextEditorPresenter specs. To make everything green I still need to polish TextEditorComponent's tests, which are currently failing (I presume this won't take long, though).
Production code, on the other hand, is ready for review: there may still be a few things to refine but I feel quite good about it. I have tested it over the last days and it doesn't seem to break anything. Your mileage may vary, though, so if anyone wants to try this out I'll be happy to hear your feedback (in return you should notice some performance boosts, especially while scrolling).
wrap-guide
After "virtualizing" vertical and horizontal scrolling, I have noticed that wrap-guide sticks in a fixed place on screen, even when scrolling horizontally. This actually makes sense, because wrap-guide is declared like this:

We should change it to update its position every time the editor scrolls using pixelPositionForScreenPosition instead. This, however, makes me think about a few questions:

How can we make sure we don't break existing packages which rely on absolute positions?
DisplayBuffer#pixelPositionForScreenPosition still returns the absolute pixel position for a given screen position. @nathansobo: I think this method should be changed to use relative positions, as TextEditorPresenter#pixelPositionForScreenPosition does. Do you think we can finally move all these duplicated position-related methods into TextEditorPresenter?

Thank you! :bow:

Works amazing even on:
Intel® Core™ i5 CPU 650 @ 3.20GHz
Intel® Ironlake Desktop

I can even turn on minmap animation flag!

I'm super stoked about the apparent improvements to the Chrome compositor since I experimented with tiled rendering last year. When I tried it, leaving the tiles with transparent backgrounds was absolutely fatal to performance, so I had to give them opaque backgrounds and break selection rendering across tiles as well.
I'd be curious to see how much your compositing time drops if you give the tiles opaque backgrounds. Also, Chrome is supposed to render text with subpixel anti-aliasing if it's rendered on an opaque background and translated by an integral amount. It's never done that, but perhaps there's hope it will someday work. If we leave the tile backgrounds transparent, however, it will never be possible because the text is already rasterized by the time it gets to the GPU, meaning the information required to do subpixel anti-aliasing is lost.
So it's a toss up. Now that composite performance is <= 1ms for transparent tiles, it's definitely simpler to leave them that way and let the wrap guide and highlight decorations show through from underneath. But compositing may be even cheaper with opaque tiles, and with opaque tiles we theoretically have a possibility of getting subpixel AA someday.

Also, what was your experience with larger tile sizes? I notice they're only 2 lines tall. The gutter is indeed doing a full repaint on every scroll now, but it's still pretty fast. But I bet you you could shave a bit more time if you could avoid that.

@nathansobo: thanks for the extensive feedback!

I'd be curious to see how much your compositing time drops if you give the
tiles opaque backgrounds.

Assigning an opaque background doesn't impact layers compositing performance:
some experiments I conducted seem to report the same time for both (both ~
0.400ms - 0.500ms)

Also, Chrome is supposed to render text with subpixel anti-aliasing if it's rendered on an opaque background and translated by an integral amount. It's never done that, but perhaps there's hope it will someday work. If we leave the tile backgrounds transparent, however, it will never be possible because the text is already rasterized by the time it gets to the GPU, meaning the information required to do subpixel anti-aliasing is lost.

That's very interesting and I didn't consider that: I've always assumed that the
background color on .lines was enough to maintain the original behavior. Now
that I think about it, however, I'd prefer to wait until Chrome supports AA for
two reasons:

It would require changing how wrap-guide and highlights are rendered on
screen, as you're pointing out. Probably not a drastic change, but will still
introduce some complexity;

It enables us to explicitly opt-in sub pixel anti-aliasing in the future: the
advantage here is avoiding to inadvertently introduce new behaviors (and bugs)
when we upgrade Chrome to a new version.

@nathansobo: that said, I trust your judgement on this and I am totally fine if
you insist we should give tiles an opaque background.

Also, what was your experience with larger tile sizes?

I observed that having smaller tiles doesn't have an impact on performance and,
given I primarily work on a 1920x1080 window, I arbitrarily chose 6 as the
default value. This may be too large when the screen is smaller, so I think we
can safely decrease that to 4. That said, however, I am not a huge fan of
magic constants and I would :heart: to analyze performance metrics of other
devices so that we can make a more informed decision. Is anyone on
@atom/feedback interested in trying this out? Your help would be much
appreciated! :bow:

The gutter is indeed doing a full repaint on every scroll now, but it's still pretty fast. But I bet you you could shave a bit more time if you could avoid that. It takes a little over .2ms for the full gutter repaint.

I couldn't spot any difference with how the gutter is painted on master: am
I missing anything there? Do you mean we should introduce tiling for gutter as
well in this PR?
When I first opened it, my intention was to simply let this bake for a while
after :ship:ping it, and proceed to tile the gutter after we validated the
quality of this strategy. If that sounds unnecessary, I am ok to handle line
numbers tiling here as well :+1:

I feel like I was seeing more than 6 tiles in my test. I'm curious about whether it's better to specify tile count or tile size, then just pay for more tiles if the window is taller. Not sure what the more important metric is.
As for the opaque background, thanks for exploring that. I agree that leaving it transparent for now is way easier and probably the right move to limit ripples.
I think addressing the gutter can be done in a separate PR. So basically this is looking good as soon as the tests are passing and we test it out for a bit.
Nice work as usual @as-cii. The rendering layer and Atom as a whole are much better thanks to you.

I feel like I was seeing more than 6 tiles in my test. I'm curious about whether it's better to specify tile count or tile size, then just pay for more tiles if the window is taller. Not sure what the more important metric is.

:+1:
I ended up managing tileSize as a configuration parameter, rather than an automatically calculated value (inferred from tileCount): I think it's just easier to reason about, and we save a few cycles as well.

I think addressing the gutter can be done in a separate PR. So basically this is looking good as soon as the tests are passing and we test it out for a bit.

I wrote some new specs and fixed all the failing ones as well. I think this is now ready for a test drive! :checkered_flag:

So far so good after about a day.

Hows the wrap-guide? You know the wrap-guide has to work. Muy importante.

It works fine because Chromium's GPU compositing is fast now regardless of the opacity of the tiles, so they still have transparent backgrounds and not much has to change in that respect. Major win.

Oh sweet. I was just being a jerk, but that's great.

@benogle @nathansobo: there's actually a subtle issue which affects the wrap-guide during horizontal scrolling. I have already made a PR to fix that (you can find it above this comment :point_up_2:) and ideally we should release it as soon as we release this one.

@as-cii I'd like to merge this as soon as we have a backward-compatible fix for the wrap-guide ready to go.

@nathansobo: I have narrowed the scope of the flag and renamed it as well. Please, have one last look at this as well as at https://github.com/atom/wrap-guide/pull/31.
Thank you! :bow:

Plan to merge this after the next release.

Hey @as-cii, I found a regression. When saving strips whitespace at the end of the file and forces a scroll, the cursor's position isn't being updated correctly on screen until the next cursor movement.

@nathansobo: thanks for spotting the issue! :pray: :pray: :pray:
I have fixed it in 9b4d62b: before that commit, when a change in the model caused scrollTop to change, TextEditorPresenter didn't update cursor state (which now use relative coordinates and needs to be recalculated).
My initial thought was to fix this :bug: by updating cursors right inside updateScrollTop, updateScrollLeft, etc., but those methods do not really deal with state right now and eventually I went with adding one more state update in model.onDidChange, which happen to solve the problem as well.

@atom/feedback Can anyone test this on Windows and Linux (without a VM)? I want to make sure there are no performance regressions on those platforms. It seems unlikely, but there may be difference in the GPU compositing pipeline and I just want to make sure before putting this on master.

Tested here https://github.com/atom/atom/pull/6733#issuecomment-103051316, on Ubuntu 14.04, was great!

Tested on Windows and it's working correctly.

Thanks very much @as-cii. People are really going to be happy to see scroll speed improvements.

Let's see if this helps with my #6981

@nathansobo  @as-cii  i am testing on linux 64bit.
I opened up a compiled js file , with long lings and 1.2MB.
Selection is smooth, editing is a bit laggy
Scrolling is fine until it goes to bottom.
When scrolled to bottom  part , it freeze up , taking 100% CPU and seems to be generating tiles, for 20-40 secs?
That bottom part is 1.1 mil chars , within 2 lines only.
It happens everytime when scroll back to top and bottom part again
Is it possible to move tiles generation to a worker process? I have tested with 205 and it rendered fast and fine.

Hi @v3ss0n, thank you for your feedback!
Could you please attach somewhere the file you're talking about? If it's private and you don't want to share it with everyone, it'd be awesome if you could share it via e-mail (you can find my address on my profile, https://github.com/as-cii).
Thanks a lot!

@as-cii  thanks a lot for fast response. I restarted atom and reopened, first it stop responding while atom start , and loading the file  , so i start from scratch (previously auto reload have a lot of tabs and split panes opened ). Now it rendering fine . I tested without --safe.
So only problem remain is when previous session restored , and large files are opened previously atom stop responding and  has to force close (can reproduce with --safe )
Rendering is smooth and fine , i copy / paste that file 10 times , making 11mb , and it dosen't slow down scrolling at all!
Thanks a lot for hard work , i will upload the file i testing to gist in a bit.

Here are things i've tested so far:
###Works

[x] 11 MB file
[x] More than 100k char per line
[x] Compile Javascript file
[x] Just caracters
[x] Select word , Select Line , Select Multiple line , Select all

##Fails

[ ] Reopen session with many tabs and one huge file.

This looks very interesting https://github.com/nodejs/io.js/pull/1159
I wonder if Atom could use it for heavy tasks? @nathansobo

@alexandernst That looks super interesting. Thanks for the heads up.

@nathansobo does Atom already use io.js or is it still on Node?

@ilanbiala Atom uses io.js – Electron uses it.

@ilanbiala Yep. It could take a while for this feature to get to us however since it's not even merged to master in iojs. Then it has to be released, integrated into Electron, and finally Atom has to upgrade to that version. But definitely worth keeping an eye on. It's something we could definitely make lots use of once it's available.

This may be a bit offtopic but curious.
@mnquintana atom is built using node 0.12 on my machine , is that already using IO.js ?
Atom current version is not using electron  , yet right?

@v3ss0n From what I understand atom has a packaged version. The version you have is only used to bootstrap the process.

@v3ss0n it is currently io v1.6.3 and being updated to io v2.2.1

ah i got it , it have packaged own IO.js separated from OS version ?

We have a problem with tile rendering , effecting themes with background transparency : https://github.com/v3ss0n/steam-pirate-ui
It renders tiles in more darkened color than my theme's color , i had compared it against atom version without tiled rendering. See attached.

from styling side , should i theme .lines or .tiles

Hey, awesome work on the tile rendering! I've got one problem with it, however, as it breaks my block-cursor package.
To have a block-cursor,  I used to add a (opaque) background color to the cursor element, and set its z-index to -1. That way, the cursor would render behind the text, and text would still be legible.
Now, with the new tile rendering, all the lines are inside a new element with an opaque background, so I can't render the cursor behind the lines anymore (or it would also be behind the tile, and thus invisible anyway)...
There's the option to set a very low alpha value on the cursor color, and render it in front of the text, but that way the cursor changes the text color, and it's tricky to find a value that produces a nice color and keeps text legible.

it seems we have no choice but to embrace it ? The benefits outweighs a few styling inflexibility , but i miss my beautiful theme tho .

Hmmm, I just thought that highlights might suffer from the same issue, but then I found that a highlights container is added to each tile. I wonder if this is also possible for the cursors, or would it be too much of a performance issue? Or just too much work for too little gain?

Highlights? the Highlight selected package ? or Editor's highlight?  I was too busy  these days and haven't hack atom much last 2-3 weeks.

Hmmm, I just thought that highlights might suffer from the same issue, but then I found that a highlights container is added to each tile. I wonder if this is also possible for the cursors, or would it be too much of a performance issue? Or just too much work for too little gain?

Given that tiles have an opaque background, I am afraid this is the only possible solution. Moreover, that would be consistent with how we handle highlights, as you’re pointing out. I kinda overlooked it because Atom’s default cursor works just fine as it stands in front of the tiles; the implementation will definitely bring some complexity but, ultimately, I think it’s the right way of doing it and, after all, it won’t mess things up that much.
@olmokramer: that said, what do you think about opening a brand new issue where we can keep track of this? I plan to work on it, but I’ll be traveling over the next days and I think I’ll be able to tackle it starting from the next month.

Highlights? the Highlight selected package ? or Editor's highlight?  I was too busy these days and haven't hack atom much last 2-3 weeks.

@v3ss0n: highlights are an abstraction useful to decorate markers; you can have a look at the related blog post for all the nitty-gritty details.

Thanks , interesting , i will look into it.

@as-cii Thanks! That's truly awesome :) I'll submit a new issue in the evening.


Improve: tools/vim.txt, remove irrelevant/opinionated information, add new commands

Added:

lots of new keybinds and commands
commands section

Changed:

Reorganised sections so they're in more relevant order for someone new to vim
Replaced CTRL-A syntax to <C-a> to fit the vim syntax

Removed:

.vimrc section, as it was broken and opinionated, might confuse new users reading it
plugins section, as it didn't explain how to install them and they are not included in base vim

Thanks for noticing those! Feel free to squash the commits, I'm not sure how to do so.

@Gitleptune Actually, you can squash these commit in your local compute, and force push it.
And I don't have permission, you can wait maintainer to review your PR, then merge it.


Update select "attribute" placeholders

Related to #12498
Add select placeholders:

placeholder: "Select a column"
disabled-placeholder: "Enable column"

For label-attribute and animated-attribute

🚀


net/arp: Fixing a leak when there is no pending entries left

Commit cd35742a2 missed one unref too many on pending packet which was
triggering a crash which commit 0b8434f08 tried to fix, but it generates
a leak when there is not pending entries left in arp core. Finally,
fixing what cd35742a2 should have done: removing the extra unecessary
unref after sending the pending packet.
Signed-off-by: Tomasz Bursztyka<EMAIL_ADDRESS>

Tried with telnet sample on frdm (I enabled dhcpv4 in the prj.conf), seems to work fine.


dead loop when the first block is bigger than the size retention.

found and fixed one bug when the size retention is so low that it gets deleted right after it is created so the head is not truncated and it goes into a dead loop.
https://github.com/prometheus/tsdb/commit/3677a7618afab10e0c74f34a405be59bdae2d624

LGTM. Apparently I wasn't "watching" my own fork so I fixed that now, should get notifications now.

Do we want to put these changes on the prometheus pr or on the tsdb?

I already merged this in my branch and will open a PR against the tsdb size retention PR at the end.


Option to skip checking for version

Optionally ("nocheck") avoid checking if docker version exists (dvm install). Usually we go for DVM_MIRROR_URL not just for speed, but also to avoid using a cursed proxy by all means.
Current code always calls getAvailableVersions one way or another.
This PR is just an untested suggestion.

Thank you for adding documentation on setting up and using a mirror!

This is cool for even those who aren't using mirroring! I picked what I thought was a bad version number 1.6.2 and it worked, because though it wasn't an official release in GH, the docker client URL did exist for that version.
$ dvm --debug install --nocheck=false 1.6.2
dvm install 1.6.2
Version 1.6.2 not found - try `dvm ls-remote` to browse available versions.

$ dvm --debug install --nocheck=true 1.6.2
dvm install 1.6.2
Skipping version validation!
Installing 1.6.2...
Downloading https://get.docker.com/builds/Darwin/x86_64/docker-1.6.2
Downloading https://get.docker.com/builds/Darwin/x86_64/docker-1.6.2.sha256
Downloaded Docker 1.6.2 to /Users/caro8994/src/github.com/getcarina/dvm/bin/docker/1.6.2/docker.
# output truncated
Now using Docker 1.6.2

For a true bad version, the output with --nocheck still makes sense I think.
$ dvm install --nocheck 1.6.3
Installing 1.6.3...
Unable to download https://get.docker.com/builds/Darwin/x86_64/docker-1.6.3. (Status 403)

I'll get this merged and released today.

Alrighty, this PR has been manually merged and dvm 0.6.0 released with support for --nocheck, you can get the latest version by running dvm upgrade.
Thank you for this nifty flag!

?Glad I could help :)
André de Oliveira Fernandes
Departamento de Tecnologia da Informação
Tel.:+55 (61) 3414-2120
<EMAIL_ADDRESS>
De: Carolyn Van Slyck<EMAIL_ADDRESS>Enviado: quarta-feira, 8 de junho de 2016 14:53
Para: getcarina/dvm
Cc: Andre de Oliveira Fernandes; Author
Assunto: Re: [getcarina/dvm] Option to skip checking for version (#112)
Alrighty, this PR has been manually merged and dvm 0.6.0 released with support for --nocheck, you can get the latest version by running dvm upgrade.
Thank you for this nifty flag!

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/getcarina/dvm/pull/112#issuecomment-224673940, or mute the threadhttps://github.com/notifications/unsubscribe/AFL5D-UV4JR5qVChErZosA_JIv-Z-2vUks5qJwGHgaJpZM4Il79k.

:heart:


Show comments and login button for guests

This will only work for public apps. It still shows "No Comments Yet!" for for Private apps which is not true. Must update the UI to mention when the app is private.

Storybook Hub is building storybooks for every commit in this PR.
Latest Storybook: https://c5f07ef0-db95-48d0-87a7-247ddad39e06.sbook.io/
( Visit here for more info )

This comment is automatically added by Storybook Hub

Here's how it looks:

Added a disabled textarea and a login button which I think is more visible than the first version on wider screens. Here's a screenshot:


Currently incompatible with Vintage Story 1.17

The title says it all.  😄
This is one of my must have mods so I look forward to it being updated.

Not sure what you mean the current release 3.1.2 works with the current 1.17.0-pre.3. Is there something that does not work ? some specific error you experience ?

Please try the new version 3.2.0, which is compiled against 1.17 pre3.
If you still having issues, please re-open and elaborate further what part isn't working and steps to reproduce.


Is all datasets of 4 types necessary in training?

Hi, I noticed that the training script in README.md has 4 types of data(sem_seg||refer_seg||vqa||reason_seg).
Does the training code support only training reason_seg data?
Plus, is each datasets necessary in each data type? Can I remove Mapillary in Semantic segmentation datasets?

Never Mind. I found it in code. Thanks.


help setting up

hi all. I'm running self hosted typesense on AWS via docker. I have nginx redirecting 80 and 443 traffic to locahost:8108, with SSL certificate etc.
if I visit my-domain.com/health, I get {"ok":true} back. I believe this means nginx is correctly redirecting traffic. however, when I try to trigger calls on firestore, I get this error:
{
  "textPayload": "Error: Request failed with HTTP code 404 | Server said: Not Found\n    at ApiCall._customErrorForResponse (/workspace/node_modules/typesense/lib/Typesense/ApiCall.js:378:26)\n    at ApiCall._callee$ (/workspace/node_modules/typesense/lib/Typesense/ApiCall.js:186:70)\n    at tryCatch (/workspace/node_modules/regenerator-runtime/runtime.js:63:40)\n    at Generator.invoke [as _invoke] (/workspace/node_modules/regenerator-runtime/runtime.js:293:22)\n    at Generator.next (/workspace/node_modules/regenerator-runtime/runtime.js:118:21)\n    at asyncGeneratorStep (/workspace/node_modules/@babel/runtime/helpers/asyncToGenerator.js:3:24)\n    at _next (/workspace/node_modules/@babel/runtime/helpers/asyncToGenerator.js:25:9)\n    at processTicksAndRejections (internal/process/task_queues.js:95:5)",
  "insertId": "000000-1be6577f-97bb-4c82-aa28-74f47012e713",
  "resource": {
    "type": "cloud_function",
    "labels": {
      "project_id": "modify-dev",
      "region": "us-central1",
      "function_name": "ext-firestore-typesense-search-indexToTypesenseOnFirestoreWrite"
    }
  },
  "timestamp": "2021-10-21T21:37:53.973Z",
  "severity": "ERROR",
  "labels": {
    "execution_id": "k67afrdv37p2"
  },
  "logName": "projects/modify-dev/logs/cloudfunctions.googleapis.com%2Fcloud-functions",
  "trace": "projects/modify-dev/traces/0f171f3a97592d67f6c842091303f0b5",
  "receiveTimestamp": "2021-10-21T21:38:03.542328289Z"
}

when looking at my nginx access logs, I can see that the extension does hit the server.
any ideas?

@jasonbosco yes, that worked! thanks for pointing me the right way. all I saw was the Install on Firebase button and I forgot about the rest of the instructions.

Happy to help!


Add Jacobian Coordinates for Short Weierstrass

Short Weierstrass is the most used EC form of our library. Lambdaworks should support jacobian coordinates that are faster

[ ] Add JacobianPoint in short weierstrass point.rs .Implement the IsGrouptrait, partial_eq, and add a to_affine method. Use the same API for the new function.
[ ] Add serialization functions
[ ] Add conversion with from to move from both point formats

A draft of the algorithms can be found here:
https://github.com/lambdaclass/lambdaworks/pull/619/files

I'm starting it! X)

Perfect


Makes temporary_auto_convert Case Insensitive

About this pull request
As the title above, case insensitivity for the temporary fix. Discussed briefly on discord
Changes
lower() was added where the arg name was being processed
Checklist

[x] I've checked this pull request runs on Python 3.6.X.
[ ] This adds something new.
[ ] This fixes something in Issues.

Issue:

[ ] There is/are breaking change(s).
[ ] (If required) Relavent documentation has been updated/added.
[ ] This is not a code change. (README, docs, etc.)

Sure thing, i only really considered subcommands, ill amend it now

Will this be able to pass the option of the arg to the function if the option is not all lower cause?

Isn't the dispatcher case-insensitive already? afaik the only hiccup was with the temporary fix
at least through my, limited, testing, the args pass correctly

Merging this pull request, thank you for contributing!


X.H.WallpaperSetter with PNG support?

Problem Description
I am wondering why as stated in X.H.WallpaperSetter, the background image should be JPG format.
I have read the source code and can not figure it out.
Specifically, I don't understand why jpg is used here.
-- |returns the default association list (maps name to name.jpg, non-alphanumeric characters are omitted)
defWPNames :: [WorkspaceId] -> WallpaperList
defWPNames xs = WallpaperList $ map (\x -> (x,WallpaperFix (filter isAlphaNum x++".jpg"))) xs

We can actually take the last few characters and use it as suffix. Then we can have abc.png or abc.jpg
Another question is, is it necessary to convert the image now:
-- | Gets a list of geometry rectangles and filenames, builds and sets wallpaper
applyWallpaper :: [(Rectangle, FilePath)] -> X ProcessHandle
applyWallpaper parts = do
  winset <- gets windowset
  let (vx,vy) = getVScreenDim winset
  layers <- liftIO $ mapM layerCommand parts
  let basepart ="convert -size "++show vx++"x"++show vy++" xc:black "
      endpart =" jpg:- | feh --no-xinerama --bg-tile --no-fehbg -"
      cmd = basepart ++ (concat $ intersperse " " layers) ++ endpart
  liftIO $ runCommand cmd

I believe that feh can handle that if other options are used. And it is unnecessary if the background picture is just the same size as the screen.
Checklist

[X] I've read CONTRIBUTING.md

[ ] I tested my configuration with xmonad-testing

I think you're making valid points, but there's always the concern of staying backward-compatible (not that I think a lot of people are using the module).
I say we break compatibility because it feels like a net improvement.

On Fri, Apr 16 2021 16:42, Yecine Megdiche wrote:

I think you're making valid points, but there's always the concern of
staying backward-compatible (not that I think a lot of people are
using the module).
I say we break compatibility because it feels like a net improvement.

I feel like the .jpg -> allow more img formats direction should be able
to stay backwards compatible.
I admit that I haven't looked over the code very much, but I'm not
certain that the second point holds and feh can do everything that
convert is doing right now, especially considering the modules claim:

This was especially tested with multi-head setups - if you have two
monitors and swap the workspaces, the wallpapers will be swapped too,
scaled accordingly and rotated if necessary (e.g. if you are using
your monitor rotated but only have wide wallpapers).

This was especially tested with multi-head setups - if you have two monitors and swap the workspaces, the wallpapers will be swapped too, scaled accordingly and rotated if necessary (e.g. if you are using your monitor rotated but only have wide wallpapers).
Yeah, so I agree with that. So we can change the code to support for more photo format but leave the second point alone.

On Fri, Apr 16 2021 23:21, oogeek wrote:

Yeah, so I agree with that. So we can change the code to support for
more photo format but leave the second point alone.

Sounds good to me!

On Fri, Apr 16 2021 23:21, oogeek wrote: Yeah, so I agree with that. So we can change the code to support for more photo format but leave the second point alone.
Sounds good to me!

I think it is relatively easy to fix the first point. Let me open a PR later.

Closed by #521


Document the differences in event formatting between the v1 and v2 event format.

Based of https://github.com/matrix-org/synapse/blob/master/synapse/events/utils.py#L103

LGTM


@slidy/core - prevent scroll axis crossing on touch/trackpad

With the new version of slidy/core, will it be possible to pass in sensitivity in px?
In the previous version of slidy you could pass in sensity, which worked well enough, eg:
options: {
  sensity: 6.25, // lower number is more sensitive
}

Ideally you would pass in 96 to the vertical content wrapper to prevent a horizontal slide. This is especially useful with a mousewheel, or trackpad.
Thank you for Slidy btw. One day I hope it will compete with Flickity!

Thanks for regards @inspiredlabs, maybe 😁, but in bundle size @slidy/core wins of all carousel scripts now🤓
sensity props excluded from version 3. In core you have gravity & duration for kinetic tuning.
See in example
But haven't props for preventing from scroll crossing... okey will see ) maybe it will be default defending behaviour...🤔
And version @slidy/core without indexer(), scroller() function - this variables will passing through event move on scrollable/target node in function slidy(node, options)  in progress🚀
And version<EMAIL_ADDRESS>in progress now. All styles customisation through css vars & more...
Stay tune🤓

@inspiredlabs & 1 more 😁in now development version @slidy/core allready preventing mouse wheel from scroll crossing

@inspiredlabs fixed - now on wheel event with vertical: false preventing horizontal page scroll event (nav of browser history), but have free vertical scroll page. In vertical: true mode not preventing any default browser behavior.
And with e.shiftKey both axis preventing default & Slidy sliding by indexes🤓

Brilliant, that was quick!
Please can you walk me through getting it to work on this repo?
Here's what I've done:

npm i @slidy/core in the project root following: https://www.npmjs.com/package/@slidy/core
passed in vertical: false, to <ul use:slidy={{ ... }}.
scrolled using the trackpad, see screenshot
pushed it to this repo.

Fixed but not published - i'm working on global changes in new version 🤓sorry
What's yours problem?


Logger prints unformatted strings after ComponentLogger addition

Please answer these questions before submitting a bug report.
Versions

<EMAIL_ADDRESS><EMAIL_ADDRESS>node@14

Please provide the code you used to set up the OpenTelemetry SDK
HTTP example with log level set to DEBUG works.
What did you do?
I'm running an example with HTTP instrumentation enabled. Logs show:
@opentelemetry/instrumentation-http %s instrumentation outgoingRequest http
@opentelemetry/instrumentation-http http.ClientRequest return request
@opentelemetry/instrumentation-http %s instrumentation outgoingRequest http
@opentelemetry/instrumentation-http http.ClientRequest return request
@opentelemetry/instrumentation-http %s instrumentation incomingRequest http

What did you expect to see?
Something like:
@opentelemetry/instrumentation-http outgoingRequest
@opentelemetry/instrumentation-http http.ClientRequest return request
@opentelemetry/instrumentation-http incomingRequest

Additional context
console.log only formats the first argument. Since ComponentLogger forces the first argument to now be the namespace it breaks all code that uses printf-like string formatting.
To bring back the functionality to its previous state, we should util.format the args before passing them to logProxy in DiagComponentLogger. However, that would force this behaviour on all the loggers, which I'd personally be cautious of. Unless any of the maintainers are strongly for it I'd just replace the usages of string formatting with template literals(`my log ${var}`) instead, or use util.format before passing the arguments to the logger.
Steps

[ ] Remove unnecessary tagging from logs from HTTP instrumentation;
[ ] Discussion: Should printf-like string formatting be forced to all loggers?

I just checked the usage of %s and %d in the project and it seems to be fairly easy to replace all of them with template literals. I would also vote for using template literals since it is more like idiomatic Javascript.
Let me know if you agree, then I will create a PR to fix this.

You mean to replace usages of %s and %d in the instrumentations(namely HTTP instrumentation) with template literals? I agree.

Yes, I searched in all the packages but we can change it only in instrumentation packages.

Everything that uses ComponentLogger has this problem, so, at least eventually, all of those should be changed.


Apple Store Order Status Exception Occurred

Getting an error
Error on line 266:26: Expected value of type number but got value of type undefined.
This leads to this
 context.size = new Size(width, h)
Any help in this using medium widget size

Sorry didn't find time at the moment to have a look on it.


Export docs not available

I just noticed that the export docs are not available to view as html: http://www.maatwebsite.nl/laravel-excel/docs/export

Seems to be working again, probably cached the results when Github didn't respond :)
Thanks for noticing.


TypeScript error when using with Vitest + Next.js and "skipLibCheck": false

Next.js uses "target": "es5" due to reasons described here.
So next build fails due to a type error when tinybench is present via Vitest:
../../node_modules/.pnpm/tinybench@2.1.5/node_modules/tinybench/dist/index.d.ts:254:5
Type error: Private identifiers are only available when targeting ECMAScript 2015 and higher.

  252 |  */
  253 | declare class Bench extends EventTarget {
> 254 |     #private;
      |     ^
  255 |     signal?: AbortSignal;
  256 |     warmupTime: number;
  257 |     warmupIterations: number;

I have "skipLibCheck": false, so setting "skipLibCheck": true would be a workaround, but I'd lose type safety.

Thanks for the notice! It should work now.


Could we make a DateBlock, TimeBlock and a DateTimeBlok accept a list of formats?

Formulating this as a question because I am not sure if it was a concious decision to limit a DateBlock to one single format. Maybe there is a database limitation I don't know about.
http://docs.wagtail.io/en/v2.2.2/topics/streamfield.html#dateblock
Format accepts one single format, which must be one of the formats specified in DATE_INPUT_FORMATS. But why accept just one? Why not accept a list of formats, and always pick the first one matching the input, exactly like DATE_INPUT_FORMATS. After all, this is a Block, which is used for input. Might as well accept a wildcard indicating all formats in DATE_INPUT_FORAMATS are accepted, so one does not need to repeat the whole list.

It seems wagtail uses the 'format' argument on DateInput as a restriction to which foramt may be accepted. Django however does not use 'format' as a restriction on their DateInput, but merly as an input suggestion.
At line 44 over here, wagtail uses js to correct the input agains 'format'. I think it should however correct the format agains any of the formats provided in DATE_INPUT_FORMATS. Thus against a list of formats, accepting the first match, and rejecting if none match.
https://github.com/wagtail/wagtail/blob/659a57d75faaff1d2901c078fcd0c351cab3b970/wagtail/admin/widgets.py#L44
Another limitation;  it seems wagtail uses parse_date() in DateBlock.to_python(), which only accepts yyyy-mm-dd
https://github.com/wagtail/wagtail/blob/master/wagtail/core/blocks/field_block.py#L259
Here is what Django docs say about DateInput:
https://docs.djangoproject.com/en/2.1/ref/forms/widgets/#dateinput
And here is what DjangoDocs say about DateField. Notice that here the input can be limited to a list of formats, not defined in 'format', but defined in 'input_formats', which accepts a list of formats.
https://docs.djangoproject.com/en/2.1/ref/forms/fields/#django.forms.DateField


fix: samples and tests updated

Samples fixed and updated to use the correct client library.
Integration test added.

@ikuleshov thank you for the cleanup, this is looking great.


Use the assets collection instead of files to make sure we get the right version

Previously we were using the files collection which contains all versions of all digest assets sorted chonologically. This meant that if an asset was reverted to a previous state (by git revert for instance) then the non-digest version of the asset would end up being the wrong version. See #42 for additional details on the problem.
By iterating over the assets hash instead of files we make sure that we're using the digest versions that the app considers to be "current". A nice side effect is that we also end up copying fewer files.
Fixes #42

Awesome, thanks!

My pleasure. Thanks for the useful gem, @alexspeller!

Released version 1.0.9 with these changes in


Fix all docs

About time you added yourself! :)

The title of this PR confused me at first... then I got it.
Actually, given some of the additions to sequence and lists, perhaps the docs need yet another reorg. Should everything in core-library.markdown be there, or should they be broken out into their own files like Lists and Maps?

They should be broken out into their own files. I put some time into that a while ago, but didn't get it to a point that I liked. I'll probably take another stab at it soon. Until then, at least having docs—even if on one page—is still good.


fix: appveyor windows job - python version

Why is this change necessary?

With release v0.41.0 - MSIs have version 3.7.6 as their base version.
Appveyor testing needs to reflect that.

How does it address the issue?

Appveyor test frameworks are now using python 3.7.6. The environment
variables are set according to: https://www.appveyor.com/docs/windows-images-software/

What side effects does this change have?

None

Checklist:

[ ] Write Design Document (Do I need to write a design document?)
[ ] Write unit tests
[ ] Write/update functional tests
[ ] Write/update integration tests
[x] make pr passes
[ ] Write documentation

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Don't we need to update all the windows build projects as well?


Start a specific table when PinballY loads

Saw a request on the PinballY facebook group for a script that would launch a specific table after PinballY loads. This would give the machine a "featured" table that would start after powering up. The user could exit back to PinballY to play other tables, but the default one would be auto-started.

Nice idea - I tried a version of it here...
You need to setup a category called 'startup' and add games to it - then PBY will choose one when it starts and run it.
(PBY Operator menu->Game setup->Select categories)
https://github.com/RichardL64/Visual-Pinball/blob/main/PinballY/Startup.js


Add estimatedLength for bounded queues

Adds an estimatedLength function for #23.
Since the InChan constructors are not exported, I added estimatedLength into Control.Concurrent.Chan.Unagi.Bounded.Internal and exported it in Control.Concurrent.Chan.Unagi.Bounded.

Thanks!

@jberryman any chance to have a minor hackage release with this new feature?

@qrilka Just released <IP_ADDRESS>


Cannot run Cadabra2 kernel in vscode

Environment data

VS Code version: vscode insider x64-1.59.0 in win10
Jupyter Extension version (available under the Extensions sidebar): v2021.8.1025925145
Python Extension version (available under the Extensions sidebar): v2021.6.944021595
OS (Windows | Mac | Linux distro) and version: WLS2 Ubuntu 18.04
Python and/or Anaconda version: Python 3.6
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): N/A
Jupyter server running: Local & Remote

Expected behaviour
I want to run Jupyter's cadabra2 kernel in vscode locally.
Actual behaviour
I can run it in browser, but it can't be run in vscode locally. See pictures:

Steps to reproduce:
[NOTE: Self-contained, minimal reproducing code samples are extremely helpful and will expedite addressing your issue]
I work on win10, but  cadabra2 just supports linux and mac, so I choose vscode's extension wls-remote to link windows with linux. I think this is not the key point, and you can think I work on ubuntu 18.04. The important point is how to install cadabra2-kernel, and you can see 1, 2 for more details. In fact, If we install Cadabra2 from source, we will can get cadabra2-kernel automatically as the document said.

Logs

Output for Jupyter in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Jupyter)

User belongs to experiment group 'jupyterTest'
User belongs to experiment group 'jupyterEnhancedDataViewer'
Info 2021-07-31 15:14:43: ZMQ install verified.
Info 2021-07-31 15:14:43: id is 8a496589-e6ec-4a8f-909a-bf48cf28f983
Info 2021-07-31 15:14:44: Attempting to start a server because of preload conditions ...
Info 2021-07-31 15:14:45: Attempting to start a server because of preload conditions ...
Info 2021-07-31 15:14:46: No controller, hence notebook communications cannot be initialized for editor untitled:Untitled-1.ipynb?jupyter-notebook
Info 2021-07-31 15:14:47: Setting setActiveController for untitled:Untitled-1.ipynb?jupyter-notebook
Info 2021-07-31 15:14:47: Intiailize notebook communications for editor untitled:Untitled-1.ipynb?jupyter-notebook
Info 2021-07-31 15:14:47: Resolving notebook UI Comms (resolve) for untitled:Untitled-1.ipynb?jupyter-notebook
Info 2021-07-31 15:14:47: initialize CommonMessageCoordinator
Info 2021-07-31 15:14:47: IPyWidgetMessageDispatcher.initialize
Info 2021-07-31 15:14:47: Created and initailized CommonMessageCoordinator
Info 2021-07-31 15:14:47: Attach Coordinator for untitled:Untitled-1.ipynb?jupyter-notebook
Info 2021-07-31 15:14:47: Posting message to Notebook UI
Info 2021-07-31 15:14:47: KernelProvider switched kernel to id = .jvsc74a57bd031f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6./usr/bin/python3./usr/bin/python3.-m#ipykernel_launcher
Info 2021-07-31 15:14:47: Starting Notebook in kernel.ts id = .jvsc74a57bd031f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6./usr/bin/python3./usr/bin/python3.-m#ipykernel_launcher
Info 2021-07-31 15:14:47: Creating raw notebook for untitled:Untitled-1.ipynb?jupyter-notebook
Info 2021-07-31 15:14:47: Getting preferred kernel for untitled:Untitled-1.ipynb?jupyter-notebook
Info 2021-07-31 15:14:47: Computing working directory untitled:Untitled-1.ipynb?jupyter-notebook
Info 2021-07-31 15:14:47: Connecting to raw session for untitled:Untitled-1.ipynb?jupyter-notebook with connection {"kind":"startUsingPythonInterpreter","kernelSpec":{"specFile":"/home/guowei/.local/share/jupyter/kernels/python369jvsc74a57bd031f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6/kernel.json","interpreterPath":"/usr/bin/python3","name":"python369jvsc74a57bd031f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6","argv":["python","-m","ipykernel_launcher","-f","{connection_file}"],"language":"python","path":"python","display_name":"Python 3.6.9 64-bit","metadata":{"interpreter":{"sysPrefix":"/usr","envType":"Unknown","envName":"","envPath":"","path":"/usr/bin/python3","architecture":3,"sysVersion":"3.6.9 (default, Jan 26 2021, 15:33:00) \n[GCC 8.4.0]","version":{"raw":"3.6.9","major":3,"minor":6,"patch":9,"build":[],"prerelease":["final","0"]},"displayName":"Python 3.6.9 64-bit"}},"env":{}},"interpreter":{"sysPrefix":"/usr","envType":"Unknown","envName":"","envPath":"","path":"/usr/bin/python3","architecture":3,"sysVersion":"3.6.9 (default, Jan 26 2021, 15:33:00) \n[GCC 8.4.0]","version":{"raw":"3.6.9","major":3,"minor":6,"patch":9,"build":[],"prerelease":["final","0"]},"displayName":"Python 3.6.9 64-bit"},"id":".jvsc74a57bd031f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6./usr/bin/python3./usr/bin/python3.-m#ipykernel_launcher"}
Info 2021-07-31 15:14:47: Starting raw kernel Python 3.6.9 64-bit
Info 2021-07-31 15:14:47: installMissingDependencies /usr/bin/python3
Info 2021-07-31 15:14:47: Loading kernelspec from /usr/local/share/jupyter/kernels/cadabra2/kernel.json for undefined
Info 2021-07-31 15:14:47: Loading kernelspec from /home/guowei/.local/share/jupyter/kernels/python3/kernel.json for undefined
Info 2021-07-31 15:14:49: Cached data exists getEnvironmentVariables, <No Resource>
Info 2021-07-31 15:14:49: Widget Coordinator received IPyWidgets_Ready
Info 2021-07-31 15:14:49: Find preferred kernel for untitled:Untitled-1.ipynb?jupyter-notebook with metadata {"orig_nbformat":4,"language_info":{"name":"python"}} & preferred interpreter {"sysPrefix":"/usr","envType":"Unknown","envName":"","envPath":"","path":"/usr/bin/python3","architecture":3,"sysVersion":"3.6.9 (default, Jan 26 2021, 15:33:00) \n[GCC 8.4.0]","version":{"raw":"3.6.9","major":3,"minor":6,"patch":9,"build":[],"prerelease":["final","0"]},"displayName":"Python 3.6.9 64-bit"}
Info 2021-07-31 15:14:49: findPreferredKernel score for Python3, Python 3.6.9 64-bit is 10
Info 2021-07-31 15:14:49: findPreferredKernel score for Python 3.6.9 64-bit is 20
Info 2021-07-31 15:14:49: findKernel found Python 3.6.9 64-bit
Info 2021-07-31 15:14:49: Find kernel spec, Class name = C, completed in 2590ms, has a truthy return value, Arg 1: <Uri:Untitled-1.ipynb>, Arg 2: {"orig_nbformat":4,"language_info":{"name":"python"}}, Arg 3: {"_isCancelled":false,"_emitter":{"_disposed":false,"_listeners":{"_first":{"next":{},"prev":{}},"_last":{"next":{},"prev":{}},"_size":1}}}, Return Value: {"kind":"startUsingPythonInterpreter","kernelSpec":{"specFile":"/home/guowei/.local/share/jupyter/kernels/python369jvsc74a57bd031f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6/kernel.json","interpreterPath":"/usr/bin/python3","name":"python369jvsc74a57bd031f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6","argv":["python","-m","ipykernel_launcher","-f","{connection_file}"],"language":"python","path":"python","display_name":"Python 3.6.9 64-bit","metadata":{"interpreter":{"sysPrefix":"/usr","envType":"Unknown","envName":"","envPath":"","path":"/usr/bin/python3","architecture":3,"sysVersion":"3.6.9 (default, Jan 26 2021, 15:33:00) \n[GCC 8.4.0]","version":{"raw":"3.6.9","major":3,"minor":6,"patch":9,"build":[],"prerelease":["final","0"]},"displayName":"Python 3.6.9 64-bit"}},"env":{}},"interpreter":{"sysPrefix":"/usr","envType":"Unknown","envName":"","envPath":"","path":"/usr/bin/python3","architecture":3,"sysVersion":"3.6.9 (default, Jan 26 2021, 15:33:00) \n[GCC 8.4.0]","version":{"raw":"3.6.9","major":3,"minor":6,"patch":9,"build":[],"prerelease":["final","0"]},"displayName":"Python 3.6.9 64-bit"},"id":".jvsc74a57bd031f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6./usr/bin/python3./usr/bin/python3.-m#ipykernel_launcher"}
Info 2021-07-31 15:14:49: PreferredConnection: .jvsc74a57bd031f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6./usr/bin/python3./usr/bin/python3.-m#ipykernel_launcher found for NotebookDocument: untitled:Untitled-1.ipynb?jupyter-notebook
Info 2021-07-31 15:14:49: TargetController found ID: .jvsc74a57bd031f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6./usr/bin/python3./usr/bin/python3.-m#ipykernel_launcher for document untitled:Untitled-1.ipynb?jupyter-notebook
Info 2021-07-31 15:14:49: Setting controller affinity for untitled:Untitled-1.ipynb?jupyter-notebook .jvsc74a57bd031f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6./usr/bin/python3./usr/bin/python3.-m#ipykernel_launcher
Info 2021-07-31 15:14:49: Cached data exists getEnvironmentVariables, <No Resource>
Info 2021-07-31 15:14:49: Cached data exists getEnvironmentVariables, <No Resource>
Info 2021-07-31 15:14:49: Cached data exists getEnvironmentVariables, <No Resource>
Info 2021-07-31 15:14:49: Cached data exists getEnvironmentVariables, <No Resource>
Info 2021-07-31 15:14:49: Kernel Spec for Cadabra2 ignored as we cannot find a matching interpreter {"kind":"startUsingKernelSpec","kernelSpec":{"specFile":"/usr/local/share/jupyter/kernels/cadabra2/kernel.json","name":"undefined.cadabra2_jupyter","argv":["/usr/bin/python3.6","-m","cadabra2_jupyter","-f","{connection_file}"],"language":"python","path":"/usr/bin/python3.6","display_name":"Cadabra2","metadata":{},"env":{},"interrupt_mode":"signal"},"id":".undefined.cadabra2_jupyter./usr/bin/python3.6..-m#cadabra2_jupyter"}
Info 2021-07-31 15:14:49: Kernel Spec for Cadabra2 ignored as we cannot find a matching interpreter {"kind":"startUsingKernelSpec","kernelSpec":{"specFile":"/usr/local/share/jupyter/kernels/cadabra2/kernel.json","name":"undefined.cadabra2_jupyter","argv":["/usr/bin/python3.6","-m","cadabra2_jupyter","-f","{connection_file}"],"language":"python","path":"/usr/bin/python3.6","display_name":"Cadabra2","metadata":{},"env":{},"interrupt_mode":"signal"},"id":".undefined.cadabra2_jupyter./usr/bin/python3.6..-m#cadabra2_jupyter"}
Info 2021-07-31 15:14:49: Process Execution: > /usr/bin/python3 -m pip list
> /usr/bin/python3 -m pip list
Info 2021-07-31 15:14:49: Process Execution: > /usr/bin/python3 -m pip list
> /usr/bin/python3 -m pip list
Info 2021-07-31 15:14:49: Process Execution: > /usr/bin/python3 -c "import ipykernel"
> /usr/bin/python3 -c "import ipykernel"
Info 2021-07-31 15:14:49: Process Execution: > /usr/bin/python3 -c "import ipykernel"
> /usr/bin/python3 -c "import ipykernel"
Info 2021-07-31 15:14:49: Process Execution: > /usr/bin/python3 -c "import jupyter"
> /usr/bin/python3 -c "import jupyter"
Info 2021-07-31 15:14:49: Process Execution: > /usr/bin/python3 -c "import jupyter"
> /usr/bin/python3 -c "import jupyter"
Info 2021-07-31 15:14:49: Process Execution: > /usr/bin/python3 -c "import notebook"
> /usr/bin/python3 -c "import notebook"
Info 2021-07-31 15:14:49: Process Execution: > /usr/bin/python3 -c "import notebook"
> /usr/bin/python3 -c "import notebook"
Info 2021-07-31 15:14:53: Install Missing Dependencies, Class name = E, completed in 6052ms, has a falsy return value, Return Value: undefined
Info 2021-07-31 15:14:53: Kernel launching with ports 9005,9006,9007,9008,9009. Start port is 9000
Info 2021-07-31 15:14:53: Launching kernel daemon for Python 3.6.9 64-bit # /usr/bin/python3
Info 2021-07-31 15:14:53: No custom variables for Kernel as interpreter is not conda, but is Unknown
Info 2021-07-31 15:14:54: Cached data exists getEnvironmentVariables, Untitled-1.ipynb
Info 2021-07-31 15:14:54: Creating daemon process for /usr/bin/python3 with env variables count 0
Info 2021-07-31 15:14:54: Process Execution: > /usr/bin/python3 -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_launcher_daemon -v
> /usr/bin/python3 -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_launcher_daemon -v
Info 2021-07-31 15:14:54: Process Execution: > /usr/bin/python3 -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_launcher_daemon -v
> /usr/bin/python3 -m vscode_datascience_helpers.daemon --daemon-module=vscode_datascience_helpers.kernel_launcher_daemon -v
Info 2021-07-31 15:14:54: Starting kernel from scratch with options {"cwd":"/home/guowei"}
Info 2021-07-31 15:14:54: Python Daemon (pid: 358): Execute rpc method exec_module in DS Daemon
Info 2021-07-31 15:14:54: Python Daemon (pid: 358): Execute rpc method exec_module from /usr/bin/python3
Info 2021-07-31 15:14:54: Python Daemon (pid: 358): Exec module in DS Kernel Launcher Daemon ipykernel_launcher with args ['--ip=<IP_ADDRESS>', '--stdin=9008', '--control=9006', '--hb=9005', '--Session.signature_scheme="hmac-sha256"', '--Session.key=b"19f2744c-5213-4872-9da5-1280e48b3e9f"', '--shell=9007', '--transport="tcp"', '--iopub=9009', '--f=/tmp/tmp-326hLupYSwOC8Fo.json']
Info 2021-07-31 15:14:54: Python Daemon (pid: 358): Exec in DS Kernel Launcher Daemon (observable) ipykernel_launcher with args ['--ip=<IP_ADDRESS>', '--stdin=9008', '--control=9006', '--hb=9005', '--Session.signature_scheme="hmac-sha256"', '--Session.key=b"19f2744c-5213-4872-9da5-1280e48b3e9f"', '--shell=9007', '--transport="tcp"', '--iopub=9009', '--f=/tmp/tmp-326hLupYSwOC8Fo.json']
Info 2021-07-31 15:14:54: Python Daemon (pid: 358): Exec in DS Kernel Launcher Daemon (observable) ['/usr/bin/python3', '-m', 'ipykernel_launcher', '--ip=<IP_ADDRESS>', '--stdin=9008', '--control=9006', '--hb=9005', '--Session.signature_scheme="hmac-sha256"', '--Session.key=b"19f2744c-5213-4872-9da5-1280e48b3e9f"', '--shell=9007', '--transport="tcp"', '--iopub=9009', '--f=/tmp/tmp-326hLupYSwOC8Fo.json']
Info 2021-07-31 15:14:54: Python Daemon (pid: 358): Exec in DS Kernel Launcher Daemon (observable)
Info 2021-07-31 15:14:54: Python Daemon (pid: 358): Kernel launched, with PID 360
Warn 2021-07-31 15:14:54: Python Daemon (pid: 358): Waiting for Kernel to die 360
Info 2021-07-31 15:14:54: Launching kernel daemon, Class name = f, completed in 580ms, has a truthy return value, Arg 1: <Uri:Untitled-1.ipynb>, Arg 2: "/home/guowei", Arg 3: {"specFile":"/home/guowei/.local/share/jupyter/kernels/python369jvsc74a57bd031f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6/kernel.json","interpreterPath":"/usr/bin/python3","name":"python369jvsc74a57bd031f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6","argv":["python","-m","ipykernel_launcher","--ip=<IP_ADDRESS>","--stdin=9008","--control=9006","--hb=9005","--Session.signature_scheme=\"hmac-sha256\"","--Session.key=b\"19f2744c-5213-4872-9da5-1280e48b3e9f\"","--shell=9007","--transport=\"tcp\"","--iopub=9009","--f=/tmp/tmp-326hLupYSwOC8Fo.json"],"language":"python","path":"python","display_name":"Python 3.6.9 64-bit","metadata":{"interpreter":{"sysPrefix":"/usr","envType":"Unknown","envName":"","envPath":"","path":"/usr/bin/python3","architecture":3,"sysVersion":"3.6.9 (default, Jan 26 2021, 15:33:00) \n[GCC 8.4.0]","version":{"raw":"3.6.9","major":3,"minor":6,"patch":9,"build":[],"prerelease":["final","0"]},"displayName":"Python 3.6.9 64-bit"}},"env":{}}, Arg 4: {"sysPrefix":"/usr","envType":"Unknown","envName":"","envPath":"","path":"/usr/bin/python3","architecture":3,"sysVersion":"3.6.9 (default, Jan 26 2021, 15:33:00) \n[GCC 8.4.0]","version":{"raw":"3.6.9","major":3,"minor":6,"patch":9,"build":[],"prerelease":["final","0"]},"displayName":"Python 3.6.9 64-bit"}, Return Value: <Return value cannot be serialized for logging>
Info 2021-07-31 15:14:54: Launching kernel in kernelProcess.ts, Class name = b, completed in 581ms, has a truthy return value, Arg 1: "/home/guowei", Return Value: {"proc":{"_events":{},"_eventsCount":2,"_closesNeeded":3,"_closesGot":0,"connected":false,"signalCode":null,"exitCode":null,"killed":false,"spawnfile":"/usr/bin/python3","_handle":{"pid":358},"spawnargs":["/usr/bin/python3","-m","vscode_datascience_helpers.daemon","--daemon-module=vscode_datascience_helpers.kernel_launcher_daemon","-v"],"pid":358,"stdin":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":false,"sync":true,"needReadable":false,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null,"readable":false},"_events":{},"_eventsCount":3,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":false,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stdout":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{"close":[null,null]},"_eventsCount":4,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stderr":{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{},"_eventsCount":3,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},"stdio":[{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":null,"ended":false,"endEmitted":false,"reading":false,"sync":true,"needReadable":false,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null,"readable":false},"_events":{},"_eventsCount":3,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":false,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{"close":[null,null]},"_eventsCount":4,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null},{"connecting":false,"_hadError":false,"_parent":null,"_host":null,"_readableState":{"objectMode":false,"highWaterMark":16384,"buffer":{"head":null,"tail":null,"length":0},"length":0,"pipes":[],"flowing":true,"ended":false,"endEmitted":false,"reading":true,"sync":false,"needReadable":true,"emittedReadable":false,"readableListening":false,"resumeScheduled":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"destroyed":false,"errored":null,"closed":false,"closeEmitted":false,"defaultEncoding":"utf8","awaitDrainWriters":null,"multiAwaitDrain":false,"readingMore":false,"decoder":null,"encoding":null},"_events":{},"_eventsCount":3,"_writableState":{"objectMode":false,"highWaterMark":16384,"finalCalled":false,"needDrain":false,"ending":false,"ended":false,"finished":false,"destroyed":false,"decodeStrings":false,"defaultEncoding":"utf8","length":0,"writing":false,"corked":0,"sync":true,"bufferProcessing":false,"writecb":null,"writelen":0,"afterWriteTickInfo":null,"buffered":[],"bufferedIndex":0,"allBuffers":true,"allNoop":true,"pendingcb":0,"prefinished":false,"errorEmitted":false,"emitClose":false,"autoDestroy":false,"errored":null,"closed":false,"writable":false,"closeEmitted":false},"allowHalfOpen":false,"_sockname":null,"_pendingData":null,"_pendingEncoding":"","server":null,"_server":null}]},"out":{"_isScalar":false,"observers":[],"closed":false,"isStopped":false,"hasError":false,"thrownError":null}}
Info 2021-07-31 15:14:57: Raw session started and connected
Started kernel Python 3.6.9 64-bit
Info 2021-07-31 15:14:57: Initial setup for untitled:Untitled-1.ipynb?jupyter-notebook starting ...
 User queued cell for execution
Info 2021-07-31 15:18:37: Cell Index:0, state:undefined, exec: undefined. Ready to execute
Info 2021-07-31 15:18:37: Cell Index:0, state:undefined, exec: undefined. Before Execute individual cell
Info 2021-07-31 15:18:37: Cell Index:0, state:undefined, exec: undefined. Start execution
Info 2021-07-31 15:18:37: Cell Index:0, state:3, exec: undefined. Send code for execution
Info 2021-07-31 15:18:37: Cell Index:0, state:3, exec: undefined. Wait for jupyter execution
Info 2021-07-31 15:18:37: Widget Coordinator sent IPyWidgets_mirror_execute
Info 2021-07-31 15:18:37: Posting message to Notebook UI
Info 2021-07-31 15:18:37: Widget Coordinator sent IPyWidgets_msg
Info 2021-07-31 15:18:37: Posting message to Notebook UI
Info 2021-07-31 15:18:37: Widget Coordinator sent IPyWidgets_msg
Info 2021-07-31 15:18:37: Posting message to Notebook UI
Info 2021-07-31 15:18:37: Cell Index:0, state:3, exec: undefined. Kernel switching to busy
Info 2021-07-31 15:18:37: Notebook Session status untitled:Untitled-1.ipynb?jupyter-notebook # Busy
Info 2021-07-31 15:18:37: Widget Coordinator received IPyWidgets_msg_received
Info 2021-07-31 15:18:37: Widget Coordinator sent IPyWidgets_msg
Info 2021-07-31 15:18:37: Posting message to Notebook UI
Info 2021-07-31 15:18:37: Widget Coordinator sent IPyWidgets_msg
Info 2021-07-31 15:18:37: Posting message to Notebook UI
Info 2021-07-31 15:18:37: Widget Coordinator sent IPyWidgets_msg
Info 2021-07-31 15:18:37: Posting message to Notebook UI
Info 2021-07-31 15:18:37: Cell Index:0, state:3, exec: undefined.  Kernel switching to idle
Info 2021-07-31 15:18:37: Cell Index:0, state:3, exec: 1. Jupyter execution completed
Info 2021-07-31 15:18:37: Cell Index:0, state:3, exec: 1. Completed successfully
Info 2021-07-31 15:18:37: Cell Index:0, state:3, exec: 1. Completed successfully & resolving
Info 2021-07-31 15:18:37: Notebook Session status untitled:Untitled-1.ipynb?jupyter-notebook # Idle
Info 2021-07-31 15:18:37: Cell Index:0, state:3, exec: 1. After Execute individual cell 3
Info 2021-07-31 15:18:37: Cell Index:0, state:3, exec: 1. Executed successfully in executeCell
Info 2021-07-31 15:18:37: Cell Index:0, state:3, exec: 1. Execution disposed

@dualer It looks like we haven't even picked up your base conda environment. Did you add conda to PATH when installing it on WSL?

@dualer It looks like we haven't even picked up your base conda environment. Ordinarily you need to start code from Anaconda Prompt in order for VS Code to pick up your conda environments. If you try that, or alternatively add conda to PATH when installing it on WSL, do either of those suggestions fix the problem? Otherwise, could you please provide the Jupyter output logs as well? That usually contains some information about the kernels that we are able to find.

Ok, I have added the output information above. In fact, when I use aconda to install cadabra2-kernel following the [document}(https://cadabra.science/download.html), I still can't run cadabra2-kernel, so I finally delete miniaconda, and  install cadabra2 from source directly. As the document said, I have mentioned it before, I can get cadabra2-kernel automatically after it.

From the log it looks like we did actually find your kernelspec. Not sure why it's not showing up in the kernel list. We might be incorrectly filtering it out.
Info 2021-07-11 09:45:34: Loading kernelspec from /usr/local/share/jupyter/kernels/cadabra2/kernel.json for undefined

Yes, the strange thing is that I can run cadabra2-kernel in browser, but not in vscode. So I think might be something wrong in your extension.

From the log it looks like we did actually find your kernelspec. Not sure why it's not showing up in the kernel list. We might be incorrectly filtering it out.
Info 2021-07-11 09:45:34: Loading kernelspec from /usr/local/share/jupyter/kernels/cadabra2/kernel.json for undefined

I think I should give more information: when I unlink python2 using
sudo unlink /usr/bin/python2
sudo unlink /usr/bin/python
sudo unlink /usr/bin/python2.7

and link them again using
sudo ln -s /usr/bin/python2.7 /usr/bin/python
sudo ln -s /usr/bin/python2.7 /usr/bin/python2
sudo ln -s /usr/bin/python2.7 /usr/bin/python2.7

I cannot get python2 kernel in vscode, while I can get it in vscode before. Maybe I have changed some variables in some document. This should be related to my question above.

From the log it looks like we did actually find your kernelspec. Not sure why it's not showing up in the kernel list. We might be incorrectly filtering it out.
Info 2021-07-11 09:45:34: Loading kernelspec from /usr/local/share/jupyter/kernels/cadabra2/kernel.json for undefined

I think I should give more information: when I unlink python2 using
sudo unlink /usr/bin/python2
sudo unlink /usr/bin/python
sudo unlink /usr/bin/python2.7

and link them again using
sudo ln -s /usr/bin/python2.7 /usr/bin/python
sudo ln -s /usr/bin/python2.7 /usr/bin/python2
sudo ln -s /usr/bin/python2.7 /usr/bin/python2.7

I cannot get python2 kernel in vscode, while I can get it in vscode before. Maybe I have changed some variables in some document. This should be related to my question above.

I have known what's wrong. I had deleted the link /usr/bin/python2.7 😂

@rchiodo hi rchiodo, I  don't know why you closed this issue, and this issue is still unsolved. I said I know what's wrong just means I know why vscode can't find python2 kernel instead of cadabra2 kernel. As @joyceerhl said, your extension might be incorrectly filtering it out. If you think this issue is trivial or something, please give your comment instead just close it like this.

@dualer, sorry, we assumed that you had gotten your setup working.

@dualer, sorry, we assumed that you had gotten your setup working.

Ok, never mind. Do you have any further ideas for this issue? I have spent much much time on it, but I still stop at this point and don't have any progress.

Can you do a jupyter kernelspec list --json and paste the results here? Cadabra looks to be a xeus based kernel. We actually don't support these at the moment.
We check this by looking at the arguments in the kernelspec. If it uses xpython it won't be included in the list of kernels.

Can you do a jupyter kernelspec list --json and paste the results here? Cadabra looks to be a xeus based kernel. We actually don't support these at the moment.
We check this by looking at the arguments in the kernelspec. If it uses xpython it won't be included in the list of kernels.

Ok, the result is
{
  "kernelspecs": {
    "python3": {
      "resource_dir": "/home/guowei/.local/share/jupyter/kernels/python3",
      "spec": {
        "argv": [
          "python",
          "-m",
          "ipykernel_launcher",
          "-f",
          "{connection_file}"
        ],
        "env": {},
        "display_name": "Python 3",
        "language": "python",
        "interrupt_mode": "signal",
        "metadata": {}
      }
    },
    "cadabra2": {
      "resource_dir": "/usr/local/share/jupyter/kernels/cadabra2",
      "spec": {
        "argv": [
          "/usr/bin/python3.6",
          "-m",
          "cadabra2_jupyter",
          "-f",
          "{connection_file}"
        ],
        "env": {},
        "display_name": "Cadabra2",
        "language": "python",
        "interrupt_mode": "signal",
        "metadata": {}
      }
    }
  }
}

@dualer Please could you install the latest version of VS Code Insiders & then install the latest version of the Jupyter extension (I believe this may be fixed in that version). FYI - You need VS Code Insiders 1.59 & the latest Jupyter extension from the marketplace.

@DonJayamanne  Are you sure? I have updated vscode insiders & jupyter extension to the latest version, but it still don't work, and everything‘s still the same.

Please could you upload the logs, from Jupyter output panel

Please could you upload the logs, from Jupyter output panel

I have uploaded it before, you can see it in the first post.

No worries, I believe I've identified the problem.

Ok, thanks. I look forward to it.

No worries, I believe I've identified the problem.

Ok, thanks. I look forward to it.

No worries, I believe I've identified the problem.

Ok, thanks. I look forward to it.

How to validate:

Create a kernel spec in one of the default locations with the following contents in kernelspec.json

{
  "argv": [
    "<fully qualified path to python interpreter>",
    "-m",
    "cadabra2_jupyter",
    "-f",
    "{connection_file}"
  ],
  "env": {},
  "display_name": "Cadabra2",
  "language": "python",
  "interrupt_mode": "signal",
  "metadata": {}
}

Open VS Code & confirm this kernelspec is listed in the list of kernels

All we need to ensure is this kernelspec is listed in the list of kernels (previously we wouldn't display this in the list).

Works when I launch VS Code from remote Azure ML Compute as well
here's the evidence:

I have modified /usr/local/share/jupyter/kernels/cadabra2/kernel.json  as you said, but vscode still doesn't find the cadabra2 kernel. The result of jupyter kernelspec list --json is
{
  "kernelspecs": {
    "python3": {
      "resource_dir": "/home/guowei/.local/share/jupyter/kernels/python3",
      "spec": {
        "argv": [
          "python",
          "-m",
          "ipykernel_launcher",
          "-f",
          "{connection_file}"
        ],
        "env": {},
        "display_name": "Python 3",
        "language": "python",
        "interrupt_mode": "signal",
        "metadata": {}
      }
    },
    "cadabra2": {
      "resource_dir": "/usr/local/share/jupyter/kernels/cadabra2",
      "spec": {
        "argv": [
          "/usr/bin/python3.6",
          "-m",
          "cadabra2_jupyter",
          "-f",
          "{connection_file}"
        ],
        "env": {},
        "display_name": "Cadabra2",
        "language": "python",
        "interrupt_mode": "signal",
        "metadata": {}
      }
    }
  }
}

@dualer apologies, those comments were for our internal engineers to test this out.
If you'd like to get the fix, please install VS Code insiders (isntead of stable) & you'll get the fix. The fix will be officially released in the next release of the extension (insiders versions of VS Code automatically get the latest development build of our extension).

@DonJayamanne That's all right. I have updated insider to the latest version, but I still cannot get the right result. Look forward to your further information or progress.

@dualer I'm sorry to hear that, thanks a lot for helping with the validation.
Please could you try this once again (VS Code insiders) & send the logs from the Jupyter output panel.

@DonJayamanne I have updated the output of jupyter above. I have noticed jupyter reported some error messages as follows

Maybe this is the key point.

That shouldn't matter

I have uploaded the logs of jupyter again.

I have noticed the folllowing info:
Info 2021-07-31 15:14:49: Kernel Spec for Cadabra2 ignored as we cannot find a matching interpreter {"kind":"startUsingKernelSpec","kernelSpec":{"specFile":"/usr/local/share/jupyter/kernels/cadabra2/kernel.json","name":"undefined.cadabra2_jupyter","argv":["/usr/bin/python3.6","-m","cadabra2_jupyter","-f","{connection_file}"],"language":"python","path":"/usr/bin/python3.6","display_name":"Cadabra2","metadata":{},"env":{},"interrupt_mode":"signal"},"id":".undefined.cadabra2_jupyter./usr/bin/python3.6..-m#cadabra2_jupyter"}

This should be  the point where it went wrong.

Thanks for the information.
Please could you  confirm the interpreter is display in the Python interpreter quick pick,.
To get that list, open a python file, and on the bottom left of the statusbar you'll see the details of the Python interpreter display.
Next please check whether the interpreter /usr/bin/python3.6 exists in that list.

The result is

Hmmm, ok the problem is its /usr/bin/python3 and not /usr/bin/python3.6.
Thanks I'll fix this at our end.

ok wait for your good news

@dualer does this now work in VS Code insiders?

Ok, It works. Thanks for your work.


[AutoRelease] t2-eventgrid-2023-05-16-14575(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/4166
Live test fail, detailed info is in pipeline log(search keyword FAILED)!!!
https://dev.azure.com/azure-sdk/internal/_build?definitionId=993
BuildTargetingString
azure-mgmt-eventgrid
Skip.CreateApiReview
true

issue link:https://github.com/Azure/sdk-release-request/issues/4166

/check-enforcer override


Facet Collector is deterministic but in presence of a tie, choses the top facet using a non-trivial rule.

low priority bug. (yeah those are rare)
When collection top K facets and in presence of a tie, we rely on the fact that facets are appended sorted by their "facet path" to solve ties elegantly : the first element of a tie with the tie count wins.
The problems with this method is that if the tie happens within the first k elements, (10, /facet/a) vs (10, /facet/b), 10 ends being the min count,   and we happen an element with higher count (11, /facet/c), the logic that decides whether   /facet/a or  /facet/b will be removed from the top K, while deterministic, might remove either /facet/a or /facet/b. From the user perspective, we would like to keep /facet/a to keep the well-defined logic :
we return the top 10 facets, and in case of tie we keep the first according to the lexicographical order.

I am a bit new to Rust, would like to contribute to this issue. seems like I can change the implementation of Ord trait of Hit in order to support order by count and in case of a tie - order by facet.


I have already set up glslang when building VSG, why do I still encounter errors?

This is a VSG Issue rather than a vsgQt one, why are you posting this here?
As for the Issue itself, could it be that you have an version of glslang that is too old? i.e. older than 14.0?


[stable/node-problem-detector] Add priority class

Signed-off-by: Robert Sheehy<EMAIL_ADDRESS>What this PR does / why we need it:
We run node-problem-detector as a part of our infrastructure and we'd like to give its pods priority when being scheduled onto nodes.
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

/assign @max-rocket-internet

/assign @max-rocket-internet

/lgtm


Use "reflections" with Java 11 or higher

Hello!
First things first: Thanks for creating such an awesome lib!
I'm trying to use "reflections" with Java 11, but it seems there is no "module-info.java" file. I've tried to adopt the lib for using with Java 11 and made this pull request (https://github.com/ronmamo/reflections/pull/305), but it has failed on Travis CI.
Please, can anyone point me the right way of doing this, because this is my very first time when I'm trying to contribute to any project :)
Thanks again!
David

thanks @DavidShahbazyan , saw your pr and I'd like to merge it. if you wish to discuss or some guidance, feel free to reach out ronmamo at gmail

Hi, I have the problem with Java 17 reflect.getTypesAnnotatedWith(..) don't give me any result anymore. Can you please tell me how Reflections work with Java modules?
Thanks

Hi, I have the problem with Java 17 reflect.getTypesAnnotatedWith(..) don't give me any result anymore, if I use it with package name. With ClasspathHelper.forClass(..) it works. Can you please tell me how Reflections work with Java modules and packages? Thanks

@zetti12345 Have you found solution?

I have the same problem with modular app and OpenJDK 21.
Workaround: ```
var reflections = new Reflections(new ConfigurationBuilder()
.setUrls(ClasspathHelper.forClass(Control.class)));
is working fine for me, but searching types by package returns empty results.


Update CornerRadius property on NavigationViewItem, PivotHeaderItem and ScrollBar

Update following controls to make sure CornerRadius property does the right thing.

NavigationViewItem
PivotHeaderItem
ScrollViewer
ScrollBar

Can we add test coverage for these changes? Even if the test is just to navigate to a Page the contains these controls to ensure that the template can be applied without crashing. Or do we already have such a test?