Cityview usability improvements

Features

Element Multiselection
Select multiple files and modules to view thier combined metrics in the comparison panel
Split view metric hover panels
View element metrics of the currently hovered element on both commits simultaneously

@LauchInterceptor Hey Lorenz, any updates on this PR?

@maximAtanasov There currently are local changes on my machine to which i've lost access. There are some features left that I would like to implement before declaring the changes as ready.


Object of type ObjectId is not JSON Serializable

Greetings Everyone,
Been playing around with the cti-taxii server and I've come into an issue. It seems that when running Medallion and using MongoDB, I have an issue in trying to retrieve objects from a collection and insert.
I have medallion use a config file that specifies that the backend to be used is my local mongoDB instance.
Attached is an image of Medallion output

Since I was playing around with it in a python3 interpreter, the following is what I did

collection = Collection("http:/<IP_ADDRESS>:5000/trustgroup1/collections/91a7b528-80eb-42ed-a74d-c6fbd5a26116/",user="admin",password="Password0")
mw = Malware(name="Test",description="Real bad malware",labels=["ransomware"])
collection.add_objects(json.loads(Bundle(mw).serialize())) #Crashes here and gives the image above
print(collection.get_objects()) #Same issue

Oddly enough, if I use the config.json file that uses the memory as backend, I have no problems with it at all, it works successfully.
Am I just doing a typo? or is this a bug?

Try:
collection.add_objects(json.dumps(Bundle(mw))

Says, the object cannot be serializable

This may be related to oasis-open/cti-python-stix2#125.

The first error is related to MongoDB (ObjectID is Mongo's unique idenitifer, I think). The second error is (as you mention) because you need to call serialize(). I'll have to play around with Mongo a bit to see if I can reproduce this.

Thanks @gtback  ! Please let me know how it goes. I am a bit stumped as to how to proceed using MongoDB as the backend in the config; so in the mean time I am using the memory backend through the config file that is provided in one of the folders to continue playing around.

@Voronsky, have you modified the database in any way? Based on the latest changes we have made to cti-python-stix2, cti-taxii-client and cti-taxii-server I have not been able to reproduce the Object of type ObjectId is not JSON serializable. Can you pull the latest changes from these repos and test again. I am using this script:

from stix2 import TAXIICollectionSink, ThreatActor, Malware, Bundle
from taxii2client import Collection

collection = Collection("http://<IP_ADDRESS>:5000/trustgroup1/collections/91a7b528-80eb-42ed-a74d-c6fbd5a26116/", user="admin", password="Password0")

#create TAXIICollectionSINK and push STIX content to it
tc_sink = TAXIICollectionSink(collection)

# create new STIX threat-actor
ta = ThreatActor(name="Teddy Bear",
                labels=["nation-state"],
                sophistication="innovator",
                resource_level="government",
                goals=[
                    "compromising environment NGOs",
                    "water-hole attacks geared towards energy sector",
                ])

mw = Malware(name="Test",description="Real bad malware",labels=["ransomware"])

tc_sink.add(ta)  # Add one object via tc_sink

collection.add_objects(Bundle(mw).serialize())  # Add one object via taxii2client

print(collection.get_objects())

@emmanvg  good point I forgot to mention that the DB was initialized via the generic script located in the test folder specifically for MongoDB. Furthermore, after pulling the latest commits from the 3 repos, I can say that your script test worked 100%; i did not get the original error anymore. I see it also properly inserted the object in my MongoDB side with the correct date too within the "objects" collection.
Thank you!


Add NASM minimum version check

Fixed up the logic to parse the nasm -v output correctly, then finished fighting clippy ^^;


Sketch upload

Added upload command based on openocd tool.
The right port will be selected for flashing when multiple Kitprog3 devices are connected 😃.
The --verbose option will print the -debug level mode 2 (default) openocd flashing progress.
The --quiet (default) option log the output in a file in the build temp folder.

Instructions to test (so far I have only done in the arduino-cli wsl)

Make sure the udev_rules are enabled: ~/.arduino15/packages/Infineon-psoc/tools/ModusToolbox/tools_3.2/fw-loader/udev_rules/install_rules.sh
For an "example/example.ino" file:
arduino-cli compile --clean -b Infineon-psoc:psoc:CY8CKIT-062S2-AI-Kit ./example/example.ino
arduino-cli upload --fqbn Infineon-psoc:psoc:CY8CKIT-062S2-AI-Kit -p /dev/ttyACM0 example/example.ino [--verbose]

What is missing?

Get rid of the openocd banner (I haven´t found a way to silent it directly from openocd)

Only the last "New Port Upload: /dev/ttyACM0 (serial)" should appear.

Add post_install script in Linux for the following :
~/.arduino15/packages/Infineon-psoc/tools/ModusToolbox/tools_3.2/fw-loader/udev_rules/install_rules.sh ✔
~/.arduino15/packages/Infineon-psoc/tools/ModusToolbox/tools_3.2/driver_media/install_rules.sh ❌ ?
-~/.arduino15/packages/Infineon-psoc/tools/ModusToolbox/tools_3.2/modus-shell/postinstall ❌ ?
It should be necessary only when installing the package. In WSL this needs to be run all the time we start wsl (I think) -->  to check in a native distribution like ubuntu)
Openocd error handling for arduino user readabilty:

For example, this happens when the board is not connected. We can add some hints (as we do in micropython). For all those things we need a script.

Added upload command based on openocd tool.
The right port will be selected for flashing when multiple Kitprog3 devices are connected 😃.
The --verbose option will print the -debug level mode 2 (default) openocd flashing progress.
The --quiet (default) option log the output in a file in the build temp folder.

Instructions to test (so far I have only done in the arduino-cli wsl)

Make sure the udev_rules are enabled: ~/.arduino15/packages/Infineon-psoc/tools/ModusToolbox/tools_3.2/fw-loader/udev_rules/install_rules.sh
For an "example/example.ino" file:
arduino-cli compile --clean -b Infineon-psoc:psoc:CY8CKIT-062S2-AI-Kit ./example/example.ino
arduino-cli upload --fqbn Infineon-psoc:psoc:CY8CKIT-062S2-AI-Kit -p /dev/ttyACM0 example/example.ino [--verbose]

What is missing?

Get rid of the openocd banner (I haven´t found a way to silent it directly from openocd)

 Only the last "New Port Upload: /dev/ttyACM0 (serial)" should appear.

Add post_install script in Linux for the following :
~/.arduino15/packages/Infineon-psoc/tools/ModusToolbox/tools_3.2/fw-loader/udev_rules/install_rules.sh ✔
~/.arduino15/packages/Infineon-psoc/tools/ModusToolbox/tools_3.2/driver_media/install_rules.sh ❌ ?
-~/.arduino15/packages/Infineon-psoc/tools/ModusToolbox/tools_3.2/modus-shell/postinstall ❌ ?
It should be necessary only when installing the package. In WSL this needs to be run all the time we start wsl (I think) -->  to check in a native distribution like ubuntu)
Openocd error handling for arduino user readabilty:

For example, this happens when the board is not connected. We can add some hints (as we do in micropython). For all those things we need a script.

Works great!
But should we also document how to use it with wsl? No need right?


Got segmentation error - when training 66 images @ GPU

@srikris Got segmentation error, when training with 66 image dataset
Error :
[bt] (3) /usr/lib/x86_64-linux-gnu/libstdc++.so.6(std::istream::read(char*, long)+0x19) [0x7fbf325c8889]
[bt] (4) /usr/local/lib/python2.7/dist-packages/turicreate/cython/../libunity_shared.so(+0xe86532) [0x7fbf0d3ba532]
[bt] (5) /usr/local/lib/python2.7/dist-packages/turicreate/cython/../libunity_shared.so(turi::lambda::lambda_master::bulk_eval(unsigned long, turi::sframe_rows const&, std::vector<turi::flexible_type, std::allocatorturi::flexible_type >&, bool, int)+0x18d) [0x7fbf0d3badfd]
[bt] (6) /usr/local/lib/python2.7/dist-packages/turicreate/cython/../libunity_shared.so(+0x7d15a9) [0x7fbf0cd055a9]
[bt] (7) /usr/local/lib/python2.7/dist-packages/turicreate/cython/../libunity_shared.so(+0x7fdf80) [0x7fbf0cd31f80]
[bt] (8) /usr/local/lib/python2.7/dist-packages/turicreate/cython/../libunity_shared.so(+0x1a1331f) [0x7fbf0df4731f]
/home/ubuntu/turicreate/test_mongo.sh: line 23: 20660 Segmentation fault      (core dumped) python /home/ubuntu/turicreate/test.py
Screen shot :

Mxnet version :
mxnet==1.1.0
mxnet-cu90==1.1.0
No of GPU used :
tc.config.set_num_gpus(-1)
Any help appreciated !

Can you share the code you wrote for this?

I'm a bit confused by your last statement. Does tc.config.set_num_gpus(1) work consistently?
Also, if you want to disable the GPU, you should use tc.config.set_num_gpus(0)
(see more details https://github.com/apple/turicreate/blob/master/userguide/image_classifier/advanced-usage.md)

@srikris Utilized max set of GPU by assign tc.config.set_num_gpus(-1)
Now i modified to utilize single GPU (tc.config.set_num_gpus(1) ) and run the training , it working . But  it works inconsistently

What does work inconsistently mean? Does it crash intermittently?
Also, does tc.config.set_num_gpus(0) work?

Sometime got segmentation issue when run GPU tc.config.set_num_gpus(1) and sometimes its working

In addition to previous dataset (66 images) added (62 images)- totally 128 images, now got bad allocation memory issue
Issue :
File "/usr/local/lib/python2.7/dist-packages/turicreate/toolkits/object_detector/_sframe_loader.py", line 232, in _next
self.sframe = self.sframe.sort(_TMP_COL_RANDOM_ORDER)
File "/usr/local/lib/python2.7/dist-packages/turicreate/data_structures/sframe.py", line 5421, in sort
return SFrame(_proxy=self.proxy.sort(sort_column_names, sort_column_orders))
File "/usr/local/lib/python2.7/dist-packages/turicreate/cython/context.py", line 49, in exit
raise exc_type(exc_value)
MemoryError: std::bad_alloc
Screenshot

Is this second report a separate one? That issue seems to be different?
Can you share the dataset you have with us by separating out the dataset with 66 images with the one with 128 images. That would greatly help us isolate both bugs.
In addition to that, we'd appreciate some info around:

What version of TC is this?
How much memory does this machine have?

TC version - 4.3.2
AWS deep learning machine - g2.2xlarge
Will share dataset privately

We fixed a lot of issues in the object detector in 5.0. Can you upgrade to 5.0 (using pip install turicreate --upgrade) and confirm that you are having the same set of issues?

@srikris Thanks ! will check and update you

Upgrade version to 5.0 and create coreML for sample dataset. Tried to import coreML in xcode i got issue and not able to import model created from turicreate 5.0
I have latest xcode version 9.4.1, coreML model created from 4.3.8 can able to import without any issue, when import coreML created from turicreate 5.0 , I got below issue - PFA

Did upgrading to version 5.0 solve the original issue or are you still having that. To fix this issue, you can export the model using the following for iOS 12.
model.export_coreml('MyDetector.mlmodel', include_non_maximum_suppression=False)

See https://github.com/apple/turicreate/blob/master/userguide/object_detection/export-coreml.md for more details.

@srikris Thanks for your prompt response ! Original issue got resolved, Still need to check multiple scenerios and let you know.
Will modify export coreml model and update you for xcode issue

Hey @dhgokul , closing this since the original issue got resolved. Feel free to reopen this issue if you file into that problem again!


Better mixins support

This addresses #75 by looking at all columns available in mro, not just topmost model.
It doesn't address the rest of the "mixins" story such as declared_attr.

Thanks for the PR!
Just to let you know, I am currently busy with other tasks, so I might not review this soon. I will try however to look at your PRs early next week.


docs: hide > 6 month old deprecations in the generated documentation

Codecov Report

Merging #1233 (46a8fcf) into main (40e503c) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1233   +/-   ##
=======================================
  Coverage   94.77%   94.77%
=======================================
  Files          48       48
  Lines        6929     6929
  Branches      450      450
=======================================
  Hits         6567     6567
  Misses        362      362

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

I know that's going to be a breaking change, but instead of just hiding the from the documentation, we should remove them entirely. I'm afraid that we'd just push this thing in front of us indefinitely if we don't create some kind of action plan for this.

I'm fine with the suggestion. @elitan ?

I then removed everything that was deprecated (all of which was deprecated since more than 6 months).
I think this is a major bump too, wdyt?


Add functionality to auto-generate Quantum Circuit diagrams for a pyQuil program

Having a simple function call to generate and visualize the Quantum Circuits that are created from a  pyQuil instruction set is useful for several reasons:

It helps in teaching people how to code and visualize quantum algorithms
It is a visual aid to debug algorithms
It can aid in simplification of algorithms

I was also thinking that this would be a great idea; furthermore, it might be useful to have a plugin for popular Python IDEs such as PyCharm which would let you construct the circuit graphically (i.e. a drag and drop interface) while the pyQuil instructions are generated automatically.

I don't think it's a bad idea necessarily, however, I will note the following:

General Quil programs don't fit into the "circuit diagram" mantra.
Quil should be programmed and communicated by writing Quil, not by drawing pictures.
Circuit diagrams tend to be pretty useless beyond 3-4 qubits.
Circuit diagrams will not capture any classical processing in a hybrid classical/quantum computation, like VQE.

Basically, the subtext of all of the above is that we should move away from, not closer to, programming graphically. But understandably every textbook and paper on quantum computation uses these diagrams, so it may have some value.

You could use something like this: https://github.com/CQuIC/qcircuit/

QPIC could also be used https://github.com/qpic/qpic

In reading the documentation for QPIC, it supports more useful functionality (such as adding text in places and sizing things). Because it is strictly more powerful than qcircuit, it is probably going to be of more utility to you all.
If you end up going with qcircuit and have suggestions for improvements on our end, we could work with you to fold those into the package as appropriate.

If someone contributed a patch or even just an initial sketch of qcircuit we would probably use that. I'd love to work on this myself but probably won't get around to it for a few weeks or so.


--full-contigs mode only generates a fraction of the reads

Hello!
I have a problem running in the full-contigs mode. My input fastq file consists of 1,000 sequences. I run the following command:
resources/squigulator/squigulator -x dna-r10-prom -t 128 --full-contigs results/zymo-human/passed-1K.fastq -o results/zymo-human/passed-1K.slow5
Output:
[INFO] sim_main: Using random seed:<PHONE_NUMBER>
[init_core::INFO] builtin DNA R10 nucleotide model loaded
[INFO] load_ref: Loaded 92 reference sequences with total length 0.212366 Mbases
[INFO] print_model_stat: digitisation: 2048.0; sample_rate: 4000.0; range: 281.3; offset_mean: -127.6; offset_std: 19.4; dwell_mean: 10.0; dwell_std: 4.0
[INFO] sim_main: 92/92 reads done
[main] Version: 0.2.0-dirty
[main] CMD: resources/squigulator/squigulator -x dna-r10-prom -t 128 --full-contigs -o results/zymo-human/passed-1K.slow5 results/zymo-human/passed-1K.fastq
[main] Real time: 1.513 sec; CPU time: 1.900 sec; Peak RAM: 1.270 GB

Squigulator generates only 92 reads out of 1,000.. Is there a reason for that? Or some kind of minimum sequence length?
Thank you!

Can you do a wc -l on the fastq file to confirm if actually it has 1000 reads?

I did wc -l on the fastq file and it showed me 1,000. However, I realized that the fastq sequence information spanned over multiple lines. So, the behavior was caused by the fastq itself.
Thank you for your help.


[Feature Request] Remove StartDate || All day

Hi great package.
All good but I can't seem to remove StartDate || All day || MultiDay to make Summary text to take the whole row.
Thank you


Feature Request: Make onchainkit a dependency

Describe the solution you'd like
Currently, onchainkit is not imported as a dependency, and a copy of the folder lives in the template.
Ideally, this is a dependency so we can pickup the latest and greatest from onchainkit without copy pasta.
Describe alternatives you've considered.
No response

I think it is
https://github.com/coinbase/build-onchain-apps/blob/main/template/package.json#L21
and in the latest few PRs we started killing the old OnchainKit folder.
I guess that's something we did on Sunday, not sure if you used BOAT from before than.

Ah awesome! My fault, I didn’t see this change!


Unshuffles test set during generation

Hi,
How do we keep the test set sentence order during generation? Is there a flag we can pass to the generation to keep the test set sequence untouched? This is very important for my work. I would like to request the new feature.
Thanks!

For test set, fairseq will automatically sort the sentences by length and there is no flag to keep the sentence order. Despite that, you can extract the input and output sentences by regular expression from the results produced by fairseq-generate  and reorder the sentences by their sample id (already in the results) to keep the order.

Hi @cordercorder , thank you so much! Keeping the order of sentences is important for my work, yes, sample id would work. Thanks!

These commands may help you.
grep ^S generate-test.txt | LC_ALL=C sort -V | cut -f2- > src.txt
grep ^T generate-test.txt | LC_ALL=C sort -V | cut -f2- > ref.txt
grep ^H generate-test.txt | LC_ALL=C sort -V | cut -f3- > hyp.txt


Store last active page in localStorage

When reloading, the app should open the last active tab
OR
if it's first time the app opens - activate a tab marked as default in appConfig

Updated


Restore-HallengrenBackup doesn't work with Path character "$"

Hi,
The Restore-HallengrenBackup function fails when trying to restore databases from a file share with character "$" in it's path.
When using Ola Hallengren's backup script to backup databases in an Availability Group, the backup files are stored in a folder with naming format "cluster_name$availability_group_name". The files are also named using naming format "cluster_name$availability_group_name_databasename_FULL_COPY_ONLY_20160627_213000.bak"
Basically, I receive the following error:
File list could not be determined. This is likely due to connectivity issues or tiemouts with the SQL Server, the database version is incorrect, or the SQL Server service account does not have access to the file share. Script terminating.
There's no issue with SQL server timeouts or service accounts access rights.
When I create a different folder (as a test) without a $ character in the same fileshare, copy a few database backups and remove the "$" in the copied backup files and point the Restore-HallengrenBackup function to this test folder on the fileshare restores work flawlessly.
Basically, the "$" character that Hallengren's backup script adds in the backup file path as a replacement of "" breaks your restore script. Is there a way to mitigate this issue?

Totally. I had this problem too with AGs and put it on the backburner because I had issues figuring it out. I have an idea about using  [Regex]::Escape() and will test it this weekend.

Should be fixed :) Try now


Correct way injecting angularSails?

Hi,
If I'm using var myApp = angular.module('app ', ['sails.io']); and after that injecting $sailsSocket in service/controller/...
I have no .on method, but I just use .subscribe (same thing).
If I'm var myApp = angular.module('app ', ['angularSails.io']); and after that injecting $sailsSocket
$sailsSocket is just plain function.
and after I do for example var socket = $sailsSocket(); I can use .on method but not .subscribe.
Looks like 'sails.io' is the way to go as it injects proper object, but why such a different behavior?
p.s. I had difficult time making angularSails to work. as file name is 'ngsails.js', inject you should 'sails.io' and documentation says only about methods you can use.

@robwormald seems like a doc update?


Fix UI display for findi

Previously, the item list was not showing the filtered list in the UI panel.
This PR fixes the said bug.

Codecov Report

Merging #77 (5718110) into master (f661cf1) will decrease coverage by 0.02%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master      #77      +/-   ##
============================================
- Coverage     46.76%   46.73%   -0.03%
  Complexity      342      342
============================================
  Files            92       92
  Lines          1623     1624       +1
  Branches        175      175
============================================
  Hits            759      759
- Misses          810      811       +1
  Partials         54       54

Impacted Files
Coverage Δ

src/main/java/tracko/logic/LogicManager.java
25.00% <0.00%> (-0.93%)
:arrow_down:

src/main/java/tracko/model/ModelManager.java
69.23% <0.00%> (ø)

src/main/java/tracko/ui/MainWindow.java
0.00% <0.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[vault-secrets-webhook] pod mutation with multiple imagePullSecrets if first secret not found

Describe the bug:
K8s is able to pull images using the provided pull secrets, even if one of them doesn't exist
vault-secrets-webhook picks the first listed imagePullSecret and broke if it not found
Expected behaviour:
vault-secrets-webhook should attempt all listed imagePullSecrets to find the one that works.
Steps to reproduce the bug:

Create deployment with 2  imagePullSecrets:

    imagePullSecrets:
    - name: registry1
    - name: registry2

Create only second (registry2) with valid credentials

Additional context:
Add any other context about the problem here.
Environment details:

Kubernetes version (e.g. v1.10.2): v1.18.9-eks-d1db3c
Cloud-provider/provisioner (e.g. AKS, GKE, EKS, PKE etc): EKS
bank-vaults version (e.g. 0.4.17):  1.11.3
Install method (e.g. helm or static manifests): helm
Logs from the misbehaving component (and any other relevant logs):

time="2021-02-22T21:21:03Z" level=warning msg="no tracer active" app=vault-secrets-webhook
time="2021-02-22T21:21:03Z" level=warning msg="no tracer active" app=vault-secrets-webhook
time="2021-02-22T21:21:03Z" level=info msg="Listening on https://:8443" app=vault-secrets-webhook
time="2021-02-22T21:21:40Z" level=error msg="admission webhook error: secrets \"registry1\" not found" app=vault-secrets-webhook

Resource definition (possibly in YAML format) that caused the issue, without sensitive data:

/kind bug

Hi @alexey-ban, which version of the webhook do you use?

Hi @bonifaido  1.11.3

Hi, I just found that we have an upstream issue here in the go-containerregistry library that checks the container registries: https://github.com/google/go-containerregistry/issues/723

Hey folks, We're struggling with a similar issue that was originally reported in https://github.com/banzaicloud/bank-vaults/issues/1232
In our case, we have multiple imagePullSecrets defined that indeed exist and are correct (the reason is because same Pod has containers coming from different internal repos that have different secrets).
How in this scenario, VSW is only able to pull images for the registry whose secret is the first in the imagePullSecrets list, if the image is in the registry whose secret is 2nd - it fails to pull the image and mutation is not performed.

Hey @bonifaido 👋🏼
I realize this is an upstream issue and looks like not something that can be easily fixed (although the PR that introduced the "bug" is really strange).
We are impacted by this due to our internal container registry having different secrets for different projects (namespace) in the registry.
Do you think there's anything that can be done in VSW to address this?

Hey,
Can someone verify that this issue still present as of today?


Blogpost

Why are these changes needed?
Adding a blog post on FLAML's 1 million Downloads and a glimpse into FLAML v2

Related issue number

Checks

I've used pre-commit to lint the changes in this PR (note the same in integrated in our CI checks).
[ ] I've included any doc changes needed for https://microsoft.github.io/FLAML/. See https://microsoft.github.io/FLAML/docs/Contribute#documentation to build and test documentation locally.
[ ] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[ ] I've made sure all auto checks have passed.

TODO: To add specific industry partners that used FLAML.
Could you provide the information you know about this? @sonichi @thinkall

It would be really cool to have a paragraph on all the different task types FLAML can handle, with links to examples in the docs. As is, I feel the variety of what FLAML can already do doesn't quite come across.
Also, in the FLAML advantage paragraph you could add "It even supports hierarchical search spaces, for example first choosing an estimator and then sampling from the hyperparameter space specific to that estimator."

It would be really cool to have a paragraph on all the different task types FLAML can handle, with links to examples in the docs. As is, I feel the variety of what FLAML can already do doesn't quite come across.
Also, in the FLAML advantage paragraph you could add "It even supports hierarchical search spaces, for example first choosing an estimator and then sampling from the hyperparameter space specific to that estimator."

Thank you for your valuable input Egor! I will add a paragraph on the task that FLAML could handle and the suggested content on hierarchical search space.

It would be really cool to have a paragraph on all the different task types FLAML can handle, with links to examples in the docs. As is, I feel the variety of what FLAML can already do doesn't quite come across.
Also, in the FLAML advantage paragraph you could add "It even supports hierarchical search spaces, for example first choosing an estimator and then sampling from the hyperparameter space specific to that estimator."

Thank you for your valuable input Egor! I have added content on the tasks that FLAML could handle and some content on hierarchical search space. I am not elaborating in detail in order to keep the blog post concise and easy to digest.


Rename binary to kalk

Closes #4
Relevant cargo documentation is here and here.

Nice, thank you!


[Accordion] How i am changing the arrows images position?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Which one are you refering? There are few ui components in our list.

I am talking  about arrow up and down  images  you have specified any type invisibleImage prop and visibleImage prop but there is not styling prop for these images

@AbdulRehman197 So you are talking about Accordion. I think it'd be better to refactor images into element. How do you think? I'll try to do this and come back to you.

I've just released<EMAIL_ADDRESS>Would you like to try this and come back? I've exposed react Element instead of ImageProps.

I think its related to this, when using a React Element instead of ImageProps the Accordion wont collapse or expand, no matter what "contentVisible" or "contentVisibleOnLoad" values are.


Update version vllm

Well, this repo does not need to be updated very often :)

Well, this repo does not need to be updated very often :)

so should we close this pr or it can be merged?

Hi @youkaichao, is there any particular reason for having this specific version of nccl installed? Why not just use the version installed as part of nvidia-nccl-cu12 ?

see https://github.com/NVIDIA/nccl/issues/1234


[QUESTION] Why is Unit 7 missing

First, the best way to get a response fast is to ask the community it on #rl-study-group in our Discord server: https://www.hf.co/join/discord
Emmm, I'm having a little trouble  with "ERR_CONNECTION_CLOSED".
If you prefer you can ask here, please be specific.
When I study on this page, click "Start the tutorial here 👉". But show 404!

Hey there 👋

The website: https://hf.co/join/discord
It's the former version of the course: ⚠ A new updated version of this article is available here 👉 https://huggingface.co/learn/deep-rl-course/unit6/introduction


Document how Font fallback really works

Hello,
On this documentation https://docs.microsoft.com/en-us/globalization/input/font-technology there is no mention on how to configure Font Fallback or how it works
After a lot of experiment I was able to discover that at least GDI+ is using a logical font https://docs.microsoft.com/en-us/windows/win32/intl/using-ms-shell-dlg-and-ms-shell-dlg-2 withi is then substitute with the font substitution mechanism and then Tahoma or Microsoft Sans Serif is used.
I don't know if this can be generalize, but it would have saved me a few hours of research if I had know those fonts were used in this process.

@Socolin - Just acknowledging your comment. We are currently revamping all of the content in the site, and we'll look at adding information on how font fallback, depending on the technology used, works, .
In the meantime, if you have specific changes to add to the existing content, please feel free to submit a Pull request.

I don't think I can open a PR since I'm not sure to what extent what I found by testing can be generalize to other system. I only try this on GDI+. And since there is already a note in the Font Linking that say GDI+ is not working the same way as other part (not supporting scaling factors) I prefer wait for this.
This comment show up in google already, so I think people looking for this information can find it..

@Socolin - I apologize that it has taken so long, but the new version of the page at https://learn.microsoft.com/en-us/globalization/fonts-layout/fonts contains some information about font fallback. Unfortunately, because different systems/applications/etc. support different implementations of font fallback, we can't be too specific about how font fallback works universally, but I hope that the additional information might be helpful.

Ok thanks.
I suppose some info I would like to have are too specific and are not documentable, but it's already much better to have a page that list everything about this topic :) It would have help me back then.

It would be nice if it could contains the information on how GDI find a fallback font when the font isn't in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink


not able to run scan commands

@ojaschauhan44 Can you post the command you used and the version you are running. The mos likely cause is that you didn't give it any repos, users, or other targets so the thread count gets out of whack, and the counter is 0/-1.

oh, i was using an older release. that caused the issues


Why proxy host needs a port?

Hi there,
I'm trying to add a seperate running host machine to the proxy hosts on NPM. The UI of the host is not using a port, but it is required to use a port when adding a proxy host in NPM.
Can this been done without and if yes, how?
Many thanks.

Not sure I understand what you're saying.
If the server you're trying to add is running any sort of web service, in order to serve that up (UI or API), it must be listening on some port.
What is running on this new server that you're wanting to proxy using NPM?

Sorry I already found the answer. I'm running P1 Monitor on a raspberry pi, in the webadres the ip had no port but I found out by using port 80 on NPM it worked.


Release v0.24.0 pre.2

:book: CHANGELOG rendered

Codecov Report

Merging #1124 (f8f7c22) into master (7a8d681) will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #1124   +/-   ##
======================================
  Coverage    64.7%   64.7%
======================================
  Files         231     231
  Lines       15637   15637
======================================
  Hits        10118   10118
  Misses       5519    5519

Impacted Files
Coverage Δ

light-client/src/lib.rs
100.0% <ø> (ø)

proto/src/lib.rs
100.0% <ø> (ø)

tendermint/src/lib.rs
100.0% <ø> (ø)

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 7a8d681...f8f7c22. Read the comment docs.

The breaking change to prost is unfortunate, since it's no longer possible to use 0.24.x (the only published versions with the ABCI domain types) with any of the other ecosystem crates (e.g., ibc-rs), or with our crates, which use a different version of prost.  (It also broke our build, since we were depending on 0.24.0-pre.1, which is the only published version that includes ABCI support).

@hdevalence I'm not sure I understand. Is there something that you need from v0.24.0-pre.2 that doesn't involve the prost upgrade?
Also, the current released version(s) of ibc-rs depend on the v0.23.x series of tendermint-rs.
ibc-rs currently targets Tendermint Core v0.34.x, and the tendermint-rs v0.24.x series targets Tendermint Core v0.35.x.
Are you patching ibc-rs while using this pre-release version of tendermint-rs v0.24.x?

I've logged #1127 to clarify and track what's happening with the v0.24.x series of tendermint-rs at present.


Scrum 2611 - updated API swagger doc to say that page starts at 1 and not 0

thanks for the super quick review @sweng66 :)


Question: I cannot depend on a chart which a dependency also depends on

I cannot depend on a chart safely which itself is a dependency of another chart that I depend on.
Steps to reproduce are encapsulated in the following bash script:
mkdir experiment
cd experiment
helm create a
helm create b
helm create c
mv c c-0.2.0
cat > c-0.2.0/Chart.yaml << CHART
apiVersion: v1
description: A Helm chart for Kubernetes
name: c
version: 0.2.0
CHART
helm create c
mv c c-0.1.0
cd b
cp -af ../c-0.1.0 charts
cd ../a
cp -af ../b charts
cp -af ../c-0.2.0 charts
helm install --debug .

This script yields the following result:
Error: release prodding-gecko failed: services "prodding-gecko-c" already exists

The above script illustrates the problem. Chart "C" comes in two versions: 0.1.0 and 0.2.0 . Chart "B" relies on chart "C" at version 0.1.0. Char "A" relies on chart "B" and also relies on chart "C" at version 0.2.0 .
When I try to install chart "A", it tries to install chart "C" twice, and the second installation fails, thus failing the deploy.
I understand that this problem can be gotten around by changing the "C" chart so that the version of the chart is also used in the k8s service name, but this requires potentially changing an upstream dependency. Further, this behavior is not the default, since helm create by default just uses the name of the chart to create the service name within the deployment.
This is the classic broken diamond dependency problem.
Understanding that this problem may not be solvable for helm, do you have any recommendations for how to deal with this?

If chart B relies on chart C, and chart A relies on chart B and C, then why not let chart A rely on chart B? Is there a technical limitation to why chart B must use v0.1.0 and chart A must use v0.2.0?

This simple example illustrates a problem with deeper dependencies. This same problem can happen when the dependency graph gets deeper and larger. Example: A depends on B, which depends on C, which depends on D; and A also depends on E, which has listed C as a dependency on a different version than what B listed. This occurred because E and B were created by two entirely different development teams which have no contact with each other. This happens all the time in the open source world, for example.
So, If it's possible for me to change E (often it's not), I could change E and B to both rely on the same version of C, but that wouldn't change the fact that helm would try to install the service for C twice, as part of the same deploy, and break. But in all likelihood, I will not be able to change E or B; those are upstream dependencies created by a different developer team or even company in the open source world.
It's entirely conceivable to assume that two services (Say E and B) rely on the same service (say C) to be present, but only one such service needs to be present. So, both E and B must list C as a dependency, in case they are deployed by themselves (e.g. helm install E). They probably also each pass C different values overrides in their values.yaml file. In short, both E and B in this example each assume that there is a service built from the C chart set up for their sole consumption.
It may be that the solution is just to make sure that two C services can be spun up when helm install is called; one for B and one for E. I don't know how to do that, but if some change can be made in helm to allow this, I'd be most grateful.

Re-opening, I didn't mean to close :(

Perhaps this can be accomplished by  changing {{template "fullname" }} -- by adding the name of any parent charts to it. Thus, for a release called prodding-gecko, {{template "fullname"}} would yield "prodding-gecko-a-b-c"inside the A -> B -> C chart, and would yield"prodding-gecko-a-c"` inside the A -> C chart.
To improve the solution's backwards compatibility, we might just create a new template function called something like {{template "chartqualifier" }} and make this the default instead of {{template "fullname" }} when helm create is called.
Thoughts?

Or so:
{{ $chartqualifier :=  printf "%v-%v" .Release.Name (.Template.BasePath | replace "/templates" "" | replace "/charts/" "-" | replace "/" "-" )}}

That would yield something like this:
wooly-mastiff-b-c

For the C chart.

I have a similar issue. A, B are standalone services with share a dependency. For me A relies on B and C and B relies on C. If I make it so C is installed by only A and remove the C dependency from B it resolves the issue. But then if I want to install B by itself without A it will not work. How can I get around this and be able to install both B with C only and A with B and C If I want?

Here's how we got around it at my work:

We use degasolv to do the dependency resolution instead of helm itself.
When we package charts, we don't put the required charts under the charts/ directory before we package it. Charts are packaged as *.tgz files without their dependencies inside the tarball.
We earmark special charts, called atlases, which are packaged with their dependencies. These special charts are then deployed.

It's like java's maven. When jar files are not used for deployment, they just package up only the code in the given library. When the jar file represents a microservice, however, it is packaged as an uberjar, which includes the code and all its dependencies.
I applied the same principle. Mostly, the charts we build don't have their dependencies put into them. However, when I am ready to make a deploy, I make an uberchart, or an atlas. Degasolv resolves all of the atlas's requirements recursively, putting them flatly in the atlas's "charts/" directory.
For example, if chart A requires chart B and C, and chart B requires chart C, I package all of them without their dependencies. Each chart has a degasolv.edn file describing their dependencies. For example, B's config file might look like this:
{
 :id "B"
 :version "0.1.0"
 :requirements ["C>=1.0"]
 :location "http://example.com/repo/b-0.1.0.tgz"
}
``

So that degasolv can track the dependencies between the charts.

Now say I want to deploy "A". I create an atlas (collection of charts) out of it by using `degasolv resolve-locations` to get the list of requirements, then I download them and put them in the charts/ directory of "A" myself. I package A with its dependencies, and it's dependencies' dependencies, etc.

The final layout of the chart "A" looks like this:

"A/charts/B"
"A/charts/C"
"A/templates/"

That is, A's dependencies and B's dependencies are installed into the charts/ directory flat. C is not installed relative to B.

This fixes *everything*.

When the C chart is applied, any services it contains are likely named "<release>-c", and it serves both A and B.

Probably not very clear, but we solved it where I'm at. I'm on the kubernetes slack under "djhaskin987" if you want to chat about it later @jamorales-bsft .

@djhaskin987 Thanks for the explanation. A few questions. I get how the final structure fixes everything, basically instead of A installing C and then B trying to install a second version of C, which is what breaks everything, only one version of C is installed in the final "atlas". I have a few questions on how you get there though that are not 100% clear from your explanation.

You package A,B, and C charts with empty chart/ folders. Do you also omit the requirements.yaml file and basically replace it with the degasolv.edn file?

Now assuming the degasolv.edn is a direct replacement for the requirements.yaml file that means A chart's degasolv.edn would contain B/C package references and B chart's degasolv.edn would contain C package reference?

Basically degasolv resolve-locations has the ability to realize that A/B share a same reference and it's output will only list it once for download.  Since for me B can be installed standalone I want it to be able to install C as its own dependency.

Assuming everything I said is correct then does that mean this only works for charts I make/control? For instance say C was a third-party chart that had x number of additional requirements.yaml dependencies. Since degasolv resolve-locations does not understand requirements.yaml it would not manage those and any conflicts amongst them would not be solved? Would I have to make some script to unpackage each .tgz convert it's requirements.yaml to a degasolv.edn then run degasolv resolve-locations?

Hopefully I am on the right track and this make sense.

You're on the right track.

Yes, I replaced requirements.yaml with degasolv.edn in my implementation.

Yes, B's degasolv.edn has a reference to C and A's degasolv.edn has a reference to B and C.

Currently, yes, it would only work for your company. However there may be something I can do to help you here.

I am the maintainer of the degasolv project. I could have "taught" degasolv to read requirements.yaml for projects but opted not to because it violates the semantics if that file. Maybe people write requirements.yaml files expecting for there to be two C packages installed.
Instead, I could start a degasolv repository on bintray with third party dependencies pre loaded for the atlas model. If you are interested in this you should email me at the degasolv-users Google group.

Yes, I replaced requirements.yaml with degasolv.edn in my implementation.

Yes, B's degasolv.edn has a reference to C and A's degasolv.edn has a reference to B and C.

Currently, yes, it would only work for your company. However there may be something I can do to help you here.

I am the maintainer of the degasolv project. I could have "taught" degasolv to read requirements.yaml for projects but opted not to because it violates the semantics if that file. Maybe people write requirements.yaml files expecting for there to be two C packages installed.
Instead, I could start a degasolv repository on bintray with third party dependencies pre loaded for the atlas model. If you are interested in this you should email me at the degasolv-users Google group.

@djhaskin987 I posted in the group. Was thinking to possibly make this a plugin. But I think I get how your solution works and it would definately solve my problem, bummer this is not native way helm handle dependencies though. Might be worth it to make a plugin

This does show that flat dependency management is very compelling, @bacongobbler . Is there any way we can build a plugin into helm so that we don't have to work around it using some other tool?

I also think one way we might solve this is alter helm so that it simply uses the first "C" that it sees. This is how maven works, and it works pretty well. That way there would only be one "C" deployed.

I too have almost similar requirement
I have 4 charts A,B,C,D
C Depends on A,B
D depends on A,B
Now if i run helm upgrade --install {{NAME}} ./C it works I get ABC working
now the same when I run a next jenkins job for D I’ll be running the same command helm upgrade --install {{NAME}} ./D but then this removes C and has ABD installed.
I want all of these under a single name, Because A and B have services and C/D will talk to then using {Release-name}-A/B .
I am also looking for a solution where a subchart can be updated individually without affecting the other deployment pieces.

👍
It looks like I too will have to start using degasolv.  I have charts that all depend on some of the same charts and I only need the dependency to be included once.  Tags and conditions for requirements.yaml files really don't solve this.

I have the same problem and described it a little bit better in #3163. We don't want to use a further tool...


CUDA error running the code

Hi authors,
I'm encountering this error when I run the code despite having configured everything correctly.
RuntimeError: CUDA error: no kernel image is available for execution on the device
CUDA kernel errors might be asynchronously reported at some other API call, so the stacktrace below might be incorrect.
For debugging consider passing CUDA_LAUNCH_BLOCKING=1.
Compile with `TORCH_USE_CUDA_DSA` to enable device-side assertions.

I'm attaching the log, a text file containing the output of the code execution, and two others corresponding respectively to the outputs of 'nvidia-smi' and 'nvcc -V'. Thank you in advance
nvcc_output.txt
nvidia-smi_output.txt
output.txt
Mamba4Rec-ml-1m-Mar-19-2024_16-11-53-ae14e3.log

It shows that causal-conv1d cannot work correctly in your setup. You can refer to the issues in the repositories of mamba and causal-conv1d. There are two issues with the same CUDA error:
https://github.com/state-spaces/mamba/issues/40
https://github.com/state-spaces/mamba/issues/85
I suggest discussing these errors within the Issues on the repository of mamba.

Thank you for the advice. I followed the guide showed in this issue but uninstalling causal-conv1d which is optional to use mamba-ssm.


[Flutter GPU] Add support for cubemaps.

Impeller already supports creating/sampling from cubemaps. Add a Dart TextureType enum that mirror's Impeller's.
When creating a Texture with GpuContext.createTexture, add a TextureType parameter that can either be TextureType.cubeorTextureType.2d (default).


add: support to parse and store features with multiple locations; modify final feature sort

Changes:

Changes in the GenBank -> SBOL3 converter to support storing multiple FeatureLocations for each Feature are very straightforward:

Instead of parsing only the 1st FeatureLocation of Features from GenBank, I have created an array of FeatureLocations, to store all parsed FeatureLocations.
Also, for this direction of conversion, I have not ensured any kind of sorting for Features or FeatureLocations, and am not sure if it is even required.

For the SBOL3 -> GenBank direction of conversion:

For each Feature, feat_loc shall hold the final FeatureLocation object (which will be just FeatureLocation if there is only 1 location, else CompoundLocation, if there are multiple).
More info on CompoundLocation can be found here.
For each Feature, feat_loc_array will be the "flattened" list of start and end points of all locations of a feature, sorted internally:

Eg: For a feature having locations - [2,4], [3,9], [1,30]; the feat_loc_array will hold [1,30,2,4,3,9]
This will be the basis for performing sorting among different features.

Also, feat_order is a dictionary that will have key-value pairs of Feature Object - feat_locs array. While performing the final sorting of features, this dictionary is used to access the feat_locs array for each feature.
In case a Feature has multiple locations, it will be stored in a feat_locs array, which will be internally sorted for each Feature on the basis of each location's start and end points lexicographically before being stored in the final Feature object.

The unit test functions have been refactored, but not as well as this PR has. I can either push the refactoring commits from that PR here or wait for it to be merged.

TODO:

The CompoundLocation Object takes in an operator argument which can be either of "join"/"order"/"compliment"; currently, I am using "join" whenever there are multiple locations. We need to discuss how the converter should decide which one to use based on parsed feature locations' details.
The multiple location converter works, for the most part, except for when parsing the feature with label "c5" in the outer sequence2_modified.gb file. This feature has location of the form:

complement(join(1603..1891,2322..2438,2538..2633,2801..2843,
                     2918..3073,3167..3247,3874..3972,4082..4637))

But once this is round-tripped to return the sequence2_modified.gb file inside the test/test_files directory, the location becomes:
complement(join(4082..4637,3874..3972,3167..3247,
                     2918..3073,2801..2843,2538..2633,2322..2438,1603..1891))

The order inside the join operator reverses, and I am struggling to understand how to deal with this issue. I think this is related to the previous point, and maybe the operator used should not be "join" here.

Regarding the reverse complement question: do the features need to be sorted in the opposite order when it's on the opposite strand?

Regarding the reverse complement question: do the features need to be sorted in the opposite order when it's on the opposite strand?

Thanks, this works, I have added a check to see if the orientation on an SBOL3 feature is sbol3.SO_REVERSE, in which case, the sort needs to be in the reverse order.


Beginner Tutorial

A tutorial that goes through steps from start to finish on setting up elixirscript in a phoenix application. Aimed at beginners.

I would imagine the tutorial would just build off of this https://elixirscript.github.io/guide/using-with-phoenix/
Now that you have it set up in your app, what can you do with it, etc.

This is true. That also is in need of being updated as well


Sphere Chunk Mesh Procedural Generation

I followed this mesh sphere tutorial https://www.youtube.com/watch?v=QN39W020LqU which creates a sphere with 6 sided mesh's but the problem is I need a sphere that creates mesh's based on the resolution of the sphere. For example a sphere with a resolution of 2 to 10 would have 6 meshes while a sphere with a resolution of 10 to 20 would have 6 * 4 meshes.
The sphere script can be found here https://github.com/valkyrienyanko/Planets/blob/master/Assets/Planet.cs
I'm confused on how to make more than 6 faces (meshes) because these are the vectors that are used to make the faces.
Vector3[] directions = { Vector3.up, Vector3.down, Vector3.left, Vector3.right, Vector3.forward, Vector3.back };

What a sphere looks like by changing the resolution.
https://gyazo.com/1c7bbcc8ccbe6d163cdf99c1d0bcc6bf

A different approach https://en.wikipedia.org/wiki/Goldberg_polyhedron

Solved


tar: Ignoring unknown extended header keyword

Describe the bug
The following messages are displayed when downloading the databases.
tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.com.apple.quarantine'
tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.com.apple.quarantine'
tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.com.apple.lastuseddate#PS'

To Reproduce
Steps to reproduce the behavior:

Run the command install_database.py -d <path>

Expected behavior
If possible suppress these messages. It might be an issue with tar files created on macOS that creates some extra info that is not recognized by GNU tar.
Screenshots
macOS

Linux

Fixed by #21 PR - subprocess calls removed in favour of native python commands


Default to GitHub Actions integration ID when app_id is null

On some repositories the current branch protections are returning null for the app_id, possibly because the checks have not run recently.
For now we can default to the GHA integration ID and fix it later if there is a mismatch and the check is from another source.
Change-type: patch

I self-certify


the same element v-show do not have link relationship

Version
2.5.13
Reproduction link
https://codesandbox.io/s/v2v8llxk5
Steps to reproduce

check App.vue, you can see router view have v-show="true"
check components/Hello.vue, you can see v-show="false" in the root

What is expected?
component should be hidden
What is actually happening?
component still have show

i think v-show should have a && linked.

The thing here is you are explicitly showing the element by adding v-show on the parent because it counts as an override. Put it another way: it's as if you declared a style (eg font-size) on the child (hello.vue) and then override it in the parent (app.vue). The one on the parent would take precedence and this is intentional to allow users override component-specific attributes.
For your case you can always move the v-show to a nested div or similar or directly provide a prop to toggle visibility

i know we can solve this problem in some easy way, but there are still some case need this logic.
just think about a tabs of table, and it support search keyword. the tab will use v-show to control what tab should be show. and the table record have it own v-show to check is it should be show. but now, we just can use some solution that do not match our plan logic.

i don't think put some logic that should in another component into a child component is a good solution.


Feature :: UI argmin step

Closes https://github.com/ToucanToco/vue-query-builder/issues/218

Codecov Report

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

@@            Coverage Diff             @@
##           master     #220      +/-   ##
==========================================
+ Coverage   99.23%   99.27%   +0.03%
==========================================
  Files          44       48       +4
  Lines         657      685      +28
  Branches      110      113       +3
==========================================
+ Hits          652      680      +28
  Misses          5        5

Impacted Files
Coverage Δ

src/lib/translators/mongo.ts
99.3% <ø> (ø)
:arrow_up:

src/assets/schemas/argmin-step__schema.json
100% <100%> (ø)

src/components/stepforms/ArgmaxStepForm.vue
100% <100%> (ø)

src/components/stepforms/ArgminStepForm.vue
100% <100%> (ø)

src/assets/schemas/argmax-step__schema.json
100% <100%> (ø)

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 016322b...01ecdac. Read the comment docs.


Add Yogi optimizer

Summary
This PR adds the Yogi optimizer (see [1] below) which, according to its authors, leads to even better performance than Adam with similar theoretical guarantees on convergence. It was presented at NIPS 2018.
[1] Adaptive Methods for Nonconvex Optimization
Related Issues
(None)
PR Overview

[ y ] This PR requires new unit tests [y/n] (make sure tests are included)
[ y ] This PR requires to update the documentation [y/n] (make sure the docs are up-to-date)
[ y ] This PR is backwards compatible [y/n]
[ n ] This PR changes the current API [y/n] (all API changes need to be approved by fchollet)

Can you please do the same PR on keras-contrib? Thanks!

Thanks for your comment. I've added the code to keras-contrib now, could you please have a look? It's issue #342.
Thanks!


On headless Ubuntu server starting Napari crashes Python Session

🐛 Bug
When loading Napari on a headless server remotely it crashes the Python terminal.
I've seen a few issues regarding usage of it. I'm not primarily interested in using it but to prevent that the full session crashes.
Maybe I got also lost and the same issue is already existing?
To Reproduce
fxw@FA8-24158:~$ source napari/bin/activate
(napari) fxw@FA8-24158:~$ python
Python 3.8.10 (default, Sep 28 2021, 16:10:42)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import napari
>>> napari.view_image()
Validation errors in config file(s).
The following fields have been reset to the default value:

plugins -> call_order
  none is not an allowed value (type=type_error.none.not_allowed)

WARNING: could not connect to display
WARNING: Could not load the Qt platform plugin "xcb" in "" even though it was found.
WARNING: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.

Aborted (core dumped)

Expected behavior
A error message probably? Or a warning but not Python crash.
Environment

Python 3.8.10
Napari 0.4.12
20.04.3 LTS

Misc

It's explicitly painful in Julia using Napari.jl 😄

What scenario you would like to support?
Headless server is a server without GUI?
If the server has no GUI then what do you expect when you call the method to show the image in a window.
This message told that napari cannot find an engine to create the Window.

I would expect a error message but instead the whole python shell dies.
So potentially all calculation and variables are gone.

One thing you can try:
Just uninstall qtpy in your environment, napari should still work without the gui. And you won't get qt errors like that

That probably could work.
But the main issue is: Napari.jl (Julia wrapper) automatically installs all deps when you import it. So I didn't install anything by hand. However, during import of Napari.jl it crashes the full Julia session.
And I thought the reason is that also Napari crashes the full Python session (when opened)-
Is that fundamentally because qt kills the Python terminal? Why is it not a error but a crash?

Is that fundamentally because qt kills the Python terminal? Why is it not a error but a crash?

Yes. Qt kills process when cannot create QApplication.
To solve your problem there is a need to add some code that will check if GUI could be created before creating a QApplication instance. But I do not do such a thing before.

Why is it not a error but a crash?

yes, as @Czaki mentioned, this is a Qt thing.  (plenty of discussion online about this, but this thread on the pyqt mailing list is useful).
you'll note that napari overrides sys.excepthook here in order to prevent Qt from aborting the process on error, but that hook doesn't get "installed" until after the QApp has already been created.  which is why it's not helping in your case.

But the main issue is: Napari.jl (Julia wrapper) automatically installs all deps when you import it. So I didn't install anything by hand. However, during import of Napari.jl it crashes the full Julia session.

if overriding sys.excepthook prior to application creation doesn't work for you for any reason, then you may just need to add a step to your installation procedure (or have napari.jl do it) that allows the possibility to effectively uninstall qtpy after installing napari

you'll note that napari overrides sys.excepthook here in order to prevent Qt from aborting the process on error, but that hook doesn't get "installed" until after the QApp has already been created. which is why it's not helping in your case.

This prevents only from aborting on python exception. If Qt calls directly std:::exit or equivalent then I do not know a method to prevent the close of the application.

Ok. I Check Qt codebase and halt is done here https://github.com/qt/qtbase/blob/3ba1a196aaac8f480c0fcb4fc005c1f4e7d7f88b/src/gui/kernel/qguiapplication.cpp#L1242
But when checking Qt documentation it looks like it is possible to prevent this failure: https://doc.qt.io/qt-5/qtglobal.html#qFatal And here is a function to register handler https://doc.qt.io/qt-5/qtglobal.html#qInstallMessageHandler, but other sources suggest that it cannot be ignored so simply.
I do test with install handler so I could manage with information, but application is still halted.

sounds like it wont help... but just fyi, superqt has a convenience around installing a message handler:
from superqt import QMessageHandler

with QMessageHandler() as handler:
    ...

but I think I also recall that qFatal goes below it

@Czaki Is this sufficiently addressed with documentation and today's CI?

I will try to review of documentation in following days.


Rework install workflow for event stuff

As we modified the source of config for the install to be a single object, we left out the event driven configuration
This caused the config to be alwasy empty when triggered from an event (like registration with qr code)
This patch makes it so the config is a declared var so we can override that var with the data coming from the events easily and the RunInstall will get a final fully Config from all the sources

This fixes the provider tests


Improve Osize

Improve Osize by
(1) Use MinSize instead of OptimizeForSize in LLVM function annotation;
(2) Expose UnrollThreshold and Inline_Benefit_Reduction_Factor in the command line for code size tuning

@rajbarik I am not reviewing this... but I wanted to say: Welcome!

@rajbarik Thanks.
I meant to split the llvm::MinSize and the command line arguments change into two separate patches. There would be  one patch for:
(1) Use MinSize instead of OptForSize LLVM annotation
and another patch for:
(2) Expose UnrollThreshold and Inline_Benefit_Reduction_Factor in the command line for automatic tuning of inlining and unrolling for code size
This allows for reverting the patches individually if necessary and also they are somewhat unrelated changes.
I am fine with accepting the two patches as separate git commits in one pull request or as individual PRs.
The third change (3) Modify PassManager to disable Osize specific passes will not work with function specific optimization attributes so I don't think it makes sense taking them.
We want to add something like
@_optimize(speed)
func needsToBeFast(...) -> Double {
  return ...
}

Here is the new PR with two commits: https://github.com/apple/swift/pull/12658


Scalable MQTT broker

Currently, a non-scalable mosquitto instance is used.

https://medium.com/@lelylan/how-to-build-an-high-availability-mqtt-cluster-for-the-internet-of-things-8011a06bd000

https://github.com/jbonachera/docker-vernemq

on hold until needed


TransformDataset multithreading support

I am testing a github code,
https://github.com/corochann/chainer-pointnet/blob/master/experiments/modelnet40/train.py
In the code, it uses TransformDataset with custom TransformKDTreeCls to Transform the 3D data point sorted by KDtree.
However, when I ran "top" command, apparently, it used only single thread to do so. So, it was very slow.
My question is, how can I use all CPU threads to do the TransformDataset operation? Is it a missing feature?
Thank you.

It seems the original code is using SerialIterator. Please consider using MultiprocessIterator or MultithreadIterator if you need concurrency.
https://docs.chainer.org/en/stable/reference/iterators.html


Firefox: TypeError: Argument 1 of Node.removeChild is not an object.

In Firefox an Error is thrown on line 549
qq.toElement = (function(){
    var div = document.createElement("div");
    return function(html){
        div.innerHTML = html;
        var element = div.firstChild;
        div.removeChild(element);  <—— TypeError: Argument 1 of Node.removeChild is not an object.
        return element;
    };
}());

This is not happening in Chrome or Safari

This issue should not be closed because it still happens with the latest firefox and the latest build. If you supply a script tag as your template (string id or direct element) firefox will fail. Because the code attempts to grab innerHTML of that script tag. In firefox, unlike chrome et al, innerHTML on script is always a blank string. However requesting children on it will return the items.
In my code I have to explicitly create a new div, pull the children from the script and append them to the new div before sending it in to qq.

What have you set the type attribute to on your <script> tag?

text/template

All of the demos on FineUploader.com, which use templates, seem to be working in Firefox. So, how does your code differ from what is at http://fineuploader.com/demos?


Added a bi-directional dictionary

Closes #446

https://ci.dot.net/job/dotnet_corefxlab/job/master/job/osx10.12_debug_prtest/2898/consoleFull#-21145193672d31e50d-1517-49fc-92b3-2ca637122019
[xUnit.net 00:00:05.0944042]     System.Text.JsonLab.Tests.WriteToPipeTests.WriteToPipeUsingMemory [FAIL]
06:17:22 [xUnit.net 00:00:05.1003895]     System.Text.JsonLab.Tests.JsonReaderStreamTests.StreamTokenSizeOverflow [SKIP]
06:17:22 [xUnit.net 00:00:05.1008299]     System.Text.JsonLab.Tests.ReadFromPipeTests.ReadFromPipeUsingSpan [SKIP]
06:17:22 Skipped  System.Text.JsonLab.Tests.JsonParserTests.ReadJsonSpecialStrings
06:17:22 Failed   System.Text.JsonLab.Tests.WriteToPipeTests.WriteToPipeUsingMemory
06:17:22 Error Message:
06:17:22  System.AggregateException : One or more errors occurred. ('{' is invalid after a value. Expected either ',', '}', or ']'. LineNumber: 0 | BytePositionInLine: 160.)
06:17:22 ---- System.Text.Json.JsonReaderException : '{' is invalid after a value. Expected either ',', '}', or ']'. LineNumber: 0 | BytePositionInLine: 160.
06:17:22 Stack Trace:
06:17:22    at System.Threading.Tasks.Task.WaitAllCore(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
06:17:22    at System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout)
06:17:22    at System.Text.JsonLab.Tests.WriteToPipeTests.WriteToPipeUsingMemory() in /Users/dotnet-bot/j/workspace/dotnet_corefxlab/master/osx10.12_debug_prtest/tests/System.Text.JsonLab.Tests/WriteToPipeTests.cs:line 91
06:17:22 ----- Inner Stack Trace -----
06:17:22    at System.Text.Json.ThrowHelper.ThrowJsonReaderException(Utf8JsonReader& json, ExceptionResource resource, Byte nextByte, ReadOnlySpan`1 bytes)
06:17:22    at System.Text.Json.Utf8JsonReader.ConsumeNextToken(Byte marker)
06:17:22    at System.Text.Json.Utf8JsonReader.ConsumeNextTokenOrRollback(Byte marker)
06:17:22    at System.Text.Json.Utf8JsonReader.ReadSingleSegment()
06:17:22    at System.Text.Json.Utf8JsonReader.Read()
06:17:22    at System.Text.JsonLab.Tests.WriteToPipeTests.ProcessData(ReadOnlySequence`1 ros, Boolean isFinalBlock, JsonReaderState state) in /Users/dotnet-bot/j/workspace/dotnet_corefxlab/master/osx10.12_debug_prtest/tests/System.Text.JsonLab.Tests/WriteToPipeTests.cs:line 181
06:17:22    at System.Text.JsonLab.Tests.WriteToPipeTests.<>c__DisplayClass6_0.<<WriteToPipeUsingMemory>b__0>d.MoveNext() in /Users/dotnet-bot/j/workspace/dotnet_corefxlab/master/osx10.12_debug_prtest/tests/System.Text.JsonLab.Tests/WriteToPipeTests.cs:line 68
06:17:22 Skipped  System.Text.JsonLab.Tests.JsonReaderStreamTests.StreamTokenSizeOverflow
06:17:22 Skipped  System.Text.JsonLab.Tests.ReadFromPipeTests.ReadFromPipeUsingSpan
06:19:21
06:19:21

I have seen tests like this (using JsonReader within async and pipes) fail intermittently on OSX. I will try to repro locally and see what's going on when I get some time. In the meantime, I will disable it.
https://github.com/dotnet/corefxlab/blob/5de823f73713690a2c7a7f765d72ccc7ab3a841d/tests/System.Text.JsonLab.Tests/ReadFromPipeTests.cs#L128

@dotnet-bot test Innerloop OSX10.12 Debug Build and Test

This will need careful review, it might take a bit of time to get to.

@danmosemsft  Do we have any good news on this? Can't wait to have BiDictionary now :)

@danmosemsft Is corefxlab able to consume C#8 yet or will that have to wait until after .NET Core 3 is released? Just wondering if I should update this PR for nullable references.

Any update on this?

with respect to C#8, @pgovind was working on the infra in this repo and can answer that.
@pgovind , perhaps this is something you can help shepherd? You may have feedback on the API but being in corefxlab it does not go through the .NET API approvals process.
More generally, I know we (continue to do) a less than great job at helping build a set of "non core collections". I'm exploring a possible new approach. Meantime, we can keep doing it here.

@danmosemsft I copied related code and published a (temp) nuget package: https://github.com/sdcb/Sdcb.Collections

Once this is merged: https://github.com/dotnet/corefxlab/pull/2795 we will be able to have a new enough compiler so that we set LangVersion to 8 or latest.

Would it be possible to also add the thread-safe concurrent version of it? In relation to ConcurrentDirectionary / Dictionary.

@Symbai I'm afraid that's beyond my current area of expertise and would require someone else with far greater concurrency knowledge than myself.

@danmosemsft Is this experimental collections package dead?

@TylerBrinkley no, but we have been fully occupied with work on .NET 5.0: realistically, reviewing/designing/implementing collections API is expensive and it's always going to content for our resources vs other product work, unfortunately. As mentioned before, it would be great to find a model for collections that would allow the community to move more quickly, but still have the attributes of reliability and trustworthiness.
One possibility we've discussed in the past is for several community members to create and own a project for it, which would aspire to be within the dotnet foundation ("dotnet/collections" perhaps?). So it wouldn't be owned by the .NET Libraries team, but would aim to be the de-facto, trustworthy collections package - the primary place that the .NET team would point folks to. Depending on how things pan out, I could imagine the collections in this repo potentially migrating there to start things off. With the right set of folks interested in running such a project, we could potentially help with the conversation with the DNF as well. I expect we would sometimes offer PR's there, too.
I don't know whether that's an idea that resonates with folks.

BTW, I apologize for not being more responsive. I think this illustrates we haven't found the right model to operate at a reasonable pace here (having tried two models -- working directly in the product, and working here in corefxlab)

cc: @layomia @eiriktsarpalis

Thanks @danmosemsft for your response. I understand.
Given the lack of resources Microsoft has dedicated to this I agree the best course of action would be to move this to a community driven project ideally under the .NET Foundation with some key members, hopefully a few from Microsoft, to curate it.
I think it would be very important to state from the outset that the project's goal is not to build a new set of collections from the ground up and not to address deficiencies in the BCL collections implementations or interface hierarchy. The goal should be to complement the existing BCL collections with the hopes that some may prove useful enough to be include directly in the BCL itself. We could then Type Forward the implementation in that case. If we multi-target we would then need to maintain our own implementation copy for earlier targets.
I'd love to be involved but as of late I haven't been able to dedicate nearly as much time to OSS due to various factors so for now would only be able to help in a limited fashion.


Add the Missing Descriptions of the File Module in API Docs

Purpose
We need to add the below missing descriptions of the File Module in API Docs.
https://ballerina.io/v1-1/learn/api-docs/ballerina/file/objects/FileInfo.html (Constructor)
Fixes #21591
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

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

@@           Coverage Diff           @@
##           master   #21722   +/-   ##
=======================================
  Coverage   14.72%   14.72%
=======================================
  Files          51       51
  Lines        1399     1399
  Branches      214      214
=======================================
  Hits          206      206
  Misses       1177     1177
  Partials       16       16

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 fa5e21b...847b43e. Read the comment docs.

The same fix is sent to the "stage" branch for the 1.2 release via https://github.com/ballerina-platform/ballerina-lang/pull/21897.


PPS-26 feat: add result builders, provided a skeleton test with cucumber

Can you see my "PPS-26 feat: add result builders, provided a skeleton test with cucumber" commit before considering pull request?

After last changes, ask for a review


client hidden process error

As shown

You need to create and start the service so the driver is loaded, otherwise, the user-mode component won't work.
bcdedit /set testsigning on
sc.exe create Eagle type= kernel binPath= C:\Windows\System32\Eagle.sys
sc.exe start Eagle


Bring more attention to DEFAULT_TTL_SECONDS

Docs Update Description
We should bring more attention to the DEFAULT_TTL_SECONDS configuration since right now it's set to 7 days (604800 seconds) and unfortunately our UI doesn't have a great pattern for handling requests when the PII was expired/removed. So right now it just blanks out the PII in the subject request pages while leaving the rest of the info. Users should know to update this before they go live as many companies are required to hold onto these records for up to 2 years.
Additional context
Add any other context about the problem here.

I'd like to point out that it's not just the initial PII that it is expired here, but it's also any data that we would need to restart/resume a graph from pause/failure.


Tokenizer: for operator ">>.~", only ">>" is outputted.

Following issue in Fantomas: https://github.com/fsprojects/fantomas/issues/291, I found out that for >>.~ operator, tokenizer output only >> and ignore the rest. Looks like it behave the same for all operators containing >. .
Is this a bug in tokenizer?
Repro steps
This script
open Microsoft.FSharp.Compiler.SourceCodeServices

let tokenizeLine (line: string, state: int64) : FSharpTokenInfo[] * int64 =
    let tokenizer = FSharpSourceTokenizer([], None)
    let lineTokenizer = tokenizer.CreateLineTokenizer line
    let state = ref (None, state)
    let tokens =
        [| while (state := lineTokenizer.ScanToken (snd !state); (fst !state).IsSome) do
                yield (fst !state).Value |]
    tokens, snd !state

/// Tokenize an entire file, line by line
let tokenizeFile (source: string) : FSharpTokenInfo[][] =
    let lines = source.Split('\n')
    let tokens =
        [| let state = ref 0L
           for line in lines do
               let tokens, n = tokenizeLine(line, !state)
               state := n
               yield tokens |]
    tokens

tokenizeFile "1 >>.~ 2"

output:
[|[|{LeftColumn = 0;
       RightColumn = 0;
       ColorClass = Number;
       CharClass = Literal;
       FSharpTokenTriggerClass = None;
       Tag = 176;
       TokenName = "INT32";
       FullMatchedLength = 1;}; {LeftColumn = 1;
                                 RightColumn = 1;
                                 ColorClass = Default;
                                 CharClass = WhiteSpace;
                                 FSharpTokenTriggerClass = None;
                                 Tag = 4;
                                 TokenName = "WHITESPACE";
                                 FullMatchedLength = 1;};
      {LeftColumn = 2;
       RightColumn = 2;
       ColorClass = Punctuation;
       CharClass = Operator;
       FSharpTokenTriggerClass = ParamEnd;
       Tag = 160;
       TokenName = "GREATER";
       FullMatchedLength = 4;}; {LeftColumn = 3;
                                 RightColumn = 3;
                                 ColorClass = Punctuation;
                                 CharClass = Operator;
                                 FSharpTokenTriggerClass = ParamEnd;
                                 Tag = 160;
                                 TokenName = "GREATER";
                                 FullMatchedLength = 4;};
      {LeftColumn = 6;
       RightColumn = 6;
       ColorClass = Default;
       CharClass = WhiteSpace;
       FSharpTokenTriggerClass = None;
       Tag = 4;
       TokenName = "WHITESPACE";
       FullMatchedLength = 1;}; {LeftColumn = 7;
                                 RightColumn = 7;
                                 ColorClass = Number;
                                 CharClass = Literal;
                                 FSharpTokenTriggerClass = None;
                                 Tag = 176;
                                 TokenName = "INT32";
                                 FullMatchedLength = 1;}|]|]

Expected behavior
No characters of operator is ignored.
Actual behavior
Part of operator is thrown out.
Known workarounds
Using LeftColumn and RightColumn fields we can detect ignored parts of code.
Related information

FSharp.Compiler.Service (23.0.3)

@jindraivanek Take a look at splitting these tokens in FCS tokenizer here: https://github.com/Microsoft/visualfsharp/blob/master/src/fsharp/service/ServiceLexing.fs#L606
And the actual compiler (even in FCS) uses a different logic: https://github.com/Microsoft/visualfsharp/blob/173513e/src/fsharp/LexFilter.fs#L854
Some of editor tooling workaround it by looking at LeftColumn and RightColumn that as you noticed point at a better range.

@auduchinok Thank you for pointers. After I read that code from first link more carefully, I think this behavior comes from TyparsCloseOp (https://github.com/Microsoft/visualfsharp/blob/173513e/src/fsharp/LexFilter.fs#L444) that is called also from ServiceLexing. Every part of operator that comes after> and don't match one of allowed variant is discarded.
So, I guess this is expected behavior and this issue can be closed?


Simulate standby usage

In most of the UPS industries, batteries are being used in standby conditions, where the battery will be float charged for the maximum amount of time and discharged only when there is a power cut until generator is turned on.
Can anyone suggest how to simulate this load pattern ?

So you want to simulate a long rest period followed by a discharge? Or something else?

It is not like a long rest period, as here the charger will be connected to the battery always. It will be float charging the battery with say 0.2A constantly to avoid self discharge. Discharge will happen only during a power cut for say 10 to 15 minutes.

Presumably "float charge" is a constant voltage hold rather than a constant current charge. How about something like this
float1 = 14.5/6
float2 = 13.5/6
pybamm.Experiment([
f"Charge at 0.2A until {float1}V",
f"Hold at {float1}V until 0.05A",
f"Hold at {float2}V for 10h",
"Discharge at 1C for 10 minutes"
])

Sorry for the delayed reply. I will try this
Thanks for the response.


EqualityFilter checks only last value

I have tested the following code
       var f = new EqualityFilter({
                         attribute: 'dc',
                         value: 'example'
                        });

When more than once the same attribute the filter only checks the last one
           f.matches({dc: 'example',dc: 'moo'})  => false
           f.matches({dc: 'moo',dc: 'example'}) => true

In the filter.js (get_attr_caseless)
It uses the following code which returns moo in the first case and example in the second
       if (target.hasOwnProperty(attr)) {
                               return target[attr];
                      }

I could fix it myself but thought it would be an idea to see what you had to say on this matter.

You cannot define an object in that manner with two instances of the same property.
It is being coalesced into a single attribute:
$ node
> {foo: 'bar', foo: 'baz'}
{ foo: 'baz' }
> {foo: 'baz', foo: 'bar'}
{ foo: 'bar' }
>

Hello,Yes of coarse !!!But this means I can't have the same attribute twice ?For example in Active Directory I have a lot of users that have multiple CN values.
De : Patrick Mooney<EMAIL_ADDRESS>À : mcavage/node-ldapjs<EMAIL_ADDRESS>Cc : Flying Scotsman<EMAIL_ADDRESS>Envoyé le : Vendredi 18 septembre 2015 23h10
Objet : Re: [node-ldapjs] EqualityFilter checks only last value (#299)
You cannot define an object in that manner with two instances of the same property.
It is being coalesced into a single attribute:$ node

{foo: 'bar', foo: 'baz'}
{ foo: 'baz' }
{foo: 'baz', foo: 'bar'}
{ foo: 'bar' }

—
Reply to this email directly or view it on GitHub.

⚠ This issue has been locked due to age. If you have encountered a recent
problem that seems to be covered by this issue, please open a new issue.
Please include a minimal reproducible example
when opening a new issue.


Adding image viz and log changes

Added composite channel construction markers to log, added image cap slider and visual implementation

Adding image cap viz and log for composite channel makeup


Add pendulum for ApplyForceTorque and MouseDrag demo

🎉 New feature
Summary

Add a pendulum to the kitchen counter for showing the new ApplyForceTorque and MouseDrag GUI plugins.

Test it

Checklist

[x] Signed all commits for DCO
[ ] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if the library has them)
[ ] codecheck passed (See contributing)
[ ] All tests passed (See test coverage)
[ ] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

Can you update collisions to match the visuals?

Oops, updated in 8f31178.


chaos(engine): use multiple worker nodes in kind cluster

What problem does this PR solve?

Issue Number: ref #5640
What is changed and how it works?
Use multiple worker nodes in kind cluster, in order to make the tests more like to real world cases.
Check List
Tests

Unit test
Integration test

Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
None

Codecov Report

Merging #6223 (5c95fc0) into master (ef587e6) will decrease coverage by 0.4570%.
The diff coverage is 63.3945%.

Flag
Coverage Δ

cdc
63.7665% <67.9577%> (-0.9182%)
:arrow_down:

dm
51.8551% <47.0238%> (-0.0341%)
:arrow_down:

engine
62.4835% <54.5454%> (-0.0504%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.
@@               Coverage Diff                @@
##             master      #6223        +/-   ##
================================================
- Coverage   58.4193%   57.9622%   -0.4571%
================================================
  Files           711        712         +1
  Lines         84205      83387       -818
================================================
- Hits          49192      48333       -859
- Misses        30540      30703       +163
+ Partials       4473       4351       -122

chaos test is verified in https://github.com/pingcap/tiflow/runs/7245602036?check_suite_focus=true
<<<<< show po >>>>>
NAME              READY   STATUS    RESTARTS   AGE   IP           NODE                              NOMINATED NODE   READINESS GATES
server-master-0   1/1     Running   2          23s   <IP_ADDRESS>   dataflow-engine-cluster-worker    <none>           <none>
server-master-1   1/1     Running   0          23s   <IP_ADDRESS>   dataflow-engine-cluster-worker2   <none>           <none>
server-master-2   1/1     Running   0          23s   <IP_ADDRESS>   dataflow-engine-cluster-worker3   <none>           <none>

<<<<< show po >>>>>
NAME         READY   STATUS    RESTARTS   AGE   IP           NODE                              NOMINATED NODE   READINESS GATES
executor-0   1/1     Running   0          22s   <IP_ADDRESS>   dataflow-engine-cluster-worker    <none>           <none>
executor-1   1/1     Running   0          22s   <IP_ADDRESS>   dataflow-engine-cluster-worker    <none>           <none>
executor-2   1/1     Running   0          22s   <IP_ADDRESS>   dataflow-engine-cluster-worker3   <none>           <none>
executor-3   1/1     Running   0          22s   <IP_ADDRESS>   dataflow-engine-cluster-worker2   <none>           <none>

/merge

/run-integration-tests


feat: adapting beartype typehints to +Python 3.10 standard

Description
As title says - adapting typehints to +3.10
Issue linked
Closes #1346
Checklist

[x] I have tested my changes locally.
[x] I have added necessary documentation or updated existing documentation.
[x] I have followed the coding style guidelines of this project.
[x] I have added appropriate unit tests.
[x] I have reviewed my changes before submitting this pull request.
[x] I have linked the issue or issues that are solved to the PR if any.
[x] I have assigned this PR to myself.
[x] I have added the minimum version decorator to any new backend method implemented.
[x] I have made sure that the title of my PR follows Conventional commits style (e.g. feat: extrude circle to cylinder)

Lots of changes but very straight forward. They are all typehints.


suggestion: custom eventlistener

I think binding event listener should use addEventListener rather than set property directly....

this would require either keeping a list of all known events or blindly attaching anything that starts with on which could be bad.

Polymer's approach to this is to use on- (with a dash) as the prefix in HTML, or a listeners object in JavaScript.
If you say onload in an HTML file, you are setting the onload HTML attribute, which is going to expect a string.  If you say on-load, you're attaching an event listener for the load event, which is going to expect a function.  In JavaScript, meanwhile, you can use a listeners object to map between event names and the functions they should invoke.  In Polymer, you only use this to set event listeners on the parent component, because all the children are in the HTML file, but I could imagine Cell adapting it for use on any component (since all cells are standalone).  So something like:
Item = {
  $cell: true,
  $type: "button",
  $text: "Clicky?",
  $listeners: {
    click: function(event) { console.log("Clicky!"); }
  }
}

I like this approach because of its parallel with the $components array (though given the discussion in #111, maybe $listeners should be $behaviors or something to be suitably generic).
Another nice and unexpected feature is that as of ES6, object key names can be read from variables.  So if you had a library that gave you untypoable constants for built-in (or custom) JavaScript event names, you could do:
Item = {
  $cell: true,
  $type: "button",
  $text: "Clicky?",
  $listeners: {
    [Event.CLICK]: function(event) { console.log("Clicky!"); }
  }
}

This was intentional because I wanted to keep it simple. Adding this seemingly innocent feature will introduce a lot of complexities IMO. First of all we need to be able to keep track of all the event handlers so that they don't get attached multiple times, and also do garbage collection. Also implementing this in a decentralized manner will require a lot of thought. Lastly by doing this we will have added another set of syntax to remember.
That said, I actually did think about this point before releasing the library, but couldn't think of actual real-world use cases where you won't be able to do something because of this issue. I actually wanted a discussion like this to arise because I wanted to ask where this may be needed.
So if anyone has an idea about why this may be necessary (as in "we can't do _____ if we don't have this feature") please share. I would really appreciate it.

Let's have a look at what would be required to manage event listeners without any custom solution.  I'm going to suggest that, because the onfoo attributes are old and sort of fraught, we instead use the addEventListener API.  So:
Item = {
  $cell: true,
  _model: [],
  _template: function(model) {
    return {
      $components: [{
        $text: model.description,
      }, {
        $type: 'button',
        $text: model.actionText,
        class: 'clicky-button',
      }]
    }
  },
  _clickHandler: function(event) {
    // Event handling logic goes here.
  },
  $init: function() {
    this._model =  [{
      description: 'Hey look, a thing!',
      actionText: 'Click the thing!',
    }];
  },
  $update: function() {
    for (let button of this.querySelectorAll('clicky-button')) {
      button.removeEventListener(this._clickHandler.bind(this));
    }
    this.$components = this._model.map(this._template);
    for (let button of this.querySelectorAll('clicky-button')) {
      button.addEventListener(this._clickHandler.bind(this));
    }
  }
}

(Note: I have not run this, it may be buggy.)
This isn't too bad, but I've had to architect things rather carefully to make it this easy: instead of populating _model declaratively, I had to add an $init method and populate it imperatively to trigger $update for the initial render.  Had I not done that, I'd have had to add the event listeners in $init as well, and then rely on $update to remove them when it regenerates the DOM.
So to answer the question as best I can: I'm not aware of anything that can't be done without native support for event listeners, but having it allows us to do a lot of imperative things declaratively instead.  Which, I think, is also true of cell itself, so perhaps that is a compelling argument.  :)


Multiverse fetch/register issuance

This PR contains new functionality for registering an asset issuance in a multiverse MS-SMT.

This change is

@Roasbeef I've added the RPC changes to this PR. They are pretty minimal. QueryProof and InsertProof should now both return the new multiverse fields. This is because r.cfg.BaseUniverse used in those functions actually queries the multiverse.

How does the multiverse root and proof look like for a universe that only cares about a single asset?

@guggero the upper multiverse tree would consist of a root node and a single leaf. The lower (inner) tree would consist of a root node and one leaf node for each issuance.

I guess it would still be there but never updated after the first issuance?

I think that's right where an issuance only multiverse is concerned.

One thing I don't yet fully understand (should probably read the BIP again) is: How does the multiverse root and proof look like for a universe that only cares about a single asset?
I guess it would still be there but never updated after the first issuance?

If a Universe only cares about a single asset, then the multi-verse proof would just be the most minimal MS-SMT inclusion proof: so just the hash, then the series of compressed nodes. In theory this can be left out all together. It matters more once the issuance events are also timestamped in the chain.
For an asset w/o a group key, then yeah things are immutable after that first issuance. You just use this to then reference back to the root genesis output for all verification. In that case though as you note at, the multi-verse root isn't all that useful. It would be useful however when wanting to create a sort of tracking set of two distinct, but related assets. I thin there's a large design space here w.r.t what the user configuration for managing these trees and cohorts looks like in the end.


Dart plugin registration doesn't run in background isolates

As we've been adopting in-package platform channels in more 1P plugins, which requires Dart plugin registration, we've hit an edge case related to isolates. While plugins don't generally work out of the box in isolates, there are workarounds which, IIUC, run the native plugin registration code in a separate engine instance so that the native side is there. These systems don't know about the new Dart plugin registration though, so half of the registration code is missing, and we end up with mismatches like #98473.
@gaaclarke @blasten (since you've both looked at the engine/VM integration part of the Dart plugin registration) is there a way we can automatically run the generated Dart registration in each new isolate, rather than just the primary isolate? Alternately, could we adjust the generated registration such that it provides a referenceable function that things like flutter_isolate could call during their isolate setup (similar to the need to call WidgetsFlutterBinding.ensureInitialized())?

is there a way we can automatically run the generated Dart registration in each new isolate, rather than just the primary isolate?

I don't think so, and we probably wouldn't want that since it could be wasted in some contexts.

Alternately, could we adjust the generated registration such that it provides a referenceable function that things like flutter_isolate could call during their isolate setup (similar to the need to call WidgetsFlutterBinding.ensureInitialized())?

We should be able to do that.  I have an outstanding PR that removes the main shadowing and hunts down and executes the registrant and executes it on the C++ side.  We could expose that function to Dart and have it query the current isolate before executing to see if it already happened.

@stuartmorgan @gaaclarke Is this flutter/flutter#98475 issue related too? But having this issue only when using --obfuscate.

But having the issue only when using --obfuscate.

I don't see any way that could be related then.

@stuartmorgan This issue needs to be prioritized, slowly almost every plugin will start having the same issue as you are moving to "in-package method channel", first it was happening with shared_preferences, now path_provider(path_provider_android  2.0.12 to be specific)

https://github.com/flutter/engine/pull/31720 has a fix for this issue where a background isolate can call DartPluginRegistrant.ensureInitialized() to make sure that they've executed.  It works in vitro.  It has a dependency on a framework change so it will take a while to work through the system.  If you are feeling brave you can patch the framework and engine to give it a chance.  It would be nice if we could print out a friendlier message too when someone doesn't call this.

When release DartPluginRegistrant.ensureInitialized() to stable?

When release DartPluginRegistrant.ensureInitialized() to stable?

See https://github.com/flutter/flutter/wiki/Flutter-build-release-channels for an overview of how branching and channel progression works.

@stuartmorgan can't we just patch into the stable channel? Even though there is a workaround, it is still a critical one :)

Something that required changes in Dart itself, the Flutter engine, and the Flutter tooling cannot be easily cherry-picked, no. Also, this isn't a regression, so definitely would not qualify given the complexity; Dart plugin registration has never worked in isolates. The only thing that changed is the mobile implementations of path_provider and shared_preferences.
The workaround here is very simple, so I'm not sure why you believe that it would be critical to cherry-pick.

Well, I kind of have to agree that this is somewhat critical.
Mainly due to the fact that those path_provider and shared_preferences updates have been released as patch releases and are just transitively being pulled in.
Apps that have had working background implementations are breaking left and right. The background code is also not easy to test and these problems are often only showing in production after a store deploy.
Yes, the workaround is simple, the problem is more in the way of knowing/noticing the problem.

How would cherry-picking the PR above into stable address this?

You are absolutely right, it wouldn't address that problem by itself.
It could help to have it mentioned in a release announcement and mailing list but other than that your point stands.
Anything else would have to be done on the plugin side (retracting/reverting/major version bump).

https://github.com/flutter/engine/pull/32162 has caused this to regress.  The PR was reverted because of a performance regression with a google app.  I think I have a fix for the performance issue.  If that doesn't land shortly we will revert the revert.

any news update?

any news update?

It's just broken on master.  We should land the fix before branching for the next release.  The engine PR has landed, I'm waiting on a review of the framework PR.


Can i use this to force NCPD mission be considered as completed?

I met a bug and cannot finish a NCPD event and cannot get an achievement.

I am having the same issue. Did you find a way ?

I am having the same issue. Did you find a way ?


Split filename by '?' for noext requirejs plugin

Thanks, could you please add a test and change the commit message to follow our convention

Fixed by #39