Devices [Rules]

See feature ticket #442
Devices are a separate part of IDMP and will be handled after the interventions part.
See #316 for including Interventions in the USDM model according to IDMP.
We can include #508 (Product designation) and #259 (Other intervention names) with changes based on this ticket.

First ideas:

An administration must reference either an administrable product or a medical device (or both).
An administrable product must not be referenced as both the administrable product for an administration and the embedded product of a medical device that is referenced by the same administration.

Thank you @ASL-rmarshall . See my ideas and comments below

An administration must reference either an administrable product or a medical device (or both).
-> I would not do that as we also can in theory have an administration of a non-device/administrable product like a questionnaire or psychologic intervention.
An administrable product must not be referenced as both the administrable product for an administration and the embedded product of a medical device that is referenced by the same administration.
-> agreed
An administration is expected to have a dose only when it also has an administrable product. (Also equivalent rules for route and frequency?)
-> yes but then the administrable product can also be embedded in the device. So maybe we need to specify that in the rule

Additional:

Coding rules for all the new CT

MedicalDeviceIdentifier.type
AdministrableProduct.sourcing
MedicalDevice.sourcing
move the productDesignation rule to new class

@ASL-rmarshall
See for the 3rd rule above also CHK0220: "If a dose is specified then a corresponding administrable product must also be specified and vice versa."
We can update that one with adding -> either directly or embedded in the medical device
The dose and route/frequency dependencies are handled in CHK0201 and CHK0202.

@ASL-rmarshall I have made the following updates:

Set CHK0150 to N for v4 as producDesignation is moved and added CHK0254 for v4.0 instead.
Updated CHK0220 to "If a dose is specified, then a corresponding administrable product must also be specified either directly or embedded in the medical device and vice versa."
Added CHK0249: "An administrable product must not be referenced as both the administrable product for an administration and the embedded product of a medical device that is referenced by the same administration."
Added CHK0250: "In case a medical device includes an embedded product then the sourcing information must be defined at the medical device level not at the embedded product level."
Added CHK0251: "A medical device identifier type must be specified according to the extensible medical device identifier type (Cxxx) DDF codelist (e.g. an entry with a code or decode used from the codelist should be consistent with the full entry in the codelist)."
Added CHK0252: "An administrable product sourcing must be specified using the sourcing (Cxxx) DDF codelist."
Added CHK0253: "A medical device sourcing must be specified using the sourcing (Cxxx) DDF codelist."

@ASL-rmarshall: Based on the newly added class, I added another rule:
CHK0255: A product organization role is expected to either apply to at least a medical device or an administrable product.

@ASL-rmarshall: Based on the newly added class, I added another rule: CHK0255: A product organization role is expected to either apply to at least a medical device or an administrable product.

I think this should be:

A product organization role must only apply to medical devices or administrable products.

I've set up the API to make appliesToIds required, so some sort of id value should be provided.  The rule just needs to verify that each id value is valid for either a medical device or an administrable product.  I think it would be an error (not a warning) if id values do not reference the right class.


Added Standard version for lng calculation

I can't add an enum toGraphQL, because it requires enum values to match [_A-Za-z][_0-9A-Za-z] RegExp.
It is not easy with Kotlin either due to numeric value. I tried to use enum with constructor, but I didn't find a way to make it work, so I suggest to push it as it is at least for now.


feat(material/radio,material/checkbox): Avoid nested divs in labels by changing to span instead.

What:
Change <div> to <span>
Why:
<div> elements should not be nested inside <label> elements because <label> only allows phrasing content

Splitting into two commits would be preferable.
Also, do none of these elements need to be explicitly set back to display: block? I'd have suspected that would break something otherwise.

Will split this into two! I also imagine display: block might be needed, running tests now.

I think the lint error is referring to another commit message.

Hmm true. In that case you have to rebase from master to get the lint check to pass.

Lint error can potentially be ignored: https://github.com/angular/components/pull/20914#issuecomment-719894668


TLS Cipher: use PSA crypto

Description
Implements https://github.com/ARMmbed/mbedtls/issues/5182, https://github.com/ARMmbed/mbedtls/issues/5204, https://github.com/ARMmbed/mbedtls/issues/5206 and https://github.com/ARMmbed/mbedtls/issues/5207.
Status
IN DEVELOPMENT
Requires Backporting
Yes
Which branch?
Migrations
NO

@mpg Thanks for review and and hints. I will address them now. Meanwhile I was analyzing failing tests and added few questions here: https://github.com/ARMmbed/mbedtls/issues/5206#issuecomment-1014522755.

@mpg I addressed all the review comments (despite one: https://github.com/ARMmbed/mbedtls/pull/5434#discussion_r786570680). Locally on my side ssl test passes with and without psa crypto, so lets see how CI will react on these changes.
I think PR is ready for the next review round.
I'm off next week, so I will continue after my return.
@mpg @gilles-peskine-arm Thanks for all the hints and quick answers. I have learnt a lot working on this.

I had a look at CI failures and suggested changes to fix two of them. For the record, here are the failures I didn't fully investigate:
Connection ID, 3D+MTU: Cli+Srv enabled, CID on renegotiation;bad client exit code (expected 0, got 143)
Connection ID, 3D+MTU: Cli+Srv enabled, renegotiate with different CID;bad client exit code (expected 0, got 143)
Connection ID, 3D+MTU: Cli+Srv enabled, renegotiate without CID;bad client exit code (expected 0, got 143)

DTLS fragmenting: proxy MTU: auto-reduction (not valgrind);bad client exit code (expected 0, got 1)

Currently it's not clear to me how these failures can be related to the changes in this PR, but since the first 3 of them (those with Connection ID) happen in 4 different components, this can't just be transient errors (the last one could, however).
I suggest first fixing the issues we already understand, then see in the next CI run if by chance this changes anything for the remaining failures, before investigating them further if necessary.

I have addressed recent review comments. Unfortunately I still see many failures. I just noticed that one implementation part is still missing that can be related to client-server tests (https://github.com/ARMmbed/mbedtls/issues/5205). I left this change and then forgot to implement it.
Locally got the following failures:
przemek@przemek-VirtualBox:~/src/mbedtls$ ./tests/scripts/all.sh --seed 4 --keep-going test_full_cmake_clang | grep "FAIL"
Default, DTLS .......................................................... FAIL
ECJPAKE: working, DTLS ................................................. FAIL
ECJPAKE: working, DTLS, no cookie ...................................... FAIL
ECJPAKE: password mismatch, DTLS ....................................... FAIL
ECJPAKE: working, DTLS, nolog .......................................... FAIL

G->m tls12,no +ECDHE-ECDSA:+NULL:+SHA1 ................................. FAIL
G->m tls12,no +RSA:+NULL:+MD5 .......................................... FAIL
G->m tls12,no +RSA:+NULL:+SHA1 ......................................... FAIL
G->m tls12,no +ECDHE-RSA:+NULL:+SHA1 ................................... FAIL
G->m tls12,no +RSA:+NULL:+SHA256 ....................................... FAIL
G->m tls12,no +ECDHE-PSK:+NULL:+SHA384 ................................. FAIL
G->m tls12,no +ECDHE-PSK:+NULL:+SHA256 ................................. FAIL
G->m tls12,no +PSK:+NULL:+SHA256 ....................................... FAIL
G->m tls12,no +PSK:+NULL:+SHA384 ....................................... FAIL
G->m tls12,no +DHE-PSK:+NULL:+SHA256 ................................... FAIL
G->m tls12,no +DHE-PSK:+NULL:+SHA384 ................................... FAIL
G->m tls12,no +RSA-PSK:+NULL:+SHA256 ................................... FAIL
G->m tls12,no +RSA-PSK:+NULL:+SHA384 ................................... FAIL
tests/compat.sh: 858: kill: No such process
G->m dtls12,no +ECDHE-ECDSA:+NULL:+SHA1 ................................ FAIL
tests/compat.sh: 858: kill: No such process
G->m dtls12,no +RSA:+NULL:+MD5 ......................................... FAIL
tests/compat.sh: 858: kill: No such process
G->m dtls12,no +RSA:+NULL:+SHA1 ........................................ FAIL
tests/compat.sh: 858: kill: No such process
G->m dtls12,no +ECDHE-RSA:+NULL:+SHA1 .................................. FAIL
G->m dtls12,no +RSA:+NULL:+SHA256 ...................................... FAIL
tests/compat.sh: 858: kill: No such process
G->m dtls12,no +ECDHE-PSK:+NULL:+SHA384 ................................ FAIL
tests/compat.sh: 858: kill: No such process
G->m dtls12,no +ECDHE-PSK:+NULL:+SHA256 ................................ FAIL
G->m dtls12,no +PSK:+NULL:+SHA256 ...................................... FAIL
tests/compat.sh: 858: kill: No such process
G->m dtls12,no +PSK:+NULL:+SHA384 ...................................... FAIL
tests/compat.sh: 858: kill: No such process
G->m dtls12,no +DHE-PSK:+NULL:+SHA256 .................................. FAIL
tests/compat.sh: 858: kill: No such process
G->m dtls12,no +DHE-PSK:+NULL:+SHA384 .................................. FAIL
tests/compat.sh: 858: kill: No such process
G->m dtls12,no +RSA-PSK:+NULL:+SHA256 .................................. FAIL
tests/compat.sh: 858: kill: No such process
G->m dtls12,no +RSA-PSK:+NULL:+SHA384 .................................. FAIL
G->m tls12,yes +ECDHE-ECDSA:+NULL:+SHA1 ................................ FAIL
G->m tls12,yes +RSA:+NULL:+MD5 ......................................... FAIL
G->m tls12,yes +RSA:+NULL:+SHA1 ........................................ FAIL
G->m tls12,yes +ECDHE-RSA:+NULL:+SHA1 .................................. FAIL
G->m tls12,yes +RSA:+NULL:+SHA256 ...................................... FAIL
G->m tls12,yes +ECDHE-PSK:+NULL:+SHA384 ................................ FAIL
G->m tls12,yes +ECDHE-PSK:+NULL:+SHA256 ................................ FAIL
G->m tls12,yes +PSK:+NULL:+SHA256 ...................................... FAIL
G->m tls12,yes +PSK:+NULL:+SHA384 ...................................... FAIL
G->m tls12,yes +DHE-PSK:+NULL:+SHA256 .................................. FAIL
G->m tls12,yes +DHE-PSK:+NULL:+SHA384 .................................. FAIL
G->m tls12,yes +RSA-PSK:+NULL:+SHA256 .................................. FAIL
G->m tls12,yes +RSA-PSK:+NULL:+SHA384 .................................. FAIL

Now I will add missing part in ssl_write_encrypt_then_mac_ext() and then debug existing failures.
Can I rebase this branch to resolve conflict?

Now I will add missing part in ssl_write_encrypt_then_mac_ext() and then debug existing failures.

Ok. It seems likely that this explains the failures with GnuTLS client (G->m) because there are all CBC ciphersuites (the only case where encrypt then MAC matters), Gnu TLS offers this extension by default and IIRC may even enforce its use, and the missing part on our side is in the server, so this consistent.
I'm much more surprised by the failures in Default, DTLS (especially as it's just DTLS) and the ECJPAKE cases (again, just with DTLS apparently). Hopefully this will turn out to be something simple like a debug message or error code that changed.
Anyway, as you say, let's take issues one by one and see how it goes.

Can I rebase this branch to resolve conflict?

Sure, and thanks for asking first!

a69851a : compat.sh test are still failing
964c471 : This is probably is not the optimal condition set, but it solves the problems with ssl-opt.sh tests

Travis has passed and now I'm looking into compat.sh failures on Jenkins.

CI passed 😃

CI passed

\o/ Well done!
Now we can try removing the code path that I think is useless and see if it keeps passing ;)

Now we can try removing the code path that I think is useless and see if it keeps passing ;)

Ok, still works :-)
How can we proceed with this one? Should I squash some commits or wait for review?

Ok, still works :-)

Feels good that the CI agrees with me :)

How can we proceed with this one? Should I squash some commits or wait for review?

I'd like to give it one more round of review and I prefer it you don't rewrite history before I'm done. After that, I guess it's between you and the second reviewer. As a general rule, we tend to preserve the history of the PR as it evolved, because it can be instructive when we wonder why things were done a certain way later, but OTOH if you feel like re-structuring the commits will make the job of the second reviewer easier and not take you too much time, that's also a possibility.

Only this comment is left to address: https://github.com/ARMmbed/mbedtls/pull/5434#discussion_r798475031. @mpg could you add a clarification to this comment?

Not sure why CI is now failing. There was some issue with all_u16-test_valgrind_constant_flow:
MemCheck #88: shax-suite .................................   Passed    3.12 sec

      Start 89: ssl-suite

Sending interrupt signal to process

After 10s process did not stop

Terminated

I restarted Jenkins and now seems to be green, but PR is marked as failed.


Fix lambda payload format

Cool project! I was excited to check it out, but then I ran into a deserialization error when trying to run the example with the Python test script.
I got things working when I edited the payload to be more in line with the Payload format version found in the Amazon API Gateway documentation.
This PR adapts the lambda payload in the Python test script to the format specified in the Amazon API Gateway documentation and adds a Dockerfile for running the Python test script so that the requests dependencies will be in place without needing to install them.

Thanks - admittedly the python script hasn't been kept up to date :)


Create dynamic tools for recognizing and fixing common browser- or device-related issues

Read device info and apply device/os/browser-specific fixes for unique problems. Addresses #124, #117, and #115.

Okay, I'm going to rename this, because, as I did suspect because it wasn't considered a great idea when people started developing mobile sites and it is a really, really bad idea to use browser/device sniffing now.

My original thought to resolve the various problems people were having was to just implement several different methods and have an actual switcher on the page so if someone was having problems drawing, they could switch to one of the other modes and see if it works better. That's kind of brute force, but it would avoid browser/device sniffing, I guess...? Also, since there are an infinite number of device and browser version combinations, and it's difficult/impossible to test them, it seems hard to come up with, for example, the one solution that works on all Apple devices running Opera or whatever. Like currently we have some Apple people who can make dots and some who can't, and I have no idea what the difference is.
I guess my point is that maybe we should default them to the mode we think is going to work best but expose a switcher in case it doesn't.

The better solution is to simply test for the issues that are the problem rather than any of that. Now that I'm more familiar with the canvas, I think I can solve a lot of the problems in just a few lines in the shared js, php header, and css files. Please hold.


Add HydroShare Links to Site Details Page

The site details page at https://lrodata.usu.edu/site/LR_Mendon_AA has three buttons above the datastreams which link to HydroShare resources. This functionality may be missed by LRO users switching over to HydroServer. Add buttons for:

[ ] Raw Data
[ ] Quality Controlled Data
[ ] Rating Curve

Given that we want HydroServer to be a generic implementation for anyone, is there a way to do this generically so that it isn't LRO specific? I didn't add a specific issue for this because links/buttons to the raw and quality controlled data in HydroShare should be part of the HydroShare archival integration. We might have to discuss how to implement the link to the rating curve though because that is just an external resource (happens to be in HydroShare) that is related to the monitoring site.


[Trivial][GUI] Cleanup UI compile warnings

Cleaning up compile warnings:
  GEN      qt/pivx/settings/forms/ui_settingsdisplayoptionswidget.h
qt/pivx/settings/forms/settingsdisplayoptionswidget.ui: Warning: The name 'horizontalDenomzPiv' (QSpacerItem) is already in use, defaulting to 'horizontalDenomzPiv1'.
  GEN      qt/pivx/settings/forms/ui_settingsmultisenddialog.h
qt/pivx/settings/forms/settingsmultisenddialog.ui: Warning: The name 'verticalSpacer_3' (QSpacerItem) is already in use, defaulting to 'verticalSpacer_31'.
qt/pivx/settings/forms/settingsmultisenddialog.ui: Warning: The name 'horizontalSpacer' (QSpacerItem) is already in use, defaulting to 'horizontalSpacer1'.
  GEN      qt/pivx/settings/forms/ui_settingsmultisendwidget.h
qt/pivx/settings/forms/settingsmultisendwidget.ui: Warning: The name 'verticalLayout' (QVBoxLayout) is already in use, defaulting to 'verticalLayout1'.
qt/pivx/settings/forms/settingsmultisendwidget.ui: Warning: The name 'horizontalSpacer_2' (QSpacerItem) is already in use, defaulting to 'horizontalSpacer_21'.
  GEN      qt/pivx/settings/forms/ui_settingswalletoptionswidget.h
qt/pivx/settings/forms/settingswalletoptionswidget.ui: Warning: The name 'verticalSpacer_6' (QSpacerItem) is already in use, defaulting to 'verticalSpacer_61'.
qt/pivx/settings/forms/settingswalletoptionswidget.ui: Warning: The name 'horizontalLayout_3' (QHBoxLayout) is already in use, defaulting to 'horizontalLayout_31'.
qt/pivx/settings/forms/settingswalletoptionswidget.ui: Warning: The name 'verticalLayoutTitle' (QVBoxLayout) is already in use, defaulting to 'verticalLayoutTitle1'.
qt/pivx/settings/forms/settingswalletoptionswidget.ui: Warning: The name 'groupBox' (QGroupBox) is already in use, defaulting to 'groupBox1'.
qt/pivx/settings/forms/settingswalletoptionswidget.ui: Warning: The name 'verticalLayout_4' (QVBoxLayout) is already in use, defaulting to 'verticalLayout_41'.
qt/pivx/settings/forms/settingswalletoptionswidget.ui: Warning: The name 'horizontalSpacer_2' (QSpacerItem) is already in use, defaulting to'horizontalSpacer_21'.
  GEN      qt/pivx/settings/forms/ui_settingswalletrepairwidget.h
qt/pivx/settings/forms/settingswalletrepairwidget.ui: Warning: The name 'verticalLayout_7' (QVBoxLayout) is already in use, defaulting to 'verticalLayout_71'.
qt/pivx/settings/forms/settingswalletrepairwidget.ui: Warning: The name 'verticalSpacer_3' (QSpacerItem) is already in use, defaulting to 'verticalSpacer_31'.
qt/pivx/settings/forms/settingswalletrepairwidget.ui: Warning: The name 'verticalSpacer_3' (QSpacerItem) is already in use, defaulting to 'verticalSpacer_32'.
qt/pivx/settings/forms/settingswalletrepairwidget.ui: Warning: The name 'verticalSpacer_3' (QSpacerItem) is already in use, defaulting to 'verticalSpacer_33'.
qt/pivx/settings/forms/settingswalletrepairwidget.ui: Warning: The name 'verticalSpacer_3' (QSpacerItem) is already in use, defaulting to 'verticalSpacer_34'.
qt/pivx/settings/forms/settingswalletrepairwidget.ui: Warning: The name 'verticalSpacer_3' (QSpacerItem) is already in use, defaulting to 'verticalSpacer_35'.
  GEN      qt/pivx/settings/forms/ui_settingswidget.h
qt/pivx/settings/forms/settingswidget.ui: Warning: The name 'horizontalLayout_2' (QHBoxLayout) is already in use, defaulting to 'horizontalLayout_21'.
qt/pivx/settings/forms/settingswidget.ui: Warning: The name 'horizontalLayout_2' (QHBoxLayout) is already in use, defaulting to 'horizontalLayout_22'.
qt/pivx/settings/forms/settingswidget.ui: Warning: The name 'verticalLayout' (QVBoxLayout) is already in use, defaulting to 'verticalLayout1'.

wrong merge


Alexa colors does not match

SUMMARY

Hey there,
the colors does not match with the output in node red.
For example when I say "Alexa turn the light white" the output is
[254,0,0]
The light turns red.
When I say "Alexa turn the light red" the output is still red and [254,0,0]
ECHO DEVICES
Echo Dot 2nd gen.
Echo Dot 3rd gen.
Echo Plus 2nd gen.
MODULE VERSION

0.1.10

CONFIGURATION
[
    {
        "id": "91adab88.2e347",
        "type": "tab",
        "label": "Flow 1",
        "disabled": false,
        "info": ""
    },
    {
        "id": "2498a9a9.581f86",
        "type": "amazon-echo-device",
        "z": "91adab88.2e347",
        "name": "light",
        "topic": "",
        "x": 550,
        "y": 380,
        "wires": [
            [
                "c5d1b171.4a11a8"
            ]
        ]
    },
    {
        "id": "556ec63a.4d4228",
        "type": "debug",
        "z": "91adab88.2e347",
        "name": "",
        "active": true,
        "tosidebar": true,
        "console": true,
        "tostatus": true,
        "complete": "rgb",
        "targetType": "msg",
        "x": 870,
        "y": 380,
        "wires": []
    },
    {
        "id": "c5d1b171.4a11a8",
        "type": "change",
        "z": "91adab88.2e347",
        "name": "msg.rgb",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "rgb",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 700,
        "y": 380,
        "wires": [
            [
                "556ec63a.4d4228"
            ]
        ]
    },
    {
        "id": "1d455393.381b2c",
        "type": "amazon-echo-hub",
        "z": "91adab88.2e347",
        "port": "80",
        "processinput": 0,
        "discovery": true,
        "x": 370,
        "y": 380,
        "wires": [
            [
                "2498a9a9.581f86"
            ]
        ]
    }
]

CONSOLE OUTPUT
11.4.2020, 14:44:35node:
msg.rgb : array[3]
array[3]
0: 254
1: 0
2: 0

Most LED's have 3 colors and a white LED. so when you set the color to white it just assumes you want the white LED on.  What it won't do is send 255,255,255 as the color white.  You'll have to do some checking on the color mode and use node-red to figure out if it's white you want or a color setting.
It's how the system treats the lights. It thinks lights are a Phillips smart bulb.
I sent 2 commands. One to set the light to "WHITE" and one to set the light to "BLUE"
You can see the entire msg object for each below.  You'll have to extract the data you want from the msg object and tell NR what to do with that info.

Just playing more. and it looks like there are two modes. CT mode is for temperatures of white. and HS mode is color mode.  It uses various values to display colors. like what appears to be the x,y coordinates on a color wheel for color selection as well as hue and saturation levels. This is nothing to do with this Node-red plugin. These are values being provided by the Alexa system because it thinks it's talking to a smart lightbulb.


User guide update find

Codecov Report

Merging #108 (1274ccc) into master (d7d6e7a) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #108   +/-   ##
=========================================
  Coverage     67.32%   67.32%
  Complexity      526      526
=========================================
  Files            86       86
  Lines          1830     1830
  Branches        227      227
=========================================
  Hits           1232     1232
  Misses          508      508
  Partials         90       90

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 d7d6e7a...1274ccc. Read the comment docs.


Transition between light and dark themes (and viceversa) is not really smooth

Here's a video. Also, for a split of a second, one can see the default light with teal accent theme.
Thanks

Well, the Activity recreates itself, so that's kind of unavoidable.
The best solution you could use in your own apps would be an Activity enter/exit fade animation (like what Twitter uses when you toggle night mode).

@afollestad
Yeah, that's an option. Maybe you could include it in the library too.

Ooh, that could be a nice idea


vSphere CSI chart updates to upstream v2.7.0 / v2.6.2 / v2.5.4 / v2.4.3

Is your feature request related to a problem? Please describe.
Bugfix releases have happened for CSI and those all need to be pulled in.
Describe the solution you'd like
Update Rancher Charts to pull in bugfix releases of the vSphere CSI chart.
Checklist for items that need completed

[x] Update Image-mirror repo
[x] Update manifests in rancher/vsphere-charts
[x] Notify about chart "release" (reference @brandond @cwayne18 and @rancher-max in team-release-rancher-bits that new chart version is available)
[x] Update chart in rancher/charts
[x] Update chart in rancher/rke2-charts (RKE team)
[x] Updated RKE2 to consume new chart (RKE2 team)

Moved back to "working" because we need to update charts in the Update chart in rancher/charts, rancher/rke2-charts, and rancher/RKE2.
See the checklist in the issue for progress.

Testing template
Root cause
VSphere CSI and CPI drivers needed image bumps to pull in new updates and fixes.
What was fixed, or what changes have occurred
Image version update

CSI 2.5.3, 2.6.1 -> 2.5.4, 2.6.2, 2.7.0
CPI 1.24.1 -> 1.24.2, 1.25.0

Areas or cases that should be tested
This should be tested by deploying the CSI and CPI charts into a downstream RKE1 cluster on vSphere. Follow "Step 3: Deploying the chart" in Jamie's docs.
What areas could experience regressions ?
Are the repro steps accurate/minimal ?

vSphere CSI chart fails to install on rancher v1.24.8.
vSphere CSI Controller pod showed error -
0/3 nodes are available: 3 node(s) had untolerated taint {node.cloudprovider.kubernetes.io/uninitialized: true}. preemption: 0/3 nodes are available: 3 Preemption is not helpful for scheduling.

@vivek-infracloud That indicates that the CPI chart hasn't been installed successfully. When the cloud provider it is working properly it will clear the uninitialized taint on the nodes. Please check the status of the cloud provider installation.

@brandond Correct. I tested the charts again. The CPI installation process finished but the cloud provider was not set on the node. I'm moving the CPI issue to Reopened.

@vivek-infracloud I tested the CSI/CPI charts on v2.7-head and they worked as expected.
Repro steps

Create a ubuntu20.04 vm in vsphere
Run rancher/rancher:v2.7-head docker install on the vm
Provision a downstream vsphere node driver cluster (1 cp, 1 etcd, 1 worker) via the rancher ui
Verify the downstream cluster is using the dev-v2.7 applications repo
Install vSphere CSI and CPI charts
Verify installation completed successfully and deployment/pods are running and healthy

Hi,
Seems like vSphere CSI chart is not available yet for RKE1 K8 <IP_ADDRESS>. Created K3s cluster
Provider: K3s
Kubernetes Version: v1.24.4
and deployed downstream RKE1 cluster using Rancher UI
Provider: RKE1
Kubernetes Version: v1.24.8
Installed CPI and CSI manually using yamls. vsphere-csi-controller-65c978d596-djbtn POD is in pending state 0/6. May I know if this is supported config or if I am missing something here? Should I installed RKE1 K8 1.23 version to make it work?
kubectl get pods -A
NAMESPACE             NAME                                                 READY   STATUS      RESTARTS   AGE
cattle-fleet-system   fleet-agent-dbcf8d667-65gfl                          1/1     Running     0          109m
cattle-system         cattle-cluster-agent-5748b5b756-dgps2                1/1     Running     0          106m
cattle-system         cattle-cluster-agent-5748b5b756-lv2m7                1/1     Running     0          111m
cattle-system         cattle-node-agent-h4fq9                              1/1     Running     0          106m
cattle-system         cattle-node-agent-t86cc                              1/1     Running     0          106m
cattle-system         cattle-node-agent-tcxbf                              1/1     Running     0          111m
cattle-system         helm-operation-dlqq9                                 0/2     Completed   0          33m
cattle-system         kube-api-auth-g2dgs                                  1/1     Running     0          111m
default               mongod-0                                             0/1     Pending     0          2m53s
ingress-nginx         ingress-nginx-admission-create-9bqkg                 0/1     Completed   0          111m
ingress-nginx         ingress-nginx-admission-patch-vngzt                  0/1     Completed   2          111m
ingress-nginx         nginx-ingress-controller-k5vbn                       1/1     Running     0          111m
ingress-nginx         nginx-ingress-controller-phpkm                       1/1     Running     0          106m
ingress-nginx         nginx-ingress-controller-r4qg7                       1/1     Running     0          106m
kube-system           calico-kube-controllers-74df54cbb7-k5xt8             1/1     Running     0          111m
kube-system           canal-529d9                                          2/2     Running     0          111m
kube-system           canal-cp4fc                                          2/2     Running     0          106m
kube-system           canal-gpzbh                                          2/2     Running     0          106m
kube-system           coredns-59499769fb-nfzsh                             1/1     Running     0          111m
kube-system           coredns-59499769fb-vkxp9                             1/1     Running     0          106m
kube-system           coredns-autoscaler-67cbd4599c-wcwl2                  1/1     Running     0          111m
kube-system           metrics-server-585b7cc746-sjf58                      1/1     Running     0          111m
kube-system           rancher-vsphere-cpi-cloud-controller-manager-45z4v   1/1     Running     0          33m
kube-system           rancher-vsphere-cpi-cloud-controller-manager-jfrqx   1/1     Running     0          33m
kube-system           rancher-vsphere-cpi-cloud-controller-manager-nj9hs   1/1     Running     0          33m
kube-system           rke-coredns-addon-deploy-job-dzss7                   0/1     Completed   0          111m
kube-system           rke-ingress-controller-deploy-job-pkqbl              0/1     Completed   0          111m
kube-system           rke-metrics-addon-deploy-job-t5jdj                   0/1     Completed   0          111m
kube-system           rke-network-plugin-deploy-job-hctkf                  0/1     Completed   0          111m
kube-system           vsphere-csi-controller-65c978d596-djbtn              0/6     Pending     0          7m30s
kube-system           vsphere-csi-node-6xbhq                               3/3     Running     0          7m37s
kube-system           vsphere-csi-node-l6nrd                               3/3     Running     0          7m37s
kube-system           vsphere-csi-node-mm9rl                               3/3     Running     0          7m37s
Storage class was created but not able to create PVC

vSphere CSI chart installed successfully on rancher v2.7-head and v2.7.0.
Testing steps:

Created a rancher server v2.7.0 (also v2.7-head) on vSphere.
Created a downstream RKE1 vSphere node driver cluster with 1cp, 1worker and 1 etcd node.
Installed a CPI chart v101.1.0+up1.4.1
Installed a CSI chart v101.1.0+up2.6.2-rancher1
Created a deployment with storage using PVC.
Deployment creation was successful.

CPI and CSI charts are working as expected, hence closing the issue.

I validated the CPI, CSI chart installation as mentioned in the QA Template here.
There is a small mistake in the following helm install command.
helm install -f values.yaml --namespace --kube-system --kubeconfig <path to kube config> cpi ./charts/rancher-vsphere-cpi
-- (double hyphen marks) before the kube-system should be removed. Otherwise, the chart installation fails with following error.
Error: INSTALLATION FAILED: Kubernetes cluster unreachable: Get "https://<IP_ADDRESS>/k8s/clusters/c-hmdvq/version?timeout=32s": dial tcp <IP_ADDRESS>:443: i/o timeout

/backport 2023-Q1-v2.6x

@annablender Since charts are working as expected, may we close this issue?

@vivek-infracloud Yes, go ahead


JVM crash on ARM64 while using Ghidra

Describe the bug
I got a crash of the JVM while using Ghidra:

Ghidra 11.1 (+Generic.jar built from NationalSecurityAgency/ghidra@76977bd514 dropped inside Ghidra\patch, to work around the lack of native components for the ARM64 platform)
ghidra-delinker-extension 0.4.0

Ghidra was launched through VSCode by debugging my Ghidra extension. No breakpoints were active and no threads were paused at the time of the crash.
Desktop (please complete the following information):
Version: Windows 11, 23H2 (10.0.22631 Build 22631)
Device: Windows Dev Kit 2023
MSFT Build of OpenJDK Version:
openjdk 21.0.1 2023-10-17 LTS
OpenJDK Runtime Environment Microsoft-8526870 (build 21.0.1+12-LTS)
OpenJDK 64-Bit Server VM Microsoft-8526870 (build 21.0.1+12-LTS, mixed mode)

To Reproduce:
Unknown, got the crash once so far at seemingly random.
Expected behavior
The JVM shouldn't crash.
Screenshots, Logs etc
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ff803f40b10, pid=20152, tid=616
#
# JRE version: OpenJDK Runtime Environment Microsoft-8526870 (21.0.1+12) (build 21.0.1+12-LTS)
# Java VM: OpenJDK 64-Bit Server VM Microsoft-8526870 (21.0.1+12-LTS, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, windows-aarch64)
# Problematic frame:
# C  [d3d9on12.dll+0x50b10]
#
# No core dump will be written. Minidumps are not enabled by default on client versions of Windows
#
# An error report file with more information is saved as:
# c:\Users\jblbe\Documents\Sources\ghidra-delinker-extension\hs_err_pid20152.log
#
# If you would like to submit a bug report, please visit:
#   https://github.com/microsoft/openjdk/issues
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#

Additional context
Error report file: hs_err_pid20152.log

Hi @boricj. This looks like a bug in DirectX. Please file an issue using the Feedback Hub app (https://support.microsoft.com/en-us/windows/send-feedback-to-microsoft-with-the-feedback-hub-app-f59187f8-8739-22d6-ba93-f66612949332) for the Windows team to take a look at.

Issue submitted to the Feedback Hub: https://aka.ms/AAr9t6j


EgressClient failed to export stream.

I'm trying to use Egress to push stream with rtmp. The fucntion startRoomCompositeEgress result in TypeError in browser.
Thank you in advance.

Server SDK is not designed to be ran within a browser environment. You are seeing this error due to crypto polyfill being incompatible with recent versions.


Missing location template for bulk uploads

When uploading photos by "send to" Commons app the location template is not added although the GPS coordinates are contained in Exif. An example are my latest uploads i made into this category:
https://commons.wikimedia.org/wiki/Category:Kriegerdenkmal_auf_dem_Sperlingsberg_(Kapellendorf)

Should be closed :)

Is this problem still happening?

@Aschroet This should have been fixed in 2.10. Please do let us know if you are still encountering problems.


Import to ONNX or torch?

Hi, I would like to export this model to the ONNX format in order to run in Unity (the 3D visualisation software).
Can you give any tips on this?
The second question is about if you have any tips on visualising these metrics? What would be the best way to visualise a 6 dimensional surface in 3D?

I haven't tried to do that myself, and I haven't worked with Unity before so I can't give you concrete tips, unfortunately. You probably need to start with some projection of the manifold itself. Maybe this is a useful starting point: https://legacy.cs.indiana.edu/~hansona/.

Thanks. Also I'm wondering if the model finds some interesting solutions is there some database to upload the results to? i.e would this be a good thing to crowd source?


Hotfix/selection snapping bugs

Reference images and videos used 1-sided shaders. That might have made sense in the past but that results in unexpected results when duplicating with multimirror so I think it's time to change that
Snapping was broken because we fixed a UI bug in one branch but didn't update the snapping logic

@mikeage @mikeskydev  I'd quite like to merge this quickly as it fixes two fairly obvious issues. Any objections?

I've checked with Rosie and she does make use of the single-sidedness of reference media, I'd be very wary before accepting this change.

I'm going to merge. I can make changes later in response to feedback.


Hub images tab fails to load

Describe the bug
Going on the Hub tab on the hosted version of Jina Dashboard no longer shows hub images, because the https://hubapi.jina.ai/images endpoint is returning an internal server error.
I know this isn't strictly an issue with Dashboard itself, but I can't find anywhere else to report it - I tried to join the Slack but it seems like the invite link no longer works.

I thought this project was long deprecated.
Even jinad is deprecated.
@nan-wang Should we set this repo deprecated?


Which user signed out?

Is there a way to get the user object in a function called during the UserSignedOut event?
The following does not work, since the user is already removed from the manager object:
userManager.events.addUserSignedOut(() => userManager.getUser())

Context:
I need this functionality, since there are differences in my relogin procedure (page refresh if the new user is different to the old user, no page refresh if they are the same user).

I solved my problem for the moment by overwriting the remoUser function and storing the old username.
I'm really not happy with this solution.
Hopefully you guys can point me to a better one...
const _removeUser = userManager.removeUser
userManager.removeUser = () => {
  userManager.getUser().then(user => this.oldUser = user.profile.preferred_username)
  return _removeUser.apply(userManager, arguments)
}
this.oldUser = null

The signed out event lets you know when the user's session at the token server differs from the authenticated session in your app. It does not cause the user session to be removed in your app.

That might be true.
However, when I log out from my IDP the user session gets removed before UserSignedOut is called.
And I still don't know if there is a different way to obtain the user object within UserAignedOut other than userManager.getUser()...

No, sorry, the spec does not allow for that type of info.


Add usage

Coverage decreased (-3.7%) to 72.768% when pulling 642961b215d9870e33917988f883a147f36338a7 on Fak3:t47-DOC into 423e20cca6f47874aceb84603515fb8b762020f7 on frictionlessdata:master.


NNBD Support

As of March 3rd 2021 NNBD is stable along with the new major version 2.0.0 of the Flutter framework.
This plugin should migrate to NNBD.
However, as flutter_driver still has a dependency problem, we might need to wait a bit.
It is a known issue from the NNBD transition period, so it should be fixed pretty soon.

got a same issue. I already did migrate my project and always use $ flutter run --no-sound-null-safety and it works, but I think this is not a proper solution of this issue.

@pauldemarco I'd like to work on the migration myself but I don't have a Linux machine, so I don't know if I could update the proto files.

I think Paul, understandably, has not been able to find enough time to maintain this.  If @navaronbracke or anyone else want to make a fork and continue to develop towards NNBD, I'd be a willing contributor.  It looks like there are a number of good pull requests already for other issues, so there are other potential contributors.
Or @pauldemarco - would you consider involving others to maintain this library, or help with issues etc?  Let us know your plans.

Thanks @pauldemarco  - I see you are doing some work on Null safety - much appreciated.  Let us know if you need some testing or other assistance.

Version 0.8.0 now supports Null Safety. Closing.

I'm trying to Pug Get and I'm running into "Because every version of flutter_driver from sdk depends on convert 2.1.1 and every version of flutter_blue depends on convert ^3.0.0, flutter_driver from sdk is incompatible with flutter_blue.". I'm on Flutter beta channel, wouldn't want to go dev. How can I overcome this?
flutter doctor -v
[✓] Flutter (Channel beta, 2.0.2, on Linux, locale en_US.UTF-8)
    • Flutter version 2.0.2 at /home/csaba/flutter
    • Framework revision 8962f6dc68 (2 weeks ago), 2021-03-11 13:22:20 -0800
    • Engine revision 5d8bf811b3
    • Dart version 2.12.1

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /home/csaba/Android/Sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: /home/csaba/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Android Studio
    • Android Studio at /home/csaba/android-studio
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.54.3)
    • VS Code at /usr/share/code
    • Flutter extension version 3.20.0

[✓] Connected device (2 available)
    • ONEPLUS A6003 (mobile) • c98b8376 • android-arm64  • Android 10 (API 29)
    • Chrome (web)           • chrome   • web-javascript • Google Chrome 89.0.4389.90

• No issues found!

I can run flutter pub get with both the Flutter Driver and flutter_blue (version 0.8.0) successfully. I am also running on the beta channel (on stable the flutter driver indeed has convert 2.1.1 as dependency). Did you run flutter channel beta and flutter upgrade afterwards?
[√] Flutter (Channel beta, 2.1.0-12.2.pre, on Microsoft Windows [Version 10.0.19041.867], locale nl-BE)
    • Flutter version 2.1.0-12.2.pre at E:\Flutter\flutter
    • Framework revision 5bedb7b1d5 (8 days ago), 2021-03-17 17:06:30 -0700
    • Engine revision 711ab3fda0
    • Dart version 2.13.0 (build 2.13.0-116.0.dev)

I can run flutter pub get with both the Flutter Driver and flutter_blue (version 0.8.0) successfully. I am also running on the beta channel (on stable the flutter driver indeed has convert 2.1.1 as dependency). Did you run flutter channel beta and flutter upgrade afterwards? flutter channel beta on its own does not update your local Flutter sources. Thats what flutter upgrade is

Well, flutter usually is very keen on telling me when an update is available. This time it kept silent, I was able to upgrade one more, I guess things are changing quickly partially to post 2.0 stable release reasons and partially to continued null safety. So this particular issue got solved, but overall I had to revert back my changes and now even the code which was running last night fine is failing with 3 deep transient dependency problems. It's not flutter_blue any more though.


Use the component adapter to activate the discovery component

https://github.com/microsoft/vscode-python/pull/14985

Possible fix: https://github.com/microsoft/vscode-python/compare/main...ericsnowcurrently:pyenvs-component-activate-if-in-experiment


ARM release version?

Very looking forward to the release of arm64 version.

Just wanted to express that it would be great to see ARM binaries both for macOS and Linux, not only one of them :)

@thomasaarholt Yes, looking into that now.

same here - would be great to see native for arm :)

This would be an absolute lifesaver.

The issue mostly is that I don't personally have an ARM processor (other than a Mac M1) that I can run Linux on. Unfortunately, for a variety of reasons, I'm not able to setup Linux on the M1. I don't believe that GitHub provides ARM based Linux VMs on their Actions workflows. Cross-compiling, unfortunately, for a release is not possible, as I refuse to do a "release" without SQLite3 support. Is there a reason why a binary would be easier/more useful than just compiling from Go? It's fairly straightforward (and very easy!) to compile Go binaries, and make them available system wide.

I'll look into it. So far I only was able to confirm there's an issue with the current build.

Just a reference, there was an unsuccessful attempt on using goreleaser: https://github.com/xo/usql/pull/349 - looks like there are lots of issues with cross platform builds.


Fixed possibly wrong registry path

Your version of this script opens/creates registry path "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\4.0.30319.0\AutoGenKeys$sid"
I think the correct path should be "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\4.0.30319.0\AutoGenKeys$sid"

Hi @dkraemer, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, DNFBOT;

@pakrym @blowdart

Thank you!


40k instances of DeprecationWarning: tostring() is deprecated. Use tobytes() instead. in Github Actions logs

Describe the bug
Tests runs on GitHub Actions result in thousands of lines of logging, related to a single deprecation warning.
Details:

Actions
Buildkite
Actions status
commit

https://github.com/stellargraph/stellargraph/runs/783114964?check_suite_focus=true#step:6:88
https://buildkite.com/stellar/stellargraph-public/builds/4814#3e6b3710-da57-4f89-bd4f-410a8cf6c628/262-340
good
https://github.com/stellargraph/stellargraph/commit/3165a5281004c88c556a67e7a2d0e4eb59c8d427 (last good)

https://github.com/stellargraph/stellargraph/runs/793566010?check_suite_focus=true#step:6:39880
https://buildkite.com/stellar/stellargraph-public/builds/4886#e1f2642d-36ed-4dce-9fa6-3ef999115437/262-340
bad
https://github.com/stellargraph/stellargraph/commit/aa2accf6ecc61347e71cd64d6b16218a7444d239 (first bad)

https://github.com/stellargraph/stellargraph/runs/797744297?check_suite_focus=true#step:6:39881
https://buildkite.com/stellar/stellargraph-public/builds/4962#8f167b08-b3a5-49e5-947b-81c3bffeaca9/262-340
bad
https://github.com/stellargraph/stellargraph/commit/ba95b0ea5212799b39278341c5c450bfef393632 (current develop)

To Reproduce
???
Observed behavior
=============================== warnings summary ===============================
...
tests/test_ensemble.py::test_ensemble_init_parameters
tests/test_ensemble.py::test_ensemble_init_parameters
tests/test_ensemble.py::test_ensemble_init_parameters
...
tests/reproducibility/test_graphsage.py::test_link_prediction[False]
tests/reproducibility/test_graphsage.py::test_link_prediction[False]
tests/reproducibility/test_graphsage.py::test_link_prediction[False]
tests/reproducibility/test_graphsage.py::test_link_prediction[False]
  /opt/hostedtoolcache/Python/3.6.10/x64/lib/python3.6/site-packages/tensorflow/python/framework/tensor_util.py:523: DeprecationWarning: tostring() is deprecated. Use tobytes() instead.
    tensor_proto.tensor_content = nparray.tostring()

Expected behavior
A clear and concise description of what you expected to happen.
Environment
Operating system: Ubuntu, Windows
Python version: 3.6, 3.7, 3.8
Package versions: see above for StellarGraph commits
Additional context
N/A

I diffed the dependencies listed on Github Actions (#1712, https://github.com/stellargraph/stellargraph/pull/1712/checks?check_run_id=797936136) vs. those on Buildkite (https://buildkite.com/stellar/stellargraph-public/builds/4962#8f167b08-b3a5-49e5-947b-81c3bffeaca9). There was no notable difference, except Actions has stellargraph installed:
diff -u /tmp/buildkite.txt /tmp/actions.txt
--- /tmp/buildkite.txt	2020-06-23 14:35:05.000000000 +1000
+++ /tmp/actions.txt	2020-06-23 14:36:43.000000000 +1000
@@ -105,6 +105,7 @@
 Send2Trash==1.5.0
 six==1.15.0
 smart-open==2.0.0
+stellargraph==1.2.0b0
 tenacity==6.2.0
 tensorboard==2.2.2
 tensorboard-plugin-wit==1.6.0.post3

I tried uninstalling stellargraph in #1713; it didn't help: https://github.com/stellargraph/stellargraph/pull/1713/checks?check_run_id=797968062#step:7:39881

It looks like this is a new deprecation warning, in NumPy 1.19, which was released on Monday (that is, matching the 'good' and 'bad' elements, in the table): https://github.com/numpy/numpy/releases/tag/v1.19.0

numpy.ndarray.tostring() is deprecated in favor of tobytes() -- https://github.com/numpy/numpy/pull/15867

It doesn't appear on Buildkite because Buildkite is setting the PYTHONWARNINGS environment variable, in a way that apparently silences the warning. See #1716, specifically:

https://github.com/stellargraph/stellargraph/pull/1716#discussion_r444608447
https://github.com/stellargraph/stellargraph/pull/1716/files/67cb062e4b9a0801437cfae19810edbfc33f114e..ef06516d1353d19c0468e79942b7e5a730fe2404
https://github.com/stellargraph/stellargraph/pull/1716/checks?check_run_id=798135852#step:7:90

Since this is a problem in Tensorflow and there's not much we can do about it directly, I guess we just have to silence it.


Consistent css class

Ensure consistent css class names in the CSS intrinsic ratio scaling technique section.

@Xon
Sorry for not saying anything. I already fixed this issue in master earlier (see: https://github.com/aFarkas/lazysizes/commit/b0a2091a7f53890fe21270df8b3ff2fa3911df7c). Otherwise I would have taken your PR.
Thanks for requesting the PR.

Cheers


replay: use own download cache path

related discussions : https://github.com/commaai/openpilot/pull/29818#issuecomment-1712196683

Does replay use OpenpilotPrefix? I'm not seeing where it does

cabana will use OpenpilotPrefix before replay started.
it should be better to add a function to replay to change the default download cache path. let cabana call it to set the path.

can we instead just set the COMMA_CACHE environment variable within cabana to /tmp/comma_download_cache?

done

Thank you!


feat:added presentation exchange flow integration test

Signed-off-by: PeterStrob<EMAIL_ADDRESS>

We'll have to fix up tests before merging but I second Char, additions look good :slightly_smiling_face:


Add VM_FLAGS_* constants on Darwin

These flags are needed for using superpages on Darwin with mmap, and are defined in mach/vm_statistics.h.

PRs are of course always welcome!

Yeah, I'm definitely planning on it. I've just been busy recently and figured I'd add this in case somebody else was looking for work to do here. That's the plan though.


Question regarding this vs. redux-form

I apologize for posting a question in the issues but I was evaluating using reformed vs redux-form today.  I saw that redux-form is at v6 now and the migration guide Inversion of Control section specifically states that one of the issues with v5 and below was that every single keypress that changed a form value caused a complete re-render of the form which could lead to performance issues on larger forms.
I started to implement reformed and right away realized thats what was happening here as well.  Having read the redux-form portion makes me cautious about moving forward with reformed but I want to make a somewhat informed decision on this and not just read what one module says as gospel.
Could you talk a bit about the effect reformed would have on more complex forms and if I'd be pigeon-holing myself into performance issues down the line?  I don't foresee having huge forms in my app but you never know what comes in the future.

Sorry for the essay, I started typing and just never stopped.
The difference between reformed and something that ties into the larger redux application state (a la redux-form) is that those change events are scoped to the reformed lifecycle (until you reach outside of it, perhaps to cache/sync form state [which can be debounced to limit its effect]).
As you know, a dispatched action will flow through all reducers (and middleware, and whatever else), which will then in turn call all connected components. This is where redux-form@v5 operated. If you've got a form big enough to cause performance issues on re-renders, you probably have an application with a bunch of other reducers and connected component renders that are nooping (even efficiently) during each form change. How significant these are depends on the application, but the point stands that reformed causes less turmoil out of the box, since its change events are limited to a local state change.
So yes, the entire form is re-rendering, and yes, there could very well be issues down the line. That said, I'd argue that it would be less likely and would probably take longer to experience any problems. Reformed, combined with pure components (optimized with shouldComponentUpdate) should be pretty damn efficient. After all, the point of React is that your UI is just a function of application state, so its built to handle this extremely effectively. I haven't followed redux-form that extensively, so these ideas have probably already been discussed and found to be inadequate, but I stand by the fact that reformed should have a smaller footprint in your application.
Ultimately, it's important to remember that this library is not meant to replace redux-form, since those guys and gals have pored a ton of time into the library and I'm sure have made the API decisions they have for a reason. The core of react-reformed is < 100 lines of code, so it's not going to be a magic bullet that will guarantee flawless performance at a massive scale (keyword being massive). This impetus for this project more comes from a distaste for incorporating fairly sizable, broad-brush libraries to do things that could be implemented on a small scale tailored for your precise needs, and I just wanted to share this as an alternate approach more than anything.
What I would say is that you're far less likely to pigeon-hole yourself using a lighter weight library (if you can even call this a library) than to lean heavily on a larger abstraction that will be harder to remove or change in the future. And, if you're at the point where re-rendering is causing noticeable performance issues, its time for a solution specifically targeted at your exact needs, not another broad brush stroke that should hopefully fix it. I've been there with connected components for everything, and I quickly went back. YMMV.

@davezuko Thank you for the thorough reply, it was exactly what I was hoping for.  This all definitely makes sense and not having used redux-forms before I was not aware of the pitfalls that you mention (just a cursory glance at the v6 changelog is where i got my information, obviously not the best way to operate).  I can imagine now why v5 had issues because of what you stated, the fact that all the reducers are triggered and checking for the proper action, and you're also correct in saying that with clever use of shouldComponentUpdate, even though reformed re-renders the form every time, the impact should be minimized (which it should be already anyway if you're writing your components properly).
All that being said, and I don't know if v5 is any different than v6, but I started to implement redux-form v6 in my app and without even doing anything I ran into a giant issue. If you're curious you can see the issue i opened against their repo. I had started my branch in my code off with reformed and it had no such issue and as such I think I'm going to opt for using your module versus redux-form.
Lastly, you are also correct in saying that it would be easier for me to rip this out than redux-form in the long run so again, you're right in everything you stated :)  Redux is a fantastic piece of code but you can definitely hurt yourself very quickly if you are not 100% sure of what you're doing or take one misstep.
Thanks again for taking the time and for providing reformed for public consumption.  I'm going to preemptively apologize for future me probably asking more questions down the line.

Glad that cleared things up, I was worried that the wall of text just bounced around rather than hitting on points succinctly.
Don't hesitate to post questions as issues, I'm used to it by now (though a gitter channel would probably be helpful). We're all still learning, so it's always better to throw ideas around and debate them than pursue them blindly. Thanks for taking the time to check out the project thoroughly enough to bring up your concerns!

Also: if you do find pain points with the concepts of reformed, please share them. At a minimum they could be incorporated into the README so people are aware of what to expect.

Absolutely I will if I come across them, thank you. I'll be incorporating it into my first form probably Sunday so if you don't hear from me by weekends end then everything went smoothly :)


[Win] Progress indicators not showing in small window size

When my main resolution is HD, when i make the window of iguana small, i cannot see the progress bars at the bottom of the coins page. When i max the screen i can see it again.

aware of this issue.
also tried fixing it multiple times.
might just move the progress bar on top of the screen somewhere.

@pondsea also you are making all EasyDEX-GUI issues under Iguana Desktop Wallet repo???

Dammit i am it seems :( I will close them off and move them.

Fixed this issue. fix coming in next commit update.


Update repositories.txt

Version code changed to v1.2.1 @ArduinoBot.

Version code changed to v1.2.1 @ArduinoBot

System is not picking up the correct version number @ArduinoBot

@dndubins please read my reply above. I already explained the situation.

Thank you. I attempted to fix this problem, Low on coffee this morning. @ArduinoBot

@per1234 your advice is greatly appreciated, thanks!!!

PS: I really like the word "automagically".

Ok @ArduinoBot I think I have it all ironed out! I even added a LICENSE file this time.

Giving a shout-out to @ArduinoBot now, because the new version of my library (1.2.1) hasn't yet erased the shame and humiliation of the previous version's errors, as per the following instruction: "Comment on your pull request here in the arduino/library-registry repository, mentioning @ArduinoBot in the comment. Doing this will cause the automated check to run again." Even though if I wait, the system should pick it up anyway :)

"Comment on your pull request here in the arduino/library-registry repository, mentioning @ArduinoBot in the comment. Doing this will cause the automated check to run again."

This only works during the submission process. Once the PR is merged, the bot completely ignores it. And the bot only checks for compliance with the requirements for admission. There is a completely separate system that handles the actual indexing.

if I wait, the system should pick it up anyway :)

That is correct. The indexer job runs hourly. So you should see the new release appear in the logs page within the hour. However, it might take longer than that to see it in Library Manager because the index is cached on your local machine, and perhaps there is some additional delay for it to work through the CDN cache in the cloud.

Who are you, per1234, and why are you so amazingly helpful? Thank you!
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: per1234 @.>
Sent: Friday, December 10, 2021 12:31:52 PM
To: arduino/library-registry @.>
Cc: David Dubins @.>; Mention @.>
Subject: Re: [arduino/library-registry] Update repositories.txt (PR #774)
"Comment on your pull request here in the arduino/library-registry repository, mentioning @ArduinoBothttps://github.com/ArduinoBot in the comment. Doing this will cause the automated check to run again."
This only works during the submission process. Once the PR is merged, the bot completely ignores it. And the bot only checks for compliance with the requirements for admission. There is a completely separate system that handles the actual indexing.
if I wait, the system should pick it up anyway :)
That is correct. The indexer job runs hourly. So you should see the new release appear in the logs page within the hour. However, it might take longer than that to see it in Library Manager because the index is cached on your local machine, and perhaps there is some additional delay for it to work through the CDN cache in the cloud.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/arduino/library-registry/pull/774#issuecomment-991160533, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AD65XOLY2OAB4LY33CL3OZTUQI2QRANCNFSM5JVQLBLA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Hi, just following up with my question before. I ran arduino-lint on the latest version of my library on GitHub (QuickStats 1.2.1) and there are no errors. Yay! However, it's been 2 weeks, and the Library Manager still has the older version with a bug in it (1.2.0). I am on the Canadian side which takes more time. I was just wondering if this is worth a pull request or just sit tight? Many thanks! -Dave

Hi @dndubins. You can see the reason here in the logs:
http://downloads.arduino.cc/libraries/logs/github.com/dndubins/QuickStats/
2021/12/25 15:18:41 Checking out tag: v1.2.1
2021/12/25 15:18:41 Arduino Lint found errors:
Click to expand Arduino Lint report

Linting library in /home/ubuntu/workspace/gitclones/github.com/dndubins/QuickStats
ERROR: library.properties version value v1.2.1 is invalid. See
       https://arduino.github.io/arduino-cli/latest/library-specification/#libraryproperties-file-format (Rule LP020)

The "version value" the error message refers to is here:
https://github.com/dndubins/QuickStats/blob/v1.2.1/library.properties#L2
version=v1.2.1

The relevant information from the library.properties specification:

version - version of the library. Version should be semver compliant. 1.2.0 is correct; 1.2 is accepted; r5, 003, 1.1c are invalid

And from the semver specification:
https://semver.org/#is-v123-a-semantic-version

Is “v1.2.3” a semantic version?
No, “v1.2.3” is not a semantic version. However, prefixing a semantic version with a “v” is a common way (in English) to indicate it is a version number. Abbreviating “version” as “v” is often seen with version control. Example: git tag v1.2.3 -m "Release version 1.2.3", in which case “v1.2.3” is a tag name and the semantic version is “1.2.3”.

I see you corrected the version field value after the fact, but the Library Manager indexer system only looks at the tagged version of the library, so that fix is not visible to it.
My recommendations for fixing this problem:

Bump the version in library.properties to 1.2.2:version=1.2.2

Push a new Git tag or GitHub release that contains that change to the repository.
You are welcome to name the tag however you like. Even though tags are the release unit used by the Arduino Library Manager system, the tag name itself is completely ignored. All versioning is done using the version field in the library.properties metadata file. So it is your choice whether you want to use the "v" prefix on your tag name or not.

The non-compliant v1.2.1 release will never be added to Library Manager, but 1.2.2 will be functionally identical, so it really doesn't affect the users.

Thanks again for the extra help and your patience! Much appreciated. I'm still getting the workflow down.

@per1234 That worked swimmingly, thanks so much!


Re-enable StringNormalization validation test

The test works for me. It's Darwin-only as well, so if it also works on CI, it's probably fine? Let's see.

@swift-ci please test macOS platform

Failure is unrelated (compiler crashed while building DocC 🤷♂). Still...

PASS: Swift-validation(macosx-x86_64) :: stdlib/StringNormalization.swift (17809 of 17809)

@swift-ci please test macOS platform

@swift-ci please test linux platform

@swift-ci please test windows platform


[MNOE-574] - Improve error management

I thought we could improve the error management in MNOE by using a custom error catched on the controller level.
@BrunoChauvet  @alachaum  what do you think ?
This is waiting on #521 to be merged
It is also waiting on https://github.com/chingor13/json_api_client/pull/275

I like this way of handling errors, way more concise and we end-up with leaner controllers :+1:

@ouranos  PR ready for review

@ouranos  I've addressed your comment. Regarding the error management, it's indeed changing, but I don't think we were using the result array or hash properly on the frontend.

It's not used properly at the moment but @alexnoox was looking into it.
The previous format was structured which would make it easy to parse and format in the frontend.
This new one, not so much.

@ouranos  I've addressed your concerns. The json returned will be the same and follow that format
{"name":["is too short (minimum is 2 characters)"]}

Good work, it is much cleaner!
For the error handler in the frontends, we should do it in an interceptor checking if the response is an error. That would allow us to remove all the error management in the services. The errors will need to be re-thrower from the handler to catch them in the controllers if we need to display a toastr or errors on a form.

@ouranos I've fixed the specs.