GUI element to set layer transforms (scale/ translate)

🚀 Feature
Layer transforms - in particular scale and translate should be settable via GUI elements
Motivation
GUI users want to be able to set layer scale and translate too.
Pitch
There should be some dialog, combobox/ textbox? that allows the properties of the layer transforms to be set. these include scale and translate, but could also include rotation, shear, or a full affine
Alternatives
These are only settable via the API, which limits GUI users
Additional context
Curious which layer transform properties need to be exposed? Is it just scale/ translate - or also rotation, shear, affine etc. What do @jni @andy-sweet @JoOkuma and others think?
Maybe this is something @isabela-pf can begin some design work for and then @ppwadhwa could implement when we have a design

from @tlambert03 in zulip

my first thought of a place for it is:

a new item in the layerlist context menu. right-click and it brings up a widget to modify the affine info
an as-of-yet-uncreated Layer menu, that would provide similar access to all of the stuff in the context menu. (let's start with the context menu maybe, will be easy to add there later)

I'm in favor of exposing only scale, translation, and maybe rotation. From my experience shear and affine are more complex and are usually computed programmatically.

Yeah, I'll flag I think the most challenging aspect of this design will be how to handle the "nD" data case. Do we want one combobox per axis? Can we use a simple QForm? Does the ideal solution for dim < 5 look different then ideal dim >= 5 (h/t @tlambert03). Just some questions that aren't clear to me

Thanks for the @! I'm totally unfamiliar with this part of napari, so I've been reading the docs to get a better sense of layers and these transformations. I first have some questions to make sure I'm working in the right direction.

In the pitch, @sofroniewn mentioned that

There should be some dialog, combobox/ textbox?

Is there a reason this needs to be outside of the layer controls (maybe the "nD" case you mentioned above where it could make the layer controls very long)? My early thoughts are that a combobox in the layer controls might be a good fit.

Do these parameters exist with some kind of null value before a user decides to transform it, or does the parameter get added to a layer once a user chooses so? I think this might determine whether this UI is persistent or if it only appears once it belongs to the layer?
Scale and rotate seem to have operations per dimension of the image. Does translation operate the same? (If so, it isn't mentioned in the layers API reference.)
Translated layers are translated relative to other layers (as mentioned in the image layer tutorial). Is there a unit that's important to these relative distances?

P.S. if anyone wants to show off their super cool layer transformations or something I'd be happy to schedule time to watch how people use this in the wild.

2. Do these parameters exist with some kind of null value before a user decides to transform it, or does the parameter get added to a layer once a user chooses so?

They get default identity-like values if they are not specified. E.g. image = Image(np.ones((64, 128)) will create a 2D image layer where image.translate == [0, 0] and image.scale == [1, 1].

3. Scale and rotate seem to have operations per dimension of the image. Does translation operate the same?

Yes, there's a translation value per dimension.

4. Translated layers are translated relative to other layers (as mentioned in the image layer tutorial). Is there a unit that's important to these relative distances?

No units (yet). The translations are actually relative to a fixed origin that all layers share - each layer's translation values kind of specifies an origin for that layer. But you can set those values to describe relative translations between layers.
@isabela-pf : I also highly recommend running napari examples/interaction_box_image.py , which should give a familiar graphical interaction scheme (e.g. powerpoint) for translating, scaling, and rotating a layer (in this case an image layer).

Is there a reason this needs to be outside of the layer controls (maybe the "nD" case you mentioned above where it could make the layer controls very long)? My early thoughts are that a combobox in the layer controls might be a good fit.

Yeah my fear here is that the layer controls will just get too long and crowded. This is also functionality that will work with all of our layer types. We might need a new "transform widget"

@MBPhys has done some cool work on cropping/ adjusting scales/ translates here https://www.napari-hub.org/plugins/napari-nd-cropper we should maybe think about folding this into core or make people aware of this. See the widget on the right. It scales to nD too I think - @MBPhys let me know what you think

In this comment, I have two things I’m proposing UI for:

the new UI needed for translate and scale specifically
an updated UI for layer controls (to better accommodate an increasing number of layer controls appearing in the viewer)

1. translate and scale UI
Full disclosure, this is the part I’m least confident in. I’ve read what I think are the attributes of each on the API reference. I also referenced the screenshot of @MBPhys’ plugin posted above for translate.
I expect I’ve missed (or misunderstood) something along the way, though, so please let me know what else I should be accounting for.
translate
As far as I can tell, this has two properties (is there a more accurate word for this?) to account for.
First, a translation value per image dimension (three shown here) as a drop down combo box. This means users may manually type in a value, or select from standard values. I felt like this allowed for the same amount of control as the sliders pictured above, but would also show a range of valid values without needing to move a slider to both extremes.

Second is type. Type is a standard drop down. I do not know what options go in here at all; I chose a drop down because the options sounded discrete.

scale
The only value I found for scale was the scale factor. I matched this pattern to an existing UI I found in the default labels layer controls. Like its inspiration, numbers can be typed in manually as well as manipulated to whole numbers with the plus and minus buttons.

2. layer controls more broadly
Quick notes that apply to all layer controls mockups:

All options maintain the current behavior of operating on the layer selected in the layer list.
Any options with icons have quick placeholder icons. If we end up wanting an approach to use icons, I’ll actually put time into those then.

Tabs
Perhaps the most familiar option, this adds a list of layer controls as icons to a sidebar. I do expect we’d need some kind of overflow section for this long term. All layer controls available for that layer could appear by default.
https://user-images.githubusercontent.com/50221806/152449354-c941e5cb-51a0-427f-8c0e-8d4445d63cae.mov
Drop down
Instead of making space on the UI for the many layer controls I expect will eventually become available in the viewer, you could switch controls via a drop down. This is similar to the Adobe workspace switcher we discussed at one of the community meetings (example shown from InDesign):

This might scale better in terms of UI real estate since drop downs often have a scroll, or even a search to accommodate long lists.
https://user-images.githubusercontent.com/50221806/152449371-578dcdaf-43ec-4240-85a9-2ff91b24396f.mov
“Add layer control”
This version is a list of layer controls that can be expanded/collapsed. The key change is that not all layer controls are visible in the list by default. Users add layer controls they want to see for that layer by searching and selecting in the top input box.
https://user-images.githubusercontent.com/50221806/152449464-8ccc26f8-4680-41d7-baa0-7b56ff3e345b.mov
This behavior was inspired by Adobe AfterEffects, where all components on screen have a set of (very many) default properties that do not appear on screen until the user chooses to either expand that component or edit that property any way. I think this can reduce the cognitive load of having so many options on a screen by default by prioritizing what the user is actually working with.

All layer controls would still be discoverable because they appear in the input box list.
To avoid users having to add a control one-by-one, we may want to have an add all layer controls option (or something similar).

I got feedback on the above proposal at one of the community meetings. Here's a summary:
Decisions made

For all layer control options with a numerical value, make them spinboxes
Use the tabs approach for layer controls!
Group related layer controls in tabs (instead of having tabs per control)(more on this in the future, as these groups are not yet documented)

Next steps

Determine which controls/groupings need to be available for each of the seven layer types
Come up with UX for reordering tabs and popping out the tabs as their own windows
Provide mockups for more detailed interactions (like the more tab to account for overflow)(self-assigned)
Possibly have a schema for what types of values correspond to what types of UI a la QForm? (this isn't something I personally have the knowledge to do, but would impact these designs)

@sofroniewn
Thanks. This would be cool in core:) Just for clarification
There a two plugins:

nd-cropper with four modes seeing the attached video

https://user-images.githubusercontent.com/83079938/152886129-6f1e942b-4cca-4ed4-82d3-a6464ffa6ad5.mp4
This works in nd for all modes except the interaction box.
Perhaps, we can update this into the nd-space in the future.
The nd-cropper works in data-space

Partial-Aligner
This plugin is created in order to affine transform images and parts of images just in 2D and 3D. This enables affine registration of images and deformable registration via selecting just parts of images (look at the Readme and the attached videos)
For 2D, we have also a Drag&Drop solution seeing attached video
Furthermore there are two modes, too: 1. With Slider, 2. Absolute values (Spinbox) and we record the values for each layer. The user can switch between the two modes very intuitively.
We added this, because we noticed and got feedback that a slider itself is too difficult to control for only very small translations/scales/... for instance

https://user-images.githubusercontent.com/83079938/152887745-edbe4db6-3aab-4108-b875-0257fe4e1c3b.mp4
https://user-images.githubusercontent.com/83079938/152887750-3dedbc65-1607-43a1-bf9e-cd892bea6902.mp4
All this happens in the world space.
In order to convert the world to the data space, I wrote the World2Data plugin.
I think napari makes it very good to push unique the data representation with the metadata to a world space (where image registrations lives, too) and separate the underlying data into a data space.
Nonetheless my expression was in the past that many peoples, who are not so familiar with this concept, are very confused unfortunately... Therefore I think, it is a very good idea @sofroniewn to make people aware of this and show the people the advantages of this. Do I understand this here correctly @sofroniewn?
This means that the Partial-Aligner do not fit to the nd-space, since shear/rotations will be very complex in nd and was not necessary for our and other real-life applications.
However I think that there are no problem to just extend the translation/scale to nd.
In my opinion, there should be two modes for the users (SpinBox and Sliders) selecting by own preferences and their related tasks
@isabela-pf I love your solution and layout :smiley: Very beautiful.
To add a mode with a slider should not be very complicated, or?
What do you think about? Is this a opportunity?

To add a mode with a slider should not be very complicated, or?

I think a slider works fine. I think you'd know better than I what the most useful interaction is, so I'll defer to your advice. Thanks for asking @MBPhys!
What I showed was me thinking that sliders seem like they don't allow for quite the degree of fine-tuning that some of the other options have, but based on how many are currently in napari viewer and your plugin, I think it's the best option here.

@ppwadhwa that sounds correct to me! I have some time freed up from bundled app issues, so I will put it on my list to make some more relevant mockups incorporating the latest feedback. I think this will make will make it clear how we want scale and transform to be represented specifically.

Hi there, I gave this a check and started exploring for the scale attribute adding a slider/spinbox per value in the scale attribute over the layer controls. The controls could look something like the following:

Using QDoubleSpinBox:

Using QLabeledDoubleSlider:

Where the label before the spinbox/slider widget marks the dimension the scale value affects.
Also, my guess is that a similar approach can be used to create controls for the translate property?

Hi there, thinking again about this, maybe adding a button for the Transform mode could help too? I think the mode is already accesible via keybindings so maybe having it as an actual button could be useful? For example, with an image layer which transform mode is activated pressing 2, you could have something like:

Using API you could easily reset view. Interface should also allow reset transforms.

I like the idea of a way to activate transform mode from the GUI--I bet a lot of people don't know it exists.
Not sure every layer needs its own button vs. a viewer button at the bottom? 🤔  Not sure there's room really.
But maybe in the layer controls is better, since most of the other layers already have the double-arrow for Pan/Zoom...

Using API you could easily reset view. Interface should also allow reset transforms.

Maybe having then the button but also a control? So, using as an example the scale attribute from the affine transform:

Not sure every layer needs its own button vs. a viewer button at the bottom? 🤔

Since the button activates a mode and also the given shortcut is the last number in the sequence from the modes a layer offers, probably makes sense to put it over the layer controls around the buttons for changing modes. For example, over a Shapes layer (where the transform mode is activated with 7 via keyboard) you could see something like:

Also, seems like the transform mode uses the layer affine attribute (physical2world transform) while the individual layer attributes like scale, translate, etc use the data2physical transform. I don't really know the difference between using one or the other 😅 but probably something to check

Can't say I love the scale sliders in the layer controls -- feel like something that should be in its own widget and more thought as to how to expose?
I think the first step would be a button to activate the transform mode.
And then some way to reset the transforms -- maybe Alt-click the butto -- with a confirmation dialog? 😬

I can't say I love the scale sliders in the layer controls -- feel like something that should be in its own widget and more thought as to how to expose?

Something to further think about for sure :+1:

I think the first step would be a button to activate the transform mode.

Makes sense to me :+1:

And then some way to reset the transforms -- maybe Alt-click the butto -- with a confirmation dialog? 😬

I thought about a similar idea, although more like a right-click or something that shows the pop up with the reset option. So something like:

Will try to explore the alt-click idea too :+1:

Also, seems like the transform mode uses the layer affine attribute (physical2world transform) while the individual layer attributes like scale, translate, etc use the data2physical transform. I don't really know the difference between using one or the other 😅 but probably something to check

The intent was to separate out the transforms associated with the pixel/sample space (data2physical, similar to ITK's spacing) and then a transform applied on top of that (physical2world) which might align on image with another.
In the long term, I think napari could benefit from a more flexible approach allowing any chain of transforms (including 0 or 1 transforms), but that asks more complicated design questions too.

yeah, one thing I will say is that these shouldn't be "always on" in the layer controls, because e.g. you could have a 5D image so that's a lot of vertical space when you account for scale, translate, and rotate.
This could be something that uses @andy-sweet's metadata plugin and is included in builtins, perhaps — that is, it opens in a new side panel rather than be part of the standard controls. Either that or it's a collapsible section, I guess. Either way, it's going to be tricky to make the layout look good and be flexible for any number of dimensions...

Just in case, some further exploration of the transform mode button idea using an alt-click/right-click to show a way to reset the transform. Checked with a popup and a dialog showing both a similar set of reset buttons (for scale, rotate and translate properties as well as a full reset):

Popup

Dialog

I like the contextual style menu a lot better than the floating dialog.
I think that looks pretty good. I think if it's to make a menu, it should be a right-click. This is just the most intuitive thing for a contextual menu.
The other option is a simple option-click the button to reset everything -- boom!
Either way I think the first pass should be to expose the layer transform mode in the layer tools (analogous to the keybinds being in each layer) and then we can think about enabling more granular widgets that let you use a slider or such to control the rotation, vs. just rotating stuff.

The other option is a simple option-click the button to reset everything -- boom!

Oh I think I now understand the dialog idea you had! So showing after and alt-click something like:

right?

Either way I think the first pass should be to expose the layer transform mode in the layer tools (analogous to the keybinds being in each layer) and then we can think about enabling more granular widgets that let you use a slider or such to control the rotation, vs. just rotating stuff.
I do think this is pretty high value stuff for people working with multiple modalities of the same "stuff".

Will try opening a PR adding the transform mode button then :+1: Not totally sure if there are any other ideas for the reset behavior besides the alt-click with dialog confirmation or righ-click popup with reset buttons or option-click full reset (and probably worthy to note that it's possible to have all of those alternatives at the same time too) so maybe doing some more exploration over that could be worthy

Just to clarify, the pan-zoom icon is not the proposed final icon for transform? I find it too overloaded. Having said that I'm not finding a great one. swap? rotate? expand? rotate inside an expand?

Yeah, that's basically it @dalthviz as a simpler alternative.
And 💯 with @jni that there needs to be a good icon for transform mode.
Here's a couple I saw:
https://fontawesome.com/icons/group-arrows-rotate?f=classic&s=solid
(and related)
the pivot table ones (lol) kinda look like resize and rotate:
https://fontawesome.com/icons/table-pivot?f=classic&s=duotone

Hi there! The most common icon I have seen used for transform features is similar to the one we currently use for adding a rectangle on a shape layer (rectangle with vertices marked). Keeping something that references the handles in the transform controls would be my recommendation, but I think it will be a balance to differentiate it from the existing rectangle icon.
My first proposal is branching from the previously mentioned expand icon, adding the handles back in for transforms, and turning it on its side to reference the rotation element.

And here it is in @dalthviz’s image from above (thank you for that!) to see it in context.

Let me know if this seems like the right idea or not. I’ll export it as a proper SVG when we make a decision.

I like that, it's simple. Being a diamond evokes rotation to me.

I got some feedback off the issue and want to throw another potential icon into the ring. This one is built from existing iconography, but it distinguishes itself from the add rectangle by including the cursor. If matching the existing icons is the greatest priority, I'd recommend this version.

And here it is in @dalthviz’s image again to see it in context.

Ooo! I like that one too, the cursor indicates interaction!

Thanks @isabela-pf for bring up more options! From my side both icons look nice but indeed the second one kind resembles more how other icons available look (in fact I would say it reminds me the buttons in the Shapes layer) :thinking:
Just in case, here a preview to contrast icons when you have a Shapes layer:

Option
Preview

Maybe we should link this over Zulip or some other place to get more feedback?

More feedback is definitely a good idea.
I do love the 2nd icon, but it strikes me now that the other icons with the arrow affect individual shapes, while the new one affects the layer. So it's a bit tricky. I wonder if we should give those layer-mode icons a different tint or something?

More feedback is definitely a good idea.

:+1:

I do love the 2nd icon, but it strikes me now that the other icons with the arrow affect individual shapes, while the new one affects the layer. So it's a bit tricky. I wonder if we should give those layer-mode icons a different tint or something?

That's a good point, kind of tricky indeed 🤔 Maybe the tint you mention could be linked with the highlight color? The modes available that affect individual shapes use the highlight color while the transform mode doesn't (and the box to do the transformation differs also using squares instead of circles for the handles):

Also, after thinking for a while what about merging the two icons? So something like:

Maybe in that way the button can differenciate enough to not give a wrong idea (like the button affects a single shape/item) and still preserve some level of match with current icons available?

I like that! It makes it looks like like the pointer is over a shape.
What if we kept the diamond orientation? 🤔

What if we kept the diamond orientation? 🤔

Maybe something like one of these?:

I'm not totally sure how to handle the lines superposition 😅

1 or 2 for me, maybe small preference to 2?

What do you think @isabela-pf ? Maybe there is a better way to handle lines superposition for a merge between the two initial icons suggested (the diamond shape one + a pointer)?
Also, just in case, a summary of the options that have been created until now:

1
2
3
4
5
6

Seeing all options shared up to this moment, I would say I lean towards (5):

I'd vote 5 as well. 2 looks too much like shape manipulation, rather than layer manipulation. Ironically it's more evocative than the existing shape selection tool icon...

Thanks for spelling this out so clearly, @dalthviz! I think I'd vote for 3 or 5 based on what you have above. I still like those the best and do think they have enough difference in design as well as having different tool tips.

If we are still worried about the square shape looking too close to the Add Rectangle and the rotated square looking too close to Add Ellipses, we can also squash the layer to get a different shape and imply it's on the layer level since this is not used elsewhere. It would look like the following.

I do want to reiterate I think 3 and 5 are still good options.

I like 5 the best. I appreciate the suggestion @isabela-pf but to me the squished shape looks like it's a bug in the rendering, ie it was square and it's gotten squished on its way to the UI. 😂

Just a quick +1 here for number 5.

But it's supposed to be squished because in transform mode you can squish your layers!!

@psobolewskiPhD that transformation is actually an axis-aligned scaling plus a shear — can the transform interaction box actually do shear? I see no indication of that in the above. In which case, it's actually misleading. 😉
I don't think you need to encode all possible transforms in the logo, only the possibility of a transform.

Although option 5 seems like the prefered one, as a summary of the comments above, I would say these are now the possible options:

3
5
7

Also, thinking about the new squished version suggested by @isabela-pf (thanks for that!), we could potencially have an icon per state of the button. So, for example, one icon when is unchecked and another icon when is checked. As an illustration, without using the actual icons but to give an idea of the behavior:

Maybe we could use for the unchecked state option 5 and for the checked state option 7 (the squished version), or maybe some other combination? Not sure if that could add some unnecesary complexity and we just should go ahead and use option 5 but sharing the idea just in case :)

Maybe we could use for the unchecked state option 5 and for the checked state option 7 (the squished version),

This is a good idea to point out! While this is something that some interfaces definitely do, off the top of my head I can't think of precedent for this in the viewer. Because of this, I still think I'd recommend picking one. These icons will stay on this issue if we change out mind later. I'm good with 5!

The icon switch is cute but for now confusing. In fact we do have one more icon that does this, the ndisplay (2D or 3D) button in the viewer — and I find it confusing as heck. 😂 Because the button shows what you would change to if you clicked it, rather than the current state. I'm thinking maybe we should change that to a toggle, with the square/cube icons on either side.
But, that's beside the point — point is, let's not do dynamic icons for now, but thanks for the idea! It could be part of a bigger overhaul in the future.

Thanks for all the feedback! Then I think option 5 it is :) will check with @isabela-pf the SVG file for the icon so we can add it to #6794

I've cleaned up option 5 and made it to size of the other SVG napari icons. Let me know if there's any issues or changes needed. Thank you all for you feedback!

(Yes, it looks like it was made for ants when previewed. 😆)


0.6.6 source branch/ tag missing

The jetbrains plugin marketplace versions show 0.6.6 available but there is no corresponding branch/ tag on repository.
Can you please push/ link source where that is?

Not in use, Official plug-in released


Feature ref system

This is untested on the makefile. It should be alright, but who knows. Not sure if the read/write functions are what yall wanted, but it can easily be adjusted.

File structure is bonked, one moment

Do we still want this open to get reviewed and merged?

Do we still want this open to get reviewed and merged?

Soon tm


docs: readme changes

Codecov Report

Merging #40 (4beaf10) into develop (fc4eb69) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop      #40   +/-   ##
==========================================
  Coverage      61.36%   61.36%
  Complexity        20       20
==========================================
  Files             10       10
  Lines             44       44
==========================================
  Hits              27       27
  Misses            17       17


formParam doesn't work with application/x-www-form-urlencoded content type when POST

When Post, formParam doesn't work with content-type application/x-www-form-urlencoded. If change to queryParam, it works. When calling same API with postman, it is in the body. Does this mean rest-assured only supports queryParam(), not formParam when trying to POST  a form with content-type application/x-www-form-urlencoded?

I think this is related to my http proxy, so close it.


generating own CA for AWS IoT and using with subscribe_publish

hi
I followed above this link provided by AWS IoT. I am able to produce all certificates as following image.

and I have registered CA(rootCA.pem) and Certificate(verificationCert.csr) on AWS IoT after that also generated deviceCert.csr and registered over AWS IoT and attach policy and thing. but I am not sure which files to use? and what format. I can conver t deviceCert.csr to .crt and rename deviceCert.key to private.pem.key and rootCA.pem to aws-root-ca.pem but it does not work.
out of these which files to use and what format how do I get those formats from this?
I get this
I (1462) wifi: connected with UNICORN, channel 1
I (2182) event: ip: <IP_ADDRESS>, mask: <IP_ADDRESS>, gw: <IP_ADDRESS>
I (2182) subpub: Connecting to AWS...
E (4182) aws_iot: failed! mbedtls_ssl_handshake returned -0x2700
E (4182) aws_iot:     Unable to verify the server's certificate.
E (4192) subpub: Error(-4) connecting to aofdwnij85jbh.iot.ap-southeast-1.amazonaws.com:8883
E (6402) aws_iot: failed! mbedtls_ssl_handshake returned -0x2700
E (6402) aws_iot:     Unable to verify the server's certificate.
E (6412) subpub: Error(-4) connecting to aofdwnij85jbh.iot.ap-southeast-1.amazonaws.com:8883
E (8462) aws_iot: failed! mbedtls_ssl_handshake returned -0x2700
E (8462) aws_iot:     Unable to verify the server's certificate.
E (8472) subpub: Error(-4) connecting to aofdwnij85jbh.iot.ap-southeast-1.amazonaws.com:8883
E (10542) aws_iot: failed! mbedtls_ssl_handshake returned -0x2700
E (10542) aws_iot:     Unable to verify the server's certificate.
E (10552) subpub: Error(-4) connecting to aofdwnij85jbh.iot.ap-southeast-1.amazonaws.com:8883
I (11442) wifi: pm start, type:0

I noticed that you asked this question simultaneously on the forums:
https://esp32.com/viewtopic.php?f=2&t=3832
I'm going to reply to you there instead of here, as I don't think this is an issue in ESP-IDF itself.


Can't find bindings for "Linux 64-bit with Node.js 14.x"

NPM version (npm -v): 6.14.8
Node version (node -v): v14.13.0 (https://hub.docker.com/_/node node:latest)
Node Process (node -p process.versions):

{
  node: '14.13.0',
  v8: '8.4.371.19-node.16',
  uv: '1.40.0',
  zlib: '1.2.11',
  brotli: '1.0.9',
  ares: '1.16.1',
  modules: '83',
  nghttp2: '1.41.0',
  napi: '7',
  llhttp: '2.1.2',
  openssl: '1.1.1g',
  cldr: '37.0',
  icu: '67.1',
  tz: '2020a',
  unicode: '13.0'
}

Node Platform (node -p process.platform): linux
Node architecture (node -p process.arch): x64
node-sass version (node -p "require('node-sass').info"): unknown.  Assuming

node-sass       4.14.1  (Wrapper)       [JavaScript]
libsass         3.5.5   (Sass Compiler) [C/C++]

npm node-sass versions (npm ls node-sass): └──<EMAIL_ADDRESS>
I am building my code using a GitLab Runner, with the Docker executer using node:latest.  I don't have the ability to run the commands listed ^ on the GitLab Runner, so I just ran the commands with docker run -t -i node:latest bash.
Every so often, when building node-sass I get the following errors:
ModuleBuildError: Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
Error: Missing binding /builds/wingops/a/b/node_modules/node-sass/vendor/linux-x64-83/binding.node
Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 14.x
Found bindings for the following environments:
  - Linux/musl 64-bit with Node.js 14.x
This usually happens because your environment has changed since running `npm install`.
Run `npm rebuild node-sass` to download the binding for your current environment.

.  I have seen similar issues while researching, but all the solutions involve running npm rebuild node-sass, which cannot be done.
Is there a way to get node-sass to compile with node:latest?  If not, is there a fork of node:latest with the musl bindings I need?

No, you can't build one platform (Debian for the latest tag) then pass the node_modules to an Alpine container to execute. You'd need to build on node:alpine (or a more specific tag) if you're passing the results one to an alpine image after

Thanks!  I don't think I'm doing that.  The GitLab Runner is running on an Ubuntu Server machine, and the runners are based off ubuntu/debian too.

Linux/musl 64-bit with Node.js 14.x

Sorry, I have that reversed. Somewhere you are sharing the node_modules from an Alpine image and trying to run it on your Debian machine

Interesting.  And how did you come to that conclusion?  Are the musl headers only in Alpine by default?  How could this be if I'm running node:latest inside GitLab Runner inside Ubuntu server?

My guess is based on the error message saying it found an Alpine binary when it went to install. We can't really help you troubleshoot your individual CI setup though


Running dotnet 7 on wine inside docker container

Description
dotnet fails with message
13c:err:virtual:virtual_setup_exception stack overflow 2576 bytes addr 0x170058a72 stack 0x205f0 (0x20000-0x21000-0x1a0000)
when I run it with an error.
I unpacked dotnet-sdk-7.0.305-win-x64.zip  and copied files to the container based on ubuntu-22.04 image with wine-8.0.1-1 installed there. Run the wine shell in the container (by wine cmd) and run c:\Program Files\dotnet\dotnet --list-sdK. It is important that I made mistake in key.
The same error I got if execution of dotnet finish with any error. I just explained the simplest way to reproduce.
Does somebody met the same situation? How to make dotnet working on wine?
Thanks,
Eugene
Configuration
dotnet-sdk-7.0.305-win-x64.zip
wine-8.0.1-1
ubuntu-22.04
docker

Can I ask you, why do you need run cross-platform app (that is based on dot net core) using wine ?
You can run such app directly on linux.

 We support old-scool windows app written on delphi. We made some integration steps of it with .net assemblies. The one of the integration moments is loading some our native windows dll in .net assembly. It works well on windows. Currently we are trying to wrap this app to docker container. Windows container we got are very huge. Also support of heterogenous k8s cluster is not a trivial task. That is why we are trying to run it under wine in linux container. Installation linux veriosn of dotnet into container does not help, because we loose possibility to load native wiindows dll for integration with our app.
Just to add. I was trying to install original distributive dotnet-sdk-7.0.305-win-x64.exe under wine but I got the same "virtual_setup_exception stack overflow" error. After it installer hangs.
Before solving installer problem I try to understand is windows dotnet workable under wine in general.

@eugene-vv Did you find a solution? I'm having the same issue.

nop, postponed(

I don't think this is supported. Probably Wine missing features as .NET runtime uses many rare calls. Qemu is on the same boat and explicitly marked as not supported https://github.com/dotnet/core/blob/main/release-notes/7.0/supported-os.md


history

fixed history CA; added missed code from previous pull requests for the history use case

looks good

Great

Looks good to me!!👍
Maybe add some Javadocs for checkstyle~


Update password reset email

https://www.pivotaltracker.com/story/show/118768435

Change instances of 'Forgot your password?' to 'Having trouble logging in?'
For TrueNTH only (based on app_name), forgot password email is changed

Slightly different wording (as constructed by Justin in the above PT story)
List of used auth methods, based on the user.auth_providers
Either link to reset TrueNTH user password, or link to establish a TrueNTH login, based on whether or not user has username (i.e. whether they've used TrueNTH login as an auth method)

Site persistence PR: https://github.com/uwcirg/TrueNTH-USA-site-config/pull/33

@ivan-c This should be ready to merge, whenever you have a chance to review it

@ivan-c You're thinking the template should just have the TrueNTH version, and should be renamed to something new, and then in the TrueNTH config file we point the USER_FORGOT_PASSWORD_EMAIL_TEMPLATE key at the new TrueNTH template?
That makes a lot of sense, I'll make that change shortly

@OptimusRhine Yup, sounds right.
It doesn't particularly matter if the default template is TrueNTH or ePROMs (I think TrueNTH is typically, but whatever is the most generic/adaptable template) but if something needs special language/formatting etc it could have a separate template that is specified by USER_FORGOT_PASSWORD_EMAIL_TEMPLATE and included in either the TrueNTH-USA-site-config or ePROMs-site-config
Hope this is clear as mud now ;)

@ivan-c do you mind reviewing again? It should be more straightforward now, using the config setting to select the desired template (note, I had to also add _message.txt and _subject.txt files for the new custom template).
Sometime after this is merged, we should also merge https://github.com/uwcirg/TrueNTH-USA-site-config/pull/33 , so that we can actually test the new template in TrueNTH.


feat(oracle): accrue rewards for validators

Now in our code, for some reason we are not using the keeper function AllocatePairRewards, this needs to be understood why and return it back if
needed.

Update: The consensus from the design call on 2022-11-08 was to simply take a small percentage from the tx fee revenue of both NUSD and Nibi-Perps and add it to the oracle rewards.


Added support for RN 60+

With this PR I'm adding support for RN projects using RN 0.60.0+.

Superseded by https://github.com/oblador/react-native-progress/pull/166


RTL text positioning faulty (v1.66)

Issue Type: Bug
In an HTML/JSX file use plain Hebrew text (not in the form of a string, className etc.). The Hebrew text will automatically appear on the left with the tabs appearing to its right. This has not been an issue in previous releases (i.e., the tabs would appear to the right of the text normally), and started for me today with version 1.66 of VSCode (first time I opened the editor with the new version).
VS Code version: Code 1.66.0 (e18005f0f1b33c29e81d732535d8c0e47cafb0b5, 2022-03-30T05:50:14.623Z)
OS version: Windows_NT x64 10.0.19044
Restricted Mode: No

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-4700MQ CPU @ 2.40GHz (8 x 2394)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.88GB (9.13GB free)

Process Argv
--crash-reporter-id f48c3ef1-d788-4f84-83d1-6e277ad4b5ab

Screen Reader
no

VM
0%

Extensions (13)

Extension
Author (truncated)
Version

dart-code
Dar
3.36.0

flutter
Dar
3.36.0

es7-react-js-snippets
dsz
4.4.3

prettier-vscode
esb
9.5.0

vscode-docker
ms-
1.21.0

python
ms-
2022.4.0

vscode-pylance
ms-
2022.3.4

jupyter
ms-
2022.3.1000901801

jupyter-keymap
ms-
1.0.0

jupyter-renderers
ms-
1.0.6

prisma
Pri
3.11.0

LiveServer
rit
5.7.5

material-ui-snippets
vsc
3.3.8

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyl392:30443607
pythontb:30283811
pythonvspyt551cf:30345471
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
pythondataviewer:30285071
vscod805cf:30301675
pythonvspyt200:30340761
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
vsc1dst:30438360
pythonvs932:30410667
wslgetstarted:30449410
vsclayoutctrt:30451275
pythonvsnew555:30457759
vscscmwlcmc:30438804
vscgsvid2:30447481
pynewfile477:30463512

+1 same here

@Gabriel-Peimer Could you please provide a screenshot and text that I could copy-paste? I think you might be running into https://github.com/microsoft/vscode/issues/99589 . Are you using editor.renderWhitespace : all or selection ?

same here

Solution
change
"editor.renderWhitespace": "all"

to
"editor.renderWhitespace": "selection"

Problem
Setting "editor.renderWhitespace" to "all"  will messed up text rendering
here is an example

"editor.renderWhitespace": "all"
"editor.renderWhitespace": "selection"

@alexdima  thank you for your response

@Gabriel-Peimer Could you please provide a screenshot and text that I could copy-paste? I think you might be running into #99589 . Are you using editor.renderWhitespace : all or selection ?

Hi @alexdima, thanks for the response.
I am currently using editor.renderWhitespace: selection as it is the default setting.
Example text used in photos (Hebrew): טקסט לדוגמה
When using editor.renderWhitespace: selection, text not selected appears correctly but in wrong location:

When using editor.renderWhitespace: selection, text is selected appears incorrectly, words reversed, but in correct location:

When using editor.renderWhitespace: all, text not selected appears incorrectly, words reversed, but in correct location:

Thank you for your reply. The render whitespace in selection problem is #99589 , the whitespace disabled problem is #146354 . Tomorrow's insiders will contain fixes for both issues.


Integration Testing cleanup

Lots of Integration test cleanup/modernization here...see individual commit messages for details.
/cc @chef-cookbooks/engineering-services @chef-cookbooks/jenkins-maintainers

:+1: great work here. This looks really nice.

:+1:


how can get href abs url?

I need get the a node href's absolute path.
can I use what's function?
javas Jsoup has a .attr("abs:href").
for the HtmlAgilityPack have similar function?

Hello @pangcrow ,
This kind of question is more suited for Stack Overflow: https://stackoverflow.com/questions/tagged/html-agility-pack
Best Regards,
Jonathan

Performance Libraries
context.BulkInsert(list, options => options.BatchSize = 1000);
Entity Framework Extensions • Entity Framework Classic • Bulk Operations •  Dapper Plus •  LinqToSql Plus
Runtime Evaluation
Eval.Execute("x + y", new {x = 1, y = 2}); // return 3
C# Eval Function • SQL Eval Function

Hello @pangcrow ,
This issue will be closed since it has been answered.
Feel free to reopen it if you feel otherwise.
Best Regards,
Jonathan


Change default skybox color in PoH with christmas theme to white

Currently it looks like this by default:

And I'd like it changed to this:

The only way to get it to white currently is by manually changing the overworld color to white but that also makes the entire overworld white too though. Thank you

@Manderville Is this what you were wishing for? 🎄
Preview of skybox color

Preview of the plugin panel

Let me know if there is anything you would like changed or improved! (Even if it is a bit early for Christmas don't you think? 😉)

@JBerben Yeah sure that'd be great.


Missing S in IMPDP_OPTIONS example

Please correct the Readme file for IMPDP_OPTIONS example. It is missing the letter S.
IMPDP_OPTION="REMAP_TABLESPACE=FOO:BAR"
Thank you.
Thank you for your hard work.

Tanks, fixed


Example how to prevent release

Hi,
Related to #31 and #50. I understand not failing main job is by design of this action. However, I could not figure out how to prevent next release step if there are lint errors.
Could you provide a basic example how to prevent next step if there are lint errors?
Thanks,

I do not understand how/why those other issues were closed without addressing the root issue/questions being asked. It is fine if the current behavior is what is desired but it seems like there ought to at least be some documentation on how to detect and handle errors produced by lint? If black reformats my code and pushes a new commit, why would I want to continue my action and do a build and deploy .. as one example.
It seems like an easy compromise would be for the action to add one our more outputs that could then be checked in downstream steps if we wanted to end the job or skip something. It could just be a single boolean that says if any of the lints failed, or you could provide one output for each lint if that is preferred.

This was quite surprising to me too. Most other linter GitHub actions that I've used fail the job, and that's the only behavior I'd want.


feat(vite-plugin-angular): allow analog imports with no name

PR Checklist
Please check if your PR fulfills the following requirements:

[x] The commit message follows our guidelines: https://github.com/analogjs/analog/blob/main/CONTRIBUTING.md#-commit-message-guidelines
[x] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

Which package are you modifying?

[x] vite-plugin-angular
[ ] vite-plugin-nitro
[ ] astro-angular
[ ] create-analog
[ ] router
[ ] platform
[ ] content
[ ] nx-plugin
[ ] trpc

What is the current behavior?
Analog components need to be imported like this:
import Hello from './hello.analog' with { analog: 'imports' };

and can then be used like this:
<Hello />

I think this creates the false perception that the name of the default import is relevant, when it isn't actually used at all to determine the components selector. If we change the default import name:
import HelloComponent from './hello.analog' with { analog: 'imports' };

<HelloComponent />

This will not work. I think this is surprising behaviour, and second to that since we don't actually need the default import name it is unnecessary boilerplate.
What is the new behavior?
This PR allows importing analog components like this:
import './hello.analog' with { analog: 'imports' };

Which I think makes for nicer DX and removes the confusion around the default import name having anything to do with the selector.
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information
[optional] What gif best describes this PR or how it makes you feel?

I think it could be an option, but not "the way". I like the convention of importing the ComponentName and using it even if its only symbolic. You still have to use a "selector" for it to work.
Feels less magical than just importing a file and thinking about what the component tag is based on the filename.
And if/when direct component imports become a thing upstream, we won't need to change anything.


Enable collection of secp256k1_verify and secp256r1_verify operators

With BLS signatures, you can simply run a puzzle with its solution to figure out all of the public key and message pairs that need to be signed, since they're included in the list of output conditions.
However, the secp256k1 and secp256r1 opcodes will fail at runtime if the signature passed into the solution doesn't match, instead of returning the expected values in conditions.
This PR enables a similar workflow by adding a new run_program_with_signatures function that skips and collects these operators and returns them in a list. Instead of failing the program, they will be treated as if they were successful in validating the signature, to allow the rest of the program to proceed. You can iterate the list of collected ops to find the public keys, messages, and signatures needed for signing.
The only problem with this is you need a way to update the original solution afterward to use the new signatures (and then you could run it for real to see if it actually worked). This is the responsibility of the code consuming this API, and can potentially be done in two ways:

Walk the solution as a tree of NodePtrs and compare the NodePtr directly via a HashMap. This assumes nothing has been done to change the NodePtr itself (quoting does not, for example).
Instead of nil and relying on the NodePtr matching, you could use a completely random fake signature and check for equality of the signature value in order to replace it with the real signature later.

I believe this PR will enable considerable simplification of wallet code, if my assumptions are correct.

This is a great observation and there are some great ideas here.

I would prefer a solution (which I believe Richard suggested) where you make a new Dialect class that collects all the public keys and messages, and forwards everything to the default ChiaDialect.
I think that would make this feature the most contained.

Could even make it wrap a generic inner dialect

This new implementation uses a custom Dialect and RefCell, since it requires no changes to the existing code. This begs the question of whether this should be part of the core CLVM crate or if it should just be part of the wallet code (or chia-wallet-sdk)? As is, it can be done already externally without any changes.
If we make Dialect::op take self mutably, it would probably be slightly more efficient/safe with the downside of requiring a breaking change to the API.

This can be implemented externally to clvm_rs so barring a more general solution I'm going to leave this for now.


Write QAP outputs to JSON files

[x] Have each of the three QAP workflows write the metrics to JSON files.
[x] Have the header information written to the JSON files independently of the QAP measures.
[x] Have functionality to populate QAP CSV files by extracting the information from the JSON files.

@jpellman , could you give a fresh install of QAP 1.0.8 a quick run somewhere and confirm that the JSON output files work smoothly for you? CSV files should also be produced.


Deploy

This deploy contains the following PRs:

@sweir27 => Bug fix for fullscreen & non super article (#1565 by @kanaabe)
@sweir27 => fix little styles on consign (#1564 by @sweir27)
@sweir27 => remove extra adminonly check (#1562 by @sweir27)
@eessex => Fullscreen updates (#1557 by @kanaabe)
@craigspaeth => consign2 --> consign switcheroo (#1561 by @sweir27)

  Generated by :no_entry_sign: Danger


[WIP] Use config_context for device configuration.

This is an early working-in-progress PR for using global configuration for device.  There are still plenty of things I need to do, the PR is for the CI so that I can get a better picture on how many changes I need to make.
Related issue: https://github.com/dmlc/xgboost/issues/7308
For sklearn, we will support both the config_context and constructor parameter device (replacing the gpu_id training parameter) for easier hyper-parameter search.
xgb.XGBRegressor(device="CUDA:0", tree_method="hist") # ok, easy for parameter search with sklearn
xgb.XGBRegressor(device="CPU", tree_method="approx") # CUDA + approx will throw an error

with xgb.config_context(device="CUDA:0"):
    xgb.XGBRegressor(tree_method="hist") # ok, easier for setting global configuration.

Closing to avoid spamming the list.


Weird highlights caused by blink with html (html-ls and emmet-language-server)

Make sure you have done the following

[X] I have updated to the latest version of blink.cmp
[X] I have read the README

Bug Description
sample of this problem is given below:
https://github.com/user-attachments/assets/488d1af1-89b0-4ebf-9cb8-bab1cae5a790
LSPs used:
html-ls, emmet-language-server
Note: ! is an emmet abbreviation for a basic html structure which generates boilerplate html
Using ! causes random highlights throughout the code (note that these highlights aren't connected with snippets), after formatting the file (i used prettier for this case), it causes even a bigger highlight all over the code and it doesn't remove away even after i go into insert mode:

Relevant configuration
--- using default config with tweaks to keymaps and icons

neovim version
NVIM v0.11.0-dev-1388+g39781be14b
blink.cmp version: branch, tag, or commit
v0.*

Same thing

Those highlights are caused by the built-in snippets (vim.snippet.expand) and it seems to be working as normal. You could try switching to LuaSnip if you prefer its behavior


Custom the DayHeaderView

I have a question about DayHeaderView. Can I set is without TimelinePagerView and also, how customize it ?

@Rich86man

Hi, currently there is no easy way to customize it beyond changing a style.
One of the option would be to to use the CalendarKit components to assemble own DayView.
E.g. in this example, you'll need to use TimelinePagerView and create own version of the DayView, using your custom header.


package.min.js UTF-8 character issues

The UTF-8 characters in package.min.js have been transliterated into ASCII. The most noticeable instance is the NO-BREAK SPACE character in CodeMirror which has been  converted to Â.

NVM, just saw the note in the FAQ.


Fix empty translation returned by the REST translation server

Fixes #430.
@vince62s Do you confirm that's the only thing to do here for these issues?

Codecov Report

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

@@           Coverage Diff           @@
##           master     #431   +/-   ##
=======================================
  Coverage   69.05%   69.05%
=======================================
  Files          75       75
  Lines        6477     6477
=======================================
  Hits         4473     4473
  Misses       2004     2004

Continue to review full report at Codecov.

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

yes. But it means that now on, we rely exclusively on our "fork" of the code. I posted a question on the restserver xavante github to check what's going on though

Ok thanks. I'm merging this as people keep reporting the issue.


MeasureReport Population Table

Summary
Created a table for displaying the population results of a FHIR MeasureReport
New Behavior
New Component!! This component can be tested using the example app and will eventually be exported for use in fqm-testify
Code Changes

New Component: PopulationResultsViewer
New types file for created types
New testing
Updated example app to allow for ease of testing

Testing Guidance

Run npm run check
Reach out to me on Slack for testing example index.ts file
Start up the example app with cd example then npm start
Ensure the results are as expected
Change the passed in MeasureReport array to instead be an array of the following type: {label: string, report: fhir4.MeasureReport}
Rerun example app and ensure that the Patients are correctly identified by their passed-in labels

Other suggestions:
Can you update the source code such that the component is actually exported from the library? Here's the convention:

Add an index.ts in the components directory that does a named export of the default export form the component:

// src/components/index.ts

export { default as WhateverYouWantItCalled } from './PopulationResultsViewer'
/* will add other exports here when we have other components */

Let's change the boilerplate src/index.tsx which we don't need anymore to a tried and true index.ts that for now just exports * from ./components

Bootstrapping off of that, can you update the example to actually use the component? I think it's fine to commit a working example to the example directory that shows off the table. If the above exports were written right, we should be able to do import { WhateverYouWantItCalled } from '../.';. Maybe we can use the same measure reports that you used in test fixtures as the prop for rendering the example?


ChartJS update not working after changing Momentjs localisation

Hi,
I am using Moment.js with locations and a chart line with x-axis time scale.
When i change momentJS localisation and then update the chart it doesn't work.
to force refresh i find a trick by updating scale time min and max
i am using angular-charjs in my real project and this trick doesn't seen to work if scale time min and max are the same...
See my codepen below :
Click FR button is doesn't work, then Click Change scales button it's working
codepen demo

I did some investigation into this. The cause of the problem is that the min and max on the axes are defined using moment objects rather than a string that is parsed into a moment by the scale.
When you change the global locale for moment, only newly created moments use that locale. There is some discussion in the moment issue tracker about this and there is a great explanation as to why it is that way.
For your case, I would recommend setting the min and max options as strings. We will parse these strings into moments during the update process and everything will work as expected. Here is a fiddle demoing that https://jsfiddle.net/9d6yqhns/


Method crm.activity.add raises the error

Dear colleague, please help witht the following issue:
I am trying to create the Activity in B24 using webhook. Code:
from pybitrix24 import Bitrix24
bx24 = Bitrix24('consiliummedicum.bitrix24.ru',user_id=7)
bx24.call_webhook('xxxxxxxxxxxxxx', 'crm.activity.add',
{'fields':{
"TYPE_ID": 5,
"SUBJECT": "Новое дело",
"RESPONSIBLE_ID": 7,
"COMMUNICATIONS": [ { 'VALUE':"+79832322323"}],
"OWNER_TYPE_ID": 1,
"OWNER_ID": 24657,
"COMPLETED": "N",
"DESCRIPTION": "Test создания дела"
}}
)
The result is the following:
Traceback (most recent call last):
File "Consilium_8.py", line 14, in
"DESCRIPTION": "Test создания дела"
File "C:\ProgramData\Anaconda3\lib\site-packages\pybitrix24\bitrix24.py", line 283, in call_webhook
data = self._call(url, method, None, params)
File "C:\ProgramData\Anaconda3\lib\site-packages\pybitrix24\bitrix24.py", line 198, in _call
data = request(url, query, params)
File "C:\ProgramData\Anaconda3\lib\site-packages\pybitrix24\requester.py", line 29, in request
raise PBx24RequestError("Error on request", e)
pybitrix24.exceptions.PBx24RequestError: ('Error on request', <HTTPError 400: 'Bad Request'>)
Tried a variety of changes - does not work. Though other methods (crm.activity.list, crm.activity.get, crm.activity.update) do work properly with the same webhook
Can you spot what's wrong?

I found the root cause. It looks like the COMMUNICATION should be in correlation with TYPE_ID. The following change makes the script operational:
bx24.call_webhook('xxxxxxxxxxxxxx', 'crm.activity.add',
{'fields':{
"TYPE_ID": 2,
"SUBJECT": "Новое дело",
"RESPONSIBLE_ID": 7,
"COMMUNICATIONS": [ { 'VALUE':"+79832322323"}],
"OWNER_TYPE_ID": 1,
"OWNER_ID": 24657,
"COMPLETED": "N",
"DESCRIPTION": "Test создания дела"
}}
)
Am i right?

hi @sbatov ! nice to hear you again and thanks for interest that you show to the library.
i've released new version of the library v1.0.1 that gracefully handles HTTP errors so you can see more descriptive message instead of just "400 Bad request":
>>> data = bx24.call(...)
{'error': '...', 'error_description': '...'}

according to your second questions. i think it'll be better to ask in Bitrix24 developers as it's theirs responsibility, and they should be more acknowledged about your issue than me.

First of all - thank you for your prompt comments, it's really helpful as i am struggling with certain issues and your help is priceless. Thank you for version 1.0.1 - i've just installed it, let's see how it works  ;)
As per this particular issue - you're right, i am probably mistargeting and these are more REST API problems which are the subject of Bitrix Support expertize. Closing the issue therefore.
Take care!
Sergey


feat(GoogleMap): add warning for undefined google object

Using Loader API
To start rendering <GoogleMap>, put it in the props of the <GoogleMapLoader> element. Make sure to add  to your  tag to provide google.maps reference
import { GoogleMapLoader } from "react-google-maps";

<GoogleMapLoader
  containerElement={
}
  googleMapElement={
    <GoogleMap
      defaultZoom={3}
      defaultCenter={{lat: -25.363882, lng: 131.044922}}
    >
      <Marker {...this.props.markerProps} />
    </GoogleMap>
  }
/>

Using Async Loader API
You can also use  and would also precise that async defer options don't work (unless I'm wrong).

@aug-riedinger what do you mean?

Instead of:
Make sure you've put a   tag in your  element to load Google Maps JavaScript API v3.
Careful the `async defer` options as suggested (here)[http://googlegeodevelopers.blogspot.fr/2015/09/map-tips-speeding-up-page-load-times.html] doesn't work.
If you're looking for built-in support to load it for you, use the "async/ScriptjsLoader" instead.
See https://github.com/tomchentw/react-google-maps/pull/168

@tomchentw What is this AsyncGettingStarted variable? I cannot seem to find this anywhere within the react-google-maps project

@tomchentw, or anyone else.... It seems that library is now gone, but the error message remains, creating a lot of confusion. Not sure what the ideal way is to load and pass in the map object anymore in beta 6.0.0.

Please refer to Getting Help section in the README (or #469).

I am getting the following error after including GoogleMapLoader:
React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: undefined. You likely forgot to export your component from the file it's defined in.
Check your code at EventsMapContainer.js:9.
import React from 'react';
import MainGoogleMap from '../MainGoogleMap/MainGoogleMap';
import {GoogleMapLoader} from "react-google-maps";

export default function EventsMapContainer ({markers, currentLocation}) {
  return (
    <GoogleMapLoader
      containerElement={
}
      googleMapElement={
      <MainGoogleMap
        containerElement={
}
        mapElement={
}
        markers={markers}
        currentLocation={currentLocation}
        // onMarkerClick={handleMarkerClick}
      />}
    />
  );
}


🐛 [firebase_ui_firestore] Invalid index throw when unsubscribing on Flutter web

Bug report
Describe the bug
I'm not able to reproduce on a constant basis, but I know what cause it.  Just catch this error when debugging and catch all errors:
ChromeProxyService: Failed to evaluate expression 'firestore_interop': InternalError: Expression evaluation in async frames is not supported. No frame with index 16..
It does not make the app failing, but this is annoying
Basically in the query_builder.dart in the _listenQuery
The error is thrown when the _querySubscription?.cancel() have not the chance to complete before resubscribing again => querySubscription = query.snapshots().listen(... is called before cancel completion
Can be resolve by making the method async and awaiting
void _listenQuery({bool nextPage = false}) async {     await _querySubscription?.cancel(); ...
Steps to reproduce
Not able to have it each time !!!

Thanks for the report. I tried with the plugin example on web, but didn't get the reported error.
Although I have seen similar error reports not specific to flutterfire, but in flutter repo as well. One such is https://github.com/flutter/flutter/issues/121798
Since the error says InternalError: Expression evaluation in async frames is not supported., maybe it has to do with how async in web works or not correctly, but we'll need a concrete steps to replicate in order to properly address the issue.


createComponentWithProxy does not support nested theme object

Version: 5.3.0
Environment: DOM
Type: Bug

Description
It seems that createComponentWithProxy doesn't fully support ThemeProvider
Steps to reproduce

Visit https://www.webpackbin.com/bins/-Ku0MV82LrddhnGP6wAR for an example.

Expected Behavior
it shouldn't throw an error, it should pass the theme through.
Actual Behavior
it throws an error, it doesn't pass the theme through.

I believe this might get fixed with the new Theming mechanism, but I'll make sure to add a test case. Thank you!


bugfix: add fillFormWithDataAndCallHooks so it is the same as in Edit…

…Record Page

[X] Changes have been thoroughly tested to not break existing functionality.
[ ] New functionality has been documented or existing documentation has been updated to reflect changes.
[ ] Visual changes are explained in the PR description using a screenshot/recording of before and after.

I am working on the filament translatable plugin, and in order to get the TenantProfilePage translatable, I think this change is needed.
However I am not sure if this should become a Trait or not... I was a bit afraid by the "never call this method, but copy it" :)

The only reason you'd want this method extracted is if you wanted to override it, and we specifically tell you not to do that as you will expose your app to breaking changes, hence the message 😉

The reason why it isn't done for the EditTenantProfile is because we don't support that page to be translatable yet. Parts of the plugin require a resource to be registered

We also need to remove references to the resource's defined locales, right?

Also need docs on how to use this
We should probably create a separate Translatable trait for EditTenantProfile instead of reusing EditRecord's one

Hi Dan
I will delete this pull request, as indeed as I have to create a separate track I won't need this extra function anymore.
Regarding for the translatable trait for EditTenantProfile -> I will create a separate PR for this once it is finished (I honestly have no idea how much work this is :) )
however I have a more profound question on the translatable plugin : why is it so tight to resources at the moment, and is not all the logic based on the forms plugin? Wouldn't this make it more flexible (for example custom pages / livewire components etc).

It's tied to resources so you dont have to define the locales more than once per resource


ConstantSymbol .typeDescriptor().signature() returns value with " for enum

Description:
When accessing the signature value for the below enum type, it returns value including ", earlier it returns without any "
This new change is a breaking change for Ballerina To OpenAPI tool spec generation.
enum Action {
    PATCH,
    DELETE,
    PUT,
    POST,
    GET
}

try to access PATCH value , using .typeDescriptor().signature() it returns value "PATCH"
Steps to reproduce:
Affected Versions:
OS, DB, other environment details and versions:
Related Issues (optional):
OpenAPI PR for temp fix https://github.com/ballerina-platform/openapi-tools/pull/950
Suggested Labels (optional):

Suggested Assignees (optional):

Reopen due to this issue is still has in ballerina lang 2201.2.0-20220704-165400-1b5e32c version
related discussion https://github.com/ballerina-platform/openapi-tools/pull/950#discussion_r884395865
This is blocker for OpenAPI tool Ballerina to OpenAPI command for Update 2

Meeting attendees :  @mohanvive , @dulajdilshan , @NipunaRanasinghe , @lnash94

During the meeting, all the possible scenarios in the Enum behaviour was discussed and identified that providing signature behaviour is correct.
From the tooling, perspective decided to proceed with the current fix because ballerina currently supports only the enum for string type. Therefore the tool won't be affected handling enum type except string.
For further implementation, the tool needs to take the type of the SingletonType (e.x: string, int, float). Therefore having type from type-descriptor of the enum value, It was decided to provide an API for singleton type within the next releases.

Meeting attendees : @mohanvive , @dulajdilshan , @NipunaRanasinghe , @lnash94

During the meeting, all the possible scenarios in the Enum behaviour was discussed and identified that providing signature behaviour is correct.
From the tooling, perspective decided to proceed with the current fix because ballerina currently supports only the enum for string type. Therefore the tool won't be affected handling enum type except string.
For further implementation, the tool needs to take the type of the SingletonType (e.x: string, int, float). Therefore having type from type-descriptor of the enum value, It was decided to provide an API for singleton type within the next releases.

We can get the type of the constant symbol via broaderTypeDescriptor() can you please check?

@dulajdilshan  Could you please let me know whether the full API call is .broaderTypeDescriptor().signature() or not, when I try to call this I receive the enum data type as string instead of the Value. did I miss something ?

According to this meeting https://github.com/ballerina-platform/ballerina-lang/issues/35783#issuecomment-1181626283, we thought to go with the current implementation and Open API needed to get the type of the SingletonType. To do this you can use .broaderTypeDescriptor() of ConstantSymbol  or the originalType() of the SingletonType

Also, to get the value, you can use constValue() of ConstantSymbol


runtime(vim): Update base-syntax, improve :highlight command

Improve :highlight command highlighting

Use the same highlight groups for "default link" with and without
bang.
Match some common line-continuation use.
Match :hi clear variants.
Highlight color-name values.

Resync vim.vim and generator/vim.vim.base.

thanks!


Screen readers can read content outside the Touchpoints modal dialog

Area or Component
Static site - touchpoints modal
Quick Summary
Our touchpoints modal uses aria-modal attribute but deque recommends other techniques to hide the content behind the modal because not all screen readers support that attribute.
See which screen readers are not supported: https://a11ysupport.io/tech/aria/aria-modal_attribute
How to Replicate
Accessibility Violation
deque link
Action Requested
Add aria-hidden="true" attribute to all wrapping elements within  that do not contain the modal. You do not need to add aria-hidden="true" to

Closing as won't do - only an issue in Firefox which we don't support

see #4053 and #4082 for more context
any issues related to reading-order-browse-outside-modal for modals using react-modal can be ignored


⚠ Secret Website 3 has degraded performance

In ba4478a, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 2385 ms

Resolved: Secret Website 3 performance has improved in 4143d46.


Add Max Frozen XID Age to returned values

Return the age of the oldest frozen XID in each database

Could you remove the Jenkinsfile changes on this PR so we can keep it to just the code changes?

Closing this as it's currently better handled via queries.yml.


Link to Storybook from within README

Hi there! 👋🏽
I recently joined the Vimeo OTT Storefront team and was introduced to Iris while pairing with another engineer! We were poking around on the repo and trying to find the actual link to where we would view the available components that we could use, but were struggling to find the right URL.
I ended up finding the link to Storybook through the Notion wiki, but I figured it might be nice to be able to link to it directly from the README so that in the future, someone else browsing the repo can browse through the components on Storybook more easily. 😃
Hopefully it's okay that I made this PR to add it; let me know if you think it should be worded differently, or if a different change makes more sense.

Hi @vaidehijoshi! There's a link in the about section. Maybe that's not noticeable enough?

Hi @vaidehijoshi! There's a link in the about section. Maybe that's not noticeable enough?

Hi @seanmcintyre 👋🏽 I guess I totally missed that link -- I clicked on the link within the README, which redirected back to GitHub, and that's when I got confused.
Maybe it would be helpful to include it in the body of the README for folks (like me, haha) who miss it on the sidebar?

@vaidehijoshi Are you able to re-open this PR without forking?


v4: label-pill doesn't adhere to $enable-rounded

See https://github.com/twbs/bootstrap/blob/v4-dev/scss/_labels.scss#L46
This makes .label-pill inconsistent with .nav-pills; the latter uses $enable-rounded via the border-radius mixin and the former hard-codes its value.
That said, if .label-pill adhered to this variable, there'd be no difference between standard .label and .label-pill if $enabled-rounded was disabled, thus making it redundant.

Fixed by #18011.


fix: disable bluetooth when closing app

Fixes #285
Changes:

Disable Bluetooth when destroying app

@iamareebjamal @mariobehling @CloudyPadmal Please Review


enhanced/impaired conditioned taste aversion behavior

If this is a request for a new term, please provide us with the following information.

Preferred term label (e.g., asplenia)

enhanced conditioned taste aversion behavior
impaired conditioned taste aversion behavior

Synonyms (e.g., absent spleen)

increased conditioned taste aversion behavior
increased conditioned taste aversion behavior

Textual definition (the definition should be understandable even for non-specialists. Include a PubMed ID or URL(s) to refer to any relevant article(s) that provides information about the suggested term).

increase in the ability of an animal to learn to avoid food sources that were previously associated with aversive internal stimuli or sickness such as a drug that induces sickness
decrease in the ability of an animal to learn to avoid food sources that were previously associated with aversive internal stimuli or sickness such as a drug that induces sickness

Any additional notes to clarify the meaning or use of the term. Please provide a PubMed ID or URL(s) for the source of this information.

PMID:11958542

Suggested parent term (Please look in the hierarchy of the MP using the MP Browser or other browsers such as OLS and find the place in the MP where the new term best fits)

abnormal conditioned taste aversion behavior (MP:0002805)

If you would like a nanoattribution, please indicate your ORCID id or provide a label such as MGI:sbello (organization, first initial-last name)

ORCID:0000-0001-5356-4174

MP:0020968 - enhanced
MP:0020969 - impaired
not yet public

MP:0020968 - enhanced
MP:0020969 - impaired
not yet public


Bump minimum nodejs version

fixes #263
Description

Updates the minimum NodeJS version to 18
Related Issue(s)

#263
Checklist

[x] I have read the contribution guidelines
[ ] Suitable unit/system level tests have been added and they pass
[x] Documentation has been updated

[ ] Upgrade instructions
[ ] Configuration details
[ ] Concepts

[ ] Changes flowforge.yml?

[ ] Issue/PR raised on FlowFuse/helm to update ConfigMap Template
[ ] Issue/PR raised on FlowFuse/CloudProject to update values for Staging/Production

Labels

[ ] Includes a DB migration? -> add the area:migration label

Once merged #306 can also be merged


Adding important Mercator parameter (truelat1) to GRIDDESC, so is congruent with PROJ, WRF and documentation.

Hi,
I noticed that GRIDDESC doesn't contains the "truelat1" parameter for mercator projection (is allways set to 0). This parameter is quite important, in fact is the only parameter needded in the WRF namelist when this projection is choosen.
So for the sake of don't miss information and to be congruent with documentation I think it worth adding it.

Hi @ramespada,  thank you for alerting us to this issue.  The developer of the MCIP code, @tlspero, has taken a look at the issue and the proposed code changes and agrees that MCIP is unnecessarily constraining the true latitude for Mercator.  To update the MCIP source code we will need to follow our internal development procedures which include testing code updates on our internal repository.  Once the code has passed our testing requirements we will update the MCIP source code on the 5.4+ branch rather than the main branch.  The source code on the main branch is frozen since that is our official CMAQv5.4 release. Because of this I am going to close this PR.  If you are 'Watching' this repository you will be alerted when the 5.4+ branch is updated with the MCIP code changes.  The code updates will also be included in our next official release.  Thank you again for contacting us about this issue and offering a possible solution.


Sm/multiple-flag-bug

What does this PR do?
usability improvements to prevent https://github.com/forcedotcom/cli/issues/2117.
explanation: the old commands used comma separated lists for test names.  There's no validation on the client or server that the named test actually exists.  🤷🏻
People's tests wouldn't run, but it wasn't an exception.  This now provides a warning when you put a comma in the --tests flag OR the --coverage-reporters flag because it's probably a mistake.
What issues does this PR fix or reference?
@W-13168361@

QA NOTES

🟢 Replicated error before linking plugin-deploy-retrieve
🟢 Using spaces works before linking plugin-deploy-retrieve
🟢 Help includes --test flag examples
🟡 Running the following command on a fresh Dreamhouse, showed the flag warning twice

sf project deploy start --manifest package.xml --test-level RunSpecifiedTests --dry-run --tests "FileUtilitiesTest,GeoCodingServiceTest,TestPropertyController,TestSampleDataController" --ignore-warnings

(node:61928) Warning: The previous version of this command used a comma-separated list for tests. We've changed how you specify multiple tests, so if you continue using your current syntax, your tests will probably not run as you expect.

If a test name contains a space, enclose it in double quotes.
For multiple test names, use one of the following formats:

- Repeat the flag for multiple test names. --tests Test1 --tests Test2 --tests "Test With Space"
- Separate the test names with spaces --tests Test1 Test2 "Test With Space"
(Use `node --trace-warnings ...` to show where the warning was created)
Warning: The previous version of this command used a comma-separated list for tests. We've changed how you specify multiple tests, so if you continue using your current syntax, your tests will probably not run as you expect.

If a test name contains a space, enclose it in double quotes.
For multiple test names, use one of the following formats:

- Repeat the flag for multiple test names. --tests Test1 --tests Test2 --tests "Test With Space"
- Separate the test names with spaces --tests Test1 Test2 "Test With Space"

🔴 Huh, after linking (and using spaces) I am getting this error. Seems unrelated to these changes, but maybe surfacing from recent ConfigAggregator changes

Error (1): Unknown config name: org-metadata-rest-deploy.

QA UPDATE

🟡 Ok, the "Unknown config" is because linked plugins don't honor custom config values. Proceeding with bin/dev
🟢 Since warning message when using bin/dev
🟢 With commas, a warning is logged and 0 tests pass
🟢 With spaces, it works as expected and all tests pass
🟢 With multiple '--tests' flags, it works as expected and all tests pass
🟡 Looks like the commaWarningForMultipleFlags for coverageFormattersFlag isn't needed. When you pass options it will enforce the correct format (no commas). However, removing the options front that flag config does show your warning. Example:

Running: bin/dev project deploy start --manifest package.xml --test-level RunSpecifiedTests --dry-run --tests FileUtilitiesTest --tests GeoCodingServiceTest --tests TestPropertyController --tests TestSampleDataController --ignore-warnings --coverage-formatters json,html
Error (1): Expected --coverage-formatters=json,html to be one of: clover, cobertura, html-spa, html, json, json-summary, lcovonly, none, teamcity, text, text-summary
See more help with --help


Unbind

How to unbind editable of a control?
Thanks

I would imagine something like $(this).unbind(<action>) would work. Where this is the element with the .editable class, and  is the class to trigger editable (click, dblclick), etc...
if you want to remove the editable ability from the field, just removeClass('editable').
If you want to unbind the previous editable action before running the editable action again, inside your jquery.editable.js, near the bottom in the edit.register function, you can do trigger.unbind(action).bind(action, edit.start); or something similar.
I just had to do the unbind(action) thing in my current project due to a bug where my code was calling the editable plugin multiple times on a single element/input which was causing the input to become blank and lose the e.target.old_value


Console.LargestWindowWidth report wrong width

Windows Terminal version
1.15.220719002-preview (and 1.13.2202)
Windows build number
10.0.19043.1466
Other Software
No response
Steps to reproduce
When I call Console.LargestWindowWidth in .NET 6 I get a wrong width.

On legacy console and VS debug console I get a correct number:

Documentation says:
"Gets the largest possible number of console window columns, based on the current font and screen resolution."
It seems it report pixels and not columns?
My primary screen is 1920x1080 and .LargestWindowWidth report  1904.
I Changed the resolution to 1680x1050 and now it report 1664.
Not sure if this is related to Windows Terminal or .NET
Strange legacy console  and VS Debug console behave different, which make me think it's related to Windows Terminal.
Expected Behavior
No response
Actual Behavior
..

I changed to use Console.WindowWidth instead, which is actually what I should use.
But there still seem to be an issue about reporting columns (I assume characters) or pixels.


Project version

Hello, Can you tell me what is the version of the framework for your project?

It should be working fine with the latest versions of keras and tensorflow. Let me know if you encounter any version related issues.

It should be working fine with the latest versions of keras and tensorflow. Let me know if you encounter any version related issues.
Hello, ok, the issues I encounter is:
''models.py, line 87, in generator
dec_out.set_shape([None, nrows, 1 , ncols]) # for correcting shape issue with conv2dtranspose
AttributeError: 'TensorVariable' object has no attribute 'set_shape'', this code run error,''  how can i solve this ,i have tried many methods.thank you very much for your reply.

Are you using theano backend?


Updating requirements and add makefile function to automate req updates

Coverage remained the same at 61.017% when pulling de9c00b2932e8afd93827954bc8237ebee845fb6 on castrapel:up_reqs_3292018 into 47793635b25d335d09e94cd9e42ff4287e541166 on Netflix:master.


Bump version to 9c

This is a 9c branch based upon 9a. It just bumps the source tarball to jpeg9c, changes the version hints from 9a to 9c and adds a new jpeg_dep object which was previously missing and uses it for linking the applications.

Could you add [wrap revision] somewhere in the bump commit to reset revision counter? Alternatively I will squash all commits.

Not sure if I can follow.  I wouldn't mind squashing too. Whatever is more convient or makes more sense..

Shortly, wrap server calculates revision from number of commits in a branch. If you create a new version branch from existing one you will inherit revision number. In order to restart it from 1 and preserve the history there is a [wrap revision] tag that you can include into commit message.
Since squashing is fine I am just going to do that.


Duplicate entries in gisaid-aligned.fa

updater script is not working properly

Used python script (nodup.py) to remove duplicates (n=5799) from gis-aligned.fa (new n= 8420)
Fasta with duplicated sequences (n= 14219) renamed gis-aligned-old.fa

Is this the script that @RouxCil wrote?
There should be over 10,000 sequences by now...

No it's not my script

I don't think it was, I just cobbled something together off of stack overflow threads. I forgot to update the gisaid-aligned.fa before running the duplicate id removal script. The updater script is running now.

On the speed of the updater script:
30 mins: 100 sequences added
50 mins: 150 sequences added (+50)
60 mins: 171 sequences added (+21)
80 mins: 212 sequences added (+41)
100 mins: 255 sequences added (+43)
Time complexity is roughly linear @ 30s per sequence (as expected), however it appears some sequences are being added faster than others –  the updater script 'hiccups' every so often.

Something interesting on GISAID web interface. You can choose up to 10 sequences to BLAST, GISAID then shows top 10 hits, their location on a map, the alignment and a graph of when the top 10 sequences were sampled.

On the speed of the updater script:
30 mins: 100 sequences added
50 mins: 150 sequences added (+50)
60 mins: 171 sequences added (+21)
80 mins: 212 sequences added (+41)
100 mins: 255 sequences added (+43)
Time complexity is roughly linear @ 30s per sequence (as expected), however it appears some sequences are being added faster than others – the updater script 'hiccups' every so often.

Some entries in GISAID are only a few hundred nts long - that is probably where the script is hiccuping.


Trouble loading plugins

Hi Seb,
i have trouble using the plugins I've installed.
My plugin manager crashes each time I try installing anything. it sends:
Fatal Python error: init_sys_streams: can't initialize sys standard streams
ValueError: Cannot open console output buffer for reading

So I've tried installing the plugins with pip and they do show in my lib/site-package folder. But when I try to make a new preset,the dashboard doesn't seem to find the plugins... It should be in the viewer-> add right?
FYI I've reinstalled completely pymodaq 3.1.0 to start with a fresh environment.
Thanks !

similar issue as pymodaq_plugin_manager#2 closing this one


Adding examples of package authoring

Adding examples of package authoring

In addition to this should we add an example with a repo released?

I think repo release is pretty easy, genric and documented in the doc really well. Examples here are picked to show how can some OSS configs can be packaged into Carvel package. Thoughts?


[Bug] This dependency was not found:  * echarts/lib/data/helper/completeDimensions in ./node_modules/echarts-wordcloud/src/WordCloudSeries.js

Version
5.3.0
Link to Minimal Reproduction
No response
Steps to Reproduce
This dependency was not found:

echarts/lib/data/helper/completeDimensions in ./node_modules/echarts-wordcloud/src/WordCloudSeries.js

Current Behavior
This dependency was not found:

echarts/lib/data/helper/completeDimensions in ./node_modules/echarts-wordcloud/src/WordCloudSeries.js

Expected Behavior
This dependency was not found:

echarts/lib/data/helper/completeDimensions in ./node_modules/echarts-wordcloud/src/WordCloudSeries.js

Environment
- OS:
- Browser:
- Framework:

Any additional comments?
No response

Please upgrade the echarts-wordcloud extension library to the latest.

V5.4.1 has same issue


Capture start behavior

Version: 0.8.16
Platforms: All
Description
When starting up a Joulescope capture, it should ideally have no artifacts and go directly to the "correct" value.  However, the existing software will have an edge at the start of the capture.  The edge looks different with full-rate 2 MSPS and downsampled data.
Full rate 2 MSPS data

Note that the current range does not change, but the data looks unusual.  The initial value is half the maximum, which is suspicious.
Downsampled 10 kHz data

Note that the initial value is zero, which likely means that the downsampling filters were initialized to zero rather than the starting value.
Desired behavior
The UI would ideally only display valid data, which should ideally happen immediately.  If something prevents the Joulescope UI from displaying valid data immediately, It should hold off displaying data until it can display actual data.

Fixed in 1.0.15.


Fail to install 'ms-python.python'

VSCode Version: VS 1.45.0 insiders and 1.44.0 stable
OS Version: Windows 10

Steps to Reproduce:

Go to Extensions panel
Select "Python" module (from microsoft)
Click install
Got error message: Faile to install 'ms-python.python'

I also tried manual installation. After downloaded the plugin and ran VS selector, it has the following error:
4/12/2020 11:05:34 AM - Microsoft VSIX Installer
4/12/2020 11:05:34 AM - -------------------------------------------
4/12/2020 11:05:34 AM - Initializing Install...
4/12/2020 11:05:34 AM - Extension Details...
4/12/2020 11:05:34 AM - 	Identifier         : python
4/12/2020 11:05:34 AM - 	Name               : Python
4/12/2020 11:05:34 AM - 	Author             : ms-python
4/12/2020 11:05:34 AM - 	Version            : 2020.3.71659
4/12/2020 11:05:34 AM - 	Description        : Linting, Debugging (multi-threaded, remote), Intellisense, Jupyter Notebooks, code formatting, refactoring, unit tests, snippets, and more.
4/12/2020 11:05:34 AM - 	Locale             : en-US
4/12/2020 11:05:34 AM - 	MoreInfoURL        :
4/12/2020 11:05:34 AM - 	InstalledByMSI     : False
4/12/2020 11:05:34 AM - 	SupportedFrameworkVersionRange : [0.0,2147483647.2147483647]
4/12/2020 11:05:34 AM -
4/12/2020 11:05:34 AM - 	SignatureState     : Unsigned
4/12/2020 11:05:35 AM - 	Supported Products :
4/12/2020 11:05:35 AM - 		Microsoft.VisualStudio.Code
4/12/2020 11:05:35 AM - 			Version :
4/12/2020 11:05:35 AM -
4/12/2020 11:05:35 AM - 	References         :
4/12/2020 11:05:35 AM - Signature Details...
4/12/2020 11:05:35 AM - 	Extension is not signed.
4/12/2020 11:05:35 AM -
4/12/2020 11:05:35 AM - Searching for applicable products...
4/12/2020 11:05:35 AM - Found installed product - Microsoft Visual Studio Professional 2013
4/12/2020 11:05:35 AM - Found installed product - Microsoft Visual Studio 2013 Shell (Integrated)
4/12/2020 11:05:35 AM - Found installed product - Microsoft Visual Studio Community 2015
4/12/2020 11:05:35 AM - Found installed product - Microsoft Visual Studio 2015 Shell (Integrated)
4/12/2020 11:05:35 AM - Found installed product - Global Location
4/12/2020 11:05:35 AM - VSIXInstaller.NoApplicableSKUsException: This extension is not installable on any currently installed products.
   at VSIXInstaller.App.InitializeInstall(Boolean isRepairSupported)
   at VSIXInstaller.App.InitializeInstall()
   at System.Threading.Tasks.Task.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()

I suspect it is interfered by other VS installations.

Does this issue occur when all extensions are disabled?: Yes/No

Please follow these steps

Help -> Toggle Developer Tools -> Network
Then check for any network failed requests while browsing and installing the extensions if found all requests fails then its probably a proxy or DNS issue at your end.
To confirm its a DNS issue check if you can access this page https://ms-python.gallerycdn.vsassets.io/extensions/ms-python/python/2019.8.29288/1565127378610/Microsoft.VisualStudio.Services.Icons.Default, if you cannot please try configuring your DNS like pointing to <IP_ADDRESS> as suggested here? https://<IP_ADDRESS>/dns/. Otherwise please contact your network administrator.
If it is not a network issue, please share the logs from the following locations

Help -> Toggle Developer Tools -> Console
View -> Command Pallette... -> Toggle Shared Process -> Console
View -> Open View… -> Log (Shared)
View -> Open View… -> Log (Window)

Try installing the VSIX you downloaded using the command Install From VSIX... from VS Code.

I was following your instructions.  The last step seemed to work. So I use the command Install from VSIX ... and browse locally the downloaded file ms-python.python-2020.3.71113.vsix. The extension was then installed corrected (asking for a reload).
There was no network problem. When I clicked on "Install" button inside the extension panel and when it failed, the only output I got was:
Installing Extension Python failed: Manifest is not found.  extensionsActions.ts:1752

Enable log level to trace using Set Log Level command and  please provide logs from here.

View -> Open View… -> Log (Shared)

Strange. The installation of Python module in VSC goes well today. I did not encounter the same error previously. As I don't have a way to reproduce the bug with higher log level, I guess the only thing we can do is to just close the ticket.


Other parts can not be deselected in investigation creation

Hints / Details

Retested on e2e-a and e2e-b.
This issue is not reproducible for creation of quality alerts with parts!

Quality investigations can be created for one and more parts. For several selected parts, a "x" occurs for deselecting them:
Expected behavior:
"x"´is removed from chips. Other parts could not be deactivated.
Actual behavior:
"x" is without function

Could not be reproduced on e2e. Ticket will be closed.


Crash (while running in demo mode)

OS: Zorin OS
Logs:
 * 2024-03-03 13:14:59 [INFO] : Price: 61699.09, Similarities: 0.5774, Slope: 0, Action: hold
 * 2024-03-03 13:15:36 [INFO] : Price: 62000.00, Similarities: 0.7071, Slope: 0, Action: sell
 * 2024-03-03 13:16:37 [INFO] : Price: 62000.00, Similarities: 0.7746, Slope: 301, Action: sell
 * 2024-03-03 13:21:42 [INFO] : Price: 62000.00, Similarities: 0.7746, Slope: 150, Action: buy
 * 2024-03-03 13:28:48 [INFO] : Price: 61900.00, Similarities: 0.7746, Slope: 90, Action: buy
 * 2024-03-03 13:30:51 [INFO] : Price: 61900.00, Similarities: 0.8944, Slope: 40, Action: buy
 * 2024-03-03 13:32:52 [INFO] : Price: 61900.00, Similarities: 1.0000, Slope: -30, Action: sell
 * 2024-03-03 13:32:53 [POSI] : Trades: 0, Balance: 60.00, Ride: 60.20
 * 2024-03-03 13:32:53 [NEGA] : Selling USDT-BTC at price 61900.00!
thread 'main' panicked at src/net/trading_api.rs:76:78:
called `Option::unwrap()` on a `None` value
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Another one:
 * 2024-03-03 15:16:05 [POSI] : Starting TradeOgre Bot...
 * 2024-03-03 15:16:05 [INFO] : Market: ETH-USDT
 * 2024-03-03 15:16:05 [INFO] : API Sleep: 512
 * 2024-03-03 15:16:05 [INFO] : Max Sticks: 16
 * 2024-03-03 15:16:05 [INFO] : Max Slope Sticks: 5
 * 2024-03-03 15:16:05 [INFO] : Slope Threshold: -10
 * 2024-03-03 15:16:05 [INFO] : Threshold: 0.95
 * 2024-03-03 15:16:05 [POSI] : Cache downloaded or found!
 * 2024-03-03 15:16:05 [MEDI] : Loading vecdb csv data...
 * 2024-03-03 15:16:05 [MEDI] : Initializing Vector DB...
 * 2024-03-03 15:16:22 [POSI] : Vector DB loaded.
 * 2024-03-03 15:16:22 [POSI] : Time taken to query vec db: 9.727443ms
 * 2024-03-03 15:16:22 [MEDI] : Initializing trading API...
 * 2024-03-03 15:16:22 [POSI] : Trading will now begin!
 * 2024-03-03 15:16:22 [POSI] : =========================
 * 2024-03-03 15:16:22 [INFO] : Price: 3446.14, Similarities: 1.0000, Slope: 0, Action: hold
 * 2024-03-03 15:16:22 [INFO] : Trades: 0, Balance: 60.00, Ride: 60.00
 * 2024-03-03 15:16:22 [WARN] : Slope is 0.0, most likely start of program.
 * 2024-03-03 15:16:22 [MEDI] : Holding ETH-USDT at price 3446.14!
 * 2024-03-03 15:22:20 [INFO] : Price: 3397.93, Similarities: 1.0000, Slope: 0, Action: buy
 * 2024-03-03 15:22:20 [POSI] : Trades: 1, Balance: 60.00, Ride: 59.16
 * 2024-03-03 15:22:20 [WARN] : Slope is 0.0, most likely start of program.
 * 2024-03-03 15:22:20 [POSI] : Purchased ETH-USDT at price 3397.93!
thread 'main' panicked at src/net/trading_api.rs:76:78:
called `Option::unwrap()` on a `None` value
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Here it does not recognize I have started the bot just right now:
* 2024-03-03 15:14:28 [POSI] : Starting TradeOgre Bot...
 * 2024-03-03 15:14:28 [INFO] : Market: USDC-USDT
 * 2024-03-03 15:14:28 [INFO] : API Sleep: 512
 * 2024-03-03 15:14:28 [INFO] : Max Sticks: 16
 * 2024-03-03 15:14:28 [INFO] : Max Slope Sticks: 5
 * 2024-03-03 15:14:28 [INFO] : Slope Threshold: -10
 * 2024-03-03 15:14:28 [INFO] : Threshold: 0.95
 * 2024-03-03 15:14:28 [POSI] : Cache downloaded or found!
 * 2024-03-03 15:14:28 [MEDI] : Loading vecdb csv data...
 * 2024-03-03 15:14:28 [MEDI] : Initializing Vector DB...
 * 2024-03-03 15:14:44 [POSI] : Vector DB loaded.
 * 2024-03-03 15:14:44 [POSI] : Time taken to query vec db: 9.501565ms
 * 2024-03-03 15:14:44 [MEDI] : Initializing trading API...
 * 2024-03-03 15:14:44 [POSI] : Trading will now begin!
 * 2024-03-03 15:14:44 [POSI] : =========================
 * 2024-03-03 15:14:45 [INFO] : Price: 1.00, Similarities: 0.9354, Slope: 0, Action: buy