5320/johanna remove loinc code from device type

FRONTEND PULL REQUEST
Related Issue

Resolves #5320

Changes Proposed
Changes in Device Type for the admin interface

Device Form now uses the types from the graphql generated file and we no longer need to use the local defined interface Device.
In the form data type testOrderedLoincCode was marked as optional to match the graphql endpoint definition but the field is still required during validation so nothing has changed for the user.
inferLoincCode method was removed.
All instances where the loincCode was set as a field for the device were removed across multiple components.
getDeviceFromDeviceType method was trimmed down to just map more directly to the device information retrieve from the server.
Unit testing was updated for multiple components.
Device related graphql operations were updated to make the field SupportedDiseaseTestPerformedInput mandatory and to remove loincCode.

Test Results

GetFacilityResultsForCsvWithCount query operation was updated to reflect the latest structure of the deviceType object .

Device Lookup details

The Test performed code area was updated to list multiple testOrdered codes and not only covid.
graphql operation getDeviceTypesForLookup was updated to receive the testOrdered information through the field supportedDiseaseTestPerformed.

GraphQL changes in the backend

LoincCode was removed from the Input Types that are being used in the mutation resolvers.
DeviceType model is set to accept null for loincCode (The removal of the field in the DB model will be done in following ticket).
DeviceTypeService sets the loincCode field as null until next ticket removes the field in the DB.
Types in main.graphql CreateDeviceType UpdateDeviceType DeviceType were updated to not return loincCode and make supportedDiseaseTestPerformed mandatory.
Unit testing was updated.

Additional Information

During the implementation of this ticket I hit a weird point where local frontend unit testing were running fine in local but failing in the pipeline or vice versa. As part of the changes you will see small fixes to unit testing of components not really related to the implementation of this ticket.

Testing
Deployed in dev7

Add a device
Edit a device
Add the device to a facility
Perform a test with the device
Check the result looks good
Check the device with the lookup tool

Screenshots / Demos
Only UI change noticeable to the user is in the device lookup tool

If we make the both the backend and frontend changes at the same time, I remember emma sharing we would run into an issue if a user has the new backend code and the old frontend for X number of minutes. Is that still true? 🤔

This is true but not for all the graphql changes. In the case where the UI is trying to create or update a device (mutations) the  old frontend will continue to send the loincCode in the request but once the new backend code gets to prod these fields will just be ignored so backwards compatibility on that front is all good.
For the cases where the UI is getting data to display (query) the old frontend would indeed expect the fields (loincCode, swabType) to render correctly if the query is including that value as part of the response object. I have added back the loincCode and the swabType in the DeviceType definition but I have marked these fields as deprecated.
Let me know if this sounds good to you! @emyl3


Doesn't feel like best practice

The article has helped me a fair bit, however:
Kubernetes appears to be best configured declaratively with YAML definitions etc. Using command line to install nginx makes an easier hello world but is making it harder to understand how to get it all into YAML. A good example of being more yaml oriented is here: https://www.dasblinkenlichten.com/kubernetes-networking-101-ingress-resources/
Another challenge is that with Helm3 you need to provide release names all the time which can add some complications of spanning two ways of getting the content into AKS under the same release (without overriding it).

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

ID: 1bf9c2f3-caeb-0fb1-f089-3f7ca4fad729
Version Independent ID: 929253d7-c763-6429-561f-529d39b5284d
Content: Create an ingress controller for an internal network in Azure Kubernetes Service (AKS)
Content Source: articles/aks/ingress-internal-ip.md
Service: container-service
GitHub Login: @mlearned
Microsoft Alias: mlearned

@rhwilburn Thanks for the feedback! We are currently investigating and will update you shortly.

What I was referring to with helm3 is detailed here: https://github.com/helm/helm/issues/2317 . Where I ran into issues was using the helm upgrade --install command for my release, and the helm install command for the nginx deployment. Getting both into the same namespace plus working together over different release names became an issue as (doing an upgrade will remove resources not present in the helm package of my stuff; ie removing the nginx stuff). Equally keeping an ingress out of the namespace is an issue as detailed here: https://github.com/kubernetes/ingress-nginx/issues/2971 (specifically here: https://github.com/kubernetes/ingress-nginx/issues/2971#issuecomment-440784788)

As for the yaml part, I believe that the following would replace the command line mostly.
See here: https://github.com/kubernetes/ingress-nginx/blob/master/deploy/static/mandatory.yaml
and here: https://github.com/kubernetes/ingress-nginx/tree/master/deploy/cloud-generic

@rhwilburn Thank you very much for the detailed feedback.
In this document we tried to keep the installation steps as simple as possible. because of the we went with command line options.
Having yaml instead of commands will make the steps complex.  What do you think?
This doc is not yet tested with helm3.  I will check this doc with helm 3 and let you know the updates.

Simplicity is a good goal, so understand the desire to use command line. It can be simple to use the 2 yaml files I gave above too (but note that the namespace must be common across nginx and your project files which you achieve via command line with a parameter). So I think the steps can be just as simple with Yaml files if there is a way of overriding those configs namespaces easily (not sure if thats possible?).
I have heard people mention that helm can make the namespace and put all templates there, (but the namespace may need to be ommitted from the original files (not sure))

@rhwilburn Got it. Thanks for the explanation.
I will assign this issue to the content author to investigate further and decide on the doc update.

@mlearned Please consider the users request and update the doc as needed

Thank you @rhwilburn for the feedback!
The article has been updated to use helm 3. We have also added a task to our backlog to review using yaml and will prioritize accordingly.
#please-close


Update dependencies with privacy manifest support

The dependencies Segment has added privacy manifest support in its latest releases, can you help to update the dependency as well?

@yungkienpoh-prestolabs available in 1.3.1


UX improvements

fixed dynamic links (closes #25)
fixed some react related errors
improved ESSelector component (addresses #191)
refactoring (using the dedicated icon components when possible)

The selection input can be improved even further by converting the HitsSearch component into a Dropdown. Would work for both single and multiple selections.

Yep, I was thinking the same. Currently only the Dropdown component is able to display labels inside the input, but it has its own search mechanism and I'm not sure if we can combine it with the Search component.


NoClassDefFoundError in shutdown hook thread

Hey guys,
first of all thanks for this awesome piece of software. It helps us a lot in our current project.
There is only one problem:
Shutdown Hook Deletion Thread for Temporary DB ../tmp/devdb 2017-01-04 19:49:42 INFO [c.v.m.DB] - cleanupOnExit() ShutdownHook now stopping database
Exec Default Executor 2017-01-04 19:49:44 INFO [c.v.e.ManagedProcess] - Program [/tmp/MariaDB4j/base/bin/mysqld, --no-defaults, --console, --skip-grant-tables, --max_allowed_packet=64M, --basedir=/tmp/MariaDB4j/base, --datadir=/home/vaadin/repos/tmp/devdb, --port=4223, --socket=/tmp/MariaDB4j.4223.sock] (in working directory /tmp/MariaDB4j/base) just exited, with value 0
Shutdown Hook Deletion Thread for Temporary DB ../tmp/devdb 2017-01-04 19:49:44 INFO [c.v.e.ManagedProcess] - Successfully destroyed Program [/tmp/MariaDB4j/base/bin/mysqld, --no-defaults, --console, --skip-grant-tables, --max_allowed_packet=64M, --basedir=/tmp/MariaDB4j/base, --datadir=/home/vaadin/repos/tmp/devdb, --port=4223, --socket=/tmp/MariaDB4j.4223.sock] (in working directory /tmp/MariaDB4j/base)
Shutdown Hook Deletion Thread for Temporary DB ../tmp/devdb 2017-01-04 19:49:44 INFO [c.v.m.DB] - Database stopped.
Shutdown Hook Deletion Thread for Temporary DB ../tmp/devdb 2017-01-04 19:49:44 INFO [c.v.m.DB] - cleanupOnExit() ShutdownHook quietly deleting temporary DB base directory: /tmp/MariaDB4j/base
Exception in thread "Shutdown Hook Deletion Thread for Temporary DB ../tmp/devdb" java.lang.NoClassDefFoundError: org/apache/commons/io/FilenameUtils
        at org.apache.commons.io.FileUtils.isSymlink(FileUtils.java:2924)
        at org.apache.commons.io.FileUtils.deleteDirectory(FileUtils.java:1534)
        at org.apache.commons.io.FileUtils.forceDelete(FileUtils.java:2270)
        at org.apache.commons.io.FileUtils.cleanDirectory(FileUtils.java:1653)
        at org.apache.commons.io.FileUtils.deleteQuietly(FileUtils.java:1566)
        at ch.vorburger.mariadb4j.DB$1.run(DB.java:373)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.FilenameUtils
        at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
        at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
        at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:560)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 6 more

That happens if we start our web application via the maven jetty plugin and stop it via Ctrl-C.
It does not hurt us much but it's annoying. I already tried to set the stopWait in the plugin's configuration but that did not help.
Has someone else the same problem?
Cheers,
Paul

@paulroemer thanks for your interest in MariaDB4j and support to other users by contributing with comments on the issues list! I just had a quick closer look at this one .. so it seems that mariadb4j.DB calls commons.io.FileUtils.deleteQuietly which in turn ends up calling (still commons-io's) FilenameUtils.isSystemWindows, that's line 2924, but ClassNotFoundException for FilenameUtils.
Assuming that this may be some JAR version hell kind of issues, I've verified that FilenameUtils is Commons IO 2.4 and still in the latest 2.5, so not like maybe deprecated and removed, so that's not it.
The only possible explanation I can think of then, as this generally works otherwise, is perhaps that the (parent) classpath of the maven jetty plugin of your project where you're hitting this has e.g a FAT JAR (not shaded) that includes Commons IO but misses FilenameUtils .. a bit vague, I know, but it must be some weird issue like that.
Or maybe that (jetty) Maven plugin copies the WAR's JARs somewhere, like a temp WEB-INF/lib (I've no idea how that works), and delete that BEFORE that JVM shutdown hook that MariaDB4j installs gets a chance to run? Just a guess.

Yes, it's very likely some pretty weird issue. Honestly, I hoped it's already known and easy to fix.
Problem is that I cannot fix it now as it's not worth the effort.
Should we keep it open for others anyway?


Adjust rbac to match mcad

Issue link
Closes https://github.com/project-codeflare/codeflare-operator/issues/187
What changes have been made
Adjusts the mcad_controller.go rbac rules to match the recent changes with MCAD in PR https://github.com/project-codeflare/multi-cluster-app-dispatcher/pull/475
Verification steps
Did a make image-build and deployed it, looked good.
Checks

[ ] I've made sure the tests are passing.
Testing Strategy

[ ] Unit tests
[x ] Manual tests
[ ] Testing is not required for this change

Checked the resulting rbac rules and they looked right. Left out the xqueuejobs as per @astefanutti suggestion.

/lgtm

Testing looks good - clusterrole looks complete on my test system:
make image-build -e IMAGE_TAG_BASE=quay.io/jbusche/pr187 VERSION=rc5
make image-push -e IMAGE_TAG_BASE=quay.io/jbusche/pr187 VERSION=rc5
make deploy -e IMG=quay.io/jbusche/pr187:rc5
oc get clusterrole codeflare-operator-manager-role -o yaml
...
- apiGroups:
  - quota.codeflare.dev
  - workload.codeflare.dev
  resources:
  - appwrappers
  - appwrappers/finalizers
  - appwrappers/status
  - queuejobs
  - quotasubtrees
  - schedulingspecs
  verbs:
  - create
  - delete
  - deletecollection
  - get
  - list
  - patch
  - update
  - watch

And then the deploy of the codeflare kfdef looked good:
oc get pods |grep 136m
instascale-instascale-6bbccb5c8f-7xm9w                            1/1     Running   0          136m
kuberay-operator-b697b6d6d-shv7z                                  1/1     Running   0          136m
mcad-controller-mcad-89cbf885d-sfw8m                              1/1     Running   0          136m

And the guided sample deployed ok:
oc get pods -n default
NAME                                       READY   STATUS    RESTARTS   AGE
raytest-head-8pkk4                         1/1     Running   0          125m
raytest-worker-small-group-raytest-gthc2   1/1     Running   0          125m
raytest-worker-small-group-raytest-wgtz8   1/1     Running   0          125m

/approve


Change equestrian wording in panel

Update to Equestrian Parking in panel:

On staging
https://github.com/smartchicago/trailsy/commit/868c8b8801ad4f62484937671ab93648bff17b62

Good to go

Deployed


separately save and load data (collected samples), using torch

Forgot to commit and PR before going to Ticino. I ended up saving with torch instead of numpy, since train_x and train_y are actually torch tensors anyway. Although... I think torch.save is using pickle in the background.

Hey,
Yes, saving using torch.save is better.
I find something to be a bit odd with GP.load: the user still needs to specify train_x and train_y even if load_dataset is specified. A way out could be making Dataset.load a @staticmethod, make train_x and train_y optional arguments in GP.load if load_dataset is specified, and load the GP with the saved data. Do you see a problem with this?

No, not really. I thought of it, and thought that forcing the user to specify a dummy train_x and train_y anyway is actually not such a bad idea, so they have to know how to initialize it.
Side note, I do prefer having a non-static method, so you can load the data in-place into an existing GP, instead of instantiating and returning a new GP to replace the existing one.
Not strong opinion either way though.

Okay, I understand. When specifying a path to load the Dataset, I think that the user already knows how initialize the Dataset though. I'd find it a bit more natural to make train_x and train_y optional, but I don't have strong opinions either.
On the other hand, I disagree with the "staticness" of Dataset.load. Indeed, doing "gp.dataset.load" is bad practice I think: the GP object needs to update its internal state when its data is changed (currently, this is done by gp._set_gp_data_to_dataset). Therefore, just loading a new dataset may lead to unexpected behaviour.
Nonetheless, the feature you describe is useful: this could be done in another method, that would load the given dataset and update the internal state? (GP.load_dataset or something)

So currently, I split up saving/loading the dataset from saving and loading the model, so the original save and load work the same as before.
I tried making train_x and train_y optional by making them default to None, and checking that you either provide a path to a saved dataset, or provide training data... but this breaks due to the @tensorwrap decorator, which doesn't know how to handle None. Didn't want to go messing around with the decorator though.


Deploy Watcher

Create an URL for a public version of the watcher
Validate that all the info in it is correct
Share it on discord and more to answer current questions

Deployment done: https://carbonable-watcher.fly.dev/
Waiting for validation to create a public address.


migrate to go module

Some tests are failing? But this looks awesome.

This and flyteidl don't work and there was weird issue that I haven't solved.

https://github.com/golang/go/commit/f85125345cc5d3eb054c90bfca4bda3544d7fcab might be related.

I believe the problem is here https://github.com/lyft/flytestdlib/blob/master/cli/pflags/api/generator.go#L304 This doesn't support module. I'm looking into using packages instead https://github.com/golang/go/issues/26433

Codecov Report

Merging #50 into master will increase coverage by 0.03%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #50      +/-   ##
==========================================
+ Coverage   71.95%   71.99%   +0.03%
==========================================
  Files          56       56
  Lines        2232     2235       +3
==========================================
+ Hits         1606     1609       +3
  Misses        503      503
  Partials      123      123

Impacted Files
Coverage Δ

cli/pflags/api/generator.go
74.03% <100%> (+0.37%)
:arrow_up:

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 f921467...1d04a9d. Read the comment docs.

Well it works!

@EngHabu PTAL again. We will need to release a new version of pflags cli.

Another thing to mention is, some test cases won't pass on Mac due to "too many opened files" in some temp folder.

Awesome!! Love it! Thank you for investigating and fixing the goimports issue
Yeah as soon as we merge this to master, please follow these steps: https://github.com/lyft/flytestdlib#releases to package and release a new version of pflags


Issue with multiple senders - enveloping same message more than once

I have multiple senders configured and everything was working fine until I updated to the latest messenger version.
After some debugging, I realized that the message is being enveloped more than once here.
I also noticed that the $message variable gets redefined here - it was originally an Envelope instance containing my original message under the message parameter and it becomes an instance of \Interop\Amqp\Impl\AmqpMessage, which gets enveloped and returned in the end of this method.
It seems that the issue also started after this change on the MiddlewareInterface, as the $envelope variable now gets redefined after each iteration.

See #43


Should we have a table in the readme w/ key bindings?

I'm trying to open pull requests for new key bindings just so that they are seen, but I'm wondering if we want to have a list in the readme for easy reading or printing

:+1:

:+1:

:+1:

Maybe a good start on this would be to add the table next time we add a package and add the keys for that. Then we will have a place where people can add stuff as necessary.

Looks like we have a couple options, either in a wiki or readme.. thoughts on location/formatting/etc?
https://github.com/substantial/atomfiles
https://github.com/substantial/atomfiles/wiki/Keybindings

Looks like the readme is staying up to date, so I'm gonna nuke the wiki page


Removed support for Ruby 1.9.3

Ruby 1.9.3 was deprecated as of February of last year, so I'm removing
support. Also, it's breaking our build :smile:

Coverage remained the same at 99.192% when pulling 1ea62fc481f5c7c9e978ccf373650a4317638ac5 on J3RN:remove-193 into db36812d6926efefa7e125ac1675389999f3169e on tmuxinator:master.

Coverage remained the same at 99.192% when pulling 1ea62fc481f5c7c9e978ccf373650a4317638ac5 on J3RN:remove-193 into db36812d6926efefa7e125ac1675389999f3169e on tmuxinator:master.

Coverage remained the same at 99.192% when pulling 1ea62fc481f5c7c9e978ccf373650a4317638ac5 on J3RN:remove-193 into db36812d6926efefa7e125ac1675389999f3169e on tmuxinator:master.

Coverage remained the same at 99.192% when pulling f17847d68f224796d76dcbfb17651374195d73d5 on J3RN:remove-193 into db36812d6926efefa7e125ac1675389999f3169e on tmuxinator:master.

Coverage remained the same at 99.192% when pulling f17847d68f224796d76dcbfb17651374195d73d5 on J3RN:remove-193 into db36812d6926efefa7e125ac1675389999f3169e on tmuxinator:master.

Coverage remained the same at 99.192% when pulling f17847d68f224796d76dcbfb17651374195d73d5 on J3RN:remove-193 into db36812d6926efefa7e125ac1675389999f3169e on tmuxinator:master.


Have an option to automatically pause XP/h tracker upon logout/hop/disconnection from game

Is your feature request related to a problem? Please describe.
There should be an option to automatically pause the XP/h trackers when you logout or disconnect. A lot of people like myself have the client open all day even if we're not logged in and the XP/h trackers get annoying when they keep tracking all day even if you aren't logged in.

That is already a feature


[OS ERROR] Command: armclang --vsn : Unable to build (with latest mbed-os) application and tests with ARM compiler 5

Description
[OS ERROR] Command: armclang --vsn : Unable to build (with latest mbed-os) application and tests with ARM compiler 5 .
Looks like issue is coming after https://github.com/ARMmbed/mbed-os/commit/aeeb43fb3c0f7f955a2856c7ef2c58f37bbbd2dd
Target: C030*
command line : mbed compile -t ARM -m UBLOX_C030_U201
Issue request type
[ ] Question
[ ] Enhancement
[*] Bug

@screamerbg @RobMeades

I think the issue is coming after this commit.
I may be wrong but looks like there is a mistake in the following line, the IF statement should be and instead of or. The method always returns "ARMC6" if "ARM" is in target.supported_toolchains.
if("ARM" in target.supported_toolchains or "ARMC6" in target.supported_toolchains)
On a side note, if i define ARMC5 instead of ARM in targets.json for C030, then it builds fine
"supported_toolchains": ["GCC_ARM", "ARMC5", "IAR"],

Internal Jira reference: https://jira.arm.com/browse/MBOCUSTRIA-980

Hi @fahim-ublox and @wajahat-ublox. As part of the upcoming 5.12.0 release, Mbed OS is switching to use Arm Compiler 6: https://github.com/ARMmbed/mbed-os/pull/9888. The change you've posted is intentional. You can force the tools to use ARMC5 by doing the change you posted above, however it is recommended to use Arm Compiler 6 going forward.

Hi @bridadan. I understand that ARMC6 is now default option but just for the sake of clarification, if a target supports both ARMC5 and ARMC6, how can user tell mbed-cli which compiler to use? There is a chance that user has a license for ARMC5 but not ARMC6.
Secondly, mbed-cli lists the following toolchains as supported so it gets a little confusing whether to give -t ARM or -t ARMC6
ARM,     ARMC6,   GCC_ARM, IAR,     uARM

Secondly, mbed-cli lists the following toolchains as supported so it gets a little confusing whether to give -t ARM or -t ARMC6
ARM, ARMC6, GCC_ARM, IAR, uARM

The intention is to phase out ARMC5 support I believe and to emphasize ARMC6. So supporting both compilers with out tools and Mbed CLI is a temporary measure until all the targets are brought up to speed.

I understand that ARMC6 is now default option but just for the sake of clarification, if a target supports both ARMC5 and ARMC6, how can user tell mbed-cli which compiler to use? There is a chance that user has a license for ARMC5 but not ARMC6.

It's pretty much how you did it above. You need to edit the targets.json or override it in mbed_app.json.
I would however like to re-state that as far as Mbed OS goes, targets won't officially support ARMC5 and ARMC6 at the same time since we aren't currently planning on testing both of them. So the ARMC5 build could break at any time in the future.

Understood. Thanks for the clarification.

Hi @fahim-ublox and @wajahat-ublox. As part of the upcoming 5.12.0 release, Mbed OS is switching to use Arm Compiler 6: ARMmbed/mbed-os#9888. The change you've posted is intentional. You can force the tools to use ARMC5 by doing the change you posted above, however it is recommended to use Arm Compiler 6 going forward.

@bridadan I just checked with the Mbed product management and according to them, we are not "switching" to ARM Compiler 6 - we are making "Arm Compiler 6" the default ARM Compiler. We are also keeping support for ARM Compiler 5 as one of the supported compilers until  the support for it is officially announced as deprecated by the Product Management (not random Mbed  engineer). In fact, we have a number of Partners and Customers that will continue to use ARM Compiler 5 with Mbed OS 5.12 as a main vehicle for their Products (check with @ChiefBureaucraticOfficer), including a customer of U-blox.


bundle update 20160327

Coverage remained the same at 59.391% when pulling be43af4e4ef5462b1bdf9709b9c69a8b51a91cfc on bundle-update-20160327 into 3c1dddd65b894854013e3e2d8f90b0a5f0d0b4c8 on master.


how do use Drag-and-Drop in delphi dll form?

how do use Drag-and-Drop in delphi dll form?

i don't have experience with dlls


Automate upgrade testing

Add upgrade testing from v.1.2.x to v.2.0.0, This will help us to find out any breakage or bugs once users are upgraded from v.1.2.x to v.2.0.0

Steps to be as follow

Deploy cephcsi v1.2.x
Create PVC
Bind PVC to an app pod
Create Snapshot
Upgrade cephcsi to master/canary release
create a snapshot from PVC
Mount PVC(created by v1.2.x) to another Application Pod
Delete All application pods
Delete PVC
Delete snapshot created by v.1.2.x
Mount New PVC to application Pod
Delete application Pod
Delete PVC

@Yuggupta27 would you like to take this up?

the Upgrade needs to be done from v2.x to master

Sure Madhu, I'll start working on it.


Update how-to-choose-an-ml-net-algorithm.md

Incorrect word
Summary

Stochastic Descent Coordinated Ascent

should have been

Stochastic Duel Coordinated Ascent

Fixes #Issue_Number (if available) N/A
AB#1536261

Fixed by #12687


Support reloading games while preserving windows and other resources

gif

It would also be cool if we could unify bevy_dynamic_plugin and bevy_persist conceptually, but I totally understand that "reloading individual plugins" is very different from reloading the whole app (and as you pointed out on the discord, hot-reloading plugins has lots of unsafety potential).

wow this looks like Flutter hot-reload. hope it does comes true 💯

@bjorn3 is this ready for final review before merging?

No, it is not. The more I think about it, the more I think that at least window preservation should happen through an external process (in the future the editor, for now probably more something like a stub), rather than what this uses with in-process hot reloading. This external process could also save all state. This is also a lot more safe and much less likely to break due to a dylib not unloading for whatever reason.

I don't think I will be working on this any time soon. As such I have marked it as S-Adopt-Me.

Heads up, we are now trying to close PRs that arn't being actively worked on.


fix typo in Slurm walltime

This typo in wall time (1 minute instead of 1 hour) was my fault, fixing here.

Thanks for the catch @rsignell-usgs !


Update Jax to TFLite example to use Jax2TF

The nightly versions says experimental_from_jax is deprecated and Jax2TF is recommended way of converting the Jax models to TFLite.
Added an option in the example to use Jax2TF for TFLite conversion using concrete functions.
Thanks.

Hi @alankelly Can you please review this PR ? Thank you!

Hi @alankelly Can you please review this PR ? Thank you!

Hi @alankelly Can you please review this PR ? Thank you!

Hi @alankelly Can you please review this PR ? Thank you!

Hi @alankelly Can you please review this PR ? Thank you!

Hi @alankelly Can you please review this PR ? Thank you!

Hi @renjie-liu Can you please review this PR ? Thank you!

Hi @renjie-liu Can you please review this PR ? Thank you!

Hi @renjie-liu Can you please review this PR ? Thank you!

Hi @renjie-liu Can you please review this PR ? Thank you!

Hi @renjie-liu Can you please review this PR ? Thank you!

Hi @alankelly Can you please review this PR ? Thank you!

Hi @alankelly Can you please review this PR ? Thank you!


Updated Navbar items to left & Styled Nav buttons

All conflicts resolved! Can you check my PR and update me?


chore(cap-config-writer) update the cds-plugin-ui5 to ^0.6.13

This update is for internal GH issue number: 26762


Update Functional API docs (WIP)

Previously, I created a preliminary version of the documentation for the Functional API that was missing some information and provided just an initial glimpse of the API. In this PR, I seek to create a more complete picture from both a theoretical perspective and for the Java API.

I'm going to close this, as we're changing all of the terminology surrounding the new API from "DSL" to "Streamlets"


Complete switching to Py.test

Hi!
I want to propose to rewrite the test suite with py.test. Main goals are:

Simplicity. Now test suite is quite complicated and has a lot of code duplication
Usage of TestCase features when py.test has better options (e.g. fixtures & parametrization)

Now some tests are using py.test features but some are not.
It will be better to show the code, so, don't you mind if I'll create some draft for that?

Sure, I'm happy to merge any improvements !

If you think this still needs work, please create some pull requests 👍


Detail informations doesn't reload correctly

When you're on a delegate detail page (e.g. https://explorer.ark.io/address/AWDdMBebDW56ffwisTNrHQ8yQZgiVbisDQ#/wallets/AeaqhUKfBtVqNhtMct3piBiWfdhbRwbg4W)

When you click on another address under tab transactions (e.g. AWDdM...bisDQ) then the delegate details doesn't disappear correctly.

You need to reload the page to get the correct details

Fixed, will be deployed later today. https://github.com/ArkEcosystem/ark-explorer/commit/6d4c3d66da2fbac2407155e0579d43c9a6949a62


Adding build time dependencies

Hello and thank you for this project - I look forward to using it for my PureScript projects! I am trying to use the purs-backend-es backend, but I am not sure how to add it as a build dependency to the derivation made by purifix. What is the best way to add nix build dependencies to a project using purifix?

I solved this by making a different project to package PureScript applications with Nix.


Bootstrap 4 Hamburger loading slow after AOS implementation

Hey, I am creating my portfolio website, after using AOS animation, it looks superb,.
I am having one issue, after implementing AOS, the hamburger menu in mobile is appearing very slow, can say after scroll. I tried to remove css and checked again, it was working well, so I thinks it's some conflict with AOS.
My code for menu is having standard bootstrap format as below
 		<a class="navbar-brand" href="<?php echo home_url(); ?>/">
<?php echo get_bloginfo( 'name' ); ?>
 		<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar"> 			 		</button>

 				<?php wp_nav_menu(array( 					'theme_location' => 'primary_menu', 					'container' => false, 					'depth'           => 3, 					'menu_class'      => 'nav navbar-nav ml-auto', 					'fallback_cb'     => 'WP_Bootstrap_Navwalker::fallback', 					'walker'          => new WP_Bootstrap_Navwalker(), 					'items_wrap' => '%3$s' 				))  				?>

Please help me, and let me know what's wrong here.

I have the same problem. aos seems to be pushing the menu to the right, off-screen. The problem is caused by the aos.css not even the js. If I remove the css file it looks ok again.

@imanishpushkar had this same issue, the CSS was setting the width of the div containing aos elements to be wider then screen.
issue can be fixed by setting the width of the nav wrapper to 100vw AND/OR by setting the overflow-x to hidden on the div containing the aos elements.

I try add my style body, html { overflow-x:hidden }
its'work for me


没有包含任何属性的class映射失败

public class TestEmpty
{
}

public class SubEntity : TestEmpty
{ }

TestEmpty testEmpty = new TestEmpty();
SubEntity subEntity = testEmpty.Adapt<SubEntity>();

System.InvalidCastException: Unable to cast object of type 'Sample.AspNetCore.Models.TestEmpty' to type 'Sample.AspNetCore.Models.SubEntity'.
at lambda_method12(Closure , Object )

You can not cast from a base type to a derived type. There is no guarantee that TestEmpty is of type SubEntity. You can however cast to the base class as follows:
SubEntity subEntity = new SubEntity();  TestEmpty testEmpty = subEntity.Adapt<TestEmpty>();


runtime: async signals not reliably delivered to Go threads under TSAN/MSAN

go version devel +f4be767501 Wed Jan 18 16:21:28 2017 -0500 linux/amd64

The fix for #17753 causes signal delivery in Go programs running under TSAN to pass through the TSAN interceptors.
Unfortunately, it appears that the TSAN interceptors defer delivery of asynchronous signals until the next blocking libc call on the same thread.  This interacts poorly with the Go runtime's use of direct 'futex' syscalls to park idle threads: if the thread receiving the signal happens to be one that the runtime is about to park, it may never make a libc call and the signal will be lost.
A simple program illustrating this behavior:
src/tsansig/tsansig.go:
package main

import (
	"os"
	"os/signal"
	"syscall"
)

/*
#cgo CFLAGS: -g -fsanitize=thread
#cgo LDFLAGS: -g -fsanitize=thread
*/
import "C"

func main() {
	c := make(chan os.Signal, 1)
	signal.Notify(c, syscall.SIGUSR1)
	defer signal.Stop(c)
	syscall.Kill(syscall.Getpid(), syscall.SIGUSR1)
	<-c
}

$ go build tsansig
$ ./tsansig

It should exit with status 0 almost immediately.  Instead, it hangs forever.
One might expect that injecting a blocking libc call would help:
package main

import (
	"os"
	"os/signal"
	"syscall"
	"time"
)

/*
#cgo CFLAGS: -g -fsanitize=thread
#cgo LDFLAGS: -g -fsanitize=thread

#include <stddef.h>
#include <time.h>
*/
import "C"

func nanosleep(d time.Duration) error {
	req := C.struct_timespec{
		tv_sec:  C.__time_t(d / time.Second),
		tv_nsec: C.__syscall_slong_t(d % time.Second),
	}
	var rem C.struct_timespec
	for {
		switch _, err := C.nanosleep(&req, &rem); err {
		case nil:
			return nil
		case syscall.EINTR:
			req = rem
			continue
		default:
			return err
		}
	}
}

func main() {
	c := make(chan os.Signal, 1)
	signal.Notify(c, syscall.SIGUSR1)
	defer signal.Stop(c)
	syscall.Kill(syscall.Getpid(), syscall.SIGUSR1)

	for {
		select {
		case <-c:
			return
		default:
			if err := nanosleep(10 * time.Nanosecond); err != nil {
				panic(err)
			}
		}
	}
}

But that attempt at a workaround does not succeed: the thread that receives the signal happens not to be the one the runtime uses for the subsequent cgo calls.
This is (unfortunately) a significant regression over Go 1.7.  In 1.7, Go programs without significant C signal behavior would exhibit correct Go signal behavior.  In the current 1.8 RC, the C signal behavior in the presence of the Go runtime is improved, but the Go signal behavior is broken even for programs with no interesting C signal activity.

One possible fix would be to have something in the runtime make an explicit call (in cgo-enabled builds) to some no-op libc function (e.g. sleep(0)) to trigger signal delivery.  (runtime.findrunnable seems like a likely candidate.)
However, it isn't obvious to me that any call to runtime.futexsleep with a negative ns parameter can be made safely in the presence of TSAN, since the signal could be delivered at any point between the last libc call and the futex syscall.  Since futexsleep allows spurious wakeups, perhaps we also need to inject an arbitrary timeout to futexsleep when TSAN is enabled to bound the delay on signal delivery.

(@ianlancetaylor @dvyukov )

https://go-review.googlesource.com/#/c/35494/ has a potential fix.

Tsan has a notion of "blocking regions" of code (e.g. pthread_cond_wait). It delivers signals synchronously in such regions as it knows that no activity happens on the thread. We could mark whole Go world as "blocking region", then tsan will deliver signals synchronously while in Go code. However, we call some tsan annotations (__tsan_acquire/release) from Go code, so we will need to somehow mark them as well.
This will require new hooks in tsan runtime, so we will need to handle versioning somehow as old tsan runtime won't have the hooks.
What release is this for?

We could mark whole Go world as "blocking region", then tsan will deliver signals synchronously while in Go code.
…
This will require new hooks in tsan runtime

That seems much more complicated than making periodic libc calls on idle Ms — we would also need to unblock the regions during cgo calls.

What release is this for?

I was trying to fix it in 1.8, but the changes are invasive enough that Ian suggested we delay until 1.9.

I've been thinking more about @dvyukov's comments, and I'm starting to see the logic to it.
I agree that marking the whole Go runtime as a "blocking region" for TSAN purposes is the right first-principles solution.  It seems that as far as TSAN is concerned, the important property of a "blocking call" is that it does not acquire any libc locks, and Go only acquires libc locks when executing cgo function calls (including the x_cgo hooks in place for other runtime calls).
That said, the "periodic yielding" strategy does seem to improve responsiveness significantly in practice, so I think that's probably the right fallback for versions of TSAN which do not support the proposed new hooks.


Precipitation accumulation exceedence in time window

As the product owner I would like IMPROVER to have the capability to compute the probability of precipitation accumulations within a distance of each pixel exceeding a threshold within a time window
Pre-requisites: #390
Current requirements are:
Time windows of 1 hour and 3 hours.
Thresholds of 10mm in 1 hour and 30mm in 3 hours.
The cube-combiner can be used for adding the discrete 1-hour accumulations from the IMPROVER input.
This ticket requires that the end-to-end process be tested ahead of the suite-work with the creation of a suitable metadata config file for the cube combiner if this is required to give sensible output. A fuzzy bounds config file for the fuzzy thresholding step should also be created.
Steps:

compute 3-hourly accumulations at hourly intervals from hourly accumulations
apply fuzzy threshold
calculate probabilities in vicinity (20km)
apply square neighbourhood
time-lag
blend

Future requirements:
In the long term, the required time windows will be:
1 hour every hour, 3 hours every hour, 6 hours every hour, 12 hours every 3 hours & 24 hours every 6 hours.
The required thresholds will be:
10, 15, 20, 30mm in 1 hour; 20, 30, 40mm in 3 hours; 40, 50, 75mm in 6 hours; 50, 75, 100mm in 12 hours & 100mm, 200mm in 24 hours
Acceptance criteria:

Test the steps listed above at the CLI level, in a reproducible way, ensuring Level-1 cubes can successfully pass through the chain of steps to give sensible answers. Write BATS test(s) for this if appropriate. Plot output, preferably within a shareable jupyter notebook.
Create output for 10mm in 1 hour.
Create output for 30mm in 3 hours.
Create metadata and threshold config files (JSON) as necessary that can be used in the suite. These must be attached to the ticket and added to the relevant suite ticket.

Completed.


Added async and sync client wrappers.

Added new async test mechanism.

See #196. This PR improves async/sync APIs.

Design decision
I choose public inheritance and void function()=delete approach.
Why don't use composition and forwarding?

This approach requires many forwarding functions. If the function parameter would change, many part of codes need to change. It is difficult to maintain.

Code image (details are omitted intentionally)
// existing classes
class client : public endpoint {};

// new classes by composition
class sync_client {
public:
    void publish(...) {
        c_->publish(...):
    }
private:
    std::shared_ptr<client> c_;
};

Why don't use private inheritance and using?

Class endpoint use std::enable_shared_from_this.

// existing classes
class endpoint : public std::enable_shared_from_this<endpoint> {};
class client : public endpoint {};

// new classes by private inheritance
class sync_client : private client {
public:
    using client::publish;
};

shared_from_this() throws bad_weak_ptr exception on runtime.
Why use void function_name() = delete ?

=delete only checks function name. So I choose the most simple signature and return type. Consider if I use the complete function signature and return type for =delete, if the function has overloads, which one should be chosen? I think there is no appropriate answer.

// existing classes
class endpoint : public std::enable_shared_from_this<endpoint> {};
class client : public endpoint {};

// new classes by public inheritance
class sync_client : public client {
public:
    void async_publish() = delete; // always no parameter and returns void
};

Why don't you create asnyc_client and sync_client as the base classes of client?

It requires big design change.
I don't have good design concept.


[mesheryctl] system context switch to switch Meshery deployments

See mesheryctl Command Tracker for current status of commands.
Current Behavior

mesheryctl system context switch switches the current context passively. The user has to stop Meshery --> switch context --> and restart Meshery to change deployments.
Desired Behavior

If meshery is running then mesheryctl system context switch will stop Meshery and start Meshery with the switched context internally.

Contributor Resources

⌨ mesheryctl Contributing Guide
Beginner's guide to contributing to Meshery and mesheryctl
mesheryctl Command Tracker
Meshery CLI Commands and Documentation
🙋🏾🙋🏼 Questions: Layer5 Discussion Forum and Layer5 Community Slack

This was referred to in another issue if I remember correctly.  That was
about channel switch. So maybe you can close that one?
On Wed, 4 Aug 2021, 18:14 Navendu Pottekkat, @.***>
wrote:

@leecalcote https://github.com/leecalcote @metonymic-smokey
https://github.com/metonymic-smokey @piyushsingariya
https://github.com/piyushsingariya @hexxdump
https://github.com/hexxdump FYI ^
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/meshery/meshery/issues/3768#issuecomment-892626449,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ALV2I5Z2OUEFUNLD3JPXDALT3EY4FANCNFSM5BRBKZPA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

Invoking restart in context switch might be a bit of an issue due to import cycles. So that will have to be considered when designing a solution.

go ahead @suhaniii

Yes, if you are tracking the other open issue, we can close this one out.

Yes, if you are tracking the other open issue, we can close this one out.

I am not aware about another

This is a related and possibly same issue. You can tackle that as well. https://github.com/meshery/meshery/issues/3896


Crash in DataChannel (stats) when using 32-bit OS

This happens after<EMAIL_ADDRESS>panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x804a7cc]

goroutine 48 [running]:
runtime/internal/atomic.Xadd64(0x90526ec, 0x4, 0x0, 0xffffffff, 0x0)
	/root/go/current/src/runtime/internal/atomic/asm_386.s:105 +0xc
github.com/pion/datachannel.(*DataChannel).WriteDataChannel(0x90526c0, 0x903dd90, 0x4, 0x4, 0x8070b00, 0x91204d0, 0x91d60c0, 0xc0000000)
	/root/go_ws/pkg/mod/github.com/pion/datachannel@v1.4.4/datachannel.go:294 +0x7e
github.com/pion/webrtc/v2.(*DataChannel).Send(0x9118360, 0x9130d90, 0x4, 0x4, 0x9120518, 0x9120a88)
	/root/go_ws/pkg/mod/github.com/pion/webrtc/v2@v2.0.24/datachannel.go:320 +0x72

I believe, the atomic operation (for datachannel stats we recently added) has some alignment issue. (not 100% sure yet)
This is causing crashes on win32 and android - also with 32bit.

You can use 32-bit ubuntu docker image to repro it:
docker run -it i386/ubuntu /bin/bash

We should add ci test using 32-bit machine/os...

I wonder if this tool can help... https://godoc.org/golang.org/x/tools/go/analysis/passes/atomicalign
I dunno how to use it yet...

FYI. Using the docker image at i386/ubuntu, I was able to repro it (the test "TestDataChannelBufferedAmount/set_before_datachannel_becomes_open" failed).  After the fix (v2.0.16), all the pion/webrtc tests using the image passed.


(BKR-386) beaker does not work with host_preserved.yaml file anymore

puppet-agent installation was causing a 'version' argument to be added
to the preserved host file, causing beaker to output --version
information upon re-use of that file
fix is just renaming --version to use beaker_version instead of
version as a flag

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/1083/
Test PASSed.

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/1101/
Test PASSed.


Fetching error

Hi,
I'm getting an error message every time I perform a search and no image appears to be selected.

Error fetching search url(403): b'If this error persists, please let us know<EMAIL_ADDRESS>

It seems that this might be intermedient by duckduckgo refusing requests, maybe depending on your geographical region. I had this problem a couple of months back and today it had just worked.

This error persists, unfortunately.


long-integer test problem

9223372036854776000 is outside the range for signed 64-bit integer.  The 0.2.0 spec requires a minimum of 64-bits for integers, the 0.3 spec clarifies this that integers should have range (−9,223,372,036,854,775,808 to 9,223,372,036,854,775,807)

#13 has the discussion, but agreed that breaking all languages to support javascript is a bit rubbish

I've reverted that change, sorry about that.
@redhotvengeance I think I'd be open to tweaking the range again, but only if you change the range to something within the TOML specification.

Thanks!
The long-float test is a bit iffy too. At that sort of precision, everything's a bit approximate. For example, C#'s "G" double format specifier (the default) outputs 3.14159265358979, while its "R" format specifier outputs 3.1415926535897931. In order to pass the test, I'd have to tailor the formatter to output exactly the number of digits you're expecting, which seems somewhat hacky.
Allowing outputs within a suitable tolerance would make the most sense, methinks.

@BurntSushi The issue is that JS was rounding up, pushing the expected number out of the actual range defined by the spec. How about we just round it down so it falls within the spec and is reachable by JS? I propose: −9,223,372,036,854,775,000 to 9,223,372,036,854,775,000

Current 1.0 spec reads:

Arbitrary 64-bit signed integers (from −2^63 to 2^63−1) should be accepted and handled losslessly. If an integer cannot be represented losslessly, an error must be thrown.

Right now it checks exactly those boundary conditions in valid/integer-long.toml:
answer =<PHONE_NUMBER>854775807
neganswer = -9223372036854775808

So all seems good? If JS can't handle that then you can use -skip to skip that test, and we can possible add a new test for the JS boundary condition.


Cherry-pick upstream 4.3 changes through 11/15

might need to lint this, seems like some odd whitespace / tab changes

Any indentation and whitespace changes originated from the cherry picked commits, as these did not rquire any manual adjustments.


Something about gradient_clip

Hello @twtygqyy thank you for your code, that helped a lot. But there is a  issue I  want to ask you: gradient clip avoid the gradient explode, plays an important role in VDSR(implemented by MatConvNet). But when I reproduce the VDSR in caffe , gradient clip shows little effect(I also try many values). Maybe the different clip implement in caffe,MatConvNet and Torch . So , Could you please tell me your view on this issue? Thanks !!

Hi, @DouSong, I'm glad that the code can help.
About your question in terms of gradient clipping, it is true that the value of the threshold (within a certain range) will not make the result very much different. Since the purpose of applying gradient clipping is to avoid the training from getting gradient exploding.
If you use a very large value, let's say 100, as threshold for gradient clipping, the gradients will explode in a very early stage during the training and nothing can be learnt after that. On the other hand, if you select a very small value, let's say 0.0001 as threshold, then it will take much longer time for the parameters to be converged to optimum during the training.

Thank you so much @twtygqyy ,you are so cool !

@DouSong  You're welcome


PPT embedded video on ios and android not working

[Enter feedback here]
Customer reported the issue to MS support team. Per Teams product engineering confirmation, this is by design or limitation on mobile, mobile clients don't have the capability to support videos embedded inside PPT.
Request of this feedback; customer wants to MS to provide statement of this mobile feature limitation in document.
Please contact<EMAIL_ADDRESS>for more details.

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

ID: 905e2c09-ef3e-07cc-0809-6ff171157c47
Version Independent ID: c0d33162-183d-fff8-32e9-a999f391ea51
Content: Limits and specifications for Microsoft Teams - Microsoft Teams
Content Source: Teams/limits-specifications-teams.md
Service: msteams
GitHub Login: @MicrosoftHeidi
Microsoft Alias: heidip

Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

Hello @XixiHuang333 how are you?
Currently, the article has this sentence

Running Teams in a mobile operating system is supported, but many features are unavailable.

We appreciate any feedback that improves the content in the Microsoft docs but we haven't had any response from you so we are going to close this issue.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.


final field can't be compatible

This is the test model
public static class TestModel implements Serializable {
        public final int test;

        public TestModel() {
            this(-1);
        }

        public TestModel(int test) {
            this.test = test;
        }

        @Override
        public String toString() {
            return "TestModel{" +
                    "test=" + test +
                    '}';
        }
    }

example
String json = "{\"test\":100000}";
Type type = new TypeReference<TestModel>() {
}.getType();
TestModel test = JSON.parseObject(json, type);
System.out.println(test);

if the version is <= 1.1.50.android , the final int field named test will be deserialized and the value is 100000.
if the version is >1.1.50.android, the final int filed named test get -1

It seems that the new implementation is more appropriate.


memory issue when reconnecting to wifi/broker

screenshot
The graph on the screen is the free heap as reported by a node using Homie.
As you can see on the screenshot, the memory drops about 3k right at the moment I rebooted my Wifi and MQTT broker. After 25 minutes, the heap hasn't recovered.
I'm using Mosquitto on a OpenWRT Wifi  box.
That said, reconnecting went fine.

It recovered after 2,5 hours. I will test to see what happens with consecutive disconnects. So I'll keep the issue open for another day.

Closing, memory is recovered and the timespan is very variable.


data URIs in IMG SRC not preserved, treated as relative URL and resolved to invalid URL

This article contains a <img> tag in the article content that should be extracted. The <img> tag's src attribute uses a data: URI to embedded a SVG image as a placeholder:

JavaScript later lazy loads the correct image URL into the src attribute. I don't really care about that JS execution part. the issue is that the data: URL is not preserved when the article is extracted. Instead the data: URI is treated as a relative URL, and the extracted article uses the URL https://www.businessinsider.com/data:image/svg+xml,%3C%3Fxml%20version='1.0'%20encoding='UTF-8'%3F%3E%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='1'%20height='1'/%3 as the src value instead of the original data: URI.

Thanks for the bug report. We should actually manage the case in which we have a lazy image SVG, so there must be a bug somewhere, maybe in the part where we fix relative URIs.  I will try to fix it this weekend.

For some reason, data uri encoded in UTF-8 are not recognized as well-formed URI by the method Uri.IsWellFormedUriString, only data uri encoded in base64. So I have added a specific check for them.


Automatically impl TestContext for AsyncTestContext

I am putting together a basic PR for this already, but I think it would be nice for an AsyncTestContext to also automatically implement the synchronous form as well, which can easily be done using futures::executor::block_on.
The downside of this is that it prevents custom implementations, though I think if it were opted into via a feature flag or attribute macro (the latter would allow opting in per context), it would prove useful.
A related possibility is to have a macro for each method of blocking. Something like #[test_context::async_to_sync::{futures,tokio,async-std,smol}]. It could be useful in the cases where the AsyncTestContext uses runtime-specific libraries?
I am curious what your thoughts are on this.

I've merged the pull request, looks good for some simple cases. Is there a reason why you wouldn't want to do as the README shows, which is to use this plus the attribute for the runtime? I understand it would be nice to have just a single header on each test, but I'm not sure that's too much to ask.

I suppose you are right about the more complex cases. I was trying to brainstorm cases where the automatic impl would be unwanted, but you are right: using a specific runtime should just use the async one.


Adding request_operation as the default tag for envoy telemetry.

(This is used to request new product features, please visit https://discuss.istio.io for questions on using Istio)
Describe the feature request
The Envoy sidecar Prometheus endpoint does not use request_operation (ie endpoint url?) as the dimension for the request metrics. I believe it's way more useful that the current dimension of the http_protocol which is added by default.
Describe alternatives you've considered
There seems to be an alternative to setup the request_operation of operationId dimensions:
https://istio.io/latest/docs/reference/config/proxy_extensions/attributegen/#PluginConfig
which require fragile envoy proxy setup which can break with upgrades
or which seems to be a newer way:
https://preliminary.istio.io/latest/docs/tasks/observability/metrics/customize-metrics/
Which I was trying to follow to customize istiod with I install with helm.  The extraTag seems like it would be available if specified: https://github.com/istio/istio/blob/master/pkg/bootstrap/config.go#L171
but when I try to override the HELM values for istiod version 1.11:
meshConfig:
  enableTracing: true
  extraStatTags: request_operation

it does not seem to take effect on the injected envoy proxy Prometheus stats.
Do I still need to do those operator overrides mentioned in the customize doc?  What's they reference to the request operation, "detination.path"?   Where is the collection of all possible objects available documented?
Affected product area (please put an X in all that apply)
[X] Docs
[X] Installation
[ ] Networking
[ ] Performance and Scalability
[X] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Affected features (please put an X in all that apply)
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Multi Control Plane
Additional context

This may or may not be related to having the operation dimension in the metrics:  we export traces to datadog using HELM istiod override:
global:
  proxy:
    tracer: "datadog"

and they come with the operation of "envoy.proxy" instead of the path:

You will need to follow the metric customization doc to set expression for the tag, e.g. request.path, as documented here: https://preliminary.istio.io/latest/docs/tasks/observability/metrics/customize-metrics/#use-expressions-for-values.
We cannot add the operation or path to the metric by default because its cardinality is very likely unbounded and would cause too many prometheus time series being generated. Mesh admin has to consider whether it makes sense to add the dimension based on their apps behavior, and potentially use classification to reduce tag cardinality as needed: https://preliminary.istio.io/latest/docs/tasks/observability/metrics/classify-metrics/

Your answer makes sense.  We will put off adding the operation id dimension due the concerns you mentioned.
The per-endpoint information the developers may be able to get through the Datadog exporting tracing info but right now operation name is "envoy.proxy" and the http path is not available as part of the information in the trace table.  Any guesses on how the operation name in the screen shot I've added above can become the operation id?  Is that related to the same metrics customization you mentioned?

I am not familiar with data dog, not sure where is that origin operation name from, but definitely has nothing to do with the metrics customization.

@mikhail-khodorovskiy the full set of tracing attributes should be available. This includes the HTTP request path, etc.  See: https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/observability/tracing#what-data-each-trace-contains. Datadog documentation suggests that reasonable span names should also be used in their tools. Perhaps it is worth filing an issue with Datadog for exploration?
Closing, as there does not seem to be further action. Please re-open as necessary.


removed node_modules

I believe this has removed the node_modules

@craig1001 I'll say based on the  line change of -119,215 lines of code removed it worked. Great job!


[Bug] SQLServerResultSetMetaData.getColumnName() doesn't return the actual column name from database, if an sql as clause is specified

Driver version
7.2.1
SQL Server version
Microsoft SQL Server 2017 (RTM) - 14.0.1000.169 (X64)   Aug 22 2017 17:04:49   Copyright (C) 2017 Microsoft Corporation  Developer Edition (64-bit) on Windows 10 Enterprise 10.0  (Build 17134: ) (Hypervisor)
Client Operating System
Windows 10 Enterprise
JAVA/JVM version
java version "11.0.2" 2019-01-15 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.2+9-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.2+9-LTS, mixed mode)
Table schema
Problem description
SQLServerResultSetMetaData.getColumnName() doesn't return the actual column name from database, if an sql as clause is specified
According to jdbc documenation getColumnName() should return the designated column name,
whereas getColumnLabel() should return the alias, if an alias is specified and the getColumnName() result otherwise.
But varying from other jdbc drivers, getColumnName() and getColumnLabel() both return the alias, if an alias is specified.
Both methods have the same implementation in SQLServerResultSetMetaData.
But getColumnName() should return "rs.getColumn( column ).getBaseColumnName();" instead.
According to com.microsoft.sqlserver.jdbc.Column, the base column name is the actual column name in an underlying table.
Other jdbc drivers i tested (h2-1.3.176.jar and mariadb-java-client-2.3.0.jar) were working as expected.

Expected behaviour:
SQLServerResultSetMetaData.getColumnName() returns the actual column name from database if an sql as clause is specified for a column

Actual behaviour:
SQLServerResultSetMetaData.getColumnName() returns the alias if an sql as clause is specified for a column

JDBC trace logs
none
Reproduction code

Hi @abzycdxw65, thanks for contacting us. When the driver issues a select query with SQL AS keyword, SQL Server only sends the alias of the column without the actual name underneath, and the ResultSet doesn't contain any information about the underlying column name. This is why SQLServerResultSetMetaData.getColumnLabel and SQLServerResultSetMetaData.getColumnName return the same results.
The example drivers you have mentioned are drivers for a different data source (h2 and mariadb) - and I imagine that they send data differently from SQL Server. I've done some testing with jTDS driver (which also works with SQL Server), and verified that jTDS driver also behaves the same as our driver.
Please let me know if you have any other questions/concerns.

Closing issue due to no action required. Please feel free to re-open if you have any other questions.


How to use Actually in local pc

Do I need stable diffusion installed in my pc , or do I need to download models and put in the folder, the readme.md is not good how to use please make a #use   and requirements

Hi @allowdoc,
Please follow the requirements to install diffusers and transformers. And the script (stable_diffusion.py or stable_diffusion_xl.py) or the code snippets in #usage would automatically download the stable diffusion models.


Ability to enable Dynamic Port Forwarding outside WebSSH : VPN-Over-SSH

If I am your product manager, I would suggest:

in-app tunnel should be a native feature
out-app tunnel(iOS VPN style) could be a in-app-purchase, and more work could be done, just as route table, route list, local port mapping should be a route rule. magical word maybe the default rule, hoho

I think much more users should be interested in this feature, as using SSH server is much easier than buildindg any other VPN server.
Originally posted by @bigboyq in https://github.com/isontheline/pro.webssh.net/issues/102#issuecomment-727198335

It would be great for me to give up the LXC container so that I can work without OpenVPN or Wireguard. In fact, my scenario looks like this: connecting to a server from another network. I need to execute the necessary console commands, then open the browser and check the result as in a local network.
From raz by email

Waiting for this feature!


integrate payment card section with API

Details

Prepare account for testing:
Sign up for an account on staging.expensify.com, go to Settings > Workspaces > New Workspace. Create a Collect workspace.
To access this newly created component, paste the following link into the browser
https://dev.new.expensify.com:8082/settings/subscription
or add this effect to InitialSettingsPage.tsx
useEffect(() => {
    Navigation.navigate(ROUTES.SETTINGS_SUBSCRIPTION)
}, [])

Add card data to CardSection.tsx :
import Onyx from 'react-native-onyx';

useEffect(() => {
       Onyx.merge(ONYXKEYS.FUND_LIST, [{
           accountData: {
               cardMonth: 11,

               cardNumber: '1234',

               cardYear: 2026,

               currency: 'USD',

               addressName: 'John Doe',
           },
           isDefault: true,
       }])
   }, [fundList]);

Fixed Issues

$ https://github.com/Expensify/App/issues/38618 https://github.com/Expensify/App/issues/38617
PROPOSAL:
Tests

Login into the app with prepared account from the Detailed part
Open 'Subscription' page
Verify that the section is rendered correctly from the desktop and browser,  "Add payment card" showed
Press "Add payment card"
Fill the form and submit
Verify that we now have next billing date  info and card data
Press on three dots, click "Change payment card"
Varify that "Add payment card modal showed"

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

Offline tests

QA Steps

Login into the app with prepared account from the Detailed part
Open 'Subscription' page
Verify that the section is rendered correctly from the desktop and browser,  "Add payment card" showed
Press "Add payment card"
Fill the form and submit
Verify that we now have next billing date  info and card data
Press on three dots, click "Change payment card"
Varify that "Add payment card modal showed"

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

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

I see some flicker from default text to next billing date. I am not sure if it's because of the default card useEffect.
https://github.com/Expensify/App/assets/3069065/1ce31ec1-f13c-4fbb-af8f-a36948a2e9d6

@mananjadhav Yes, flickering happening because of test data

@mananjadhav @amyevans PR is ready for rereview

I’ll be able to review this in an hour.

I did the review again and except for the getNextBillingDate revised method, rest looks good to me.

@amyevans @mananjadhav
PR updated

Requesting final review from @blimpich as well since I'm headed out on extended leave after today

For the next two weeks, I will be OOO
@JKobrynski will take to work on this issue

Code changes are fine now. Working on the checklist.

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

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

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

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

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

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

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

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

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@blimpich All yours.

@blimpich forgot to push 🤦 now it should be fine

I'm still not able to QA this, shouldn't a card being showing up in the drop down?
https://github.com/Expensify/App/assets/17171674/a9a7f3eb-6578-4952-8aa4-8013a2608902

Can we modify the QA steps to show exactly what diff should be applied to CardSection.tsx?

Still curious about this. How exactly is CardSection.tsx suppose to be updated in order to QA this?

@blimpich conflicts resolved!

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

🚀 Deployed to staging by https://github.com/blimpich in version: 9.0.1-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/yuwenmemon in version: 9.0.1-19 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


powershell - ouput as json

This patch enables the run_cmdlet method in lisa/tools/powershell.py to output the result as JSON when the output_json parameter is set to True.
Getting Powershell output as JSON is beneficial because it allows for easier parsing and processing of the output data.

@LiliDeng LGTM


InstanceOf check to avoid issues with railcraft.

java.lang.ClassCastException: mods.railcraft.common.blocks.hidden.TileHidden cannot be cast to net.minecraftforge.fluids.IFluidHandler
	at mekanism.common.FluidNetwork.getAcceptors(FluidNetwork.java:305)
	at mekanism.common.FluidNetwork.tickEmit(FluidNetwork.java:139)
	at mekanism.common.FluidNetwork.onUpdate(FluidNetwork.java:248)
	at mekanism.api.transmitters.DynamicNetwork.tick(DynamicNetwork.java:343)
	at mekanism.api.transmitters.TransmitterNetworkRegistry.tickEnd(TransmitterNetworkRegistry.java:105)
	at mekanism.api.transmitters.TransmitterNetworkRegistry.onTick(TransmitterNetworkRegistry.java:91)
	at cpw.mods.fml.common.eventhandler.ASMEventHandler_1022_TransmitterNetworkRegistry_onTick_ServerTickEvent.invoke(.dynamic)
	at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54)
	at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140)
	at cpw.mods.fml.common.FMLCommonHandler.onPostServerTick(FMLCommonHandler.java:252)
	at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:894)
	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:693)
	at java.lang.Thread.run(Thread.java:748)

I have had other issues with the HiddenBlock before, I believe it's what RC uses for steam/heat, however MC has never really been good at passing in the correct tile entity..

https://github.com/Railcraft/Railcraft/issues/811

https://github.com/aidancbrady/Mekanism/issues/3200 , apparently this was fixed before (with no commit reference yay)

What. How would the game get mixed up with tile entities?! That sounds like someone else doing something screwy.

You have obviously never written render code for mc :)
Stack trace is there and issue is from 2 years ago originally, every mod seems to just do instance of checks too.

Quit with the attitude. If minecraft does not return the correct tile entity on a getTilentity something else is broken data structures don't just randomly decide to give a different value.

At the absolute least you need to make this PR revalidate the acceptors in the next world tick.


Property 'loading' does not exist on type '{}'.

Hi, thanks for plugin.
I am using vue3 composition api
I tested 2 methods, Takeover Mode, and typescript-vue-plugin, but for both have this error.
For example, for this component, i have error from header:
    <div class="container" style="padding: 3.2rem 0;" v-if="loading">
      <LoadingComponent/>
    </div>

And also this error exists and for other Components properties or emits.
I founded in google a lot of reasons, but no one don't work.
Like, to create a file ** vue-file-import.d.ts** with this ext
declare module "*.vue" {
  import Vue from "vue";
  export default Vue;
}

Or in main.ts to add
    app.config.globalProperties.appName = 'vue3'

Thanks in advance.

I apologize for the late reply. For questions about the behavior of Vue itself or the language server itself, it would be better to ask upstream vuejs/language-tools or the Vue community for a more accurate answer.
I will close this issue.


WIP: custom types api

There's a custom-types api in staged that enables custom-types to be downloaded rather than copy and pasted.
This branch is s prototype for downloading the custom-types.
There are a few topics that need to be addressed.

The api is called multiple times during the build process, maybe they should be added to the cache.
Validating plugin options require superstruct to be updated.
Are the custom-types needed client side for previews? I saw that the schema digest is passed to the client so it maybe required that the custom-types are made public.
Who should custom-type updates be handled when running is production.... the information is provided in a the webhook and can be fetched (all in one or one at a time).

@angeloashmore do think? also should this PR be re-worked for v4?
Note this is still a work in progress as the API may change.

Hey @MarcMcIntosh, thanks, this will be a very helpful feature.
The api is called multiple times during the build process, maybe they should be added to the cache.
Caching the downloaded schemas could be dangerous since ideally we would want to fetch fresh schemas on each yarn develop or yarn build. I would find it annoying to need to clear the cache every time I changed a custom type.
In v4, the plugin is using Gatsby's new pluginOptionsSchema API that allows validating and setting default options. Part of this process could fetch the schemas as the default value, while also allowing users to continue providing a schemas option manually if needed.
By fetching it at that point, it will only be run once at the very beginning of the start up process and act as if the user provided in gatsby-config.js.
Validating plugin options require superstruct to be updated.
Related to above, v4 uses pluginOptionsSchema, which uses Joi under the hood.
You can see the WIP version here: https://github.com/angeloashmore/gatsby-source-prismic/blob/4b862a7a371a22c43b3f9beed810f2e65973840a/packages/gatsby-source-prismic/src/plugin-options-schema.ts
Are the custom-types needed client side for previews? I saw that the schema digest is passed to the client so it maybe required that the custom-types are made public.
Yes, information about the custom types is needed client-side for previews to process the document data. Rather than load the whole custom type schema on the front-end, a simplified version is saved instead. This reduces data transfer size and makes it less likely for someone to steal someone's custom types.
A file that looks like this is saved to the /public folder at build time:
https://github.com/angeloashmore/gatsby-source-prismic/blob/c86470cf30a51dfd8607106d15e93f2521b87d80/test/__fixtures__/typePaths.json
The schemasDigest value you see in the code is a way to identify the filename client-side to make a network request.
In v4, a very similar process is used but with a simpler and more secure implementation (the custom type information is md5 hashed so someone could not replicate the custom type on their own).
Saving the file is done here: https://github.com/angeloashmore/gatsby-source-prismic/blob/4b862a7a371a22c43b3f9beed810f2e65973840a/packages/gatsby-plugin-prismic-previews/src/on-post-bootstrap.ts#L34-L67
Who should custom-type updates be handled when running is production.... the information is provided in a the webhook and can be fetched (all in one or one at a time).
Server-side/built-time: I think the following approach gives the most flexibility and easiest initial setup for users (copying some of the details discussed in Slack):

Default: Automatically fetch schemas and only keep in memory: Great for most cases, especially those new to Prismic and small, single-developer powered sites.
Advanced use-case of keeping schemas locally: Provide a CLI command to fetch and save the JSON schemas locally. Provide the schemas to the plugin via the config, which ensures the plugin won't fetch at bootstrap time.

For the advanced use case of keeping the schemas locally, perhaps it would be useful if the API could provide a timestamp of when it was last updated. This would allow the plugin to print a message informing the developer of an outdated schema which can optionally be updated locally.
Client-side/preview-time: While the custom type data is needed client-side, it must first be processed into something that is usable by the plugin. We can do this at build-time to reduce wait time when previewing and also makes the website build more immutable. This is what the typePaths and schemasDigest process is doing.
should this PR be re-worked for v4?
Ultimately, yes, this PR should be reworked for v4, but v4 is still changing quickly so it may be best to wait until things finalize more before updating the PR.
What would be helpful, however, is making a simple proof-of-concept PR for v3 that shows how the API works and can integrate with the plugin. Then it can be translated to v4 easily.

Let me know if you have any follow up questions. 👍

Hey, this should work as a proof of concept, although I getting a permanent access token is still in staged. But the prismic-auth cookie from the repositories dashboard can be used and it'll still work for about a day :)
Oddly enough I did work on cli command for this, then got told just to add it into this plugin.

Closing in favor of #349 for V4


how to infer a point cloud data

dear author, thanks for your help and i successfully build this project on ubuntu20.04.
following README.md,this project can train and test on kitti format dataset but how to infer a point cloud data only？
Here is my situation：

prepare a road-traffic image
use depth-anything to generate the estimated depth map
leverage pseudo-lidar with fake parameter ,i generate a pseudo-lidar (point cloud)data.i check the data with python-pcl and its fine
Here is my confusion: how can we infer this pseudo-lidar data with GLENet?how to visualize the GLENet output？

You could use the demo.py (https://github.com/Eaphan/GLENet/blob/main/tools/demo.py) for inference. Then you could visualize the prediction results with open3d binary. Try to do it yourself. Or you can ask the agents like chatgpt for help.

You could use the demo.py (https://github.com/Eaphan/GLENet/blob/main/tools/demo.py) for inference. Then you could visualize the prediction results with open3d binary. Try to do it yourself. Or you can ask the agents like chatgpt for help.

thanks GLENet can infer a point cloud data (.bin format),here is my code:
python demo.py --cfg_file ./cfgs/kitti_models/GLENet_S.yaml --data_path ./data/ --ckpt ./weights/GLENet_S.pth
but something wrong here:
2024-02-22 08:15:55,468   INFO  -----------------Quick Demo of OpenPCDet-------------------------
2024-02-22 08:15:55,468   INFO  Total number of samples: 	1
2024-02-22 08:15:59,500   INFO  ==> Loading parameters from checkpoint ./weights/GLENet_S.pth to CPU
2024-02-22 08:15:59,549   INFO  ==> Checkpoint trained from version: pcdet+0.3.0+9eb8d96+py269869a
2024-02-22 08:15:59,736   INFO  ==> Done (loaded 165/165)
2024-02-22 08:16:00,024   INFO  Visualized sample index: 	1
[{'pred_boxes': array([[28.252472 , 10.943333 , -0.2352296,  4.279696 ,  1.6428412,
         1.3712578,  1.5511806]], dtype=float32), 'pred_scores': tensor([0.4695], device='cuda:0'), 'pred_labels': tensor([1], device='cuda:0')}]
[Open3D WARNING] GLFW Error: X11: The DISPLAY environment variable is missing
[Open3D WARNING] Failed to initialize GLFW
Traceback (most recent call last):
  File "demo.py", line 112, in <module>
    main()
  File "demo.py", line 100, in main
    V.draw_scenes(
  File "/home/wxj/wxj/GLENet/tools/visual_utils/open3d_vis_utils.py", line 49, in draw_scenes
    vis.get_render_option().point_size = 1.0
AttributeError: 'NoneType' object has no attribute 'point_size'

i use xshell to connet the remote server，and
[{'pred_boxes': array([[28.252472 , 10.943333 , -0.2352296,  4.279696 ,  1.6428412,
         1.3712578,  1.5511806]], dtype=float32), 'pred_scores': tensor([0.4695], device='cuda:0'), 'pred_labels': tensor([1], device='cuda:0')}]

is the result of pred_dicts.
Due to lack a screen to display，it shows me:
[Open3D WARNING] GLFW Error: X11: The DISPLAY environment variable is missing
[Open3D WARNING] Failed to initialize GLFW

but why it tells me：
AttributeError: 'NoneType' object has no attribute 'point_size'
i can’t find the answer on the internet(also ask help for chatGPT3.5)

Try to modify the code and comment line of "vis.get_render_option().point_size = 1.0" out.
Besides, you should prepare a screen for visualization. If you run your code on a remote server, prepare a display environment. For me, I use MobaXterm which includes X server on the windows system.

Try to modify the code and comment line of "vis.get_render_option().point_size = 1.0" out. Besides, you should prepare a screen for visualization. If you run your code on a remote server, prepare a display environment. For me, I use MobaXterm which includes X server on the windows system.

i read .bin file local and draw box locally with open3d (windows 10/11).
due to pseudo-lidar data, the box is definitely wrong：

but i just want to know, if there are some steps about rescale(just like normlize)?
here is my estimated depth map:

the location of car is here:

thanks!good work!

Hey @SoulProficiency. I am trying to do something similar to what you are trying. Were you able to have good inference result using your methods ?

Hey @SoulProficiency. I am trying to do something similar to what you are trying. Were you able to have good inference result using your methods ?

This pipeline is accessible(img->depth anything->pseudo-lidar->GLEnet) but the result is still incorrect. I am not working on this but if you want to have a good inference, we can try the following steps:

using a disparity map to get a depth map(the depth anything model  may not feedback us a exact result)
define camera coordinates, lidar coordinates, and world coordinates, trying to convert the depth map to lidar data(focusing on Coordinate parameters, not the deeplearning model)


Make one or more additional models compatible with scivision and include in the catalog

For each of these:

provide the necessary predict interface (and address any issues that arise with the scivision interface)
Include scivision yaml file
Add to catalog

Dani A-B's model


chore: Switch to Java 11

Fix #211
We're dropping support for Java 8 and now only support Java 11+. This PR updates the pom and related documentation.

Hi @slarse
Thanks for the quick PR. Is this ready to be merged?

@khaes-kth yes, any PR where I put the "ready-for-review" label is also ready to be merged

@khaes-kth yes, any PR where I put the "ready-for-review" label is also ready to be merged

Great! Merged.

Thanks! I'm so happy to be able to use Java 11 features :)


Fix the second TextFormField to trigger onTapOutside

This PR attempts to fix https://github.com/flutter/flutter/issues/127597
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Unfortunately, I think your change is not going to solve the problem without making more problems.
If you look at the failing tests, there are a number of cases where your change breaks existing scenarios.
One of the main reasons that TapRegion exists is so that we can bind widgets together into groups that don't trigger loss of focus.  For instance, if you want to add formatting (bold, italic, etc.) buttons to a text field, but don't want clicking on those buttons to unfocus the text field, then you wrap them in a TextFieldTapRegion, which uses the same tap groupId as all of the text fields do, which is just the EditableText Type object itself.
Hope is not lost, though: To fix the problem you have, you'll need to figure out a way to give each text field a separate tap region groupId object that doesn't break the existing use cases.  Perhaps a parameter on TextField that lets you supply the groupId object to EditableText, which overrides the default of EditableText?

@gspencergoog Thank you for your reply, your suggestions are great!


Add barebone of server using Spring framework

This is to set up the sever and prepare for adding more APIs.

Thanks for review!