Images built with custom_frappe_docker behave unexpectedly

I'm building custom ERPNext Images based on castlecraft/custom_frappe_docker but the resulting images behave weird. For one, S3 Backup isn't working with my custom image, I'm getting an error:
"File "apps/frappe/frappe/integrations/doctype/s3_backup_settings/s3_backup_settings.py", line 177, in upload_file_to_s3
conn.upload_file(filename, bucket, destpath)  # Requires PutObject permission"
Also what's weird is that downgrading to an earlier version doesn't work when using a custom image,
Everything DOES work just fine with the official image. (Same version, same database, etc.)

Here's the complete log from that specific error. I only get the error on the custom built image. I can switch back and forth and reproduce this behaviour every time.
Traceback (most recent call last):   File "apps/frappe/frappe/integrations/doctype/s3_backup_settings/s3_backup_settings.py", line 177, in upload_file_to_s3     conn.upload_file(filename, bucket, destpath)  # Requires PutObject permission   File "env/lib/python3.9/site-packages/boto3/s3/inject.py", line 108, in upload_file     return transfer.upload_file(   File "env/lib/python3.9/site-packages/boto3/s3/transfer.py", line 275, in upload_file     future.result()   File "env/lib/python3.9/site-packages/s3transfer/futures.py", line 73, in result     return self._coordinator.result()   File "env/lib/python3.9/site-packages/s3transfer/futures.py", line 233, in result     raise self._exception   File "env/lib/python3.9/site-packages/s3transfer/tasks.py", line 126, in __call__     return self._execute_main(kwargs)   File "env/lib/python3.9/site-packages/s3transfer/tasks.py", line 150, in _execute_main     return_value = self._main(**kwargs)   File "env/lib/python3.9/site-packages/s3transfer/upload.py", line 692, in _main     client.put_object(Bucket=bucket, Key=key, Body=body, **extra_args)   File "env/lib/python3.9/site-packages/botocore/client.py", line 314, in _api_call     return self._make_api_call(operation_name, kwargs)   File "env/lib/python3.9/site-packages/botocore/client.py", line 598, in _make_api_call     http, parsed_response = self._endpoint.make_request(   File "env/lib/python3.9/site-packages/botocore/endpoint.py", line 143, in make_request     return self._send_request(request_dict, operation_model)   File "env/lib/python3.9/site-packages/botocore/endpoint.py", line 169, in _send_request     success_response, exception = self._get_response(   File "env/lib/python3.9/site-packages/botocore/endpoint.py", line 247, in _get_response     parsed_response = parser.parse(   File "env/lib/python3.9/site-packages/botocore/parsers.py", line 210, in parse     parsed = self._do_error_parse(response, shape)   File "env/lib/python3.9/site-packages/botocore/parsers.py", line 750, in _do_error_parse     return self._parse_error_from_body(response)   File "env/lib/python3.9/site-packages/botocore/parsers.py", line 774, in _parse_error_from_body     self._replace_nodes(parsed)   File "env/lib/python3.9/site-packages/botocore/parsers.py", line 395, in _replace_nodes     if value.getchildren(): AttributeError: 'xml.etree.ElementTree.Element' object has no attribute 'getchildren'

Also, here are my two Dockerfiles. I have just now tried commenting out every third party dependency but it still produces the bug mentioned above.
frontend.Dockerfile
# syntax=docker/dockerfile:1.3

ARG FRAPPE_VERSION
ARG ERPNEXT_VERSION

FROM frappe/assets-builder:${FRAPPE_VERSION} as assets

# COPY repos apps

# RUN install-app frappe_s3_attachment

FROM frappe/erpnext-nginx:${ERPNEXT_VERSION}

COPY --from=assets /out /usr/share/nginx/html

backend.Dockerfile
# syntax=docker/dockerfile:1.3

ARG ERPNEXT_VERSION
FROM frappe/erpnext-worker:${ERPNEXT_VERSION}

# COPY repos ../apps

# USER root

# RUN install-app frappe_s3_attachment

USER frappe

you tried with only base images and it's working as expected?
I'll have to try it locally.

may be it pulls latest images and builds it without cache locally and on server it has image already pulled and might be using it from cache.
make sure you're using --no-cache or set it in GitHub actions: https://github.com/castlecraft/custom_frappe_docker/blob/8f5bb6d1af7baeff1c733c351bea18e528413298/.github/workflows/build_latest.yaml#L50

You can check out my fork of your repo, I have left most of it untouched: https://github.com/formbench/custom_frappe_docker/pkgs/container/custom_frappe_docker%2Fworker

I have made progress on this. Explicitly pulling the image worked to get the most up to date image. This is why commenting out the app installation didn't make a difference - docker was still using the old image. docker pull helped.
The problem lies in installing the one app I want to install:
Build log:
#22 [backend 3/3] RUN install-app frappe_s3_attachment
[444](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:444)
#22 2.243 Collecting botocore==1.7.48
[445](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:445)
#22 2.256   Downloading botocore-1.7.48-py2.py3-none-any.whl (3.7 MB)
[446](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:446)
#22 2.304      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.7/3.7 MB 83.1 MB/s eta 0:00:00
[447](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:447)
#22 2.347 Collecting python-magic==0.4.18
[448](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:448)
#22 2.352   Downloading python_magic-0.4.18-py2.py3-none-any.whl (8.6 kB)
[449](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:449)
#22 2.449 Requirement already satisfied: jmespath<1.0.0,>=0.7.1 in ./env/lib/python3.9/site-packages (from boto3==1.4.7->frappe-s3-attachment==0.0.1) (0.10.0)
[450](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:450)
#22 2.474 Collecting s3transfer<0.2.0,>=0.1.10
[451](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:451)
#22 2.477   Downloading s3transfer-0.1.13-py2.py3-none-any.whl (59 kB)
[452](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:452)
#22 2.482      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.6/59.6 KB 23.0 MB/s eta 0:00:00
[453](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:453)
#22 2.518 Collecting docutils>=0.10
[454](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:454)
#22 2.522   Downloading docutils-0.18.1-py2.py3-none-any.whl (570 kB)
[455](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:455)
#22 2.532      ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 570.0/570.0 KB 78.2 MB/s eta 0:00:00
[456](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:456)
#22 2.537 Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in ./env/lib/python3.9/site-packages (from botocore==1.7.48->frappe-s3-attachment==0.0.1) (2.8.2)
[457](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:457)
#22 2.545 Requirement already satisfied: six>=1.5 in ./env/lib/python3.9/site-packages (from python-dateutil<3.0.0,>=2.1->botocore==1.7.48->frappe-s3-attachment==0.0.1) (1.15.0)
[458](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:458)
#22 3.099 Installing collected packages: python-magic, docutils, botocore, s3transfer, boto3, frappe-s3-attachment
[459](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:459)
#22 3.409   Attempting uninstall: botocore
[460](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:460)
#22 3.411     Found existing installation: botocore 1.20.112
[461](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:461)
#22 3.537     Uninstalling botocore-1.20.112:
[462](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:462)
#22 3.842       Successfully uninstalled botocore-1.20.112
[463](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:463)
#22 4.401   Attempting uninstall: s3transfer
[464](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:464)
#22 4.402     Found existing installation: s3transfer 0.4.2
[465](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:465)
#22 4.412     Uninstalling s3transfer-0.4.2:
[466](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:466)
#22 4.420       Successfully uninstalled s3transfer-0.4.2
[467](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:467)
#22 4.456   Attempting uninstall: boto3
[468](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:468)
#22 4.458     Found existing installation: boto3 1.17.112
[469](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:469)
#22 4.480     Uninstalling boto3-1.17.112:
[470](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:470)
#22 4.504       Successfully uninstalled boto3-1.17.112
[471](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:471)
#22 4.565   Running setup.py develop for frappe-s3-attachment
[472](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:472)
#22 5.082 ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
[473](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:473)
#22 5.082 frappe 13.28.0 requires boto3~=1.17.53, but you have boto3 1.4.7 which is incompatible.
[474](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:474)
#22 5.083 Successfully installed boto3-1.4.7 botocore-1.7.48 docutils-0.18.1 frappe-s3-attachment-0.0.1 python-magic-0.4.18 s3transfer-0.1.13
[475](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:475)
#22 5.222 + echo frappe_s3_attachment
[476](https://github.com/formbench/custom_frappe_docker/runs/6366151453?check_suite_focus=true#step:9:476)
#22 DONE 5.3s

It seems installing frappe_s3_attachment messes up the dependencies.


Restore this test, it works with version 4.1.2 of the elasticsearch o…

…perator
Signed-off-by: Kevin Earls<EMAIL_ADDRESS>

@jpkrohling Should we change the README (and possibly deploy-es-operator) to identify the dependence of es-operator 4.1?

@objectiser @jpkrohling If this looks ok can one of you merge it?

@jpkrohling Do we need to add something to the readme to indicate "works with 4.1.x of the es operator"?

@kevinearls @jpkrohling I'll merge this for now, but we need to determine how best to handle the differences that will occur if instructions and scripts (e.g.make deploy-es-operator) continue to refer to es-operator master.

Should we change the README (and possibly deploy-es-operator) to identify the dependence of es-operator 4.1?

I guess we'll soon need a compatibility matrix: OpenShift/Kubernetes/ES Operator x Jaeger Operator.


net-mgmt/zabbix-proxy: Add multiple settings to GUI

Closes #2275 and #2097

Allow setting ConfigFrequency
Allow setting DataSenderFrequency
Allow setting StartVMwareCollectors

Sorry, hit enter too early :)

Merged, thanks!


Extend ConnectionPool.to_url to parse querystring arguments to correct type.

Previously if a value for socket_timeout was supplied as part fo the URL an error would be raised when a socket was created with an invalid type, this change fixes that by parsing socket_timeout, socket_connect_timeout to float values.
In addition the boolean values socket_keepalive and retry_on_timeout are parsed to bool types taking into account the usage of True/False, Yes/No strings.

Looks good! Thanks for the help.


Travis tests.

This branch is intended as a playground to test the travis build script. The goal is to get all tests to run eventually.

@fruffy : as you see, this is still failing

Yeah, it is frustrating. Commit 2426409 was passing, which is why I assumed everything is fine. The tests were not skipped either. I am looking into it a bit more.

I am stumped right now. I have not been able to reproduce the conditions under which these tests are failing.
Something in the way the Travis agent is deployed prohibits the creation of namespaces. The Dockerfile works just fine.

let's just not run the namespace tests with travis


observerDevices: introduce failure threshold

Codecov Report

Merging #341 (6db2b58) into main (cde25c5) will decrease coverage by 0.42%.
The diff coverage is 62.22%.

@@            Coverage Diff             @@
##             main     #341      +/-   ##
==========================================
- Coverage   67.75%   67.33%   -0.42%
==========================================
  Files          68       73       +5
  Lines        4075     4458     +383
==========================================
+ Hits         2761     3002     +241
- Misses        941     1048     +107
- Partials      373      408      +35

Impacted Files
Coverage Δ

client/initialization.go
32.50% <ø> (ø)

test/config.go
85.84% <ø> (ø)

...ecurity/generateCertificate/generateCertificate.go
47.69% <47.69%> (ø)

pkg/security/generateCertificate/config.go
48.59% <48.59%> (ø)

pkg/security/generateCertificate/generateRootCA.go
50.00% <50.00%> (ø)

client/observeDevices.go
68.04% <61.53%> (-1.23%)
:arrow_down:

...rity/generateCertificate/generateIntermediateCA.go
65.71% <65.71%> (ø)

...generateCertificate/generateIdentityCertificate.go
70.37% <70.37%> (ø)

client/client.go
69.72% <88.15%> (+7.42%)
:arrow_up:

client/core/getDevice.go
64.28% <100.00%> (ø)

... and 7 more

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


[v2] add FromEnv suffix to metadata resolved from env

Signed-off-by: Ahmed ElSayed<EMAIL_ADDRESS>

Scaler
values
update

azure-blob
connection (Default: AzureWebJobsStorage)
connectionFromEnv

azure-monitor
activeDirectoryClientId  activeDirectoryClientPassword
activeDirectoryClientIdFromEnv  activeDirectoryClientPasswordFromEnv

azure-queue
connection (Default: AzureWebJobsStorage)
connectionFromEnv

azure-servicebus
connection
connectionFromEnv

azure-eventhub
storageConnection (Default: AzureWebJobsStorage)  connection (Default: EventHub)
storageConnectionFromEnv  connectionFromEnv

aws-sqs-queue  aws-cloudwatch  aws-kinesis-stream
awsAccessKeyID (Default: AWS_ACCESS_KEY_ID)  awsSecretAccessKey (Default: AWS_SECRET_ACCESS_KEY)
awsAccessKeyIDFromEnv (Default: AWS_ACCESS_KEY_ID)  awsSecretAccessKeyFromEnv (Default: AWS_SECRET_ACCESS_KEY)

kafka
(none)
(none)

rabbitmq
apiHost  host
apiHostFromEnv  host

prometheus
(none)
(none)

cron
(none)
(none)

redis  redis-streams
address  host  port  password
addressFromEnv  hostFromEnv  portFromEnv  passwordFromEnv

gcp-pubsub
credentials
credentialsFromEnv

external
(any matching value)
(any matching value with FromEnv suffix)

liiklus
(none)
(none)

stan
(none)
(none)

huawei-cloudeye
(none)
(none)

postgresql
connection  password
connectionFromEnv  passwordFromEnv

mysql
connectionString  password
connectionStringFromEnv  passwordFromEnv

Checklist

[x] Commits are signed with Developer Certificate of Origin (DCO)
[x] Tests have been added
[x] A PR is opened to update the documentation on https://github.com/kedacore/keda-docs
[ ] Changelog has been updated

Fixes #1044

Thanks a ton @ahmelsayed!

@ahmelsayed seems like there are multiple e2e test failures, seems like caused by this PR
https://github.com/kedacore/keda/runs/1069431785


Added push smart contracts to GitHub blog

I've added blog that push smart contracts from Remix to GitHub.

Solved #184 with this PR.

Great,Lookimg forward to see more contribution from your side .

Great,Lookimg forward to see more contribution from your side .

Thank you sir!


Add support for GitLab

Currently GitGitGadget works with GitHub. It would be nice to be able to have the same workflow using GitLab Merge Requests.

I agree! An important stepping stone for that is, ironically, the move away from Azure Pipelines to GitHub workflows, as that forces us away from persistent, self-hosted runners toward using ephemeral, hosted runners. A large part of that is tracked in #609, and a first step is #1473. You will also note that I refrained from using e.g. GitHub's repository variables to store the state, specifically to reduce the dependency on GitHub.


Addition to Zeek package collection

Thanks for sharing rdfp. Would the project consider adding to https://packages.zeek.org/?

Pull request is open.
https://github.com/zeek/packages/pull/115


Add automatic generation of library function documentation

Important: Please also see #49275. Only one of these pull requests should be merged.
cc: @Infinisil @grahamc

Modifies the build process of the manual to invoke nixdoc
automatically to generate XML files with function documentation.
Currently documentation is present for five of the files in lib/.
To add another file to the generated docs, both
doc/functions/library.xml and doc/lib-function-docs.nix must be
updated.

One note about this: The path for overrides will not work with this version (at the moment). That requires a change in nixdoc.
Overrides are not actually in use yet though, so it does not matter much for now.

I think we need to update the docstrings in attrsets a bit with the info that's currently in the xml, and then we can have that one generated as well.

Currently there is a little blocker for that, nixdoc does not yet support multiple examples in the markup and we haven't been able to agree on any format to use for it so far. I have a suggestion for how it could work in this issue, but it's not implemented yet.
As an alternative we have the override feature, where XML blobs can be dropped in to replace the documentation for a specific function - however, I can't figure out the syntax for multiple root-level elements in an override anymore. I'm sure this is something I tested with @grahamc at NixCon, so it does work - somehow. Going to have to dive into DocBook docs a little bit.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/sphinx-support-for-nix/4998/5


Update Composer dependencies (2020-06-13-00-10)

Visual regression test passed!
View the visual regression test report


Add filename pattern to reader associations to preference dialog

Description
Prior to this PR filename associations could only be made in the console and were limited to file extensions.  Initial instinct in the community meeting on whether we should allow saving just extensions or the full range of patterns supported by fnmatch was that since npe2 readers support full filename matching, so should the dialog. This PR therefore adds the ability to associate filename patterns with compatible readers in the preference dialog, and fixes the preferred reader logic to also make use of the broader filename pattern matching.
https://user-images.githubusercontent.com/17995243/166202234-6e19da97-e8c5-4db6-b6a2-b9736d1a7ad6.mov
@junxini I know you wanted to have a look at this. @isabela-pf would love your feedback also on the UX part.
Notes

For simplicity, the reader dialog still only supports a checkbox to save a preference for the file extension (if a file extension is present). More complex pattern association is available through the preference dialog only.
I've tried to move away from referring to extensions in this context in the code, but the underlying model setting is still extension2reader - I'm not sure what it would take to change that setting or whether it's worth it
Since we don't yet support association or selection of individual reader contributions within a single plugin, a plugin is deemed compatible by the filter when any of the accepted patterns of its readers match the user's pattern.

Outstanding Questions

At the moment this wouldn't be backwards compatible for users who had previously stored a preference as e.g. .tif rather than *.tif. Is there a way to make sure we fix existing preferences? We've addressed this with a setting migration.
Currently we don't check whether two settings might conflict. We need some UX design about what to do in that situation. This will be investigated as part of work already scheduled to improve the file opening behavior and reader plugin discovery in the viewer.

Type of change

[x] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected) - (ish.. see Question 1 above) See Question 1 above

References
Closes #4146.
How has this been tested?

[x] added tests for new behavior

Final checklist:

[ ] My PR is the minimum possible work for the desired functionality
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] If I included new strings, I have used trans. to make them localizable.
For more information see our translations guide.

This looks great Draga!

Currently we don't check whether two settings might conflict.

Could you help give an example of 2 reader preference settings that might conflict?

@junxini yes, I can give an example.
Let's say I have napari_tifffile installed, which accepts all filename patterns. I choose to associate *.tif so it opens all TIFFs.
I also have a different more specific TIFF reader Draga's Test Reader, that only takes in tiff files within a folder named a specific way (I've named it */my-specific-folder/*.tif but maybe it would be a folder name that defines what's inside e.g. */training-datasets/Fluo-C2DL-Huh7/*.tif  (this is an example from the tracking challenge.
Anything that matches */my-specific-folder/*.tif also matches *.tif because the latter is a more lenient constraint - just give me anything that ends in .tif essentially. This means you can get a different plugin claiming the file depending on what order you saved your preferences in.
Getting more technical, I return the first reader whose associated pattern matches the filename we're trying to open. This makes the preference list act like an access control list. I'm not saying this is the best approach - we probably want to at least highlight conflicts if they occur.
I think this is unlikely to be a frequent issue for users in the time it takes us to explore better behavior as part of the ABRF work. I'm more concerned about preferences for extensions now needing a * in front, because of the nature of fnmatch - we should be able to fix existing user settings, I'm just not sure where that would go - maybe @tlambert03 knows how to "patch" a user's settings in this case.

Thank you for explaining Draga!

@DragaDoncila thanks for the tag! This is an interesting detail to work out!
Overall, this interactions meets what I'd expect of similar presets. I have clarifying questions to make sure I'm not missing anything.
Replies to things you wrote:

For simplicity, the reader dialog still only supports a checkbox to save a preference for the file extension (if a file extension is present). More complex pattern association is available through the preference dialog only.

Do preferences saved via dialog appear in the Preferences list afterwards? I would want them to, if you haven't already done that.

Since we don't yet support association or selection of individual reader contributions within a single plugin, a plugin is deemed compatible by the filter when any of the accepted patterns of its readers match the user's pattern.

That makes sense! Is there any kind of feedback for if a user wants to set a preset for something that plugin does not accept?

At the moment this wouldn't be backwards compatible for users who had previously stored a preference as e.g. .tif rather than *.tif. Is there a way to make sure we fix existing preferences?

I think this is an implementation question, but if we can't make this update automatically there may be something we can do. I'm imagining this one be a one-time "you'll lose your preferences with this update" kind of situation. Not ideal, but workable if we can't make something else work.

Currently we don't check whether two settings might conflict. We need some UX design about what to do in that situation. This will be investigated as part of work already scheduled to improve the file opening behavior and reader plugin discovery in the viewer.

That's my cue! Thanks for the above example of a conflict, too. When you say "I return the first reader whose associated pattern matches the filename we're trying to open." is the first alphabetical, or more strict before more lenient, or something else?
I also agree it may be good to let users choose which pattern they want to follow when there are conflicting presets. I may not understand this deeply enough, but since opening a file with an extension that has conflicting presets would prevent the opening of said file until a decision is made, this may be the perfect use for a dialog asking users to choose. Does that seem fitting?
Other questions:

Patterns can't be edited, correct? Just deleted and re-added? I think that's okay since these aren't complicated inputs.
What happens if the list gets longer than the dialog height? Does it add a scrollbar to this section of Preferences?
How do the patterns act if they are longer than the section of the table they are given? For example, do they truncate the end of a file path or plugin name with a …?

@isabela-pf thanks so much for the thorough review and great questions. I've made a few changes based on your questions/suggestions.

Do preferences saved via dialog appear in the Preferences list afterwards? I would want them to, if you haven't already done that.

Yep, they appear in the list just like any other preference.

Is there any kind of feedback for if a user wants to set a preset for something that plugin does not accept?

You can't set a preference for something a plugin doesn't accept. In the worst case, no plugins can read your filename pattern and the dropdown list is empty. I've modified it to say that there's nothing available (so the user knows it's not an error).

We could provide a way for a user to just say "no I don't care if it's not compatible, assign the preference anyway"? But tbh I don't really see much use for that.

I'm imagining this one be a one-time "you'll lose your preferences with this update" kind of situation. Not ideal, but workable if we can't make something else work.

I've figured out how to update existing users' settings to be in line with the new approach, so this is no longer an issue. Preferences will be "silently" updated, with no change in behavior for users.

When you say "I return the first reader whose associated pattern matches the filename we're trying to open." is the first alphabetical, or more strict before more lenient, or something else?

The "first" will be the first preference that was added by the user - this order is reflected in the table. The top row was added first, the last row was added last. This can be useful because users can go from more specific to less specific patterns, but I haven't documented/suggested this in instructions, since we'll be reviewing conflicts more closely as part of related work.

I may not understand this deeply enough, but since opening a file with an extension that has conflicting presets would prevent the opening of said file until a decision is made, this may be the perfect use for a dialog asking users to choose. Does that seem fitting?

I may be wrong, but I actually don't think it's possible for a conflict to result in a file not opening. In the worst case, if your more general *.tif preference was above your more specific my-specific-folder/*.tif preference, it would be opened with the more general plugin.

Patterns can't be edited, correct? Just deleted and re-added?

They actually can - if a user types a pattern that is already in the preference list, the preference is swapped out with the new reader choice. We may want to warn in this case, but I don't think we should stop them. This decision can be part of the design audit that will soon be done as part of the work to support the ABRF file opening workflow. However if anyone thinks it's critical, we can of course tweak it now.

What happens if the list gets longer than the dialog height?

How do the patterns act if they are longer than the section of the table they are given?

There is a scrollbar for very long preference lists, and if the pattern is very long a ... is added. You can see both in the screenshot below.

It's worth noting that the preference list will soon have more vertical room, as we will remove the plugin call order preferences.

Thank you for such a thorough response. I can call out specifics, but I think I agree with everything you said. You have my approval! (Let me know if you want me to actually hit the big, green Approval button.)

You can't set a preference for something a plugin doesn't accept. In the worst case, no plugins can read your filename pattern and the dropdown list is empty. I've modified it to say that there's nothing available (so the user knows it's not an error).

Fantastic!

We could provide a way for a user to just say "no I don't care if it's not compatible, assign the preference anyway"? But tbh I don't really see much use for that.

I agree there doesn't seem to be a use for that. It seems counter to a good experience to let people set up something that just…will fail? It also sounds like this would be easy to add if someone comes up with a reason later.

I've figured out how to update existing users' settings to be in line with the new approach, so this is no longer an issue. Preferences will be "silently" updated, with no change in behavior for users.

I bow down to your immeasurable skill and power. ✨

The "first" will be the first preference that was added by the user - this order is reflected in the table.

That makes sense! Out of curiosity, can users reorder this?

I may be wrong, but I actually don't think it's possible for a conflict to result in a file not opening. In the worst case, if your more general .tif preference was above your more specific my-specific-folder/.tif preference, it would be opened with the more general plugin.

Sounds good to me! I love to hear things won't totally fail.

There is a scrollbar for very long preference lists, and if the pattern is very long a ... is added. You can see both in the screenshot below.

Thanks for showing me. Looks good.

@napari/core-devs I intend to merge this shortly to get it in 0.4.16rc2, if anyone has objections let me know. Final release won't be for 1-2 days so it can be reverted if issues come up.


Add ButtonToggleContainer {}

This new component solves clipping issue when animating two button switch. At the same time we introduce some default kind of transition.
https://user-images.githubusercontent.com/284263/155281221-1ff0fe1f-7845-4319-a421-d3a40494b2e7.mp4

It's my solution.


[BUG]Compilation error in version 0.8.0

1、commit id
4bb65f216f2f1dbddb022f4fdd8925c2856baa58
2、Reproduce command
python3 ./scripts/build_wheel.py --trt_root="/usr/local/tensorrt" &&     pip3 install ./build/tensorrt_llm*.whl

3、Error message

4、cutlass commit id
a8f2c80db0564c74f4efccac71993b971dfc448b
THX~

@byshiue Can you reproduce this issue?

These cuda driver APIs are used by cutlass. Could you try to build with new cuda driver?
The API was introduced in cuda 12, which needs at least cuda driver 525.


Download error in train_SPE.ipynb

Hi
I would like to train my own dataset. Before doing that, I want to make sure that my dataset is readable.
The example files you provided in "train_SPE.ipynb" is lost. Could you please check this?
Best,
-Hyungjun

here it the link for the chembl25 data set: https://github.com/XinhaoLi74/molds/blob/master/clean_data/clean_chembl25.zip?raw=true


How to distinguish between logout by other client and and logout by myself?

I need to alert current client when logged out by other client.
I know that watch $rootScope.currentUser or use autorun can catch a logout, but how do I know it is from other client or "myself"?
Is there "event:logoutByOtherClients" or something can catch?

by "other clients" you mean the same user logs in from 2 different devices?

yes, and the new client will logout old

Well I don't think that there is an official implementation (not in angular-meteornor meteor) since it's looks to me like a specific need. Maybe there is a package for it in atmosphere.

thanks for your comment.
unfortunately I haven't find package for this yet. I will try client-side solution again.

In the users collection meteor keeps all the login tokens under user.services.resume.loginTokens (each logged in client has a login hash). You can publish that data to the clients and then observe the changes in this array to detect user logouts in different clients.

That sounds like security vulnerability city to me.
@fancyer, in the future please provide a much more detailed question and also walk through the user story. It is much easier for the community to help when they are provided context.
One alternative (maybe) is that you could use the user-agent provided by the browser to try to implement this feature. While the user is logged in you could send a periodic poll and make sure they are still on the same device. Then, when a user clicks the "log out" button, you can compre the state of the world against what you thought it was.
Such polling would probably best be done using DDP hooks, but you could also tie it to certain user events like loading pages/ clicking buttons /etc.
—
Sent from mobile
On Thu, Feb 4, 2016 at 4:22 AM, Oz Sayag<EMAIL_ADDRESS>wrote:

In the users collection meteor keeps all the login tokens under user.services.resume.loginTokens (each logged in client has a login hash). You can publish that data to the clients and then observe the changes in this array to detect user logouts in different clients.
Reply to this email directly or view it on GitHub:
https://github.com/Urigo/angular-meteor/issues/1175#issuecomment-179727555

@jacobdr Thanks for your advice, I will do better next time.
It seems there is no simple client-side way for this, I will try your suggestion.
Thanks for you all.

@jacobdr All these tokens are available to the client without this publication. meteor saves them in the localStorage and uses them to perform auto-login when you refresh the page\ reopen the app (in a later time).

@Oz you're solution was clever, and you are right about availability of the
tokens.
However, but I wouldn't call the Meteor security situation impressive by
any means. The fact that passwords are sent unencrypted (hashed, but
unencrypted) over the wire by default is really not ideal. These tokens
also seem like a ripe attack vector.
On Thu, Feb 4, 2016 at 10:06 AM, Oz Sayag<EMAIL_ADDRESS>wrote:

@jacobdr https://github.com/jacobdr All these tokens are available to
the client without this publication. meteor saves them in the localStorage
and uses them to perform auto-login when you refresh the page\ reopen the
app (in a later time).
—
Reply to this email directly or view it on GitHub
https://github.com/Urigo/angular-meteor/issues/1175#issuecomment-179887709
.

@fancyer I'm not sure about your use case, does [Meteor.Meteor.logoutOtherClients](http://docs.meteor.com/#/full/meteor_logoutotherclients) answers your use case?

@Urigo Let's make a "user story".
I have one iPhone, so do my girlfriend, both of them installed "WhateverApp".
I have logged in on my phone. My girl knows the password. One day she login with my account on her phone, and my "whateverApp" logged out by her login.
What I want is the App should ALERT me when I'm logged out by her, not just delete my login state silently.
So the technical problem is : how do I cacth logoutOtherClients event as a "other client"?

sounds like a nice feature that not only the Angular Meteor community will benefit from but the whole Meteor community.
I would create a package for that and post it on the Meteor forums to get feedback.
Closing as it's not related to Angular Meteor in my mind, but please feel free to re-open and correct me if I'm wrong

Guys I resolved this problem with only client side code.
Angular-meteor stores Meteor.loginToken in local storage, and removes it when logout.
When I login, add a key to local storage, when I log out, remove it.
// set & remove login status
login callBack: window.localStorage.setItem('loginStatus', '1');
logout callBack: window.localStorage.removeItem('loginStatus');

$meteor.autorun($rootScope, function(){
  var currentUser = $rootScope.getReactively('currentUser');

  // exit app or logged out
  if(!currentUser){
    // logged out, by self or server
    if(!window.localStorage.getItem('Meteor.loginToken'){
      $state.go('login');

      // log out by server
      if(window.localStorage.getItem('loginStatus')){
        alert('YOU ARE DOOMED!');
      }
    }
  }
})


Nick: Watch 1?858-771-2952

Nick requests the watch of the watch_number 1?858-771-2952. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

Rejected by tripleee in Charcoal HQ. Reason: 'the ? is weird here, and we blacklist this campaign immediately'


add update Features

Still in development don't merge yet
https://github.com/nothub/mrpack-install/issues/5

Function already implemented please merge @nothub

Very cool, thanks a lot :)


Don't have compilation order in the year 2021

Nuff said.

It is currently current year

It's a bit vauge what we define as compilation order. I choose it to mean "constant functions and blobs" can be declared in any order. This paves the way for multiple files.


Connecting to the chip was unsuccessful.: Timeout while attaching to target under reset.

{
  "meta": {
    "version": "0.24.0",
    "commit": "0.24.0 (git commit: 35dbf06)",
    "arch": "x86_64",
    "os": "linux"
  },
  "command": [
    "probe-rs",
    "run",
    "--chip",
    "STM32F103C8",
    "target/thumbv7m-none-eabi/release/stm32_2",
    "--connect-under-reset",
    "--report"
  ],
  "elf": "target/thumbv7m-none-eabi/release/stm32_2",
  "log": "/home/tabaqui/.local/share/probe-rs/1724504233332.log",
  "error": "Connecting to the chip was unsuccessful.\n\nCaused by:\n    0: Timeout while attaching to target under reset. This can happen if the target is not responding to the reset sequence. Ensure the chip's reset pin is connected, or try attaching without reset (`connectUnderReset = false` for DAP Clients, or remove `connect-under-reset` option from CLI options.).\n    1: Timeout while attaching to target under reset. This can happen if the target is not responding to the reset sequence. Ensure the chip's reset pin is connected, or try attaching without reset (`connectUnderReset = false` for DAP Clients, or remove `connect-under-reset` option from CLI options.)."
}

Hi
I was trying both ways, with or without  --connect-under-reset.
Still flashing by st-flash write [bin] [address] works

I don't how I'm not sure what was it made but I finally managed to flash.
I assume that connecting and disconnecting by openocd helped me. Still I don't get how.
I consider it it solved from now on.


Weird, a2c and ppo learner has a target critic network

Why is there a target network in A2C / MAA2C / PPO / MAPPO implementation?
Till now I haven't find any target network used in previous works like MAPPO's original implementation.
Is there any explanation?

Hi @Theohhhu
What original implementation of MA-PPO are you referring to? As far as I know, this algorithm would trace back to MA-DDPG (it's of course just a direct re-application of the MA-DDPG principles to another algorithm).
As per the target network: we have found that it increases stability even on on-policy algorithms. Since it does work, we decided to make the comparison with off-policy algorithms (that do use a target network) a bit fairer. You should be able to easily disable it if target networks don't work as well in your environments.

Thanks for your explanation. Still, I believe there is no need for a target critic in on policy RL methods. Only off policy need one, like MADDPG as you mentioned. Please refer to https://github.com/marlbenchmark/on-policy/tree/main/onpolicy and https://github.com/decisionforce/CoPO.
I guess the stability even on on-policy algorithms comes from your q_nstep in computing the target critic value. However, this is not a standard way to compute target critic value in on policy RL methods, but a common way in off policy RL.
I mean there is nothing wrong if you use a q_nstep in TD error, but on policy methods usually do not use that, as it will introduce overestimation on critic value (and that is why we use target network in off policy RL). And the optimization on the critic network is then not a standard regression anymore if q_nstep exists in TD error.

Hi @Theohhhu
Just to clarify, we did not base our implementation on the papers you mention (or any for MA-PPO for that matter). For example, the papers you link are dated later (2021, and I think one isn't even published?) than our original implementations for this paper. We consider MA-PPO a simple application of the ideas behind MA-DDPG by Lowe et al to the PPO algorithm. Therefore, not a very original idea in the first place.
Second, as I explained, we decided to add a target network because it works well. There is no argument here for us: if it works better than not including it, then it's worth including it. You are free to disable it in your own experiments if you so desire. The target network is just a simple idea that goes back to the early deep RL papers and again, we do not consider it an important element (other than just another trick to increase performance).
Finally, you are inaccurate in saying that the target network is meant to address the "overestimation" of the critic value. This was the idea behind Double DQN (and others): but not the original use of a critic network in the original DQN paper. The target network was originally used to address the "moving target" problem by offering a more stable target. Creating a stable target was the reason we gave it a go in the first place (remember that in multi-agent settings, values are often more volatile which is quite possibly the reason we observed performance gains).
Hopefully, that answers your question and gives an idea of our reasoning.
Best,


Not an issue, but a question.

Hi there!
I was just wondering how to make it so the bot can respond to webhooks? I have a webhook that responds to requests for ranking, but it won't rank when it sends in a request. It doesn't return an error or anything, it's almost like it ignores it.
Is there a way I can configure the bot so it can respond to webhook ranking? Thanks!

There probably is a way, but that would be very unsecure as someone can get your webhook and promote themselves. I would recommend not doing it.

I understand that definitely, however the webhook is safely secure and no one else can access it apart from me. Would you happen to know how to do this?

I don't know how to, but their is most likely a way. Wait & see if someone else comes and answers.

Alrighty, no worries! Thank you!


Training the model on all data

Hello,
First of all, thanks for this library!
I want to train the model on all of my data, then create a future dataframe and let the model forecast those timesteps. This is to simulate a real-world situation where you actually want to predict the future, in which you don't have any data to validate on.
The last timestamp in my dataset is 2020-02-20 09:00:00. So I set the train_end_date to this timestamp in MetadataParam like this:
metadata = MetadataParam(
time_col="ts",
value_col="y",
freq="H",
train_end_date=datetime.datetime(2020, 2, 20, 9)
)
Then, in forecaster.forecast_config, I tried commenting out forecast horizon, which needs to be >= 1.
forecaster = Forecaster()  # Creates forecasts and stores the result
result = forecaster.run_forecast_config(
df=df_model,
config=ForecastConfig(
model_template=ModelTemplateEnum.SILVERKITE.name, # model template
#forecast_horizon=1,
coverage=0.95,  # 95% prediction intervals
metadata_param=metadata,
model_components_param=model_components,
evaluation_period_param=evaluation_period
)
)
Running this I get the Error message:
ValueError: fut_df must be a dataframe of non-zero size.
So the closest I have come to achieve what I want is to set train_end_date=datetime.datetime(2020, 2, 20, 8), an hour before the last timestamp in the dataset, and use forecast_horizon=1. However, I still want the model to train on this last hour, since I intend to run a short-term forecast.
So, the question I have is; how do I train the model on all of my data, without forecasting on it before I give the model a future dataframe?

Hi @Sigvesor what does your df_model look like? If the last available date in your df_model is 2020-2-20 9:00:00, then you don't have to explicitly specify the train_end_date. The forecast.forecast_result.forecast includes the forecasted values in the future period (starting 2020-2-20 10:00:00). And you can also use forecaster.model.predict on any future data frame similar to df_model.
The error looks like there are regressor columns in your model and the future values were not provided? Could you confirm that?

Hi @KaixuYang, thanks for the reply.
You are correct, I have regressor columns. The df_model I give run_forecast_config() consist of the columns "ts", "y", "regressor1", "regressor2".
regressors = {
"regressor_cols": ["regressor1", "regressor2"]
}
All columns has the same last timestep 2020-2-20 9:00:00. I can confirm that future values are not provided. Am I supposed to give the future values in run_forecast_config() ? I though I would merge the future values of the regressors with the future dataframe and run forecaster.model.predict on this. This was how I used to proceed with fbprophet. What am I missing here?

@Sigvesor When you run run_forecast_config, the method

fits cross-validation
fits train/test split
fits model on entire data
generates prediction for the future period (specified by forecast_horizon) based on the model fitted on entire data

So you don't have to call predict on yourself. If you include the future rows in the df_model, leaving the values to be NA and including the regressor future values, the forecast will be generated automatically and stored in forecast_result.forecast. And you can make forecast on different time period by calling the forecast_result.model.predict method.

@KaixuYang,
Perfect, thanks for the help!

Is it the same for Univariate data as well?

@Sigvesor When you run run_forecast_config, the method

fits cross-validation
fits train/test split
fits model on entire data
generates prediction for the future period (specified by forecast_horizon) based on the model fitted on entire data

So you don't have to call predict on yourself. If you include the future rows in the df_model, leaving the values to be NA and including the regressor future values, the forecast will be generated automatically and stored in forecast_result.forecast. And you can make forecast on different time period by calling the forecast_result.model.predict method.


For all card labelled "Soon", add this description in the "card details page"

Description : This advantage card is not ready yet. This is why there is a "Soon" label on it. We are working hard to get it live as soon as possible. Stay tuned !

Size: S


model compare to return a score

model compare should return a score out of 100
the score reflects how similar the models are
100 means exact match
0 means nothing matches

done


Adopters Addition

Add SHE BASH to adopters

I'm not sure why all the commits from the previous PR are in here -- if you'd like I can rebase and reopen the PR.

Thank you very much for using it and adding yourselves here! 👍
(yes, please rebase if possible, thank you)

I think that did it


Add option to prevent address overwrite from Cicero API address verification

Critical Changes
Changes

Users can now select a checkbox on the NPSP Settings - Address page to preserve original address after verification when using the Cicero API.

Issues Closed

Fixes #1686
Fixes #2538

New Metadata
Deleted Metadata

Great job @randi274!

Hi @randi274, I updated the release notes to be a bit more detailed. Let me know if you would like me to make any changes. Thanks!


[types]  AccountState

Motivation
Wrapper type struct AccountState(BTreeMap<Vec<u8>, Vec<u8>>) is introduced so that we can provided methods like AccountState::get_account_resource() -> Option<AccountResource> to deal with the case where a specific resource is not present under the state. This is useful when we (soon) stop assuming an account_blob is a 1-1 map to a AccountResource.
For example, when we try to access the DiscoverySet change event stream under a normal user account, we should be able to tell there's no such event under the account, and it should not be an exception.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
(Share your test plan here. If you changed code, please provide us with clear instructions for verifying that your changes work.)
Existing Coverage
Related PRs

@bors-libra r=wqfish

:pushpin: Commit 7345c8a has been approved by wqfish

:hourglass: Testing commit 7345c8a7afe75b52f7db71d3c25e6332dcea8483 with merge 8d9bba00629e602051e40bab2b80e7ed89f40c0b...

:sunny: Test successful - checks-circle_commit_workflow
Approved by: wqfish
Pushing 8d9bba00629e602051e40bab2b80e7ed89f40c0b to master...


add unmanaged kcp transport

However, the current implementation relies on managed code, which can lead to frequent garbage collection (GC) and performance degradation issues. To optimize this, I propose adding support for an unmanaged version of kcp transport alongside the existing managed implementation. I added a message header of 5 to the KcpPeer's output, reducing one Buffer.BlockCopy operation.
https://github.com/Molth/Kcp-CSharp
    // raw send called by kcp
    void RawSendReliable(byte[] data, int length)
    {
        // write channel header
        // from 0, with 1 byte
        data[0] = (byte)KcpChannel.Reliable;

        // write handshake cookie to protect against UDP spoofing.
        // from 1, with 4 bytes
        Utils.Encode32U(data, 1, cookie); // allocation free

        // write data
        // from 5, with N bytes
        //Buffer.BlockCopy(data, 0, rawSendBuffer, 1+4, length);

        // IO send
        ArraySegment<byte> segment = new ArraySegment<byte>(data, 0, length + 1+4);
        RawSend(segment);
    }

In managed mode, it processes approximately 40,000 packets per second, while in unmanaged mode, it handles around 130,000 packets per second, demonstrating significantly better performance.

🥹
I'm just offering a suggestion, not trying to pick a fight.


Log when non-base suppressions rules are unused

Supersedes #4687
Fixes https://github.com/jeremylong/DependencyCheck/issues/4685
This might be useful to some - a log message has been added when a non-base suppression rule was not used.

Need to get my head around the why, but it appears to break the suppression of https://github.com/jeremylong/DependencyCheck/commit/83e0f647912716a71b58306a7368809cb967d796
causing integration-test 629 to fail as cbor gets bundled with ion as the CVE is no longer suppressed for ion

I've been off and on looking at this as time permits - I haven't been able to figure out why this PR breaks 629 and does not suppress the CVE for ion...

I've been off and on looking at this as time permits - I haven't been able to figure out why this PR breaks 629 and does not suppress the CVE for ion...

Added a few pieces of targeted debugging and finally got around the root-cause... the singleton is reused in CPESuppressionAnalyzer and VulnerabilitySuppressionAnalyzer, so rather that 55 CVE suppressions + 3 vulnerabilityName suppressions the VulnerabilitySuppressionAnalyzer runs with the same 508 CPE suppression rules that the CPESuppressionAnalyzer uses
[WARNING] CpeSuppressionAnalyzer with 508 suppressionRules
...
[WARNING] VulnerabilitySuppressionAnalyzer with 508 suppressionRules

The base suppressions have 560 rules, 49 contain only CVEs, 3 only vulnerabiltyNames, 502 only CPE and 6 a mixture of CPE and CVE. So out of the 58 rules that VulnerabilitySuppressionAnalyzer should take into account only the 6 that also have CPE suppressions are taken into account.
So filtering out the applicable rules needs to move from rules-loading to suppression processing evaluation or we need separate CPE and vulnerabilitySuppression ruleset singletons.


Add Ay/Polani/Virgo decomp

https://arxiv.org/abs/1910.05979

ShapleyShannonDecomposition, ShapleyDependencyDecomposition.


Loss of MultipartFile array

I need to receive file in my controller.
It can work well when the file is single.
@RequestParam(value = "file", required = false) MultipartFile file,

But when i want to receive a file array , it missing . I just get [] in my controller ，after i use swagger-ui post my request
@RequestParam(value = "file", required = false) MultipartFile[] file,

But when i use postman send request , it can work well

try:
 @Order(value = 3)
    @ApiOperation(value = "多文件MultipartFile上传")
    @ApiImplicitParams({@ApiImplicitParam(name = "file[]", value = "文件流对象,接收数组格式", required = true,dataType = "MultipartFile",allowMultiple = true),
            @ApiImplicitParam(name = "title", value = "title", required = true)}
    )
    @RequestMapping(value="/uploadMaterial",method = RequestMethod.POST)
    @ResponseBody
    public RestMessage uploadMaterial(@RequestParam(value="file[]",required = true) MultipartFile[] files,@RequestParam(value = "title") String title, HttpServletRequest request) throws IOException {
        //int mul=1*1024*1024;
        List<Map> uploadFiles= upload(request,files);
        RestMessage rm=new RestMessage();
        rm.setData(uploadFiles);
        return rm;
    }

doc:https://doc.xiaominfo.com/guide/uploadFile.html

Thank you.


LB health probes configuration issue

At present both rules for ports 80 and 443 are using the same probe monitoring port 80, so if nginx fails like in #130 the load balancer is still trying to send traffic to 443 where nothing is listening, to fix another probe should be added for port 443 and associated with the lb rule

Good point. I suppose this will be a simple fix (addition) in the template at https://github.com/Azure/Moodle/blob/master/nested/network.json#L250 . Again, a PR on this issue will be greatly welcome and appreciated.


add unlet s:save_cpo

Hello, cocopon.
Thank you for making a great plugin.
I think unlet s:save_cpo is missing so I added it.
Could you check this Pull Request?

Thank you for the fix! Certainly I should add the command. (ref: https://vim-jp.org/vimdoc-en/usr_41.html#use-cpo-save)
I think we should also append it to every .vim file in autoload directory. What do you think?

I think so too.
I can fix it in this Pull Request.
May I send the patch again?

You can append additional fix to this pull request to commit and push the same branch :)

OK, thanks.
I will do soon!

@cocopon
I updated.
Could you check this changing?

Merged. Thanks!

Thanks for checking!


Blurry Background

It would be nice if you can add blurry background using
https://github.com/ivoleko/ILTranslucentView for iOS 7 and UIVisualEffectView for iOS 8+.
The ILTranslucentView repo has objc and swift code. Unfortunately you won't be add it as a cocoapod dependency since ios7+swift+cocoapods doesn't mix and the guy put the objc files and swift files in same folder so cocoapods gets confused if you try and use only the obj files: https://github.com/ivoleko/ILTranslucentView/issues/20
@https://github.com/nimati/FCAlertView/blob/master/FCAlertView/Classes/FCAlertView.m#L36:
You can do an objective-C version of below code. (I use swift for my project)
        if #available(iOS 8.0, *) {
            // Use UIVisualEffectView
            let tvev = UIVisualEffectView(effect:  UIBlurEffect(style: .Dark))
            tvev.translatesAutoresizingMaskIntoConstraints = false
            _alertBackground.addSubview(tvev)
        } else {
            //For iOS 7 - Use ILTranslucentView
            (self.viewExternal as! ILTranslucentView).translucentAlpha = 1
            (self.viewExternal as! ILTranslucentView).translucentStyle = .Black
            (self.viewExternal as! ILTranslucentView).translucentTintColor = UIColor.clearColor()
            self.viewExternal.backgroundColor = UIColor.clearColor()
        }

Hey @pjebs ,
Thanks for pointing this out as well! This is something I'm looking to do some testing on and release in the next release. Keep me posted if you find any other resources that would be helpful.
Cheers

I've used that library for a while. works well.

Nice, I'll take a look soon.

@pjebs Currently working on this. Will have a release soon for you to test.

Remember to do your iOS 8 check like this:
if (NSClassFromString(@"UIVisualEffectView") != nil) {
 //iOS 8+
} else {
//iOS 7
}

Nice, will add the check.

Not yet ready for release, but if you download the repo with latest commit, you should be able to use the BOOL alert.blurBackground = YES; to create the blur background effect. Let me know how it looks and how you feel about it. Once it's finalized, will add it to cocoapods. @pjebs

Use 271f0a5

As the code currently is, it won't be iOS 7 compatible which some people require (inc myself).
The ILTranslucentView library is MIT licensed so you can add it with your repo. That would make it complete.

I see, I'll take a look at ILTranslucentView, what's your thought on the blur itself?


Links to endpoints

Let's include some clickable links to the current endpoints on the homepage app.get('/', (req, res) {...}).
Also;

short explanations
link to this repo
project aims

Under here;

Hi @MizouziE I was looking through the project and I really liked the idea you're working on, so I was thinking if I could start contributing to this issue, If there's no one working on this currently, of course, I'd love to.

Thank you very much @Yoshemith ! That means a lot and your input would be really appreciated.
Nobody is working in it currently, I don't have any set goals aside from the suggestions I put in the issue but my opinion is that whoever is working on it should feel free to execute however they see fit. I'm always here to discuss if need be. Really looking forward to working together!

This is a very good idea. I'd love to work on this issue.

Hi @hendurhance, thanks! At the moment it's being worked on, but once @Yoshemith is happy with what they've got done and made a PR, then I'd be very grateful for your input on further enhancements because there'll always be more to do. If you don't receive any notifications in the next week, check back with us and we'll see where we're at with it.


Socket option for IP_MULTICAST_ALL & IPV6_MULTICAST_ALL for linux

Added socket options for IP_MULTICAST_ALL & IPV6_MULTICAST_ALL which can be used to filter multicast packets received on the socket only from the groups that have been explicitly joined.
Useful when used in combination with SO_REUSEPORT

Thanks @mzachar

Shit, actually this is missing a test. @mzachar can you add something like the following: https://github.com/rust-lang/socket2/blob/master/tests/socket.rs#L1322?

Certainly! Is it ok If I push new commit here?

Certainly! Is it ok If I push new commit here?

I think you'll need to open a new pr.


Editing trigger failed

Describe the bug
when i start editing a previously saved or newly created zabbix trigger list, an error occurs as on the screen
Software versions
Grafana version: v6.4.3 (commit: 3a2bfb7)
Data source plugin : zabbix 3.10.4
google Chrome ver 77.xx    the same in  IE 11

#817

Duplicates #817


Use dependabot to update GitHub actions

dependabot can automatically create MRs to update the GitHub actions to the latest version as they are released.

Completed as part of https://github.com/iocost-benchmark/iocost-benchmarks-ci/pull/14


may I load a privatekey.pem file from spring cloud config?

may I load a privatekey.pem file from spring cloud config?

yes. Can you provide more context please.

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


Work around bad ember-cli-babel and preset-env interaction

This gets us on the relevant latest versions of all of our dependencies, transitive and otherwise, including the latest versions of @babel/preset-env and ember-cli, which together trigger the build error seen in #204 and babel/ember-cli-babel#419.
The first commit fails intentionally. The follow-on commit will fix it, and the CI history will thereby act equivalent to a fixed failing test.

Will actually be resolved via babel/ember-cli-babel#420 (and cannot be resolved directly here).


Fix missing Space in Example

@AeroXuk : Thanks for your contribution! The author, @Minewiskan, has been notified to review your proposed change.

#sign-off


perf: remove IE 11 and Safari 9 code

Should this be an RFC?

[X] This is not a substantial change

Which package is this a feature request for?
Lit Core (lit / lit-html / lit-element / reactive-element)
Description
Lit 3.0 no longer supports IE11, Chrome 41 or Safari 9, however, they are still mentioned in the code comments and in some cases there are even workarounds for them still present.
A few cases that come to mind:

https://github.com/lit/lit/blob/045b6f159815edb9e690bc1f6829d467f42aa520/packages/lit-html/src/lit-html.ts#L1039-L1044
https://github.com/lit/lit/blob/045b6f159815edb9e690bc1f6829d467f42aa520/packages/lit-html/src/lit-html.ts#L2088-L2091
https://github.com/maxpatiiuk/lit/blob/94397515cbe20671bb95b87138d5026d03168e99/dev-docs/design/how-lit-html-works.md?plain=1#L199
https://github.com/lit/lit/blob/045b6f159815edb9e690bc1f6829d467f42aa520/packages/reactive-element/src/reactive-element.ts#L1054-L1062
Several more references in test files

Some other code that may no longer be needed:

ShadyDom patch related things. Present several places. https://github.com/maxpatiiuk/lit/blob/main/packages/lit-html/src/directive-helpers.ts, and https://github.com/maxpatiiuk/lit/blob/94397515cbe20671bb95b87138d5026d03168e99/packages/reactive-element/src/css-tag.ts#L12-L19, among others

Alternatives and Workarounds
Remove code relating to unsupported browsers

@maxpatiiuk thanks for point these out!
I think for these comments the only actionable thing to do is to clean up the comment.
I tried to replace the comment marker with a text node in the first case and a bunch of tests failed. I think in an early version of lit-html I had used empty text nodes as markers, but I can't easily reconstruct how that worked within the current code. We have the helper to create comment markers, and that's been working great, so we can just keep it.
The next two comments were pointing out ways that old browsers might misbehave, so we can just remove those comments as not relevant anymore.
We can't remove ShadyDOM things just yet because of certain projects using them.


Dots no longer disable command files

dbf2027 removed the glob dependency and replaced the directory search system with one that doesn't check for dots in filenames like glob did.

Fixed in 6547954eccf6a7c4b9f4d465f1777d994375fbe7


Kore AI Bot Addressing

Bug Report

Addressing in the bot like @SomeBot hi sends the whole text to KoreAI, not just the hi
If you quote an original message to the bot, it also sends that to the bot:

this happens because the first @mention is to the bot

kore-ai not part of spring-bot anymore


UI does not work on mobile devices

Expected Behavior
I expect the discussions bar to be in a responsive grid so the actual chat is displayed below the discussion list on a mobile device. Now the chat itself is invisible on a mobile device and you can only see the different discussion subjects. The top tabs menu is also not displayed on a mobile device totally crippeling the experience.
Current Behavior
No responsive grid: teh actual chat is invisible on mobile devices in portait mode. For the tabs a hamburger-menu sould appear that can be expanded to show the tabs.
Steps to Reproduce
Open webui on your phone
Possible Solution
https://www.npmjs.com/package/vue-grid-responsive
Use Vue Grid responsive to create a grid around the left side panel and the main chat. Make it sm12 sothat the columns will appear under each other on a mobile device.
Context
I tried to fix this myself but Ive never used vue.js.
Screenshots
If applicable, add screenshots to help explain the issue.

I've fixed it on my computer. Problem is There are so many commits in the last coulple of hours. I cant figure out the merge conflicts. I give up

OKe: did not give up :: https://github.com/ParisNeo/gpt4all-ui/pull/231


Unexpected EOF when parsing binary chunk body. The GLB file may be corrupt.

I have noticed that some Glb files get 'corrupted' somehow when opened and edited with 3D Builder in Windows. For example, the one shown in the picture below can be opened in the online GLTF viewer and shown, but it gives some errors:

The library raises a RuntimeError if I try to open the same file, but if I disable the check inside _load_glb_binary_chunk_body() method the library can parse the file. Is there any chance I could decide to disable some checks using a flag or something similar?

Yep, after thinking about it some more, I don't see any reason to artificially limit the utility of this library by throwing an error when loading a model that isn't fully up to spec. As long as it can still parse the header and JSON body, that's all it really needs. Anything else should be a runtime warning, and then it's up to the consumer of the library to deal with if needed.
I went ahead and made the change to emit a warning instead of raising an error in this scenario, and released an updated version of this library just now (v1.0.5). Thanks for reporting, and let me know if you see any other issues.


Minor fixes in the fastapi crud tutorial

A few people mentioned the missing git clone prefix before the clone command. This fixes that.

@colinhacks


Mauro oto/add html proofer for 404 links

Hey @etagwerker, @lubc,
This PR adds the html proofer gem for finding 404 links using a Rake task.
Please check it out, thanks!

@mauro-oto Looks good. Thanks!


Add public key utilities and refactor address handling

Summary

Introduced utility functions in pub_key.ts to handle public key conversions and address encoding.
Refactored primitives.ts to use new utility methods for translating public keys to addresses.
Adjusted logging levels in handlers.ts for better error tracking and debugging: changed warning to error for message logging and error to trace for stack logging.

Issue
The signer of the transactions was not properly handled and due that they txs looks like was signed for a different address than which was the right one.
Type of change
Select one or more:

[ ] New feature, functionality or library
[x] Bug fix
[ ] Code health or cleanup
[ ] Documentation
[ ] Other (specify)

Sanity Checklist

[x] I have tested my changes using the available tooling
[x] I have commented my code
[x] I have performed a self-review of my own code; both comments & source code
[ ] I create and reference any new tickets, if applicable
[x] I have left TODOs throughout the codebase, if applicable

Also, thanks for throwing up a small one. :wink: :+1:


Feat/allow reanimated animation markerview

Description
Change implementation MarkerView in ios and android to allow to use react native reanimated to animate a marker coordinate
Pass list of coordinates instead of a string to the marker
Discussion: https://github.com/rnmapbox/maps/discussions/3097#discussioncomment-7974238
Checklist

[X] I've read CONTRIBUTING.md
[ ] I updated the doc/other generated code with running yarn generate in the root folder
[ ] I have tested the new feature on /example app.

[ ] In V11 mode/ios
[ ] In New Architecture mode/ios
[ ] In V11 mode/android
[ ] In New Architecture mode/android

[ ] I added/updated a sample - if a new feature was implemented (/example)

Video
https://github.com/rnmapbox/maps/assets/24356904/65eed047-d105-4ddd-8522-d9f2759478a9

@jleprinc thanks much, looks nice

Hi @jleprinc , Could you please give me the example using react reanimated for the one in the attached video? I would really appreciate it.

Thanks @jleprinc! You saved my day.


Block producer greylisting

Would it be possible to implement a feature to greylist / deactivate a block producer when they fail to produce blocks?
If it's detected that a top 21 block producer stops producing blocks, that BP could be flagged as inactive and removed from the top 21 until the situation is remedied.
This is one of the ideas originally tabled in https://github.com/EOSIO/eos/issues/5311

@jjssoftware it is possible for the BPs to do this currently using an msig proposal.  In the near future it will be even easier using the sudo/wrap contract assuming the contract is adopted.

With respect @gleehokie this issue has been closed with an assumption that it's fine for BPs to have to step in and agree that there is an issue when an issue is identified with a BP failing to produce blocks in order for that failing BP to be removed.
Your closing comment ignores the idea that greylisting of broken BPs could be automated and system managed to prevent undesirable delays and platform performance degradation for extended periods of time. This is not a theoretical concern, undesirable platform performance degradation issues have been seen in the past when a top 21 BP has failed.
LiquidEOS (eosliquideos) have attempted to address and close this gap with their eos-bp-watchdog script but BPs can choose to not introduce and use this script for many reasons.
If the EOSIO accepted way is for human intervention to be required in cases that realistically could be system managed that's fine but if so, the community needs to be aware that there is a risk of platform performance degradation issues being seen again if / when a BP fails in the future.

Reopening for further consideration

Doing some housekeeping and closing old tickets. If desired please reopen in the new system repository.


requested URL /silenced was not found on this server

Hello.  I run uchiwa behind an apache reverse proxy server, and it appears that the new silence feature looks for an absolute, rather than a relative URL.  See error attached.

Similarly, the "info" page (/#/info) tries to reach a /config endpoint without honoring any headers, so this also breaks.

The /results endpoint also doesn't honor a reverse proxy setup.

Rock on!  Thank you!
steve
mobile

On Nov 21, 2016, at 5:29 PM, Simon Plourde<EMAIL_ADDRESS>wrote:
Closed #600 via sensu/uchiwa-web@d42bfd6.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

That was so fast!
On Mon, Nov 21, 2016, 5:19 PM Steve Craig<EMAIL_ADDRESS>wrote:

Rock on! Thank you!
steve
mobile

On Nov 21, 2016, at 5:29 PM, Simon Plourde<EMAIL_ADDRESS>wrote:
Closed #600 via sensu/uchiwa-web@d42bfd6.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/sensu/uchiwa/issues/600#issuecomment-262109691, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AFZ0ieL7MW7kbvT5vlsX44GViLqHWxz0ks5rAjUHgaJpZM4K4f4M
.


remove SSR resolve workaround

according to @dominikg:

latest vite does not need the custom resolve for it in v-p-s anymore, but early vite 4 versions did

I think we can safely remove this. People who are on old versions of Vite 4 may get larger apps if they upgrade vite-plugin-svelte without upgrading Vite, but that's relatively safe as nothing will break.
There's some nice benefits to removing this including simplifying the vite-plugin-svelte code and eventually paving the way for us to stop exporting svelte/ssr in Svelte core

This requires a changeset and is a breaking change as we would have to bump the peer dependency on vite.

Addendum: If you remove the svelte/ssr export that contains the onMount as noop. The feature would stop working altogether.

I can't currently run pnpm changeset, but will generate a changeset after https://github.com/sveltejs/vite-plugin-svelte/pull/623 is merged.
I don't think it's a breaking change because nothing breaks if this is removed. The user just ends up with a slightly larger bundle, but that doesn't seem breaking to me.
Removing svelte/ssr would be breaking. I think the sooner we get this change in the better so that one day in the future when we do decide we want to remove svelte/ssr most users will have upgraded this library already.

slightly larger could be significantly larger and drive an edge deployment over a limit. I am not willing to take that risk.
If you want the standard resolve to be preferred, it would have to be with a major or fallback code for older vite-4

fallback code for older vite-4

Do you know what version of Vite 4 this was fixed in or have a link to the issue this was working around? I wouldn't know where to start looking

It's fixed in https://github.com/vitejs/vite/pull/11595, which is released in Vite 4.1

I've updated this to only do the resolve workaround on Vite 4.0

I updated this to check the Svelte version as well


How to create a created_by column containing the id of the user who created the record

Laravel Version: 5.3
Voyager Version: 0.10
PHP Version: 5.6
Database Driver & Version: MySQL

How to create a created_by column containing the id of the user who created a new item in a new content type like "products".
This column should be hidden and automatically filled by the id like standard workflow in Laravel.

This functionality does not currently exist OOTB in Voyager, so it would be custom code to do so.  You could extend the various models to add the field, and override the controllers' store and update actions to set the values.
If this is functionality that enough people want and can make a case for, I'd be open to a pull request for this.

This is possible by making an event for that model and set the user ID before saving.
https://laravel.com/docs/5.3/eloquent#observers

To do exactly what you wish to do, then this should do it:
<?php

namespace App\Observers;

use App\User;

class UserObserver
{
    /**
     * Listen to the User creating event.
     *
     * @param  User  $user
     * @return void
     */
    public function creating(User $user)
    {
        $user->created_by = auth()->user() ? auth()->user()->id : null;
    }
}

Let me know if you have any issues or questions.

What is the difference between both User classes
TCG\Voyager\Models\User
and
App\User
@marktopper

The different is that Voyager's User model have added the required VoyagerUser trait, but you can easily add that to your own User model.
Also the Voyager's User model will set a default avatar if a avatar is not set.
However this is on my refactoring list before we go for the final stable release of v1.0.

Good,
Regarding the VoyagerUser Trait, I'm getting this error just after upgrading to v0.10 when accessing any admin page.

Make sure your config/voyager.php is updated as well. https://github.com/the-control-group/voyager/blob/master/publishable/config/voyager.php

Unfortunately I get the same error after updating voyager.php file.

Did you follow the upgrade guide?

Yes I followed it, but I figured out that I didn't run this command
php artisan voyager:admin<EMAIL_ADDRESS>Now it is fixed!
Thanks.


Filter Single Cell Profile by Bounding Box Dimensions

Here single-cells are filtered by bounding box dimensions as specified by cell profiler. This is accomplished with a robust z-scoring approach, which is less influenced by the presence of outliers using a standard threshold. These filtered nuclei are later used for model development. Any constructive criticism is welcome while reviewing this pr.

Thanks for reviewing @jenna-tomkinson, merging now!


[Feature Request] Make seeding instance specific

Hello,
The following simple test fails:
import vose

probs = np.array([0.5, 0.5])
a = vose.Sampler(probs, seed=0)
b = vose.Sampler(probs, seed=0)
for _ in range(10000):
    assert a.sample() == b.sample()

This can be explained by the fact that all instances of vose.Sampler share the same random number generator. This is counter-intuitive and greatly limit the use of seeding.
Could you consider changing the behaviour so that the above test succeeds?

Hello there.
Mmm I'd be open to doing that, but I don't see any easy way to do that.
May I ask why you're looking to see multiple samplers? Just curious.

Well since Cython supports C++, it is possible to do something like this for example which seems relatively simple.
Typically, we want to generate high level objects that need a sequence of integers to be randomly generated. For example we sample x1 ~ S1 then the next sampled element has a conditional probability based on the last element sampled i.e. P(X=x2 | x1) which means at least two samplers with different probability vectors. Another use case, is simply a high level objects made of small objects, consider generating (int, bool), then what we do is create an integer lexicon from which the first sampler samples with some probabilities and we have another sample that just samples a boolean again with some probabilities. In both cases, we want to generate objects in a reproducible manner, which means that two high level samplers should generate exactly the same high level objects at the same time. Moreover, those high level samplers may be instantiated at different times which means one created later could just reseed another that was used before and currently used whereas this should not have any effect. Finally, our different samplers may not share the same seed, we have no guarantee on that.

I was playing devil's advocate. Your explanation makes a lot of sense. I'm aligned!
You seem like you know what you're doing. Do you feel comfortable implementing the necessary changes in a pull request?


AdyenCheckout callback props not fired

Describe the bug
I'm using the drop-in flow. onError, onSubmit, onComplete not fired. It occurs when starting using start('payment_type'). It works fine when using start('dropIn')
To Reproduce
Steps to reproduce the behavior:

start using start('payment_type')
close the modal or complete payment
onError/onComplete/onSubmit not fired

Expected behavior
onError, onSubmit, onComplete fired

Hey @fauzymk
Is it Android, iOS or both?

Sorry forgot to mention. I only tested it on Android.

Hey @fauzymk
Have you followed all steps on Android integration guidelines?
We had similar issue #196
Could you try this fix ?

Hi! it works now. We are using payment_type paywithgoogle. It turns out we forgot to add this.
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
  super.onActivityResult(requestCode, resultCode, data);
  AdyenCheckout.handleActivityResult(requestCode, resultCode, data);
}

Previously we were following the steps from here and doesn't mention about adding this code.
Thanks! @descorp. Closing the issue.

Hey @fauzymk
Glad that everything is working now 🎉
Since it is v1.0.0 - our documentation might still be imperfect.
If you find anything missing or confusing, please let us know 💚


Codify Test-Driven Development for Core Guidelines

In core guidelines, we made great emphasis of code that's more subject to static analysis, but that's one part of the story for stability and reliability. Another important aspect is the behavioral maturity of libraries and modules, and the best way to put that into some sort of test is by having... tests. Gist:

If you can't test it, it is probably not in the right stage to be a SIGTURK Core module

Things can certainly change over time, but if a person or entity who wants to add module in core compliance can not provide tests for the entire API surface they propose, it is probably not mature enough and might very well be just a prototype to incubate experimentally outside. Deploying ideas-in-development with Core label can harm the trust SIGTURK is trying to build slowly, step-by-step.
We were actually mentioning TDD as part of other library issue, but it probably deserves its own issue like this for actionability. Another one that comes into mind is cadence: it could lead to an ecosystem hazard to deploy packages more than twice per month (PyPI or elsewhere could label as spam if we push things nightly or sth, and who'd want to seriously rely on a library or module that does breaking changes every day or week). For cadence, we'll probably need to consider breaking (difference in behavior or API surface) and non-breaking changes (simple acceleration, support for additional device without API change, etc.).
Another thing to spawn is finding safe things to incorporate in SIGTURK Core step by step. I think officially adopted and reasonably stable systems can be a good starting point for us if we figure out the naming convention.

An appeal of TDD is that if we have tests that clearly document the function of desire, with enough performance metrics also defined, we could automate coding process of libraries in Rust through LLMs with an allow and blocklist of third party libraries and a good starting template.


Build internal image with Cypress 0.19.4

https://docs.cypress.io/guides/references/changelog.html#0-19-4 tag :cy-0.19.4

Done https://hub.docker.com/r/cypress/internal/tags/


build failed with the error: Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type ReadableArray?

Environment

"react-native" : "0.62.2",
"@rnmapbox/maps" :  "github:rnmapbox/maps#main",

android/buil.gradle:
buildscript {     ext {         buildToolsVersion = "31.0.0"         minSdkVersion = 21         compileSdkVersion = 31         targetSdkVersion = 31         kotlinVersion = "1.6.0"         androidXCore = "1.6.0"         ndkVersion = "20.1.5948944"         RNMapboxMapsImpl = "mapbox"      }     repositories {         google()         jcenter()         maven { url "https://jitpack.io" }     }     dependencies {         classpath('com.android.tools.build:gradle:4.1.0')         // NOTE: Do not place your application dependencies here; they belong         // in the individual module build.gradle files     } } allprojects {     repositories {          maven {             url 'https://api.mapbox.com/downloads/v2/releases/maven'             authentication {                 basic(BasicAuthentication)             }             credentials {                 // Do not change the username below.                 // This should always bemapbox (not your username).                 username = 'mapbox'                 // Use the secret token you stored in gradle.properties as the password                 password = project.properties['MAPBOX_DOWNLOADS_TOKEN'] ?: ""             }          }         mavenLocal()         maven {             // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm             url("$rootDir/../node_modules/react-native/android")         }         maven {             // Android JSC is installed from npm             url("$rootDir/../node_modules/jsc-android/dist")         }         maven { url 'https://maven.google.com' }         google()         jcenter()         mavenCentral()         maven { url 'https://www.jitpack.io' }         configurations.all {             resolutionStrategy {             // Remove this override in 0.65+, as a proper fix is included in react-native itself.                 force "com.facebook.react:react-native:" + "0.62.2"             }            }     } }
Steps to reproduce
when i buid the project, there are some errors:

<EMAIL_ADDRESS>(185, 29): Only safe (?.) or non-null asserted (!!.) calls are allowed on a nullable receiver of type ReadableArray?
<EMAIL_ADDRESS>(28, 16): Type mismatch: inferred type is String? but String was expected

Sorry it seems that the RN version you're using is too old. The @nonnull annotations causing the compile issue was fixed in RN 0.64, so you either upgrade to that, or add the ?. or !!., etc to the code, and use something like patch-package.
https://github.com/facebook/react-native/commit/d76556543f96f4d739be3a708b8f6314bb32cc87


correct geminates kk, ll, mm, tt, t͡ʃt͡ʃ in phon. transcr.

They are messing with the alignment and should not be there, e.g. "kk" should be "k:" They occur in very few words so can be ignored for now

The corresponding epitran-file: https://github.com/martino-vic/ronatasbertawot/blob/main/raw/misc/hun-wot.csv


Cloud Config Verification or object format

I spent far longer than I should have attempting to get cloud config working (in large part because of the required comment) and most of the times that I failed were because of improper cloud config. Given the difficulty of debugging cloud-config at times, would it be possible to throw an error if the yaml is invalid (or missing that starting comment etc.) and or, would it be possible to have an object input instead of a string input that automatically adds the comment and formats the object to yaml in-code?

It may be worth looking into https://registry.terraform.io/providers/hashicorp/template/latest/docs/data-sources/cloudinit_config

Apologies for the late reply, I think it would be best to rely on an official cloudinit config generator like @4censord mentioned. I am open to adding a light amount of validation to prevent obvious errors, but anything beyond that should use a more official mechanism.
When writing cloud config I rely heavily on the documentation, so if there are other things you think should be considered outside of what you mentioned please say so.

I've added a warning log when the #cloud-config string is missing in the template in #219. The XO client doesn't have a yaml parser installed and so I felt that was not worth the additional dependency for now.

#224 should be a more improved version of my first attempt.


when 1p devic and 3p device make a music group , and enable "repeat all" button on Amazon music , 3p device can't go to the next song

IMPORTANT: Before you create an issue, please take a look at our Issue Reporting Guide.
Briefly summarize your issue:
create a multiroom music group with one 1p device and one 3p device
using amazon music casting to group ,enable the repeat all button , 3p device can't play the next song
We check the log and found some error log when user enable “repeat all” button :
2020-12-28 12:21:35.950 [ 32] I MRMLoggerDelegate:WHA:text=AudioPipelineManager:unlinkAudioPipelineFromContentAndStreamId:Id=2
2020-12-28 12:21:35.950 [ 6e] E MRMLoggerDelegate:WHA:text=AudioPipelineManager:handleGet:cantAddReceiver=<IP_ADDRESS>:55443-key,reason=NoReceiversForKey,URI=/audiolocal/2/250472b3-ff56-4c77-877a-f1bacc4df5b6
2020-12-28 12:21:35.950 [ 6e] E MRMLoggerDelegate:WHA:text=AudioPipelineManager:handleGet:reqHeader=User-Agent: Lavf/57.83.100
2020-12-28 12:21:35.951 [ 6e] E MRMLoggerDelegate:WHA:text=AudioPipelineManager:handleGet:reqHeader=Accept: /
2020-12-28 12:21:35.951 [ 6e] E MRMLoggerDelegate:WHA:text=AudioPipelineManager:handleGet:reqHeader=Range: bytes=0-
2020-12-28 12:21:35.951 [ 6e] E MRMLoggerDelegate:WHA:text=AudioPipelineManager:handleGet:reqHeader=Connection: close
2020-12-28 12:21:35.951 [ 6e] E MRMLoggerDelegate:WHA:text=AudioPipelineManager:handleGet:reqHeader=Host: <IP_ADDRESS>:55442
2020-12-28 12:21:35.951 [ 6e] E MRMLoggerDelegate:WHA:text=AudioPipelineManager:handleGet:reqHeader=Icy-MetaData: 1
2020-12-28 12:21:35.951 [ 6d] W MRMLoggerDelegate:Libav:text=HTTP error 404 Not Found
2020-12-28 12:21:35.953 [ 30] 0 MRMLoggerDelegate:WHA:text=AudioProcessor:audioprocessor:method=processQueue
2020-12-28 12:21:35.954 [ 30] I MRMLoggerDelegate:WHA:text=AudioProcessor:processQueue:reason=processMsg,MsgId=WhadCacheEntryDeleted,loggedIn=1,isActive=0
2020-12-28 12:21:35.954 [ 30] 0 MRMLoggerDelegate:WHA:text=AudioProcessor:message:type=SpotifyWhadCacheEntryDeleted
2020-12-28 12:21:35.954 [ 30] I MRMLoggerDelegate:WHA:text=AudioProcessor:processWhadCacheEntryDeleted:contentId=amzn1.as-ct.v1.Dee-Domain-Music#ACRI#url#ACRI#7d3d3eb7-8a57-484b-b1ce-3f25dcab5710:2,m_currentAudioContentRefId=
2020-12-28 12:21:35.960 [ 4a] 9 MRMTimeDelegate:getLocalTimeNs
2020-12-28 12:21:35.965 [ 6d] E MRMLoggerDelegate:LibavTrack:text=Could not open or parse input: Server returned 404 Not Found
2020-12-28 12:21:35.965 [ 6d] 0 MRMLoggerDelegate:LibavTrack:text=new state: 8 position: 0
2020-12-28 12:21:35.965 [ 66] 0 MRMLoggerDelegate:AudioPlayer:text=onTrackStateChange amzn1.as-ct.v1.Dee-Domain-Music#ACRI#url#ACRI#7d3d3eb7-8a57-484b-b1ce-3f25dcab5710:2 1 8 0
2020-12-28 12:21:35.965 [ 66] 0 MRMLoggerDelegate:AudioPlayer:text=onTrackError amzn1.as-ct.v1.Dee-Domain-Music#ACRI#url#ACRI#7d3d3eb7-8a57-484b-b1ce-3f25dcab5710:2
2020-12-28 12:21:35.965 [ 66] 0 MRMLoggerDelegate:AudioPlayer:text=deleteTrack amzn1.as-ct.v1.Dee-Domain-Music#ACRI#url#ACRI#7d3d3eb7-8a57-484b-b1ce-3f25dcab5710:2
2020-12-28 12:21:35.965 [ 66] I MRMLoggerDelegate:WHA:text=WHAOSInterface:recordCounterMetric:program=whad:3pPlayer, source=A2QAQUVM4NZTWI, name=playbackFailed, value=1
2020-12-28 12:21:35.965 [ 66] I MRMLoggerDelegate:WHA:text=MetricsWrapper:addCounter:Adding name=playbackFailed, value=1
2020-12-28 12:21:35.965 [ 66] I MRMLoggerDelegate:WHA:text=MetricsWrapper:addString:Adding name=message, value=Could not open source
2020-12-28 12:21:35.965 [ 66] 0 MRMLoggerDelegate:WHA:text=PlayerEventListener:playbackFailed:sending to cloud
2020-12-28 12:21:35.973 [ 66] 0 MRMLoggerDelegate:WHA:text=PlayerEventListener:updatePlayerState:started
2020-12-28 12:21:35.973 [ 66] I MRMLoggerDelegate:WHA:text=WHAContextManager:newPlayerState:update player state for cluster 6d7bc23e8ee1495e96a47902cd2eebd5
2020-12-28 12:21:35.973 [ 66] I MRMLoggerDelegate:WHA:text=WHAContextManager:updateClusterContextLocked:throw away slave context for cluster 6d7bc23e8ee1495e96a47902cd2eebd5
2020-12-28 12:21:35.973 [ 66] 0 MRMLoggerDelegate:WHA:text=WHAContextManager:updateClusterContextLocked:context={"header":{"namespace":"WholeHomeAudio","name":"ClusterState"},"payload":{"clusters":[]}}
MRMCloudDelegate:sendEvent:namespace=WholeHomeAudio,name=ClusterEvent,payload={"clusterId":"6d7bc23e8ee1495e96a47902cd2eebd5","eventingRole":"slave","clusterType":"CLASSIC_CLUSTER","event":{"header":{"namespace":"AudioPlayer","name":"PlaybackFailed","messageId":"3aef4684-eddd-4218-a772-1aeff55a8523"},"payload":{"token":"amzn1.as-ct.v1.Dee-Domain-Music#ACRI#url#ACRI#7d3d3eb7-8a57-484b-b1ce-3f25dcab5710:2","currentPlaybackState":{"token":"amzn1.as-ct.v1.Dee-Domain-Music#ACRI#url#ACRI#7d3d3eb7-8a57-484b-b1ce-3f25dcab5710:1","offsetInMilliseconds":4690,"playerActivity":"PLAYING"},"error":{"type":"MEDIA_ERROR_SERVICE_UNAVAILABLE","message":"Could not open source"}}}},uri new=cluster/events
2020-12-28 12:21:35.976 [ 66] 5 ContextManager:getContext
2020-12-28 12:21:35.976 [ 66] 0 MRMLoggerDelegate:WHA:text=WHACloudInterface:sendClusterEvent:finished,payload={"clusterId":"6d7bc23e8ee1495e96a47902cd2eebd5","eventingRole":"slave","clusterType":"CLASSIC_CLUSTER","event":{"header":{"namespace":"AudioPlayer","name":"PlaybackFailed","messageId":"3aef4684-eddd-4218-a772-1aeff55a8523"},"payload":{"token":"amzn1.as-ct.v1.Dee-Domain-Music#ACRI#url#ACRI#7d3d3eb7-8a57-484b-b1ce-3f25dcab5710:2","currentPlaybackState":{"token":"amzn1.as-ct.v1.Dee-Domain-Music#ACRI#url#ACRI#7d3d3eb7-8a57-484b-b1ce-3f25dcab5710:1","offsetInMilliseconds":4690,"playerActivity":"PLAYING"},"error":{"type":"MEDIA_ERROR_SERVICE_UNAVAILABLE","message":"Could not open source"}}}}
2020-12-28 12:21:35.976 [ 66] 0 MRMLoggerDelegate:LibavTrack:text=0xb16577a8: Stopping decoding thread
2020-12-28 12:21:35.976 [ 66] 0 MRMLoggerDelegate:LibavTrack:text=0xb16577a8: Stopped decoding thread
2020-12-28 12:21:35.976 [ 66] 0 MRMLoggerDelegate:LibavTrack:text=0xb16577a8: Deleted
What is the expected behavior?

What behavior are you observing?

when current song came to the end ,1p device can play the next song ,but 3p device has no sound out
press next button can recovery
we also try this issue on AVS1.22+MRM2.9 ,we can't reproduce this issue
repeatall_NG_mrm_version2.5.log

Provide the steps to reproduce the issue, if applicable:
Reproduce step:

Using an Echo product and one bar5.0 device ,create an multi-room music group (named office)
Open amazon music app and casting music to  office group like below :

During play ,Tap the “enable repeat all” button （blue color above）
When current song play to the end, Harman bar5.0 will stop play  and Echo device will continue play next song

Tell us about your environment:
AVS 1.17 +MRM2.5
Tell us what hardware you're using:
Mediatek
Tell us about your OS (Type & version):

[ ] Linux

Hi @mtk07926 for WHA related questions please reach out to us through your Amazon Solutions Architect. We do not support Whole Home Audio questions on github. I will be closing this issue here.

Hi @mtk07926 for WHA related questions please reach out to us through your Amazon Solutions Architect. We do not support Whole Home Audio questions on github. I will be closing this issue here.