Stop hard-coding 'http' protocol for sync server interactions in AuthProvider.ts

Solves
We're unable to properly connect to sync servers hosted with TLS because the AuthProvider is always trying to make certain requests using http://.
Description
I've added a private method in AuthProvider.ts to determine which protocol to use based on the given server url we're working with. In this case I'm making a simple check that returns "http" if the url contains "localhost" and otherwise defaults to "https".

Looks good.
I've changed AuthProvider.#parseServer to a stand-alone helper function, buildServerUrl. Since this is a pure function (not dependent on any class members) it doesn't need to be a method on the class, can just be a stand-alone utility function.
Also this way it can be easily tested in isolation - I've added a couple of simple tests for the heck of it.


chore(fix): reproduce bug for boundary issue #1110

Create test case for reproducing issue #1110

@wondersloth what's the status of this?

Linked Issue is closed.


Incorrect statement

https://docs.microsoft.com/en-us/azure/data-factory/enable-aad-authentication-azure-ssis-ir#enable-azure-ad-on-azure-sql-database
Please correct the statement "Next, you need to set an Azure AD user as the Active Directory admin for your Azure SQL Database server and then connect to it on SQL Server Management Studio (SSMS) using that user." as "Next, you need to set an Azure AD user as the SQL Server admin for your Azure SQL Database server and then connect to it on SQL Server Management Studio (SSMS) using that user."

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

ID: 14efd9ff-2adb-8755-0fdd-3ef9e1b94fcd
Version Independent ID: 36980c4c-1a28-4dcb-e748-64d31965b554
Content: Enable Azure Active Directory authentication for Azure-SSIS Integration Runtime
Content Source: articles/data-factory/enable-aad-authentication-azure-ssis-ir.md
Service: data-factory
GitHub Login: @swinarko
Microsoft Alias: sawinark

@syedhamjath Thanks for bringing this to our notice. We are currently investigating into the issue and will update you shortly.

@syedhamjath The statement is correct as for Azure AD authentication on a SQL server, you do need to assign an AAD Admin role to the AAD user. Please refer to the below screenshot for details :

@syedhamjath I will now proceed to close this issue. However please feel free to still comment and tag me if you have any queries.

Yeah, it some times really confusing with the naming standards of
Microsoft. If you see in your screen shot, for SQL server the blade is to
set SQL server admin not active directory admin in that case it should
display as SQL server admin. Labeling it as active directory admin is
completely misleading. Anyway, please ignore that.
Thanks
Syedhamjath Syedmansur
On Wed, May 15, 2019, 12:51 PM ChiragMishra-MSFT<EMAIL_ADDRESS>wrote:

@syedhamjath https://github.com/syedhamjath The statement is correct as
for Azure AD authentication on a SQL server, you do need to assign an AAD
Admin role to the AAD user. Please refer to the below screenshot for
details :
[image: image]
https://user-images.githubusercontent.com/43365826/57770244-7c0d7080-772d-11e9-992f-b4a29819f61b.png
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/31190?email_source=notifications&email_token=ABCWDFUXBT76J2DAJPT65WDPVPTM3A5CNFSM4HMZZBC2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODVOJAQI#issuecomment-492605505,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABCWDFQHYM3KT3JXAINC77DPVPTM3ANCNFSM4HMZZBCQ
.


<EMAIL_ADDRESS>

| top | :heavy_check_mark: | :heavy_check_mark: | :heavy_multiplication_x: | :heavy_multiplication_x: | top |
| top | :x: | :x: | :negative_squared_cross_mark: | :negative_squared_cross_mark: | top |
| top | :heavy_plus_sign: | :heavy_plus_sign: | :heavy_minus_sign: | :heavy_minus_sign: | top |
| top | :heavy_division_sign: | :heavy_division_sign: | :curly_loop: | :curly_loop: | top

[ ] Have you followed the contributing guidelines?
[ ] Have you explained what your changes do, and why they add value to the Guides?

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Sir waite mine $50 still there .i cant upload mony plz sir guide me or
transfer . 7 may 2020 $50
On Tue, 28 Apr 2020, 12:49 am Mike Linksvayer<EMAIL_ADDRESS>wrote:

Closed #1589 https://github.com/github/opensource.guide/pull/1589.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/github/opensource.guide/pull/1589#event-3277351016,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APLROV2TD2MGYQBWREKLGITROXOWBANCNFSM4MSGS2UA
.


FromFHIR support for slicing by profile

Currently requires FHIR references to be absolute.  We should probably add support for relative links, but I wanted to get this out here sooner than later.  Also noticing just now that I put a resolve property in the discriminator hash, but never actually use it (and just always assume we need to resolve).  Should probably revisit that as well.
Also includes some cleanup of the tests and all the stuff that was getting printed to the console.  And adds a new test to ensure that the CIMPL fixtures compile cleanly.
Last, moved the expensive setup calls to the before functions of tests so you can use mocha --grep to run only a subset of tests and not have to wait for all the setups.

OK.  Tests are fixed.  (That was annoying). I also updated the yarn lock for shr-fhir-export so that the test can successfully run on Travis.


Support fallback ports in replicas for multicast

We wish to support fallback ports for multicast by adding BackupReplicas to Replicas when the primary port in the Replica becomes unavailable.

cc: @smolkaj for visibility

@chrispsommers Could you please take a look?

@jafingerhut @smolkaj @chrispsommers I was wondering if it was worth specifying if we wish to make it a property that no replica port can be used again in any of it's backup replica ports?

If you consider that an error for a client to try to specify that, and for a server to be required to return an error in that situation, it seems worth specifying the conditions under which the server must return an error, and which error code should be returned.
Another condition that you might want an error for:
(a) among all backup replicas for a single port, the set of (port,instance) values should contain no duplicates
(b) among all replicas and their backups for an entire multicast group, the set of (port,instance) values should contain no duplicates.
(b) is stronger than (a), of course.  If you intend (b), I'd write down (b) in the spec.

Presumably we want to make support for backup replicas optional? @chrispsommers @jafingerhut?
If so, Matthew, can we call that out explicitly and require targets to either support them or return UNIMPLEMENTED?

@chrispsommers @jafingerhut gentle ping in case you want to chime in on this. My recommendation is to make backup replica support optional, but require servers to communicate if they don't support them by returning an UNIMPLEMENTED error if a client tries to program a backup replica. Thoughts?

Presumably we want to make support for backup replicas optional? @chrispsommers @jafingerhut?
If so, Matthew, can we call that out explicitly and require targets to either support them or return UNIMPLEMENTED?

@chrispsommers @jafingerhut gentle ping in case you want to chime in on this. My recommendation is to make backup replica support optional, but require servers to communicate if they don't support them by returning an UNIMPLEMENTED error if a client tries to program a backup replica. Thoughts?

Agreed, good call!

Presumably we want to make support for backup replicas optional? @chrispsommers @jafingerhut?
If so, Matthew, can we call that out explicitly and require targets to either support them or return UNIMPLEMENTED?

@chrispsommers @jafingerhut gentle ping in case you want to chime in on this. My recommendation is to make backup replica support optional, but require servers to communicate if they don't support them by returning an UNIMPLEMENTED error if a client tries to program a backup replica. Thoughts?

Making support for this optional on the server side, with an UNIMPLEMENTED return error status if the server does not support it, seems reasonable to me, especially if you expect to encounter devices that do not support the feature. Early on, at least, that seems likely.

A question for you: suppose a client tries to use the feature, and a server not only does not implement it, but is using the current version of the P4Runtime protobuf definitions to parse messages.  Such a server will not even "see" the backup replicas in the data structures it parses from incoming requests, true?  And thus I suspect they would quietly implement everything except the backup replicas functionality, with no error, yes?
As long as a client realizes that, and/or you design some other mechanism for a client to know whether the server supports this feature, seems reasonable to me.

Yes, agreed, @jafingerhut.
But I think this is okay and no different from when we add other features in a non-breaking way, no?
In general, a client cannot rely on behavior/a feature added in version x.y.z unless it ensures that the server has version x.y'.z' with y' >= y.

@jafingerhut @smolkaj @chrispsommers I was wondering if it was worth specifying if we wish to make it a property that no replica port can be used again in any of it's backup replica ports?

If you consider that an error for a client to try to specify that, and for a server to be required to return an error in that situation, it seems worth specifying the conditions under which the server must return an error, and which error code should be returned.
Another condition that you might want an error for:
(a) among all backup replicas for a single port, the set of (port,instance) values should contain no duplicates (b) among all replicas and their backups for an entire multicast group, the set of (port,instance) values should contain no duplicates.
(b) is stronger than (a), of course. If you intend (b), I'd write down (b) in the spec.

Since we're already disallowing duplicate primary replicas within a group today, it seems natural to generalize this to backup replicas to require uniqueness ignoring the primary/backup distinction.  IIUC, that's property (b) proposed above.

Since we're already disallowing duplicate primary replicas within a group today, it seems natural to generalize this to backup replicas and require uniqueness across all replicas (whether primary or backup) within a group. IIUC, that's property (b) proposed above.

Yes, your restatement of what I wrote as option (b) looks equivalent to me.

@smolkaj @jafingerhut @chrispsommers I have updated the P4runtime Spec with the ideas we've discussed on support for backup replicas being optional. As well as the properties of replicas and backup replicas and the associated error messages for breaking the properties

I've added the changes to the final nits that Steffen requested

@chrispsommers was wondering if you could please take another look?

Approved at the working group meeting.


How to train custom datasets

Excellent job, I want to use it for object detection in specific datasets, but how to prepare my own dataset or what steps should I follow?
Thank you again！

same question

I guess you could first organize your data in COCO format, then register your coco json in this file: https://github.com/mlzxy/devit/blob/main/detectron2/data/datasets/builtin.py. Regarding COCO JSON format, you could take this https://github.com/alirezazareian/ovr-cnn/blob/master/ipynb/003.ipynb as reference.
Then, prepare class prototypes for your classes, like https://github.com/mlzxy/devit/blob/main/demo/build_prototypes.ipynb. Probably the background prototypes can be reused because background classes are similar. Regarding the RPN, you could consider reuse the LVIS RPN from RegionCLIP like I did, or retrain COCO RPN from scratch using all 80 classes. This script https://github.com/mlzxy/devit/blob/main/scripts/train_rpn.sh can be the entry point.
Or you could use some existing class-agnostic proposal extractor, slower but far more accurate, like  this paper https://arxiv.org/abs/2111.11430

Hello :wave: Great paper and impressive results !
I am trying to test the ability of the model for few shot learning (with a small dataset) and trying to wrap my head around what to change in order to do this.
What I have done so far :

Formatted my dataset in COCO format, added 2 json files to datasets/coco/annotations/ one for train and one for val
Added the images to datasets/coco/ as mini_coco
Added new keys and elements to the https://github.com/mlzxy/devit/blob/main/detectron2/data/datasets/builtin.py so now it looks like this

_PREDEFINED_SPLITS_COCO["coco"] = {
    "coco_2014_train": ("coco/train2014", "coco/annotations/instances_train2014.json"),
    "coco_2014_val": ("coco/val2014", "coco/annotations/instances_val2014.json"),
    "coco_2014_minival": ("coco/val2014", "coco/annotations/instances_minival2014.json"),
    "coco_2014_minival_100": ("coco/val2014", "coco/annotations/instances_minival2014_100.json"),
    "coco_2014_valminusminival": (
        "coco/val2014",
        "coco/annotations/instances_valminusminival2014.json",
    ),
    "coco_2017_train": ("coco/train2017", "coco/annotations/instances_train2017.json"),
    "coco_2017_val": ("coco/val2017", "coco/annotations/instances_val2017.json"),
    "coco_2017_test": ("coco/test2017", "coco/annotations/image_info_test2017.json"),
    "coco_2017_test-dev": ("coco/test2017", "coco/annotations/image_info_test-dev2017.json"),
    "coco_2017_val_100": ("coco/val2017", "coco/annotations/instances_val2017_100.json"),
    "coco_mini_train" : ("coco/mini_coco", "coco/annotations/mini_coco_train.json"),
    "coco_mini_val" : ("coco/mini_coco", "coco/annotations/mini_coco_val.json"),
}

Now I am trying to use this script to generate prototypes based on the boxes of annotations that I have in my training set :
https://github.com/mlzxy/devit/blob/main/tools/extract_instance_prototypes.py but I am not sure how to fetch the name of the dataset, is it the same as the keys of datasets in builtin.py ? Did I miss anything?
Cheers

Hi @YELKHATTABI
After modifying builtin.py, you could set a breakpoint at https://github.com/mlzxy/devit/blob/main/detectron2/data/datasets/builtin.py#L327 and use detectron2 dataset interface (https://detectron2.readthedocs.io/en/stable/tutorials/datasets.html#metadata-for-datasets) to inspect the meta data of your dataset, e.g., classes. If you are not sure the name of the class, the function DatasetCatalog.list() may help you.
Note that I hardcode the class names of COCO/LVIS in https://github.com/mlzxy/devit/blob/main/lib/categories.py and use them in https://github.com/mlzxy/devit/blob/main/detectron2/modeling/meta_arch/devit.py#L792 and https://github.com/mlzxy/devit/blob/main/tools/train_net.py#L95C44-L95C44 to separate base / novel classes. You may also need to add your classes split to categories.py.
Regarding the prototypes extraction, if the extract_instance_prototypes.py doesn't work (I write that a long time ago), you could always just extract and crop some features and compute the mean (like in the demo jupyter notebook).
Note that for bounding box annotation, you need to have a little more shot, for example 5-shot at least (which I guess is ok), in 1-shot bounding box performance is way lower than using instance masks.

This method of directly modifying COCO seems a bit complicated. Is there any other method to register a new dataset just as COCO/LVIS ?

Great idea! I use my own data set and place it in coco format without changing the config file. I change the name of the json file trained by my own data set to fs_coco14_base_train. An error will be reported. Do you know what is going on?thanks
The following is the error message：
[12/20 07:35:24 detectron2]: Full config saved to output/train/few-shot/shot-10/vitl/config.yaml
[12/20 07:35:24 d2.utils.env]: Using a generated random seed 24627623
('fs_coco_test_all',)
Traceback (most recent call last):
File "/content/devit/tools/train_net.py", line 202, in
launch(
File "/content/devit/tools/../detectron2/engine/launch.py", line 82, in launch
main_func(*args)
File "/content/devit/tools/train_net.py", line 190, in main
trainer = Trainer(cfg)
File "/content/devit/tools/../detectron2/engine/defaults.py", line 379, in init
data_loader = self.build_train_loader(cfg)
File "/content/devit/tools/../detectron2/engine/defaults.py", line 550, in build_train_loader
return build_detection_train_loader(cfg)
File "/content/devit/tools/../detectron2/config/config.py", line 192, in wrapped
explicit_args = _get_args_from_config(from_config, *args, **kwargs)
File "/content/devit/tools/../detectron2/config/config.py", line 229, in _get_args_from_config
ret = from_config_func(*args, **kwargs)
File "/content/devit/tools/../detectron2/data/build.py", line 342, in _train_loader_from_config
dataset = get_detection_dataset_dicts(
File "/content/devit/tools/../detectron2/data/build.py", line 229, in get_detection_dataset_dicts
dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in names]
File "/content/devit/tools/../detectron2/data/build.py", line 229, in
dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in names]
File "/content/devit/tools/../detectron2/data/catalog.py", line 58, in get
return f()
File "/content/devit/tools/../detectron2/data/datasets/coco.py", line 500, in
DatasetCatalog.register(name, lambda: load_coco_json(json_file, image_root, name))
File "/content/devit/tools/../detectron2/data/datasets/coco.py", line 69, in load_coco_json
coco_api = COCO(json_file)
File "/usr/local/lib/python3.10/dist-packages/pycocotools/coco.py", line 86, in init
self.createIndex()
File "/usr/local/lib/python3.10/dist-packages/pycocotools/coco.py", line 95, in createIndex
imgToAnns[ann['image_id']].append(ann)
KeyError: 'image_id'

@mlzxy

Hi, sorry for my late reply. Kind of busy recently. I would suggest not directly modifying coco, but packing your dataset in the COCO format.
Regarding that dataset repacking, I suggest two approaches:

Take this notebook  https://github.com/alirezazareian/ovr-cnn/blob/master/ipynb/003.ipynb  as a reference to reorganize your dataset. The output dataset format shall be correct as long as the procedure is followed. I took this approach but it is a bit cumbersome.

Use this tool, https://github.com/waspinator/pycococreator . It is much easier but I haven't used it for a long time. So it may not work.

@Kay545 It appears that your annotation object lacks the image id field. Try to use the pycococreator tool, it shall generate the data with the right format.

@mlzxy Thank you for your thoughtful suggestions and the provided resources. I appreciate your insights into repacking the dataset without directly modifying COCO. I will explore both approaches you mentioned, taking into consideration the notebook you shared and the pycococreator tool.
Best regards.

@mlzxy @Kay545
Hi!
Thanks for your help. I want to apply this method on my custom dataset. I have 5 images for one new object. I built yrt_prototypes.pth with demo/build_prototypes.ipynb to get prototypes similar to ycb_prototypes.pth
I ran the demo successfully. Do I need to change the weights? How do I train to get my desired weights? I changed category_space="demo/yrt_prototypes.pth" in demo.py
what other steps do I take to run this updated demo.py to find my new object in a test image in input folder?

@curious-ai-developer  The new prototype file already include the class weights for your new categories. What the demo.py does is to replace the class weights in loaded checkpoints with ycb_prototypes.pth.  You don't need to change other weights.

@curious-ai-developer The new prototype file already include the class weights for your new categories. What the demo.py does is to replace the class weights in loaded checkpoints with ycb_prototypes.pth. You don't need to change other weights.

@mlzxy
Many thanks for your response. As I said I trained and got my new object prototype as ycb_prototypes.pth and replaced it with the previous one in demo folder. I got this error:
/content/devit/demo/../detectron2/modeling/meta_arch/devit.py:475: FutureWarning: You are using torch.load with weights_only=False (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for weights_only will be flipped to True. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via torch.serialization.add_safe_globals. We recommend you start setting weights_only=True for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
p1, p2 = torch.load(class_prototypes_file[0]), torch.load(class_prototypes_file[1])
/content/devit/demo/../detectron2/modeling/meta_arch/devit.py:536: FutureWarning: You are using torch.load with weights_only=False (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for weights_only will be flipped to True. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via torch.serialization.add_safe_globals. We recommend you start setting weights_only=True for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
bg_protos = torch.load(bg_prototypes_file)
/content/devit/demo/demo.py:186: FutureWarning: You are using torch.load with weights_only=False (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for weights_only will be flipped to True. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via torch.serialization.add_safe_globals. We recommend you start setting weights_only=True for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
model.load_state_dict(torch.load(model_path, map_location=device)['model'])
/content/devit/demo/demo.py:191: FutureWarning: You are using torch.load with weights_only=False (the current default value), which uses the default pickle module implicitly. It is possible to construct malicious pickle data which will execute arbitrary code during unpickling (See https://github.com/pytorch/pytorch/blob/main/SECURITY.md#untrusted-models for more details). In a future release, the default value for weights_only will be flipped to True. This limits the functions that could be executed during unpickling. Arbitrary objects will no longer be allowed to be loaded via this mode unless they are explicitly allowlisted by the user via torch.serialization.add_safe_globals. We recommend you start setting weights_only=True for any use case where you don't have full control of the loaded file. Please open an issue on GitHub for any issues related to this experimental feature.
category_space = torch.load(category_space)
/usr/local/lib/python3.10/dist-packages/torch/functional.py:534: UserWarning: torch.meshgrid: in an upcoming release, it will be required to pass the indexing argument. (Triggered internally at ../aten/src/ATen/native/TensorShape.cpp:3595.)
return _VF.meshgrid(tensors, **kwargs)  # type: ignore[attr-defined]
/content/devit/demo/../detectron2/modeling/meta_arch/devit.py:1018: FutureWarning: torch.cuda.amp.autocast(args...) is deprecated. Please use torch.amp.autocast('cuda', args...) instead.
with autocast(enabled=True):
Traceback (most recent call last):
File "/content/devit/demo/demo.py", line 262, in
fire.Fire(main)
File "/usr/local/lib/python3.10/dist-packages/fire/core.py", line 135, in Fire
component_trace = _Fire(component, args, parsed_flag_args, context, name)
File "/usr/local/lib/python3.10/dist-packages/fire/core.py", line 468, in _Fire
component, remaining_args = _CallAndUpdateTrace(
File "/usr/local/lib/python3.10/dist-packages/fire/core.py", line 684, in _CallAndUpdateTrace
component = fn(*varargs, **kwargs)
File "/content/devit/demo/demo.py", line 212, in main
output = model(batched_inputs)[0]
File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1736, in _wrapped_call_impl
return self._call_impl(*args, **kwargs)
File "/usr/local/lib/python3.10/dist-packages/torch/nn/modules/module.py", line 1747, in _call_impl
return forward_call(*args, **kwargs)
File "/content/devit/demo/../detectron2/modeling/meta_arch/devit.py", line 1184, in forward
other_classes = interpolate(other_classes, self.T, mode='linear') # (Nxclasses) x spatial x T
File "/content/devit/demo/../detectron2/modeling/meta_arch/devit.py", line 102, in interpolate
return F.interpolate(seq, T, mode=mode)
File "/usr/local/lib/python3.10/dist-packages/torch/nn/functional.py", line 4559, in interpolate
return torch._C._nn.upsample_linear1d(
RuntimeError: Input and output sizes should be greater than 0, but got input (W: 0) and output (W: 128)
I didn't use my new object coco format json dataset for obtaining ycb_prototypes.pth, I just ran demo/build_prototypes.ipynb with 5 images of my new object with their binary masks.


chore(ci): use service principal identity for wheel uploads

Our principal is already set up with access to the storage account, AzCopy only needs the two env vars set:

AZCOPY_AUTO_LOGIN_TYPE: "AZCLI"
AZCOPY_TENANT_ID

azcopy list now has a quiet param because by default it prints info / debug output about the auto login.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact<EMAIL_ADDRESS>with any additional questions or comments.
Thank you for contributing to Azure IoT Operations tooling!
This checklist is used to make sure that common guidelines for a pull request are followed.
General Guidelines
Intent for Production

[ ] It is expected that pull requests made to default or core branches such as dev or main are of production grade. Corollary to this, any merged contributions to these branches may be deployed in a public release at any given time. By checking this box, you agree and commit to the expected production quality of code.

Basic expectations

[ ] If introducing new functionality or modified behavior, are they backed by unit and/or integration tests?
[ ] In the same context as above are command names and their parameter definitions accurate? Do help docs have sufficient content?
[ ] Have all the relevant unit and integration tests pass? i.e. pytest <project root> -vv. Please provide evidence in the form of a screenshot showing a succesful run of tests locally OR a link to a test pipeline that has been run against the change-set.
[ ] Have linter checks passed using the .pylintrc and .flake8 rules? Look at the CI scripts for example usage.
[ ] Have extraneous print or debug statements, commented out code-blocks or code-statements (if any) been removed from the surface area of changes?
[ ] Have you made an entry in HISTORY.rst which concisely explains your user-facing feature or change?

Azure IoT Operations CLI maintainers reserve the right to enforce any of the outlined expectations.
A PR is considered ready for review when all basic expectations have been met (or do not apply).

Sample run: https://github.com/c-ryan-k/azure-iot-ops-cli-extension/actions/runs/8559143051


CITATION.md from metapackage

Originally posted by @garrison in https://github.com/Qiskit/qiskit-metapackage/issues/1722#issuecomment-1545938188

Just noticed that CITATION.bib needs to move as well.  Otherwise, the link from the Terra README will be broken after qiskit-terra -> qiskit.

This is related with RFC 0011

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
21 unchanged lines in 6 files lost coverage.
Overall coverage decreased (-0.04%) to 85.862%

Files with Coverage Reduction
New Missed Lines
%

crates/qasm2/src/expr.rs
1
93.76%

qiskit/extensions/quantum_initializer/squ.py
2
80.0%

crates/accelerate/src/vf2_layout.rs
3
94.74%

crates/accelerate/src/sabre_swap/layer.rs
4
97.32%

crates/qasm2/src/lex.rs
5
90.63%

crates/qasm2/src/parse.rs
6
97.58%

Totals

Change from base Build<PHONE_NUMBER>:
-0.04%

Covered Lines:
70814

Relevant Lines:
82474

💛  - Coveralls


Fixed mdd android C++ miengine based glass tests with new updates

Fixed following items which can be running glass tests on machine with VS2017 RC installed:

Fixed the build error in android C++ debuggee projects, we might need to revisit this if we release new version of android application later.
Fixed test script to retrieve the correct %errorlevel% code when failed to build projects.
Fixed the load exceptions issues in glass2 ": Unable to load one or more of the requested types"
Fixed the "COM API failures" issues due to missing vs types when invoke miengine code.

Hi @richardzeng1985, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

Looks good @richardzeng1985. Thanks!


ENFv2 - Adjustments for new tech spec (EXPOSUREAPP-3853)

This PR implements one neccessary part of the new ExposureWindowMode to proceed with further adjustments.

Added numberOfDaysWithHighRisk and numberOfDaysWithLowRisk
Added neccessaryField to AggregatedRiskResult

Note: Basing on new Tech Spec PR #12

cleanup (detekt, etc) is coming.. just for first quick check, according to new Tech-Spec


Add verify code table

connects SkygearIO/forgot_password#31
connects SkygearIO/forgot_password#32

Merged via fe74198


Add Eduard Barata to Contributors list

Am I doing this right?

@bar-alex, I'm quite elated about your PR. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a PR and learned that I merged it?

@Roshanjossey, The tutorial is very welcomed, all this is still new to me and a bit strange, what I miss thou, for Git and Github too, is a step by step tutorial with a practical example (project), what commands do I use for what stage (from start to finish) and what is the effect, kinda like a template to follow for a new project, until using Git and GitHub becomes natural.
If you really want to develop this (and I think it's a great idea and good source of content for your Medium presence) is using this theme (the step-by-step tutorial/template) for all things Git and GitHub, like collaboration, continuous integration, issues etc. Make it so that a new user will become comfortable with Git and GitHub while reading your series of articles and having already acquired from them a ready-to-use workflow with Git and GitHub for its projects.
Yup, this is exactly what I'm missing a step-by-step workflow example/tutorial/template =^_^=

@bar-alex, I’d urge you to continue contributing to other open source projects.
We also have a slack team to help/mentor people trying to contribute to open source projects.
You can join the team by going to https://firstcontributions.herokuapp.com


Fix Node Pattern manual link

Before submitting the PR make sure the following are checked:

[x] Wrote good commit messages.
[-] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[-] Added tests.
[-] Added an entry to the Changelog if the new code introduces user-observable changes. See changelog entry format.
[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Run bundle exec rake default. It executes all tests and RuboCop for itself, and generates the documentation.

Can you make the same update to docs/modules/ROOT/pages/development.adoc ?

I'll think I'll rename this folder to legacy docs now, so that people don't touch it anymore. :-)

Done!

I forgot to mention this, but you could have also linked to https://docs.rubocop.org/rubocop-ast/node_pattern.html, as this is already published on the new docs site.


flutter_rust_bridge_codegen build-web errors, WASM can't compile

Describe the bug
I'm using the default project created from doing the flutter_rust_bridge_codegen create my_app, and I'm trying to get the web working in my environment.
And following the docs I've installed the necessary toolchains, nightly build switch and the wasm-pack.
But when I run the command for build-web
I just get a heap of errors all relating to linking issues, making me think I don't have the correct libraries. But I'm pretty sure I've installed everything it's complaining about. (attached is the last one error, but they're all related to the same type of issue)
error: could not compile `compiler_builtins` (build script) due to 1 previous error
error: could not compile `libc` (build script) due to 1 previous error
error: linking with `cc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/snap/flutter/current/usr/bin:/snap/flutter/current/bin:/home/cj/snap/flutter/common/flutter/bin:/snap/flutter/current/usr/bin:/snap/flutter/current/bin:/home/cj/snap/flutter/common/flutter/bin:/home/cj/.local/share/pnpm:/home/cj/.nvm/versions/node/v21.7.1/bin:/home/cj/.cargo/bin:/home/cj/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin" VSLANG="1033" "cc" "-m64" "/tmp/rustcSo5LQd/symbols.o" "/home/cj/Documents/code/flutter_ffi/my_app/rust/target/debug/build/typenum-c2361923ad7a04d1/build_script_main-c2361923ad7a04d1.build_script_main.b91e46799a76ac98-cgu.0.rcgu.o" "/home/cj/Documents/code/flutter_ffi/my_app/rust/target/debug/build/typenum-c2361923ad7a04d1/build_script_main-c2361923ad7a04d1.build_script_main.b91e46799a76ac98-cgu.1.rcgu.o" "/home/cj/Documents/code/flutter_ffi/my_app/rust/target/debug/build/typenum-c2361923ad7a04d1/build_script_main-c2361923ad7a04d1.build_script_main.b91e46799a76ac98-cgu.2.rcgu.o" "/home/cj/Documents/code/flutter_ffi/my_app/rust/target/debug/build/typenum-c2361923ad7a04d1/build_script_main-c2361923ad7a04d1.build_script_main.b91e46799a76ac98-cgu.3.rcgu.o" "/home/cj/Documents/code/flutter_ffi/my_app/rust/target/debug/build/typenum-c2361923ad7a04d1/build_script_main-c2361923ad7a04d1.deg4vkk5k38sm14w3o0aylqxy.rcgu.o" "-Wl,--as-needed" "-L" "/home/cj/Documents/code/flutter_ffi/my_app/rust/target/debug/deps" "-L" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-c6c045f3358c0b22.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-5c2158c1682442e0.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-404d0b40d67de09f.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-e07eeabf48db885c.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-c92423f648579064.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-8dab5299a97564ae.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-65891f932666bb65.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-b2634d236d77b88a.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-38ef4997455a5e72.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-b2e6b39d803e65fe.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-0864893dee726241.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-e599f337a82d59c4.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-acbe32895031f6bc.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-e21e611894cf2844.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-7b90a2705bcf265b.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-1f7e19b44251c73e.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-f72b956e24d1de70.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-632ae0f28c5e55ff.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-4d7d16bbf0636a40.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-B/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-B/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-B/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/self-contained" "-o" "/home/cj/Documents/code/flutter_ffi/my_app/rust/target/debug/build/typenum-c2361923ad7a04d1/build_script_main-c2361923ad7a04d1" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
  = note: rust-lld: error: undefined reference due to --no-allow-shlib-undefined<EMAIL_ADDRESS>          >>> referenced by /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libgcc_s.so.1
          collect2: error: ld returned 1 exit status

error: could not compile `typenum` (build script) due to 1 previous error
Error: Compiling your crate to WebAssembly failed
Caused by: Compiling your crate to WebAssembly failed
Caused by: failed to execute `cargo build`: exited with exit status: 101
  full command: cd "rust" && "cargo" "build" "--lib" "--target" "wasm32-unknown-unknown" "-Z" "build-std=std,panic_abort"
Unhandled exception:
ProcessException: Bad exit code (1). If you want to see extra information, set FRB_DART_RUN_COMMAND_STDERR=1
  Command: wasm-pack build -t no-modules -d /home/cj/Documents/code/flutter_ffi/my_app/web/pkg --no-typescript --out-name rust_lib_my_app --dev rust -- -Z build-std=std,panic_abort
#0      runCommand (package:flutter_rust_bridge/src/cli/run_command.dart:67:5)
<asynchronous suspension>
#1      _executeWasmPack (package:flutter_rust_bridge/src/cli/build_web/executor.dart:151:3)
<asynchronous suspension>
#2      executeBuildWeb (package:flutter_rust_bridge/src/cli/build_web/executor.dart:67:3)
<asynchronous suspension>
#3      BuildWebCommand.run (package:flutter_rust_bridge/src/cli/build_web/entrypoint.dart:18:5)
<asynchronous suspension>
#4      CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>
#5      main (file:///home/cj/.pub-cache/hosted/pub.dev/flutter_rust_bridge-2.0.0/bin/flutter_rust_bridge.dart:8:3)
<asynchronous suspension>
Error: Fail to execute command, please see logs above for details.

Steps to reproduce
Hint: A simple way to reproduce is to clone and modify the https://github.com/fzyzcjy/flutter_rust_bridge/tree/master/frb_example/dart_minimal example package according to your needs.

create project using flutter_rust_bridge_codegen create my_app
run flutter_rust_bridge_codegen build-web in my_app

Logs
error: could not compile `compiler_builtins` (build script) due to 1 previous error
error: could not compile `libc` (build script) due to 1 previous error
error: linking with `cc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/self-contained:/snap/flutter/current/usr/bin:/snap/flutter/current/bin:/home/cj/snap/flutter/common/flutter/bin:/snap/flutter/current/usr/bin:/snap/flutter/current/bin:/home/cj/snap/flutter/common/flutter/bin:/home/cj/.local/share/pnpm:/home/cj/.nvm/versions/node/v21.7.1/bin:/home/cj/.cargo/bin:/home/cj/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/bin" VSLANG="1033" "cc" "-m64" "/tmp/rustcSo5LQd/symbols.o" "/home/cj/Documents/code/flutter_ffi/my_app/rust/target/debug/build/typenum-c2361923ad7a04d1/build_script_main-c2361923ad7a04d1.build_script_main.b91e46799a76ac98-cgu.0.rcgu.o" "/home/cj/Documents/code/flutter_ffi/my_app/rust/target/debug/build/typenum-c2361923ad7a04d1/build_script_main-c2361923ad7a04d1.build_script_main.b91e46799a76ac98-cgu.1.rcgu.o" "/home/cj/Documents/code/flutter_ffi/my_app/rust/target/debug/build/typenum-c2361923ad7a04d1/build_script_main-c2361923ad7a04d1.build_script_main.b91e46799a76ac98-cgu.2.rcgu.o" "/home/cj/Documents/code/flutter_ffi/my_app/rust/target/debug/build/typenum-c2361923ad7a04d1/build_script_main-c2361923ad7a04d1.build_script_main.b91e46799a76ac98-cgu.3.rcgu.o" "/home/cj/Documents/code/flutter_ffi/my_app/rust/target/debug/build/typenum-c2361923ad7a04d1/build_script_main-c2361923ad7a04d1.deg4vkk5k38sm14w3o0aylqxy.rcgu.o" "-Wl,--as-needed" "-L" "/home/cj/Documents/code/flutter_ffi/my_app/rust/target/debug/deps" "-L" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-c6c045f3358c0b22.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-5c2158c1682442e0.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-404d0b40d67de09f.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-e07eeabf48db885c.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-c92423f648579064.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-8dab5299a97564ae.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-65891f932666bb65.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-b2634d236d77b88a.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-38ef4997455a5e72.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-b2e6b39d803e65fe.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-0864893dee726241.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-e599f337a82d59c4.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-acbe32895031f6bc.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-e21e611894cf2844.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-7b90a2705bcf265b.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-1f7e19b44251c73e.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-f72b956e24d1de70.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-632ae0f28c5e55ff.rlib" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-4d7d16bbf0636a40.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-B/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-B/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-B/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin/gcc-ld" "-fuse-ld=lld" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/home/cj/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/self-contained" "-o" "/home/cj/Documents/code/flutter_ffi/my_app/rust/target/debug/build/typenum-c2361923ad7a04d1/build_script_main-c2361923ad7a04d1" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
  = note: rust-lld: error: undefined reference due to --no-allow-shlib-undefined<EMAIL_ADDRESS>          >>> referenced by /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/libgcc_s.so.1
          collect2: error: ld returned 1 exit status

error: could not compile `typenum` (build script) due to 1 previous error
Error: Compiling your crate to WebAssembly failed
Caused by: Compiling your crate to WebAssembly failed
Caused by: failed to execute `cargo build`: exited with exit status: 101
  full command: cd "rust" && "cargo" "build" "--lib" "--target" "wasm32-unknown-unknown" "-Z" "build-std=std,panic_abort"
Unhandled exception:
ProcessException: Bad exit code (1). If you want to see extra information, set FRB_DART_RUN_COMMAND_STDERR=1
  Command: wasm-pack build -t no-modules -d /home/cj/Documents/code/flutter_ffi/my_app/web/pkg --no-typescript --out-name rust_lib_my_app --dev rust -- -Z build-std=std,panic_abort
#0      runCommand (package:flutter_rust_bridge/src/cli/run_command.dart:67:5)
<asynchronous suspension>
#1      _executeWasmPack (package:flutter_rust_bridge/src/cli/build_web/executor.dart:151:3)
<asynchronous suspension>
#2      executeBuildWeb (package:flutter_rust_bridge/src/cli/build_web/executor.dart:67:3)
<asynchronous suspension>
#3      BuildWebCommand.run (package:flutter_rust_bridge/src/cli/build_web/entrypoint.dart:18:5)
<asynchronous suspension>
#4      CommandRunner.runCommand (package:args/command_runner.dart:212:13)
<asynchronous suspension>
#5      main (file:///home/cj/.pub-cache/hosted/pub.dev/flutter_rust_bridge-2.0.0/bin/flutter_rust_bridge.dart:8:3)
<asynchronous suspension>
Error: Fail to execute command, please see logs above for details.

Expected behavior
Generates the output wasm files for flutter
Generated binding code
No response
OS
Pop OS 22 (linux)
Version of flutter_rust_bridge_codegen
No response
Flutter info
[✓] Flutter (Channel stable, 3.22.2, on Pop!_OS 22.04 LTS 6.9.3-76060903-generic, locale en_AU.UTF-8)
    • Flutter version 3.22.2 on channel stable at /home/cj/snap/flutter/common/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 761747bfc5 (3 weeks ago), 2024-06-05 22:15:13 +0200
    • Engine revision edd8546116
    • Dart version 3.4.3
    • DevTools version 2.34.3

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /home/cj/Android/Sdk
    • Platform android-34, build-tools 34.0.0
    • Java binary at: /home/cj/Downloads/android-studio/jbr/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)
    • All Android licenses accepted.

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

[✓] Linux toolchain - develop for Linux desktop
    • clang version 10.0.0-4ubuntu1
    • cmake version 3.16.3
    • ninja version 1.10.0
    • pkg-config version 0.29.1

[✓] Android Studio (version 2023.2)
    • Android Studio at /home/cj/Downloads/android-studio
    • Flutter plugin version 78.4.1
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)

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

[✓] Connected device (2 available)
    • Linux (desktop) • linux  • linux-x64      • Pop!_OS 22.04 LTS 6.9.3-76060903-generic
    • Chrome (web)    • chrome • web-javascript • Google Chrome 126.0.6478.126

[✓] Network resources
    • All expected network resources are available.

• No issues found!

Version of clang++
No response
Additional context
No response

Firstly, what is your rust version? IIRC someone mentioned -> https://github.com/fzyzcjy/flutter_rust_bridge/issues/2157 too old rust may have problems

Currently it's this
cargo 1.81.0-nightly (bc89bffa5 2024-06-22)
rustup 1.27.1 (54dd3d00f 2024-04-24)
rustc 1.81.0-nightly (fda509e81 2024-06-25)
I thought it might be a rust/flutter version issue, so I did an upgrade before hand. I think those are the latest versions

Hmm could you please google a bit about the error messages etc? This looks like a general "why my Rust code does not compile" problem, since there is no frb or dart in this step, and it is only executing a pure cargo command:
"cargo" "build" "--lib" "--target" "wasm32-unknown-unknown" "-Z" "build-std=std,panic_abort"

hmmmm.
so running the raw command works in the rust crate in the my_app project. Now if I run the flutter_rust_bridge_codegen build-web in the root project it works.
Just to check I deleted the target directory in the rust crate and now when I run the flutter_rust_bridge_codegen build-web I get the same set of weird errors again. So I guess I just have to compile the rust crate for wasm first before doing the codegen? Is that intentional for frb?

That's weird, I would guess it may be something related to env variable.
What about this: cargo build is auto run by the following command. When run it directly (after deleting target dir) does it work?
wasm-pack build -t no-modules -d /home/cj/Documents/code/flutter_ffi/my_app/web/pkg --no-typescript --out-name rust_lib_my_app --dev rust -- -Z build-std=std,panic_abort

Did a bit more testing.

with no target dir created flutter_rust_bridge_codegen build-web fails like it did before.

when running cargo build (without the wasm target in the command) the flutter_rust_bridge_codegen works like normal.

And the raw command wasm-pack build -t no-modules -d /home/cj/Documents/code/flutter_ffi/my_app/web/pkg --no-typescript --out-name rust_lib_my_app --dev rust -- -Z build-std=std,panic_abort also works fine.

cj@pop-os:~/Documents/code/flutter_ffi/my_app$ flutter_rust_bridge_codegen build-web_codegen build-web
> which wasm-pack (pwd: null, env: null)
/home/cj/.cargo/bin/wasm-pack
> cargo read-manifest (pwd: rust, env: null)
>
> which wasm-pack (pwd: null, env: null)
/home/cj/.cargo/bin/wasm-pack_codegen build-web
> which wasm-pack (pwd: null, env: null)
/home/cj/.cargo/bin/wasm-pack
> cargo read-manifest (pwd: rust, env: null)
>
> cargo read-manifest (pwd: rust, env: null)
> wasm-pack build -t no-modules -d /home/cj/Documents/code/flutter_ffi/my_app/web/pkg --no-typescript --out-name rust_lib_my_app --dev rust -- -Z build-std=std,panic_abort (pwd: null, env: {RUSTUP_TOOLCHAIN: nightly, RUSTFLAGS: -C target-feature=+atomics,+bulk-memory,+mutable-globals, CARGO_TERM_COLOR: always})
[INFO]: 🎯  Checking for the Wasm target...
[INFO]: 🌀  Compiling to Wasm...

I can also see the same command it's using when it launches the codegen. And it works fine by itself. So yea... I can only think my env variables are messed up for some reason. And it's not building the project properly when launched through the codegen.

I think so, probably because of some unknown env var issues... I do not have a reproducible environment, so cannot debug for this. If you like to test more, maybe clone frb repo and modify the ./frb_dart code related to building web to print out things etc to debug.

Yea, well it's good to know that it's an isolated issue at least. Easy enough to get around anyway in the short term.
I'll close up the issue, and if I ever do find a long-term solution I'll chuck here in the future for anyone else who might stumble on it.

Reopen because of https://github.com/fzyzcjy/flutter_rust_bridge/discussions/2236

Close since https://github.com/fzyzcjy/flutter_rust_bridge/discussions/2236#discussioncomment-10299362


keepaliveTime for indifinte connections (maxLifetime=0)

I understand it is not recommended, but let's assume maxLifetime is set to 0 (infinite connection lifetime). I wanted to understand if in that case I can set keepaliveTime > 0 and if it will be effective? The documentation for keepaliveTime says:

This value must be less than the maxLifetime value.

but do I understand correctly that connections with  maxLifetime=0 will be the exception to this  and keepaliveTime > 0 will be effective for them?

The code that does this validation skips the comparison if maxLifetime is zero. I see the wording in the javadoc is ambiguous, but since 0 represents infinity, then any keepaliveTime would be less than infinity.


URL template no longer editable for Redshift connections

Hi,
Just upgraded to version 5.2.2, and I noticed that for Redshift connections the URL template is no longer editable. See the screenshot below.

It used to be editable, and it still is for other connection types. This is important as in order to make use of IAM authentication with redshift, the url template must be altered.
This is how it looked in the previous version:

Thanks,
Gerco

Thanks for the bug report. Indeed Redshift URL must be editable (while standard PostgreSQL URL shouldn't because it is auto-generated according to connection parameters).


Thw error shows when I connect the D435 with realsense viewer

This error shows when I connect the D435 with realsense viewer. Does this mean my device is broken?
Invalid Value in rs2_get_option(options:000001A64B57D8C0, option:Emitter On Off):
hwmon command 0x7d( 0 0 0 0 ) failed (response -21= No data to return)

Hi @SUN-GE   My experience with this error is that it does not mean that the camera hardware is broken, as the camera may work fine if plugged into another computer.
Could you tell me wich computer or computing device you are connecting the D435 to, please?

Thanks for the quick response. I am using ubuntu 18.04. I connected D435 with my desktop.

I have checked it. you are right. It works at another computer.

Thanks for quick response. I am using ubuntu 18.04 (my desktop). I have check it, it works with another computer.

Do you wish to explore why it has problems on the first computer you tried please, or are you satisifed to use the camera on the other computer?

This happens when you are using new firmware (<IP_ADDRESS>+) with older SDK (<2.39) and mentioned in the release notes - https://github.com/IntelRealSense/librealsense/wiki/Release-Notes#new-features-1
The warning itself is harmless, unless you want to use Emitter On-Off feature. If that is the case, you need compatible SDK-firmware pair.

Hi @SUN-GE   Do you require further assistance with this case, please?   Thanks!

Thanks for your feedback! My problem is solved.

I'm very pleased to hear of your success.  Thanks for the update!


MTCNN

Did you write this MTCNN yourself? Or did you use that bag? Can you share it? I'm doing clear_ data.py

you can use mediapipe instead of mtcnn to speedup

OK


Fixed #24848 -- Fixed ValueError for faulty migrations module.

Added apps to unmigrated apps if they had a migrations.py file
or an empty migrations folder.
https://code.djangoproject.com/ticket/24848

merged in d73176a84273c06fa11075c65293ec28497a8423, thanks!


Support foreign key expansions

This will be the most graph-ish bit of this: if a column corresponds to a foreign key, allow GraphQL to select that as a nested object.

Here's a demo query that I would like to work:
{
  repos {
    full_name
    owner {
      id
      login
    }
  }
}

I got this one working locally:
{
  repos {
    id
    name
    full_name
    description
    owner {
      id
      name
    	updated_at
    }
    license {
      name
      full_name
    }
  }
}

Got this nested one working too:
{
  issues {
    id
    title
    repo {
      id
      full_name
      owner {
        id
        name
        html_url
      }
    }
  }
}

Demo: https://datasette-graphql-demo.datasette.io/graphql?query={
  issues {
    id
    title
    repo {
      id
      full_name
      owner {
        id
        name
        html_url
      }
    }
  }
}


fix showItemInFolder

Fix strange error where clicking 'Show In Finder' would also show the 'confirm delete torrent' modal. Also make it show the torrent content and not the cached torrent file.

LGTM ugh i'm a tool


PopupCheckedMenuItem can't handle radio-button-style check marks

If you have a menu with three items and you can switch between them, you can give the current one a check mark, using PopupCheckedMenuItem. But if you select another one, while we'll start animating its checkmark in, we won't animate the old one out.
This will affect the "Grid" demo once I convert it to using PopupCheckedMenuItem.

Does this still impact the Grid demo? I don't see checked menu items in the "Grid list" upper-right menu.

We should make sure we do demo this somewhere, if nothing else just to prove it can be done.

Could you please provide a minimum recurrence code?
cc @Hixie

https://gallery.flutter.dev/#/demo/menu showcases the supported menu options (including checklist), so closing as obsolete


Pilot tutorial: using RigidBody2D in Godot for character movement

Produce a pilot tutorial to use the backers' feedback on the recent form.
Use the work from #5 as a base, but without the hook: this is a beginner tutorial.
The goal is to start to integrate the feedback below to improve the quality of our tutorials. As you'll see they're mostly small improvements that should help make the tutorials feel more structured and cohesive.
Some notes for this one:

Mention/explain the advantages and drawbacks of Rigid Body physics compared to Kinematic bodies (you can use the 2 prototypes from hook for that)
No need to add graphics to the game demos, you can rely on colliders (and basic drawing if need be). Again, you can use the hook prototype work as a base, just remove the parts you don't need. Or code a simple demo if you feel it could be faster.
The target audience for this tut (and upcoming ones) is the target you'll see in the readme.

The Free courses are for what I would call beginners-plus: amateurs, young programming students, or developers in another domain, e.g. software developers, who have learned the basics of Godot, the basics of GDScript, and put all that in practice in a personal project. The viewer understands basic programming concepts up to what classes and objects are, what a node is at a basic level, and the viewer knows its way around the main areas of the interface.

For the rest, the structure of the tut is up to you. If you need feedback on the outline or anything, you can reply here and ping me anytime.
Checklist for the tutorial

Goal and project-driven: clearly define the teaching goals for the tutorial, explain what the viewer is meant to get out of the tutorial
Give a summary of the tutorial's teachings in the intro

Explain and show what the viewer is going to learn
Feature a table of contents with timecodes in the video description if the video covers multiple techniques or has distinct chapters

Remind the viewer what you covered at the end of the video
Mention common pitfalls or limitations of the tool/topic at hand and provide solutions

Text-based content
I.e. companion text file, pinned comment, video description
I will take care of this part when preparing the video for release. Could you just keep any link or page you use when creating the tutorial and that you find useful around and paste them in this issue?

Pre-requisites: link to content the viewer can use to get started in the description

Briefly mention to the viewer they can find pre-requisites and tutorials to watch first in the description

Provide resources to go further

Godot docs
Great tutorials from other tutorial makers
General article on the subject, if applicable

Table of contents and timecodes to jump to specific sections
Create an assignment to help the viewer put what they learned in practice

Video is done, it will be on dropbox tomorrow morning - I'll render overnight :smiley:
Timecodes
00:20 Demo
01:21 Rigid player scene
03:32 Rigid player script
08:25 Kinematic player scene and script
09:40 Conclusion
Links used
RigidBody2D Docs
RigidBody character with Godot 2.2
Finite state machine video - mentioned in video
RigidBody character report for metroidvania - mentioned in video

I watched the video, and it's not what I was looking for. It's pretty much the same as every tutorial, and it misses the target audience as you give an overview of the finished code, so it's not beginner-friendly.

There's also probably a misunderstanding regarding what "project-driven" means. If I've written this as part of the checklist, it suggests it's something we don't do already: it means having the viewer create something, not that only you should have a demo, we which always do.
Once again, the code editor's font is small. Is it set to 23 at least as we've discussed before, and as written in the video guidelines?
The tutorial has some value, so let's keep it. But it misses the mark for this task. I think I'll do the pilot video myself, that way we'll have a reference to keep improving upon.

So project-driven can be thought of almost as a code along video? Then, yes, I misunderstood it. After finishing the video and watching it I felt like I should've gone for something like firecast's - which we discussed before. Though, I thought it would be better to get your feedback first.
As for the other points, they were covered:

Was done right at the start and while showing the demo
Done in the conclusion
Throughout the video and during conclusion

Maybe I misunderstood something, I'll watch the video that you linked to us in the discord now.
The font should be correct, I remember opening the video guidelines and configuring godot before recording. I'll crank the value up next time nonetheless.

As for the other points, they were covered:

Yes and no: as I'm saying above, the goal is to increase the quality of the videos. My problem is the quality of the way in which the points were covered. In the intro, you fade to random clips from other parts of the tutorial that don't help in understanding what the project is about and what the user will learn.

Watch the first 20 seconds of your tut again: the footage doesn't illustrate what you're saying.
I'm not saying that you didn't follow the checklist above, but the whole point isn't to just check the boxes: it's to produce a better tutorial than usual, to integrate the backers' feedback in our tuts. And the video misses the target audience imo, it's not beginner-friendly.
We've talked about copying and pasting code like in the Firebase tutorials, and yes, that's the way to go moving forward.
Regardless, it's also in the video guidelines: fold and/or remove the code you don't cover (commenting lines could be an option, also I think the copy-paste approach is cleaner).

Here's an example of what I meant for the intro: https://www.dropbox.com/s/3cz8o0f2kuvz60k/05-15-godot-waypoints-platform-and-tool.mp4?dl=0

Ah, understood! The better approach would've been to already start showing the demo during the intro. The example video helped a lot, thanks!
From now on I'll stick to the copy paste approach. Might be worth adding more edits to help the viewer focus on what's important as well, for instance, adding those arrows that sometimes you use in your videos. Haven't used them yet, I'll see if there's opportunity in a future video.
By the way, I'm still open for tasks.

Yup, I know, I'm busy clearing up my own todo before going on holidays next week. I was hoping we'd get our hands on a 3d character by now to finish the new features in Godot 3 series. I'll check again with Luciano.
On the metroidvania project, for now, there's only pre-production/design work to do, we're on that with Henrique as we have more exp. with design.
We could use another series to keep the channel alive in the meantime. I asked TwistedLeg if we could use his FPS tutorial and demo as a base for a tut series, and he said he was okay with that (the code needs serious cleanup though https://github.com/TwistedTwigleg/Godot_FPS_Tutorial)
Besides that I don't know, I'm open to suggestions. We could do a round of topic suggestions, so that I can open video tasks you can take on freely while I'm away.

Done: https://youtu.be/ZWO2WiH9p9s (I'll prepare it for release next week)


Updating user using azure-graphapi module for Node js

I'm trying out to update an user on my Azure account using Node.js technology. I'm using azure-graphapi module to send request and initialize. Following is my code.
var GraphAPI = require('azure-graphapi');
var graph = new GraphAPI(appSettings.oauthOptions.tenantId, appSettings.oauthOptions.clientId, appSettings.oauthOptions.clientSecret);
var reqHeaders = { "content-type": "application/json" };
var reqBody = {
"department": "Sales",
"usageLocation": "US"
}
var person = {
userId: userID
};
graph.patch('users/f0eceb4f-xxxx-409a-xxxx-4e3exx4e3157', JSON.stringify(reqBody), reqHeaders, function (err, user) {
if (!err) {
console.log(user);
}
else {
console.log(err);
}
});
Even after providing content-Type header it is throwing me an error as "{ [Error: Graph API Error: 400 (Bad Request) Content-Type header value missing.] statusCode: 400 }"

I am no longer maintaining this package. Microsoft now has their universal Graph API and I have created the graph-service package. Please try that one instead. It is available on NPM.


chore:  prodAssoc as an additive/multiplicative or linear equivalence

Record multiplicativity/linearity of the equivalence (E × F) × G ≃ E × (F × G). Adapt the construction of LinearIsometryEquiv.prodAssoc to use this.

I personally would prefer M₁ M₂ M₃ over M N M' for the mulEquiv. It just looks better.

Subscripts notations are nowhere used within Algebra/Group/Prod, Should I introduce them here just for this case?

I ended up going with M, Nand P in Algebra/Group/Prod.lean, which I feel is a middle ground between a lone primed term and introducing completely new notations in the file.


Abandon python2

We should move to Python 3 ASAP

OK, tips on how to do this: merge #52, then get the source code working on both 2 and 3, then remove Python 2.
(Currently, the source code is Python-2-only.  We run tests in CI for Python 3 by using futurize, which adds a dependency to emulate the Python 2 behaviour.)

Run modernize on the code.  This adds a dependency on the very common six module, to support Python 3 behaviour on Python 2 (the opposite of futurize).  Commit the result - it is very useful later if the git history distinguishes between automated tools and any manual fixes to the results.
Run the tests on both Python2 and Python3, fix any problems, and commit the result.
Manual refactoring where e.g. dict.values() is cast to a list to match Python 2 behaviour, but you can iterate over it without casting.
When it's time to drop Python 2 support, run pyupgrade --py3only.  This can automatically remove the six compatibility layer, which is a major argument for modernize over futurize.

It will probably be easier to do steps one and two in stages, e.g. particular subpackages first.  Once that's done, you can do (3) and (4) in whatever order or whenever suits you.

Hey Zac, I tried to run tests on python3 after I call modernize, but I got some error complaining about "can't concat str to bytes". I dig in a little bit and found that things like subprocess.check_output returns byte literal which wasn't a thing in python 2 ... Could you provide some idea on how to fix this? Thanks!

Call check_output(..., universal_newlines=True) to make it use text mode.
(The argument has been renamed text in 3.7, but that doesn't help here).

Call check_output(..., universal_newlines=True) to make it use text mode on Python 3.
Confusing name for legacy reasons, but that's the trick.

Thanks Zac for this. Then I tried to do pyupgrade --py3-only, but it has no effect on the files. Am I doing something wrong?

@Zac-HD I found that isort add "from future ..." statements to some file in python3. As we abandon python2, do we still need them?

Nope; once you've dropped Python 2 support you can delete them, and this line to stop isort putting them back.
Make sure you also add python_requires=">=3.5", to setup.py, to block installation on older versions of Python - that way someone installing from pypi will get the latest version that supports their version of Python.

I think it's time to migrate to Python 3 and I'm marking this as having high priority. If we would like to drop support for Python 2 then there is some further cleaning I can do before merging in #67.

#67 has been merged


Update event detail literals

What I did

Updated text for event details (approved by content team)

@ChrisCampbellCodes tests are failing in Cypress can you please update. the feature file?


New app: Netflix Top 10

This shows the Top 10 movies or films on Netflix for the current week. The data comes from the TSV files listed at the bottom of top10.netflix.com.
Users can select the category (TV or Film) and region (Global, or by country), as well as configure the scroll direction and font size. Several renders in different configurations:

I have read the CLA Document and I hereby sign the CLA

Thanks for the PR!


Path /srv/jekyll could not reflect volumes

docker-compose.yml like this
version: '2'
services:
  blog:
    image: jekyll/jekyll
    ports:
      - "4000:4000"
    volumes:
      - ./blog:/srv/jekyll

volume is set but /srv/jekyll does not have ./blog after container created. It works in other directories. Any config I miss?

Sorry, this is a Docker-Compose bug, but quick Googling shows they knew about it and fixed it.


Support for persist_docs in Starburst Galaxy

Describe the feature
dbt supports a configuration option persist_docs which would store the dbt documentation in its target. It would be nice if this would enable us to store the documentation in Starburst Galaxy's data catalog.
dbt documentation
Describe alternatives you've considered
No response
Who will benefit?
Every user of Starburst Galaxy
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Hey @sdebruyn could you please explain what do you mean by store the documentation in Starburst Galaxy's data catalog?
Persist docs are supported for Starburst Galaxy.

/


Adds SVG social media icons

Adds SVG icons for social media feeds. Fixes #88

Apparently these can be squirrelly in different ways with various SR + browser combos. There are various approaches, but my research tells me that adding aria-hidden="true" and 'focusable="false' to the <svg>, and then just adding an aria-label on the anchor tag (instead of needing the visually hidden span) is a well-supported approach.

Thanks @HaSistrunk!


fix deprecations introduced in Solarium 5.2

Fixes https://github.com/nelmio/NelmioSolariumBundle/issues/101
This makes the bundle fully compatible with the changes introduced in Solarium 5.2 and therefore (as of now) with the upcoming Solarium 6 :sunglasses:
See https://github.com/solariumphp/solarium/releases/tag/5.2.0
I also dropped Symfony 3.4 support as Solarium 5.2 requires at least symfony/event-dispatcher ^4.3.
This should be released as 4.1.0 then I think.
Deprecations on master with Solarium 5.2 before this PR:
Remaining indirect deprecation notices (30)

  14x: Not passing an instance of AdapterInterface as the first constructor argument is deprecated in Solarium 5.2 and will cause an error in Solarium 6.
    2x in NelmioSolariumExtensionTest::testDefaultClient from Nelmio\SolariumBundle\Tests
    2x in NelmioSolariumExtensionTest::testClientRegistry from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testLoadEmptyConfiguration from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testNoClients from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testLoadCustomAdapter from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testLoadCustomClient from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testPlugins from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testEndpoints from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testSpecificEndpoints from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testDefaultEndpoint from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testLogger from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testLoadBalancer from Nelmio\SolariumBundle\Tests

  14x: Not passing an instance of EventDispatcherInterface as the second constructor argument is deprecated in Solarium 5.2 and will cause an error in Solarium 6.
    2x in NelmioSolariumExtensionTest::testDefaultClient from Nelmio\SolariumBundle\Tests
    2x in NelmioSolariumExtensionTest::testClientRegistry from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testLoadEmptyConfiguration from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testNoClients from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testLoadCustomAdapter from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testLoadCustomClient from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testPlugins from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testEndpoints from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testSpecificEndpoints from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testDefaultEndpoint from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testLogger from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testLoadBalancer from Nelmio\SolariumBundle\Tests

  1x: The Client option "adapter" is deprecated since Solarium 5.2 and will be removed in Solarium 6. Pass an instance of AdapterInterface to the constructor instead.
    1x in NelmioSolariumExtensionTest::testLoadCustomAdapter from Nelmio\SolariumBundle\Tests

  1x: Passing a string to Client::setAdapter is deprecated since Solarium 5.2 and will cause an error in Solarium 6. Pass an instance of AdapterInterface instead.
    1x in NelmioSolariumExtensionTest::testLoadCustomAdapter from Nelmio\SolariumBundle\Tests

Other deprecation notices (2)

  2x: Endpoint::getTimeout is deprecated since Solarium 5.2 and will be removed in Solarium 6. Configure the timeout on the HTTP Client used by the Adapter instead.
    1x in NelmioSolariumExtensionTest::testLoadEmptyConfiguration from Nelmio\SolariumBundle\Tests
    1x in NelmioSolariumExtensionTest::testNoClients from Nelmio\SolariumBundle\Tests

@thePanz ready for review now

@Seldaek @thePanz any chance you guys could have a look at this one?

Due to the lack of feedback I decided to maintain my own bundle instead.
Also the latest release is still the RC from December last year: https://github.com/nelmio/NelmioSolariumBundle/releases/tag/v4.0.0-rc.1
This bundle seems abandoned.

@dmaicher I pulled in your changes into the master branch.
I started a new 5.x alias, as those changes are not for a "minor" change
Thank you for the PR!

Thanks for the effort fixing the deprecations. My test suite is flooded with deprecation warnings, so I'ld love to upgrade to a new release of this bundle. Is there something I can (try to) do/test to help releasing the 4.1.0? Or is it just a case of 'finding time to do so', for you?


Setting pre-sets modal has overlapping text

After hitting the "+" preset button the device list has a visual glitch of overlapping text. This disappears after mousing-over any device names.

FYI: Tested on Chromebook Pixel 2 on Stable channel.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/30736324-setting-pre-sets-modal-has-overlapping-text?utm_campaign=plugin&utm_content=tracker%2F3374384&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F3374384&utm_medium=issues&utm_source=github).

Can’t reproduce it on OSX, will try to install Chrome OS later

That's fixed now.


Add options for author and game by preserving data

Hello

This Pull Request proposes the changes to complete Issues number 21 and 19

Implement author and game options #21
Preserve Game and Author data in .json files #19

@limavfabio  Thanks


Player should be able to walk up and talk to characters

The player character should be able to walk up to other characters, hit a button and have some text pop up.
For now, the dialog will be text only (no picture of who's talking) and it will be uninteractive (no choices). But, we should nail the look and feel:

Player should be able to flip forward through multiple sections of dialog
Windows should look nice, and we should use (and license) a nice font
Windows should appear and disappear gracefully. If blinking looks good, just have them blink in. But maybe they can unfurl or swoop in or expand or something.
Text should appear one letter at a time, like in an RPG. But, the entire message should still appear quickly.
Player should be able to mash a key to make all of the text visible quickly
There should be a "skip" button, and dialog should also be skippable with escape.
There should be some sort of bubbly typing sound as letters appear. Not the character's voice, as we'll eventually overlay vocal reactions later.
Dialog should be loaded from a file. We don't want this in code, we want this to be something a person can export or edit even if they're not a coder.

The player should also be able to walk up to and investigate items. Maybe a visual indicator appears near the item being investigated, before the player hits the button. That way the player knows there's something to read.

This is a really big story. But, the result looks great.


Bug: Missing startup probe causes gap in data collection

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
If a sparrow pod is restarted, it causes a gap in monitoring. This is due to the healthcheck returning an HTTP 200 to the kubernetes probe. Since Kubernetes thinks the new sparrow pod is ready to accept traffic, prometheus scrape requests are sent to that new pod immediately, before the startup routine is actually finished.
Screenshot from prometheus below
Expected Behavior
A restart of the sparrow deployment waits for the new pod to have finished its first reconciliation cycle. Only then will the pod accept traffic. This ensures, that prometheus never scrapes a pod while still in startup.
Steps To Reproduce

Spin up sparrow on kubernetes
Restart the deployment
HTTP GET /metrics or /openapi
You will notice sparrow returns no metrics for a few seconds after startup. It also does not show any checks in the /openapi endpoint

Relevant logs and/or screenshots, environment information, etc.

Who can address the issue?
No response
Anything else?
No response

I've started to implement this in feat/startup-probe. But imo we should wait with implementing this after the #72 and #92 are merged because then it'll be easier to register a /healthz endpoint that checks if all configured checks are running properly with their configuration.

I've implemented the other half of this issue, regarding the /healthz endpoint I mentioned before, in feat/healthz-endpoint. Therefore I've implemented yet another sparrow component named Checker that requests each API endpoint and checks if it's healthy (returns a StatusOK).

If the problem. Is the gap in metrics (which is isn't a problem we should concern ourselves with but the people accessing the metrics), then the solution is the following :
As long as the check hasn't produced any metrics, don't expose a metrics endpoint for the check.
I guess this would complicate the check registration process, if we implement something like that.
IMO this is currently a non-issue. The metrics exposed by the check are always the last executed check results. If no check has been run, no results can be delivered. If a check runs once every year, then the same result is delivered almost 365 days long.
The healthy and ready endpoint of the sparrow shouldn't have anything to do with the metrics endpoint. The sparrow exposes an API. If it can be served, then it's ready. If the sparrow's / is accessible, then it's healthy.
Mixing those two concerns with the check's state is mixing concerns. A controller is healthy and ready to accept requests even when the controlled resources aren't ready.

@puffitos I agree with you on this. Maybe we should just give the user the possibility to fix the gap in their metrics themself by setting startup probe values depending on their configuration. That way we wouldn't need #115 anymore and I can close it. 🙂

I don't see the need for an extra /healtz endpoint at the moment. The root API endpoint can be used for startup and readiness probes in my opinion.


Panic: protocol bug, message handled out of order

Hi @rueian
I encountered an error while resharding the OCI cache with v1.0.47. I'm checking the server side, too, but I want to ask if there is any cause on the client side.
panic: protocol bug, message handled out of order
goroutine 22276 [running]:
github.com/redis/rueidis.(*pipe)._backgroundRead(0xc0001c8900)
/gopath/pkg/mod/github.com/redis/rueidis@v1.0.47/pipe.go:506 +0x931
github.com/redis/rueidis.(*pipe)._background(0xc0001c8900)
/gopath/pkg/mod/github.com/redis/rueidis@v1.0.47/pipe.go:326 +0x88
created by github.com/redis/rueidis.(*pipe).background.func1 in goroutine 22001
/gopath/pkg/mod/github.com/redis/rueidis@v1.0.47/pipe.go:309 +0x56

Hi @nqvinh00,
This usually needs tcp dumps to debug. Are you able to reproduce the situation in a separated environment?

Hi @rueian. Tks for the quick reply, in the past, it didn't occur on AWS Elasticache. I will let you know when I get more info.

In the result of tcpdump, my application still received unsubscribe and unsubscribe commands. Is there any guide to debug @rueian

Do you mean sunsubscribe responses? I think it might be a bug in rueidis. It would be helpful if you have an example program that can reproduce the panic.

I have checked the tcpdump to verify if the application receives the sunsubscribe command from the Redis server while resharding.

The next slice of the result channel is nil.

And then the program should go into the if unsub { branch to ignore those sunsubscribe messages.
So it is weird it panic. Is the last response you received a sunsubscribe?

Do you mean sunsubscribe responses? I think it might be a bug in rueidis. It would be helpful if you can provide an example program that can reproduce the panic and the TCP dumps without exposing your sensitive data.

I have sent you an email with the tcpdump result. Please take a look.

The next slice of the result channel is nil.

And then the program should go into the if unsub { branch to ignore those sunsubscribe messages.
So it is weird it panic. Is the last response you received a sunsubscribe?

If I don't miss anything so yes, the last response application received is sunsubscribe

Yes, I also checked your tcpdump and I saw only sunsubscribe as well. So, I guess the application panicked before these sunsubscribe. Do you have an earlier dump?

And would you like to try v1.0.51-debug.1? It will print the exact msg when it goes into the panic branch.

Yes, I also checked your tcpdump and I saw only sunsubscribe as well. So, I guess the application panicked before these sunsubscribe. Do you have an earlier dump?

And would you like to try v1.0.51-debug.1? It will print the exact msg when it goes into the panic branch.

I have sent you an earlier.
It's hard to upgrade the version now, but I will consider upgrading it later.

I have sent you an earlier.

I saw it, thanks, and there were some -MOVED indeed. But, unfortunately, I still can't find any hint from it yet.

I have sent you an earlier.

I saw it, thanks, and there were some -MOVED indeed. But, unfortunately, I still can't find any hint from it yet.

Tks, please let me know if you find anything

Hi @nqvinh00, what version of OCI cache you are using? Is it a Valkey 8?

Hi @nqvinh00, what version of OCI cache you are using? Is it a Valkey 8?

It's redis 7.0

After comparing the timestamp of tcpdump and the time application panicked, the application panicked right after the first sunsubcribe. @rueian does this info help you?

Hi @nqvinh00,
Yes, and the situation I believe is the same as https://github.com/valkey-io/valkey/issues/1066. So we need a way to differentiate sunsubcribe responses sent by the cluster proactively and sunsubcriberesponses that respond to yoursunsubcribe` requests.
I guess we need to inject a special PING after each of your sunsubcribe requests in order to differentiate sunsubcribe responses correctly.

Hi @nqvinh00, the fix is ready here https://github.com/redis/rueidis/pull/691, and you can try it with v1.0.52-alpha.1.

Hi @nqvinh00, the fix is ready here #691, and you can try it with v1.0.52-alpha.1.

Hi @rueian, when will the official version be available?

Usually, we release a new version every 2~3 weeks. So I guess it will be available around the end of Dec.

Tks for your support. I will update asap and give you a feedback later.

Hi @rueian, I have upgraded the alpha version and re-tested it 1 time. No panic occurs but I still capture tcpdump, do you need it?

Thanks. But I only need the dump if you find some problems.

Thanks. But I only need the dump if you find some problems.

It seems normal, you can close this issue. I will let you know if there's any problem.
Tks a lot.

@rueian
Hi, I checked the tcpdump based on fixed version v1.0.52-alpha.1. There is a pattern like this:
1. client send unsubscribe + ping

2. client send hget

3. server unsubscribe proactively

4. service send move + pong + hget response

It seems that this version fix the panic error, it discard response 3 and keep the request/response sync.
Thank you.


stray thin gray line in tile layout

I made a tiled front page, somewhat like the home page on the gh-pages branch, like so (nevermind the content):
---
layout: media
permalink: /
title: Hi, I'm Max. This is what I'm working on.
share: false
image:
    feature: https://dl.dropboxusercontent.com/u/5341489/images/Max/max-board_CROP_SMALL.jpg
    credit: CiviCon Citizen Conference 2014
    creditlink: http://www.civicon.de
---

Deliberative Democracy

We can and should reason — not just vote — on matters of complex policy. I study how this might work (or not) at the CiviCon Citizen Conferences.

Optimal Taxation

What if there were fairer and more efficient taxes out there? In my dissertation, I investigate whether, and how, citizens might (dis)agree on these superior taxes.

Q Methodology

We have subjective views, but we also share, generate and contrast these views with others. I contribute to the qmethod R package and I maintain the Q website.

Computational Social Science

I (learn to) hack (and write) for Jan Lorenz's DFG-funded project on Opinion Dynamics and Collective Decisions.

Oddly, then, there's a thin grey line on the right of the screen, I think the same line used to distinguish between the author information, and generally used in lieu auf ---.
Any idea how to get rid of this line? Is it my mistake?

I should add, I took out the right panel (for ads) as per #58

Is this public somewhere? If not easiest way to figure out where that gray line is coming from is to inspect it with the browser's web developer tools. It'll show you what the element is and the CSS doing it so you can troubleshoot.
My guess is it's a
 and it needs to clear the floats. It should be knocking down below. Possible fix would be to add a clear to it in /_sass/_base.scss
hr {
	display: block;
	position: relative;
	clear: both;
	...
}

fantastic, thanks @mmistakes
appending clear: both; to above css solves the problem.


Continue comments readme

@phillip-kruger

Made markdown part optional
Remove the css file in comment which is not part of the output (moved the content to the test.html)


Pull in an http_parser performance fix

Description:
Update the nodejs/http_parser dependency to incorporate https://github.com/nodejs/http-parser/pull/422
Risk Level: High
Testing: nodejs/http_parser unit tests and Envoy unit tests
Docs Changes: N/A
Release Notes: N/A
Issues: #2880
Signed-off-by: Brian Pane<EMAIL_ADDRESS>

@brian-pane how much testing have you given this? Has it taken any production traffic?

I've run Envoy's and http_parser's automated tests, but no production traffic.

I will run some production traffic through this in the next few days just to give it a quick sanity test.


Document new matching strategy for RGroupDecomposer (matchingMol -> then choose RGroups)

This will help future devs and myself when I come back in a month...

@jones-gareth I'm happy to do this, but it is probably fresher in your mind.

I think I've forgotten it myself!
I was going to do a PR to move code from RGroupCore.h into RGroupCore.cpp.  I can document the matching methods at the same time.

Fixed in #4189


Slow speed

Hello @argenisleon / @FavioVazquez -
I am running couple of operations like mentioned below -
df.rows.select(fbdt("id", "integer")).table()
df.rows.select(fbdt("id", "float")).table()
I am using notebook for performing these operations. As per console, the operation is in progress but it is slow in spitting out results. The dataset on which I am running operations has close to 90 million records. My question is there any configuration which I can use to speed up computation of spark job.
FYI, I am using an Ubuntu machine with 4 chores and 32 GB RAM.
Could you please advise.
Thank you for your support.
Best-
Ishan

Hi,
Definitely this a slow operation. How much time is taking? Maybe we could explorer how to speed this up?

It took 2-3 hours approximately for an individual operation.

Looking at the function https://github.com/ironmussa/Optimus/blob/master/optimus/functions.py#L398 we use fastnumbers library to speed things up when handling ints and floats. The function is really super simple I am not sure if we have room for improvements here.
@FavioVazquez can you take a look on this?

@argenisleon @FavioVazquez - did you guys made some changes to address this issue in the new release? Just curious!

No at the moment. We are thinking about other approaches. Any thought about this?

We could improve performance If we implement #322

Hi @IshanDindorkar,
We rebuild the profiler to improve parallelism. In local mode, we cut the time by 1/3.
Hope this can help