feat: Add svelte/consistent-attribute-lines rule

Motivation
This rule is essentially the same as Anthony's recently published antfu/consistent-list-newline rule, but for element attributes in Svelte files. The purpose of it is to save spending time messing with whitespace. However I write the first attribute, the rest will automatically follow the pattern.
Description
Keep attributes on same line or each on their own line based on the first attributes position
Examples

Text

Text

Text

Text

Text

From the rule tests at https://github.com/jacob-8/eslint-plugin-svelte-stylistic/blob/main/src/rules/consistent-attribute-lines.test.ts
Additional comments
I've already published it to npm as eslint-plugin-svelte-stylistic so I'm set, but I thought others might appreciate it so wanted to propose adding it here. What do you think? (rule 2 of 2, see the first at https://github.com/sveltejs/eslint-plugin-svelte/issues/590)

Thank you for posting the issue.
First, I'm in favor of using ESLint to check code styles. Therefore, I agree that this plugin adds stylistic rules.
However, I think that can be checked by combining two rules.
https://sveltejs.github.io/eslint-plugin-svelte/rules/max-attributes-per-line/
https://sveltejs.github.io/eslint-plugin-svelte/rules/first-attribute-linebreak/
https://sveltejs.github.io/eslint-plugin-svelte/playground/#eJyVkL1OwzAUhV/lcpdKVSwLtlppJRASYxc2zJC0t8jCdSr7JoqI8hQMLDwdT4KTJrQwoHTy/TnH/o4b3BRbQoVp2Hhz4JV2cq4dAAVrHHcVQKjIMsmd8YFFxuxNXjKJKKDcU/aqQCN5X3iNyS/HPqtP+iAO5HuTgqeTARqN+9Ky6TYaFVwnGoNxL5bGyWLRPms3l9ql8gczNldCwNfnOzys1/cgRBymW1NBnr3Briji6ZcabzSuHqnmVMbd0ReLDjPquiNKj93/6kFWBlLRuGyaISkxR1gFsyqzJc36D2hbkOeIH3B3+4dw4stjmCmEU3Kf3TUiDtNLk11q63VFHe2YoC8tBVRN234DnYrWQw==
Please let me know if this is not the rule you are looking for. Also note that new rules must be designed to avoid conflicts with these.

I think that can be checked by combining two rules.

Great suggestion, but it's not what I'm looking for. What bothered me most about Prettier is that it only works off of fixed length parameters (lines are at most 80, 100, 120, characters long etc...). Many times something would be just how I want it and then Prettier takes 2 of the 10 lines that happen to be barely too long and then wraps them, breaking the uniformity with the other 8 lines. max-attributes-per-line is essentially the same problem in that it won't respect my intended formatting, but will simply count attributes and change things based on a fixed number. The desired count is different in different situations (for example, class="foo bar baz and-the-other-classes-that-will-make-this-really-long" is a much longer attribute than type="button"). What I want is a rule that lets me start things off how desired (the first attribute) and then the rest just automatically falls in line. Just like Anthony wrote in his consistent-list-newline rule: "It will check the newline style of the first property or item and apply to the rest of the properties or items."
Please feel free to let me know if you think what I'm describing is useful or if it would bloat the offerings you already have and lead to confusion. Like I said, I'm already set for myself, just wanting to share if helpful.

I don't really understand. What rules are missing? I think the code you wrote at the top of this thread is checked well, as you can see in the demo.
What kind of code specifically do you think is not checked?

Ah, "singleline": 99 is the trick to getting the functionality I want. It is I who did not understand the possibilities of the max-attributes-per-line rule. I'll close this. Thanks for helping me understand better!


Timeout error with run.sh

Getting a timeout error when trying this
build-nixos_1   | /nix/store/diapjkxjqd07gl6pij2kyasfc96kmhaq-nixos-sd-image-20.03post-git-aarch64-linux.img
cleanup-qemu_1  | connect to [::ffff:<IP_ADDRESS>]:11111 from docker_build-nixos_1.docker_default:33061 ([::ffff:<IP_ADDRESS>]:33061)
cleanup-qemu_1  | build done
cleanup-qemu_1  | binfmt: detected x86 architecture, proceeding
cleanup-qemu_1  | binfmt: clearing existing entry for qemu-aarch64-docker-nixos
Exception in thread Thread-10:
Traceback (most recent call last):
  File "/nix/store/qd72pjvqlvfp6ghj3ndadflpqzmyh9as-python3.7-urllib3-1.25.9/lib/python3.7/site-packages/urllib3/connectionpool.py", line 426, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/nix/store/qd72pjvqlvfp6ghj3ndadflpqzmyh9as-python3.7-urllib3-1.25.9/lib/python3.7/site-packages/urllib3/connectionpool.py", line 421, in _make_request
    httplib_response = conn.getresponse()
  File "/nix/store/q732h09azy7lf0j30bnnhdl15p4rxpdy-python3-3.7.7/lib/python3.7/http/client.py", line 1344, in getresponse
    response.begin()
  File "/nix/store/q732h09azy7lf0j30bnnhdl15p4rxpdy-python3-3.7.7/lib/python3.7/http/client.py", line 306, in begin
    version, status, reason = self._read_status()
  File "/nix/store/q732h09azy7lf0j30bnnhdl15p4rxpdy-python3-3.7.7/lib/python3.7/http/client.py", line 267, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/nix/store/q732h09azy7lf0j30bnnhdl15p4rxpdy-python3-3.7.7/lib/python3.7/socket.py", line 589, in readinto
    return self._sock.recv_into(b)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/nix/store/k9ivvbbycr1jr3b81jmnj2sq7ybs52sz-python3.7-requests-2.23.0/lib/python3.7/site-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/nix/store/qd72pjvqlvfp6ghj3ndadflpqzmyh9as-python3.7-urllib3-1.25.9/lib/python3.7/site-packages/urllib3/connectionpool.py", line 725, in urlopen
    method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
  File "/nix/store/qd72pjvqlvfp6ghj3ndadflpqzmyh9as-python3.7-urllib3-1.25.9/lib/python3.7/site-packages/urllib3/util/retry.py", line 403, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/nix/store/qd72pjvqlvfp6ghj3ndadflpqzmyh9as-python3.7-urllib3-1.25.9/lib/python3.7/site-packages/urllib3/packages/six.py", line 735, in reraise
    raise value
  File "/nix/store/qd72pjvqlvfp6ghj3ndadflpqzmyh9as-python3.7-urllib3-1.25.9/lib/python3.7/site-packages/urllib3/connectionpool.py", line 677, in urlopen
    chunked=chunked,
  File "/nix/store/qd72pjvqlvfp6ghj3ndadflpqzmyh9as-python3.7-urllib3-1.25.9/lib/python3.7/site-packages/urllib3/connectionpool.py", line 428, in _make_request
    self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
  File "/nix/store/qd72pjvqlvfp6ghj3ndadflpqzmyh9as-python3.7-urllib3-1.25.9/lib/python3.7/site-packages/urllib3/connectionpool.py", line 336, in _raise_timeout
    self, url, "Read timed out. (read timeout=%s)" % timeout_value
urllib3.exceptions.ReadTimeoutError: UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/nix/store/q732h09azy7lf0j30bnnhdl15p4rxpdy-python3-3.7.7/lib/python3.7/threading.py", line 926, in _bootstrap_inner
    self.run()
  File "/nix/store/q732h09azy7lf0j30bnnhdl15p4rxpdy-python3-3.7.7/lib/python3.7/threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "/nix/store/p3g9654c0qhvgqv0alprypdqmbbpbidd-docker-compose-1.25.5/lib/python3.7/site-packages/compose/cli/log_printer.py", line 217, in watch_events
    for event in event_stream:
  File "/nix/store/p3g9654c0qhvgqv0alprypdqmbbpbidd-docker-compose-1.25.5/lib/python3.7/site-packages/compose/project.py", line 510, in yield_loop
    yield build_container_event(event)
  File "/nix/store/p3g9654c0qhvgqv0alprypdqmbbpbidd-docker-compose-1.25.5/lib/python3.7/site-packages/compose/project.py", line 478, in build_container_event
    container = Container.from_id(self.client, event['id'])
  File "/nix/store/p3g9654c0qhvgqv0alprypdqmbbpbidd-docker-compose-1.25.5/lib/python3.7/site-packages/compose/container.py", line 48, in from_id
    return cls(client, client.inspect_container(id), has_been_inspected=True)
  File "/nix/store/infb8g84lnxm83npfj98xf71p65czglp-python3.7-docker-4.2.0/lib/python3.7/site-packages/docker/utils/decorators.py", line 19, in wrapped
    return f(self, resource_id, *args, **kwargs)
  File "/nix/store/infb8g84lnxm83npfj98xf71p65czglp-python3.7-docker-4.2.0/lib/python3.7/site-packages/docker/api/container.py", line 758, in inspect_container
    self._get(self._url("/containers/{0}/json", container)), True
  File "/nix/store/infb8g84lnxm83npfj98xf71p65czglp-python3.7-docker-4.2.0/lib/python3.7/site-packages/docker/utils/decorators.py", line 46, in inner
    return f(self, *args, **kwargs)
  File "/nix/store/infb8g84lnxm83npfj98xf71p65czglp-python3.7-docker-4.2.0/lib/python3.7/site-packages/docker/api/client.py", line 230, in _get
    return self.get(url, **self._set_request_timeout(kwargs))
  File "/nix/store/k9ivvbbycr1jr3b81jmnj2sq7ybs52sz-python3.7-requests-2.23.0/lib/python3.7/site-packages/requests/sessions.py", line 543, in get
    return self.request('GET', url, **kwargs)
  File "/nix/store/k9ivvbbycr1jr3b81jmnj2sq7ybs52sz-python3.7-requests-2.23.0/lib/python3.7/site-packages/requests/sessions.py", line 530, in request
    resp = self.send(prep, **send_kwargs)
  File "/nix/store/k9ivvbbycr1jr3b81jmnj2sq7ybs52sz-python3.7-requests-2.23.0/lib/python3.7/site-packages/requests/sessions.py", line 643, in send
    r = adapter.send(request, **kwargs)
  File "/nix/store/k9ivvbbycr1jr3b81jmnj2sq7ybs52sz-python3.7-requests-2.23.0/lib/python3.7/site-packages/requests/adapters.py", line 529, in send
    raise ReadTimeout(e, request=request)
requests.exceptions.ReadTimeout: UnixHTTPConnectionPool(host='localhost', port=None): Read timed out. (read timeout=60)

cleanup-qemu_1  | binfmt: cleanup done
docker_build-nixos_1 exited with code 0
docker_cleanup-qemu_1 exited with code 0

Hey! I'm very sorry for the late response.
This looks like an issue with docker-compose and specifically it looks like it's not able to connect to the Docker daemon via the standard UNIX socket. Are you using Docker on macOS and/or Windows? There's this thread on the compose repo which sounds like it's related to the same issue: https://github.com/docker/compose/issues/4486

Hey. I was running it on a nixos machine. Thanks for the lead tho, will try to debug further.

Interesting! It definitely looks like a weird issue, however from the first line in your log it looks like it was able to generate the NixOS image -- did it copy it to your current folder by chance? Or maybe it was that step that made it fail.
I'm happy to help either way, keep me posted! 👍

You know, I re-ran it today and this time it worked. Not sure why, but still pleased!
Thanks for your work on this.
M

That's great news! Thanks so much for confirming that it was most likely a transient issue and that it worked now.
I'll close the issue now but feel free to reopen (or create a new one) if this happens again.
Most importantly, thanks for using this repo!
Roberto


[tcgc] provide an API to list all supported api-versions for a SDK

Now when we support versioning, .NET and Java need to generate ServiceVersion in client. It may not be same as the list of api-versions in main.tsp, in released SDK, the ServiceVersion only contains stable api-versions.
The supported api-versions should follow below rules:

The api-versions not later than the SDK target api-version, by default the SDK target api-version is the latest one.
Comply with Azure API guideline: so

A stable version of client library(SDK) will target the latest GA api-version by default, and only contains GA api-versions in ServiceVersion enum
A public beta version(preview version) of client library will target the latest public preview API version by default. It contains all api-versions in ServiceVersion enum.

Those rules are for all languages, so it is better for TCGC to provide an API to list out all the supported Api-version for a SDK.

We could start with a helper function that is called isStable in tcgc, that initially only checks azure sdks based off of naming conventions. Once the typespec versioning library adds additional metadata about the stability of a defined api version, we can add those checks to the isStable function as well

@johanste for a stable release of an SDK, do we want to include preview api versions in documentation for clients?

Versions in main.tsp
2020-01-01-Preview
2021-01-01
2022-01-01-Preview
2023-01-01
2024-01-01-Preview

Introduce a new API in TCGC listFilteredVersions().
Case 1
tspconfig.yaml
api-version: 2022-01-01-Preview

listFilteredVersions -> returns
2020-01-01-Preview
2021-01-01
2022-01-01-Preview

Case 2
tspconfig.yaml
api-version: 2023-01-01

listFilteredVersions -> returns
2021-01-01
2023-01-01

Case 3
No API version in tspconfig
listFilteredVersions -> returns
2020-01-01-Preview
2021-01-01
2022-01-01-Preview
2023-01-01
2024-01-01-Preview

This PR https://github.com/Azure/typespec-azure/pull/1045 only filter the SdkVersionEnum, but it not filter apiVersions in sdkClient.

@chunyu3 The thinking here is that we don't want to completely remove previous api version information from clients, we just don't want to document them as much. Languages like Python etc can still function with a client from an older api version. Can you explain how you're using client.apiVersions?

@chunyu3 synced with izzy, you could use usage (api version) to filter the enum list to get the api version enum to unblock your work. for multi-service concern, we could continue the discussion in this issue.

Try to write an adoption guide for the case where we do not want the TCGC filtering logic and want sdkpackage to include both preview version and stable version, we can use below workaround when createSdkContext
this.sdkContext = await createSdkContext(this.emitterContext, "@azure-tools/typespec-java", {versioning:  {previewStringRegex: /$/}}); // this means TCGC will not match any version as perview version, so TCGC will include all versions

/cc @tadelesh  @weidongxu-microsoft

Closing because I think the issue has been addressed, thanks!

Try to write an adoption guide for the case where we do not want the TCGC filtering logic and want sdkpackage to include both preview version and stable version, we can use below workaround when createSdkContext
this.sdkContext = await createSdkContext(this.emitterContext, "@azure-tools/typespec-java", {versioning:  {previewStringRegex: /$/}}); // this means TCGC will not match any version as perview version, so TCGC will include all versions

/cc @tadelesh @weidongxu-microsoft

It is a workaround . but I think it is good to provide an way to ignore preview/stable api-version filtering. because in non-branding SDKs, they will not filter out preview api-versions. I think it is better that previewStringRegex is null (not set) by default, and azure sdk emitter will set this if they want to filter.


Remap a shortcut does not work properly (sometimes the shortcut map is lost)

Microsoft PowerToys version
0.49.1 (after 0.47.0)
Running as admin

[X] Yes

Area(s) with issue?
Keyboard Manager
From which version the issue appeared
In PowerToy v0.46.0 and before, this problem rarely occurs
Starting with PowerToys v0.47.0 (after the commit a4f84844bc6283ad3c911c693085e9d1c9caa540), my shortcut map does not work properly. The problem was so frequent that I couldn't type properly and I created a bat file to quickly restart PowerToys
Some related information
the Key I mapped:

Caps Lock -> Ctrl(Right)

the Shortcuts I mapped:

Ctrl(Right) + i -> UP
Ctrl(Right) + k -> DOWN
Ctrl(Right) + j -> RIGHT
Ctrl(Right) + l -> LEFT
Ctrl(Right) + o -> Ctrl(Left) + Shift(Left) + LEFT
Ctrl(Right) + p -> Ctrl(Left) + Shift(Left) + RIGHT

the complete config is in the following document
default.zip
What went wrong?

Issue 1: When I press Caps + i/j/k/l and Caps + o/p almost simultaneously, Caps + o/p mapping will not work, behaves as pressing Ctrl(Right) + o/p instead of Ctrl(Left) + Shift(Left) + LEFT/RIGHT. It goes back to normal until some time after or until I restart PowerToys.
Issue 2: Sometimes when I press Caps + o/p first, and then press Caps + i/j/k/l a short time later, a similar situation occurs and it will press i/j/k/l directly instead of UP/DOWN/....

✔ Expected Behavior

Issue 1: Caps + O should be mapped correctly to Ctrl(left) + Shift(left) + LEFT
Issue 2: Ctrl(Right) + i should press LEFT instead of outputting i

❌ Actual Behavior
You can see the details of how these two issues arose in the videos below
Issue 1
https://user-images.githubusercontent.com/80256730/143208854-8bcef5dc-e0ce-419f-8c8f-91e0fa0a453c.mp4
Issue 2
https://user-images.githubusercontent.com/80256730/143208843-599e7227-d93b-4ac1-b2d9-5420f75b5b7e.mp4
Other Software
No response

我也很困扰，老哥解决了或者有代替方案了记得@我一下

我也很困扰，老哥解决了或者有代替方案了记得@我一下

My solution is downgrade PowerToys to the version v0.46.0 (The last version without bug)

Same issue with alt-tab that stops working after screen goes to sleep. Requires restarting PC several times a day


Where to find the benchmark of mxnet on mobile devices?

Hi,
I'm a Caffe user, but considering moving to mxnet because Caffe is lack of Recurrent Layer.
My team is doing CV task on mobile devices (Android platform now, but iOS will be included in the future). And we want to build the connections between frames of video with RNN. So we want to know the performance of mxnet on mobile phone to help us to make this tech decision. Caffe has a none-official version on mobile phone based on Eigen lib.

We only care about one thing: "Is mxnet at least as fast as Caffe on mobile devices?", and if faster, it'll be better.
I've seen the APK app for Android, so does mxnet need any extra works to adapt to iOS?

Thanks.

I don't know of any benchmark but here are a few tips for performance: set MXNET_ENGINE_TYPE=NaiveEngine and compile with openmp

There is an iOS example: https://github.com/pppoe/WhatsThis-iOS
Note it is running Inception-Batch Norm model, and I don't think this example are using muti-cores.

@piiswrong My dear brother, do you mean: export MXNET_ENGINE_TYPE=NaiveEngine in command line?

@qinjian623 @piiswrong I think this issue can close

This issue is closed due to lack of activity in the last 90 days. Feel free to ping me to reopen if this is still an active issue. Thanks!
Also, do please check out our forum (and Chinese version) for general "how-to" questions.


[3.0-Triple] fix tri TheadPool is default

What is the purpose of the change
https://github.com/apache/dubbo/issues/10018
Brief changelog
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

org.apache.dubbo.rpc.protocol.tri.TripleHttp2Protocol#lookupExecutor

Codecov Report

Merging #10019 (bb3e753) into 3.0 (7c72487) will decrease coverage by 0.08%.
The diff coverage is 20.00%.

:exclamation: Current head bb3e753 differs from pull request most recent head b9070d4. Consider uploading reports for the commit b9070d4 to get more accurate results

@@             Coverage Diff              @@
##                3.0   #10019      +/-   ##
============================================
- Coverage     65.70%   65.62%   -0.09%
+ Complexity      319      296      -23
============================================
  Files          1213     1219       +6
  Lines         52949    53054     +105
  Branches       8021     8036      +15
============================================
+ Hits          34792    34816      +24
- Misses        14367    14421      +54
- Partials       3790     3817      +27

Impacted Files
Coverage Δ

.../common/threadpool/manager/ExecutorRepository.java
0.00% <0.00%> (ø)

.../threadpool/manager/DefaultExecutorRepository.java
68.75% <100.00%> (-0.39%)
:arrow_down:

.../remoting/api/SingleProtocolConnectionManager.java
61.53% <0.00%> (-23.08%)
:arrow_down:

...nt/metadata/ServiceInstanceHostPortCustomizer.java
65.78% <0.00%> (-21.06%)
:arrow_down:

...dubbo/common/status/support/LoadStatusChecker.java
46.15% <0.00%> (-15.39%)
:arrow_down:

...he/dubbo/rpc/listener/ListenerExporterWrapper.java
58.82% <0.00%> (-14.71%)
:arrow_down:

.../dubbo/rpc/protocol/tri/command/QueuedCommand.java
64.28% <0.00%> (-14.29%)
:arrow_down:

...ava/org/apache/dubbo/rpc/proxy/InvocationUtil.java
81.81% <0.00%> (-9.10%)
:arrow_down:

...g/apache/dubbo/remoting/api/ConnectionHandler.java
45.45% <0.00%> (-9.10%)
:arrow_down:

.../common/threadpool/serial/SerializingExecutor.java
70.37% <0.00%> (-7.41%)
:arrow_down:

... and 72 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 7c72487...b9070d4. Read the comment docs.


NIFI-8332 Service account impersonation support for GCP credential co…

…ntroller service
Thank you for submitting a contribution to Apache NiFi.
Please provide a short description of the PR here:
Description of PR
The GCPCredentialsControllerService already supports service account private key or Application Default Credentials (ADC) to access GCP
But in some use cases/security control, it's necessary to use impersonation to access the service
This PR used to support the service account impersonation for GCP credentials
For all changes:

[X] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[X] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[X] Has your PR been rebased against the latest commit within the target branch (typically main)?

[X] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[X] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[ ] Have you written or updated unit tests to verify your changes?
[X] Have you verified that the full build is successful on JDK 8?
[X] Have you verified that the full build is successful on JDK 11?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible.

I add the default value for lifetime, the value comes from the document

Hi @pvillard31
sorry for ping you, does this pull request need any changes
it's running on our servers for a while and runs well


[ALLUXIO-1950] Clean up temporary testing directories

https://alluxio.atlassian.net/browse/ALLUXIO-1950
A conservative approach to cleaning up temporary directories. This won't delete anything until the JVM is exiting.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/10074/
Test PASSed.

+1 LGTM


Remove redundant RxSwift & ReactiveSwift request methods.

I saw this https://github.com/Moya/Moya/pull/1320#issuecomment-332476303 and thought it would be a good idea to create an issue so we don't forget to do this

Oh, thank you for catching it! Totally forgot about it. 😓

I don't think this made it in the release. To be honest, I was having trouble removing the abstraction while keeping the same API. My RxSwift skills have grown a bit rusty.

Taking care of this as we speak. In hindsight, it might not be the best issue for hacktoberfest 😅

This has been closed in #1399


irq: irq_attach_wqueue replace irq_attach_thread

Summary
irq_attach_wqueue replace irq_attach_thread
reason:
using a shared same priority queue can reduce memory consumption.
Impact
isrthread
Testing
ci test

[Experimental Bot, please feedback here]
No, this PR does not meet the NuttX Requirements.
Missing Information:

Summary:

Lacks a clear explanation of why using a shared queue reduces memory consumption.
Needs to describe what functional part of the code is being changed beyond "isrthread."
How does irq_attach_wqueue work differently from irq_attach_thread?

Impact:

Is new feature added? Is existing feature changed?  Specify whether this is a new feature or a modification of an existing one.
Impact on user: Does this change require users to adapt their code? Be specific.
Impact on build: Will the build process be affected (e.g., new dependencies)?
Impact on hardware: Which architectures, boards, or drivers are impacted?
Impact on documentation: Does the documentation need updating? Is updated documentation provided in the PR?
Impact on security, compatibility:  Address these even if there is no impact (e.g., "NO").

Testing:

Build Host(s): List the specific operating systems, CPUs, and compilers used for testing.
Target(s): Specify the architectures, boards, and configurations tested.
Testing logs: Provide actual testing logs from before and after the change. "ci test" is not informative enough.

Recommendations:

Expand the Summary: Provide a more detailed explanation of the problem, the solution, and the functional code areas affected.
Complete the Impact Section: Thoroughly address each impact category, even if it's to state "NO" with a brief explanation.
Provide Specific Testing Details:  Include details about your testing environment and provide actual log output to demonstrate the change's effect.


Add files Barracuda CloudGen WAN Workbook

Required items, please complete
Change(s):

See guidance below

Reason for Change(s):

See guidance below

Version Updated:

Required only for Detections/Analytic Rule templates
See guidance below

Testing Completed:

See guidance below

Checked that the validations are passing and have addressed any issues that are present:

See guidance below

Guidance <- remove section before submitting

Before submitting this PR please ensure that you have read the following sections and filled out the changes, reason for change and testing complete sections:
Thank you for your contribution to the Microsoft Sentinel Github repo.

Details of the code changes in your submitted PR.  Providing descriptions for pull requests ensures there is context to changes being made and greatly enhances the code review process.  Providing associated Issues that this resolves also easily connects the reason.

Change(s):

Updated syntax for XYZ.yaml

Reason for Change(s):

New schema used for XYZ.yaml
Resolves ISSUE #1234

Version updated:

Yes
Detections/Analytic Rule templates are required to have the version updated

The code should have been tested in a Microsoft Sentinel environment that does not have any custom parsers, functions or tables, so that you validate no incorrect syntax and execution functions properly.  If your submission requires a custom parser or function, it must be submitted with the PR.

Testing Completed:

Yes/No/Need Help

Note: If updating a detection, you must update the version field.

Before the submission has been made, please look at running the KQL and Yaml Validation Checks locally.
https://github.com/Azure/Azure-Sentinel#run-kql-validation-locally

Checked that the validations are passing and have addressed any issues that are present:

Yes/No/Need Help

Note: Let us know if you have tried fixing the validation error and need help.

References:

Guidance for Detection checks
General contribution guidance
PR validation troubleshooting

@microsoft-github-policy-service agree [company="{Barracuda Networks}"]
From: microsoft-github-policy-service[bot] @.>
Sent: Dienstag, 8. November 2022 14:21
To: Azure/Azure-Sentinel @.>
Cc: Felix Bueltmann @.>; Mention @.>
Subject: [EXTERNAL] Re: [Azure/Azure-Sentinel] Add files via upload (PR #6577)
@FelixBueltmannBarracudahttps://github.com/FelixBueltmannBarracuda please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]
Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.
(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.
Contributor License Agreement
Contribution License Agreement

This Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
and conveys certain license rights to Microsoft Corporation and its affiliates (“Microsoft”) for Your
contributions to Microsoft open source projects. This Agreement is effective as of the latest signature
date below.

Definitions.
“Code” means the computer software code, whether in human-readable or machine-executable form,
that is delivered by You to Microsoft under this Agreement.
“Project” means any of the projects owned or managed by Microsoft and offered under a license
approved by the Open Source Initiative (www.opensource.orghttp://www.opensource.org).
“Submit” is the act of uploading, submitting, transmitting, or distributing code or other content to any
Project, including but not limited to communication on electronic mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of, the Project for the purpose of
discussing and improving that Project, but excluding communication that is conspicuously marked or
otherwise designated in writing by You as “Not a Submission.”
“Submission” means the Code and any other copyrightable material Submitted by You, including any
associated comments and documentation.
Your Submission. You must agree to the terms of this Agreement before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now or in the future (except as
described in Section 4 below), Submit to any Project.
Originality of Work. You represent that each of Your Submissions is entirely Your original work.
Should You wish to Submit materials that are not Your original work, You may Submit them separately
to the Project if You (a) retain all copyright and license information that was in the materials as You
received them, (b) in the description accompanying Your Submission, include the phrase “Submission
containing materials of a third party:” followed by the names of the third party and any licenses or other
restrictions of which You are aware, and (c) follow any other instructions in the Project’s written
guidelines concerning Submissions.
Your Employer. References to “employer” in this Agreement include Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a contractor, vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your employer has intellectual
property rights in Your Submission by contract or applicable law, You must secure permission from Your
employer to make the Submission before signing this Agreement. In that case, the term “You” in this
Agreement will refer to You and the employer collectively. If You change employers in the future and
desire to Submit additional Submissions for the new employer, then You agree to sign a new Agreement
and secure permission from the new employer before Submitting those Submissions.
Licenses.

Copyright License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license in the
Submission to reproduce, prepare derivative works of, publicly display, publicly perform, and distribute
the Submission and such derivative works, and to sublicense any or all of the foregoing rights to third
parties.
Patent License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license under
Your patent claims that are necessarily infringed by the Submission or the combination of the
Submission with the Project to which it was Submitted to make, have made, use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the Project.
Other Rights Reserved. Each party reserves all rights not expressly granted in this Agreement.
No additional licenses or rights whatsoever (including, without limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.

Representations and Warranties. You represent that You are legally entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your original work (except as You may
have disclosed under Section 3). You represent that You have secured permission from Your employer to
make the Submission in cases where Your Submission is made in the course of Your work for Your
employer or Your employer has intellectual property rights in Your Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You represent and warrant that You
have the necessary authority to bind the listed employer to the obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless You choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6, THE SUBMISSION PROVIDED UNDER THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
Notice to Microsoft. You agree to notify Microsoft in writing of any facts or circumstances of which
You later become aware that would make Your representations in this Agreement inaccurate in any
respect.
Information about Submissions. You agree that contributions to Projects and information about
contributions may be maintained indefinitely and disclosed publicly, including Your name and other
information that You submit with Your Submission.
Governing Law/Jurisdiction. This Agreement is governed by the laws of the State of Washington, and
the parties consent to exclusive jurisdiction and venue in the federal courts sitting in King County,
Washington, unless no federal subject matter jurisdiction exists, in which case the parties consent to
exclusive jurisdiction and venue in the Superior Court of King County, Washington. The parties waive all
defenses of lack of personal jurisdiction and forum non-conveniens.
Entire Agreement/Assignment. This Agreement is the entire agreement between the parties, and
supersedes any and all prior agreements, understandings or communications, written or oral, between
the parties relating to the subject matter hereof. This Agreement may be assigned by Microsoft.

—
Reply to this email directly, view it on GitHubhttps://github.com/Azure/Azure-Sentinel/pull/6577#issuecomment-1307214063, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALMYM7AFSRDLSJNVCKWDPA3WHJHVLANCNFSM6AAAAAAR2J7TWY.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>Get the 13 Email Threat Types eBook
https://www.barracuda.com/
This e-mail and any attachments to it contain confidential and proprietary material of Barracuda, its affiliates or agents, and is solely for the use of the intended recipient. Any review, use, disclosure, distribution or copying of this transmittal is prohibited except by or on behalf of the intended recipient. If you have received this transmittal in error, please notify the sender and destroy this e-mail and any attachments and all copies, whether electronic or printed.

@microsoft-github-policy-service agree company="Barracuda Networks"
From: microsoft-github-policy-service[bot] @.>
Sent: Dienstag, 8. November 2022 14:34
To: Azure/Azure-Sentinel @.>
Cc: Felix Bueltmann @.>; Mention @.>
Subject: [EXTERNAL] Re: [Azure/Azure-Sentinel] Add files via upload (PR #6577)
@FelixBueltmannBarracudahttps://github.com/FelixBueltmannBarracuda the command you issued was incorrect. Please try again.
Examples are:
@microsoft-github-policy-service agree
and
@microsoft-github-policy-service agree company="your company"
—
Reply to this email directly, view it on GitHubhttps://github.com/Azure/Azure-Sentinel/pull/6577#issuecomment-1307230750, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALMYM7ELENEHSYGRHIXVVSLWHJJE7ANCNFSM6AAAAAAR2J7TWY.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>Get the 13 Email Threat Types eBook
https://www.barracuda.com/
This e-mail and any attachments to it contain confidential and proprietary material of Barracuda, its affiliates or agents, and is solely for the use of the intended recipient. Any review, use, disclosure, distribution or copying of this transmittal is prohibited except by or on behalf of the intended recipient. If you have received this transmittal in error, please notify the sender and destroy this e-mail and any attachments and all copies, whether electronic or printed.

@FelixBueltmannBarracuda : Could you please confirm us is it part any of the below solutions

OR standalone workbook?

Yes, this is Part of the solution CloudGen Firewall which is part of CloudGen WAN.
From: v-spadarthi @.>
Sent: Donnerstag, 10. November 2022 11:30
To: Azure/Azure-Sentinel @.>
Cc: Felix Bueltmann @.>; Mention @.>
Subject: [EXTERNAL] Re: [Azure/Azure-Sentinel] Add files Barracuda CloudGen WAN Workbook (PR #6577)
@FelixBueltmannBarracudahttps://github.com/FelixBueltmannBarracuda : Could you please confirm us is it part any of the below solutions
[image]https://user-images.githubusercontent.com/101796244/201067217-1c44b3ec-3242-4640-be3c-39eb0f8d0738.png
OR standalone workbook?
—
Reply to this email directly, view it on GitHubhttps://github.com/Azure/Azure-Sentinel/pull/6577#issuecomment-1310076385, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALMYM7G65TU6Y6QHOH6XSTTWHTFDNANCNFSM6AAAAAAR2J7TWY.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>Get the 13 Email Threat Types eBook
https://www.barracuda.com/
This e-mail and any attachments to it contain confidential and proprietary material of Barracuda, its affiliates or agents, and is solely for the use of the intended recipient. Any review, use, disclosure, distribution or copying of this transmittal is prohibited except by or on behalf of the intended recipient. If you have received this transmittal in error, please notify the sender and destroy this e-mail and any attachments and all copies, whether electronic or printed.

@FelixBueltmannBarracuda : Thank you for the confirmation.
Could you please create the workbook under the Solutions/Barracuda CloudGen Firewall/ folder.
After deploying the workbook in our environment, we could see below

Please add workbook meta data in below path
https://github.com/Azure/Azure-Sentinel/blob/master/Tools/Create-Azure-Sentinel-Solution/V2/WorkbookMetadata/WorkbooksMetadata.json
Pleas add any preview images or logos and charts and graphs.
For ex: https://github.com/Azure/Azure-Sentinel/tree/master/Solutions/OracleDatabaseAudit/Workbooks

@FelixBueltmannBarracuda : Please address the above comments. Thanks!

@FelixBueltmannBarracuda : Please address the above comments. Thanks!

@FelixBueltmannBarracuda : Please address the above comments. Thanks!

@FelixBueltmannBarracuda : Please address the above comments. Thanks!

HI, I have been stuck in projects. I will address the comments beginning of next week.
From: v-spadarthi @.>
Sent: Freitag, 25. November 2022 06:07
To: Azure/Azure-Sentinel @.>
Cc: Felix Bueltmann @.>; Mention @.>
Subject: [EXTERNAL] Re: [Azure/Azure-Sentinel] Add files Barracuda CloudGen WAN Workbook (PR #6577)
@FelixBueltmannBarracudahttps://github.com/FelixBueltmannBarracuda : Please address the above comments. Thanks!
—
Reply to this email directly, view it on GitHubhttps://github.com/Azure/Azure-Sentinel/pull/6577#issuecomment-1327025603, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ALMYM7GRWQPZRPJVUZRWCRTWKBCOPANCNFSM6AAAAAAR2J7TWY.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>Get the 13 Email Threat Types eBook
https://www.barracuda.com/
This e-mail and any attachments to it contain confidential and proprietary material of Barracuda, its affiliates or agents, and is solely for the use of the intended recipient. Any review, use, disclosure, distribution or copying of this transmittal is prohibited except by or on behalf of the intended recipient. If you have received this transmittal in error, please notify the sender and destroy this e-mail and any attachments and all copies, whether electronic or printed.

@FelixBueltmannBarracuda : Please address the above comments. Thanks!

@FelixBueltmannBarracuda : Please address the above comments. Thanks!

@FelixBueltmannBarracuda : Please address the above comments. Thanks!

@FelixBueltmannBarracuda : Please address the above comments. Thanks!

@FelixBueltmannBarracuda : Please address the above comments. Thanks!

@FelixBueltmannBarracuda : Please address the above comments. Thanks!

Hi @FelixBueltmannBarracuda,
If you are occupied with other work. Please move this PR to draft and resume your work once you get time.
Thanks


PyPI shows README as text, should be HTML

As of version 0.3.0, README is markdown and on PyPI, it appears as text.
Should be rendered as HTML on PyPI, so that it is more reader-friendly.

One option is to switch from Markdown to reStructuredText. I know that PyPI automatically renders reStructuredText. I don't know how to make it render Markdown.


[et] compilation errors aren't colorful

Not having color output makes it more difficult to quickly scan the output and find the errors.
seen results

expected results
I expect the clang compilation error to have color, like ninja did when running it directly.

I checked this out and I suspected this was the code that was stripping out the ansi escape codes in //tools/pkg/engine_build_configs/lib/src/build_config_runner.dart:
        process.stdout
            .transform<String>(const Utf8Decoder())
            .transform(const LineSplitter())
            .listen(
          (String line) {
            if (_ninjaProgress(eventHandler, command, line)) {
              return;
            }
            // TODO(157816): Forward errors to `et`.
            line = fixGccPaths(line, outDir);
            final List<int> bytes = utf8.encode('$line\n');
            stdoutOutput.addAll(bytes);
          },
          onDone: () async => stdoutComplete.complete(),
        );

Putting in ANSI escape codes in the stdoutOutput has them show up, so the problem doesn't exists after this.  I also suspected maybe Utf8Decoder was stripping them out so I tried this:
        process.stdout.listen((List<int> bytes) {
          stdoutOutput.addAll(bytes);
        }, onDone: () async => stdoutComplete.complete());

However the output still didn't have color.

It's not uncommon for tools to detect if they are connected to a tty and remove ansi escape sequences if it's detected they aren't connected to a tty.  I'm not sure if there is a way to override that for ninja.

Here it is mentioned that ninja is doing this: https://github.com/ninja-build/ninja/wiki/FAQ#why-does-my-program-with-colored-output-not-have-color-under-ninja

Bingo, there is an environment variable for this: https://github.com/ninja-build/ninja/issues/2196?utm_source=chatgpt.com


Typo in PrimaryCommandBufferAbstract docs?

Template
If you dont understand something just leave it.
If you can provide more detailed information than the template allows for, please ignore the template and present all of your findings.

Version of vulkano: 0.32.3
OS: (the docs)
GPU (the selected PhysicalDevice): N/A
GPU Driver: N/A
Upload of a reasonably minimal complete main.rs file that demonstrates the issue: N/A

Issue
The docs for PrimaryCommandBufferAbstract::execute, as well as PrimaryCommandBufferAbstract::execute_after read:

The command buffer is not actually executed until you call flush() on the object. You are encouraged to chain together as many futures as possible before calling flush(), and call .then_signal_future() before doing so. Note however that once you called execute() there is no way to cancel the execution, even if you didn’t flush yet.

There doesn't seem to be any method then_signal_future; this is probably meant to refer to one or all of the then_signal_fence(_*) or then_signal_semaphore(_*) methods.
(There's also some grammatical errors towards the end of the paragraph; I've sent #2128 for those. However, I'm not sure how the bits around "then_signal_future are supposed to read, so I didn't fix those, and hence, put that in this issue.)

Yeah that looks like a mistake, it should be then_signal_fence. Can you fix it as part of your PR?


Optimized readability and removed useless else after return

Optimized readability and removed useless else after return without change logic

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: alexmanno sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Add non-C test programs

We currently have a range of C-language programs for testing bpftrace against: https://github.com/bpftrace/bpftrace/tree/19239ad80d0daac1f064ca2e441b2d54120a2f05/tests/testprogs
We should also have a few test programs written in the other languages that we claim to support. I think these would be:

C++
Go
Rust

I'd be happy to do this, but I think pulling in all the separate toolchains to the native build will bloat everything quite a lot for some quick hello-world probe tests. Any objections to having this configuration separate workflows? (So you're just testing against some canonical pre-existing application image, rather than needing all the toolchains from scratch)

It looks like already have c++: https://github.com/bpftrace/bpftrace/blob/master/tests/testprogs/uprobe_test_cxx.cpp
Do we have a good idea of the test cases we want to add?
In general I'd prefer to not get too fancy w/ GH workflows and stuff. We do all our heavy lifting with nix and it's great for reproducibility. Should be ok IMO to add in rustc or go packages into flake.nix and then have cmake check for those binaries. That way CI will always have it and developers can opt-into nix and get it or not install those packages and just skip the relevant tests.


How to get current user information (especially ID) ?

Did you read the README? https://github.com/mauricew/ruby-twitch-api#calls

# Get a single user
client.get_users({login: "disguisedtoasths"}).data.first

If you don't specify any parameters for get_users, it will return the current user's info. (The response data object will still be an array)


”Fruntișeni”, ”Grăjdeni” are listed in the drop-down menu

Description:
When user writes ”Fruntișeni”, ”Grăjdeni” the locations appear in the drop-down menu next to the comune and the county which is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Fruntișeni"

Expected results
The location appears in the drop-down menu as "Sat Fruntișeni, VASLUI (Fruntișeni)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Grăjdeni"

Expected results
The location appears in the drop-down menu as "Sat Grăjdeni, VASLUI (Fruntișeni)".


Split IGListAdapterDataSource?

New issue checklist

[x] I have reviewed the README and documentation
[x] I have searched existing issues and this is not a duplicate

General information

IGListKit version: current master (290d592983713c3ef82eb4950ba773a0059563a2)

Motivation
Hi! I strongly believe IGListKit is so lightweight, performant and addresses so many troubles we have when using collection views that any app should import this framework. But honestly, that's far from being my actual recommendation to other projects in our company, as currently is.
I've been working on a project for a year and a half now where IGListKit was one of our very first additions (and thankful decisions!) and our whole UI is dependent on it. And for every developer we have to onboard to the project, IGListKit is probably the part with the most difficult learning - at least as difficult as Rx, I'd say, even though Rx introduces a whole new paradigm and IGListKit is just beautiful OOP.
So what if certain entities were revisited in order to make them look closer to known patterns in order to improve the learning process of newcomers?
Example
My first concern is IGListAdapterDataSource. As a data source, I expect it to provide data, which it does via:
- (NSArray<id <IGListDiffable>> *)objectsForListAdapter:(IGListAdapter *)listAdapter;
Notice that the objects above could be either stored in a property and returned here, or just computed right away. Both are fine and a stored property is most usually the way this is used.
So far so good, but we also see this in the same protocol:
- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object;

I'll ask you to try to erase everything you already know about IGListKit and imagine yourself reading this for the very first time. As much as documentation can help and examples definitely do help, one truly needs to slowly digest multiple of them in order to start understanding what's underneath. In Swift, the signature becomes:
func listAdapter(_ listAdapter: ListAdapter, sectionControllerFor object: Any) -> ListSectionController

So it needs to return me an object, but where should I take this object from? Should I have a stored property for this too? ... oh! From several examples, I actually see that in every implementation, we actually instantiate a new object and return it. So what is this? A factory method.
According to the Swift API Design Guidelines, we should "Begin names of factory methods with make, e.g. x.makeIterator()", so let's apply it to that method and it now becomes
func makeSectionController(for object: Any, listAdapter: ListAdapter) -> ListSectionController

This even looks self-documented now.
Ok, so we have a factory method required by a protocol IGListAdapterDataSource. What is this then? An abstract factory! and... does it still make sense to be a data source? Maybe, but at least to me, this line smells odd:
sectionController = [dataSource listAdapter:self sectionControllerForObject:object];

because a data source is also sourcing me a section controller (which turns out to be a factory underneath), i.e. what data to display and how to display data.
First suggestion
What do you think of removing from IGListAdapterDataSource the responsibility of creating section controllers, and having a new protocol looking something like (in Swift for readability)
protocol ListSectionControllerFactory {
  func makeSectionController(for object: Any, listAdapter: ListAdapter) -> ListSectionController
}

Returning to this. Love the suggestion! Would it be possible to make this a Swift-only API change? I'm not sure the ObjC API would be as familiar.
If anything, I'd be supportive of moving the emptyView API out to another data source. That one has always felt out of place.

Thanks @rnystrom !
Since you can't split the protocol only for Swift, a change would be needed in ObjC too. As for naming, NS_SWIFT_NAME may be used:
@protocol IGListSectionControllerFactory <NSObject>
- (IGListSectionController *)sectionControllerForObject:(id)object NS_SWIFT_NAME(makeSectionController(forObject:));

Notice I've omitted the listAdapter parameter from the original signature - I'm not sure if it's useful in any scenario, personally I've never used with this method. If necessary, then readability becomes worse in Swift (unless there's a macro that accepts changing the parameters order):
@protocol IGListSectionControllerFactory <NSObject>
- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object NS_SWIFT_NAME(makeSectionController(listAdapter:forObject:));

but still worth the protocol splitting imho :D

One big reason I'm hesitant to make any ObjC changes is how many instances and documentation we'll need to update internally (literally hundreds lol). So these big changes have to be done very, very thoughtfully!


Multiple Value Sets

Request from #fhirdevdays to allow a ValueSet to be specified (by canonical URL) instead of a code/coding in a module, so that things like Observations, Conditions, and Procedures can have varied codes.

Any recommended value sets that we can use? The FHIR / HL7 ones are very generic and grouped by category so probably aren't useful for our needs. (ex, there's one for "all SNOMED conditions" but not one for "all types of diabetes") VSAC has good ones but those require registration so we can't include them in the modules by default (unless we want people to have to register to use synthea).

Step 1 is to create a FHIR ValueSet that defines a few diabetes codes. SNOMED, ICD9, etc. Put it in the resources. Reference that valueset by canonical URL in the ConditionOnset state. Randomly pick one code from the value set at diagnosis time.
Step 2. Reference a VSAC value set by canonical URL. It isn't found in the resources, but the properties file defines VSAC credentials. Use the credentials to pull the value set and proceed as above.

If we are going to use VSAC then I'd propose requiring a default code that it could fall back to if the user isn't online or doesn't have VSAC credentials.
But then it's also important to consider how this will work with Active Condition / Active Medication logic, and how this will work with claims pricing and disease burden evaluation. Not showstoppers by any means, just important to get right.

I agree that a default code is required.

Greetings. I'm new to Synthea, and am just wondering if there is any more information on capabilities of using value sets when generating populations? Thanks.

It is a capability that we have experimented with, especially using VSAC (account required), but have not merged into the master branch. Meaning it isn't part of the software today. We may return to this at some point, but it hasn't been a top priority for us.

Note, for SNOMED-based ValueSets you can make good use of the implicit ValueSet idea and avoid the need to explicitly create ValueSets.
For example, http://snomed.info/sct?fhir_vs=isa/12345678 is, by definition the ValueSet for the code 12345678 and all its descendants.
You can also use SNOMED's ECL for more expressive definitions: this is all descendants of 12345678 that have a relationship 11111111 to 87654321 or any descendant
http://snomed.info/sct?fhir_vs=ecl/<<12345678:11111111=<<87654321
You could, for example, use this approach to match on specific morphologies or finding sites.

@lawley That is a pretty good idea. How would we expand that "isa" or "ecl" at export time? Presumably we'd need a terminology service or the user would be responsible for a local cache of codes (with the hierarchy).

Yes, you'd want a terminology server for that.
https://r4.ontoserver.csiro.au/fhir/ValueSet/$expand?url=http:%2F%2Fsnomed.info%2Fsct%3Ffhir_vs%3Decl%2F+<+19829001+:+116676008+%3D+79654002

Just to add to this thread, completely agree with @lawley, this should be via calls to a terminology server of which there are a few now available.
The team here at SNOMED International are investigating if we can develop and contribute code to Synthea enabling the ability to call out to any FHIR Terminology Services compliant terminology server in order to use ECL and other direct SNOMED CT queries.
Hopefully, we can update this soon!

Keep in mind that you need to be careful with any approach that just selects a random code from a valueset.  Codes in valuesets can be tied to other aspects of the patient where selecting a random code can create conflicting/unrealistic information in the record.
Take diabetes for instance.  Diabetes can be caused by pregnancy, medications, alcoholism ... If you have a valueset that represents all Diabetes and then select a code at random there is the real possibility that you would give a male generated patient a pregnancy induced diabetes code.
This is the approach we took when we first generated patients for quality measures based on the measures and the valuesets that they contained.   Synthea is much more advanced than what we were doing but valueset code selection would still be an issue without understanding what the code being selected means and how that current patient context influences the code selected or how the code selected should influence the future code generation.

Closed with #709.
In order for ValueSets to be used, you need to specify a FHIR terminology server using the generate.terminology_service_url property and have a module with ValueSet specified.
ValueSets can be specified in any State that contains a code. Just add a value_set attribute in addition to the system, code, and display.
For example:
{
  "system": "SNOMED-CT",
  "code": "2501000087107",
  "display": "MRI of right knee with contrast",
  "value_set": "http://snomed.info/sct?fhir_vs=ecl/<<2491000087104"
}

Is it possible to use a value set that is specified using a file based URL?  I was hoping to try something like:
{
"system": "SomeSystem",
"code": "555555",
"display": "Examplitis",
"value_set":"\?\C:\Synthea_Basic\valueSets\ICD10otitis.json"
}
I tried variations on the URL syntax for file locations.  They all seem to be ignored. Synthea runs to completion and I see the "SomeSystem" and code 555555 in the output. But what I am trying to do is have synthia go to the json file (which is in FHIR format) and pull a code from the file. It seems the value set path is ignored.
I don't have a FHIR server available but was hoping Sythea could resolve file paths to value_set files.
Any insights would be appreciated.    Regards, George

Is it possible to use a value set that is specified using a file based URL?  I was hoping to try something like:
{
"system": "SomeSystem",
"code": "555555",
"display": "Examplitis",
"value_set":"\?\C:\Synthea_Basic\valueSets\ICD10otitis.json"
}
I tried variations on the URL syntax for file locations.  They all seem to be ignored. Synthea runs to completion and I see the "SomeSystem" and code 555555 in the output. But what I am trying to do is have synthia go to the json file (which is in FHIR format) and pull a code from the file. It seems the value set path is ignored.
I don't have a FHIR server available but was hoping Sythea could resolve file paths to value_set files.
Any insights would be appreciated.    Regards, George

Is it possible today? No, it just doesn't work like that.
Could it possibly work that way in the future? Maybe. But it would require some special logic.
Typically, a value_set is not a URL for the file or web location (although it could be), it is typically the canonical URI for the ValueSet. For more information see the explanation for ValueSet.url under the ValueSet Identification Heading: http://hl7.org/fhir/R4/valueset.html#ident

Is it possible today? No, it just doesn't work like that.
Could it possibly work that way in the future? Maybe. But it would require some special logic.
Typically, a value_set is not a URL for the file or web location (although it could be), it is typically the canonical URI for the ValueSet. For more information see the explanation for ValueSet.url under the ValueSet Identification Heading: http://hl7.org/fhir/R4/valueset.html#ident


exclude psycopg[binary] on mac arm64 python <=3.9

Closes #1125

Successful PR Checklist:

[x] Tests

[ ] (not applicable?)

[ ] Documentation

[x] (not applicable?)

PR label(s):

[ ] https://github.com/procrastinate-org/procrastinate/labels/PR type%3A breaking 💥
[ ] https://github.com/procrastinate-org/procrastinate/labels/PR type%3A feature ⭐
[ ] https://github.com/procrastinate-org/procrastinate/labels/PR type%3A bugfix 🕵
[ ] https://github.com/procrastinate-org/procrastinate/labels/PR type%3A miscellaneous 👾
[x] https://github.com/procrastinate-org/procrastinate/labels/PR type%3A dependencies 🤖
[ ] https://github.com/procrastinate-org/procrastinate/labels/PR type%3A documentation 📚

Perfect ! I meant to do it at some point but you were faster :) thank you so much !


sdk location not found. define location with an ANDROID_SDK_ROOT environment variable

Environment

Technology
Version

Flutter version
2.0.6

Plugin version
5.3.2

Android version
4.1

iOS version

Xcode version
12.4

Description
Expected behavior:
Current behavior: FAILURE: Build failed with an exception.

What went wrong:
Could not determine the dependencies of task ':compileReleaseAidl'.

SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file at '/Users/avinashdhiraj/.pub-cache/hosted/pub.dartlang.org/flutter_inappwebview-5.3.2/android/local.properties'.

Stacktrace/Logcat
FAILURE: Build failed with an exception.

What went wrong:
Could not determine the dependencies of task ':compileReleaseAidl'.

SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file at '/Users/avinashdhiraj/.pub-cache/hosted/pub.dartlang.org/flutter_inappwebview-5.3.2/android/local.properties'.

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 2s
Exception: The plugin flutter_inappwebview could not be built due to the issue above.

Getting same error

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugResources'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.Workers$ActionFacade
   > Android resource linking failed
     /Users/adil/Development/Mob/cross-platform/ClientsWork/timerabbit/build/flutter_inappwebview/intermediates/library_manifest/debug/AndroidManifest.xml:7:5-11:15: AAPT: error: unexpected element <queries> found in <manifest>.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 50s
The build failed likely due to AndroidX incompatibilities in a plugin. The tool is about to try using Jetifier to solve the incompatibility.
Building plugin flutter_inappwebview...
Running Gradle task 'assembleAarRelease'...

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':compileReleaseAidl'.
> SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file at '/Users/adil/fvm/stable/.pub-cache/hosted/pub.dartlang.org/flutter_inappwebview-5.3.2/android/local.properties'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 2s

Exception: The plugin flutter_inappwebview could not be built due to the issue above.

Open the android folder as a separate project in Android studio -> upgrade your gradle version. Worked for me


ansible-operator crashes when user not in /etc/passwd: KeyError: 'getpwuid(): uid not found

Bug Report
If the calling user is not present in /etc/passwd, then ansible fails to run, with an output like:
Setting up watches.  Beware: since -r was given, this may take a while!
Watches established.
/tmp/ansible-operator/runner/<watched thing>/artifacts/1443635317331776148//stdout
Traceback (most recent call last):
  File "/usr/local/bin/ansible-playbook", line 63, in <module>
    from ansible.utils.display import Display
  File "/usr/local/lib/python3.6/site-packages/ansible/utils/display.py", line 60, in <module>
    class FilterUserInjector(logging.Filter):
  File "/usr/local/lib/python3.6/site-packages/ansible/utils/display.py", line 65, in FilterUserInjector
    username = getpass.getuser()
  File "/usr/lib64/python3.6/getpass.py", line 169, in getuser
    return pwd.getpwuid(os.getuid())[0]
KeyError: 'getpwuid(): uid not found:<PHONE_NUMBER>'

In our case the user is not present in /etc/passwd because it is running in openshift, which picks an arbitrary uid for the container.
What did you do?
Set up an ansible operator with not much more than the template provided by operator-sdk.
What did you expect to see?
The ansible role run and complete normally
What did you see instead? Under which circumstances?
Ansible immediately crashed with a traceback.

Ansible

Possible Solution
Set /etc/passwd to writable in the Dockerfile, then as part of the entrypoint script, add an entry for the currently running user if it doesn't already exist.
https://major.io/2019/03/22/running-ansible-in-openshift-with-arbitrary-uids/
https://blog.openshift.com/jupyter-on-openshift-part-6-running-as-an-assigned-user-id/
Additional context
This bug has been rejected by the ansible project as wont-fix: https://github.com/ansible/ansible/issues/39166
This appears to be a regression, based on this report: https://github.com/operator-framework/operator-sdk/issues/1856, which was resolved at the time.

I can't quite see how the quay.io/operator-framework/ansible-operator image is built, but this may very well be introduced by https://github.com/operator-framework/operator-sdk/pull/2469

Hi @lxop,
First at all, the Openshift v3.11.0 is not compatible with any SDK version >=0.9 and it is no longer supported. In this way, I'd like to suggest you use OCP 4.X and/or Minikube.
Regard your scenario, shows that you built the project with one version and upgrade it with v0.15.2.  Am I right? in this way, you may be missing something as well.
Then, I'd always recommend you create a new Ansible project from scratch by following the user guide here just to compare with your project and ensure that you updated properly all scaffolded files? Indeed the Dockerfile. Also, you can use it to check if the issue has a bug in the ansible based operators or if it is something related to your project as well.
If after that, you still facing any issue with your project and an OCP 4.X could you please share a link for your project and/or add here your Dockerfile?

Hi @camilamacedo86,
I built the project with v0.15.2 to begin with, following the user guide. After some digging around I tried changing the dockerfile to be based on v0.15.1, and found that it then worked as expected, hence the subsequent comment.
I will try installing OCP 4 and see if that makes a difference.
Thank you

Hi @lxop,
Thank you for your response, please let us know if it worked for you in OCP 4.X oks?

Hi @camilamacedo86,
I am working with OKD, and the preview version of v4 for that is presenting challenges, so I am unable to see if this problem exists in v4 at this stage. I'll simply have to stick to v0.15.1 for the time being.
Thank you

HI @Ixop,
Note that the 3.11 is old and is using an old version of k8s API which is no longer compatible with any SDK version >= 0.9, in this way, we may face other issues as well and we cannot say what feature will work or not exactly.
In this way, I truly recommend you use OCP 4.X or Minikube instead of, for example, which is very easy to install locally. Also, we could check that this change passes successfully in all CI jobs which teste it with OCP 4.X so I am closing this one since all lead us to believe that it is probably regards its usage with 3.11.
However, please to re-open if you see that is required.

I'm in the same situation, and am getting the same error.
Its a shame to see support for 3.11 being abandoned with OKD 4x is only in alpha.

HI  @magick93,
The OCP 3.11 uses and old version of the k8s api lib and then because of this is not possible to keep the compatibility with.  Also, I understand that this project will not be upgraded too.
See that the issue described here is fixed at 0.15.2 of  SDK as well which again is not compatible with 3.11. I'd recommend you use Minikube to do local tests since it is very easy to install too.

FWIW, since we're supporting migrations from anywhere back to 3.7 we've had to have our operator working at least that far back.
the passwd errors can be fixed with an adjusted entrypoint script.
https://github.com/konveyor/mig-operator/blob/master/build/entrypoint

Just to note it here: In that specific situation this error can also be bypassed by giving an env var USERNAME to the container, as the python method getuser() prefers to read that:
def getuser():
    """Get the username from the environment or password database.

    First try various environment variables, then the password
    database.  This works on Windows as long as USERNAME is set.

    """

    for name in ('LOGNAME', 'USER', 'LNAME', 'USERNAME'):
        user = os.environ.get(name)
        if user:
            return user

    # If this fails, the exception will "explain" why
    import pwd
    return pwd.getpwuid(os.getuid())[0]


Question: How to use system containerd in place of the microk8s containerd service

Summary
As part of a research project, I am trying to use different runtimes with microk8s which include gVisor, Kata and some more.
The containerd on my local machine is configured will all the runtimes I need to run with and I have been successfully able to run my applications on all the different runtimes using the crictl tool. I have been trying to now use that containerd version as part of my microk8s setup.
I tried editing the kubelet args at /var/snap/microk8s/current/args/kubelet to use a different containerd and also tried editing /var/snap/microk8s/current/args/containerd.toml to configure the microk8s containerd but to no avail as the configuration files get overwritten whenever I restart microk8s.
What Should Happen Instead?
I am not sure if what I am doing is the right approach or if it already working as intended but
I was expecting microk8s would launch with kubelet using the containerd on host machine when /var/snap/microk8s/current/args/containerd.toml is edited
Reproduction Steps

$ microk8s version
MicroK8s v1.27.4 revision 5643

Make any changes made to /var/snap/microk8s/current/args/containerd.toml  or /var/snap/microk8s/current/args/kubelet and check if they persist
Introspection Report
inspection-report-20230823_155757.tar.gz
Can you suggest a fix?

NA
Are you interested in contributing with a fix?
Yes, if  there is any required.

Thanks

Hey @alanpjohn ,
For the containerd.toml you'd need to update the template file here in order to persist your changes as this template gets updated with different dynamic configurations and creates the toml to be used. As for kubelet the changes should persist. We don't officially support such scenarios, as the snap has tightly bundled components. Make sure you go through upstream instructions on changing the container runtime as well.
Also beware this won't likely work on strict channels of microk8s.


[Fix #1087] Ignore CreateList offense on method call detection

As soon as a method call happens in a n.times { create(:my_factory, ...} block, nothing ensures that the method will return the same n times, so create_list and create will not nessecarly have the same output (ae create(:something, position: rand))

Before submitting the PR make sure the following are checked:

[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Updated documentation.
[x] Added an entry to the CHANGELOG.md if the new code introduces user-observable changes.
[x] The build (bundle exec rake) passes (be sure to run this locally, since it may produce updated documentation that you will need to commit).

Ping, @ngouy. Would you like to revive this PR?

I think so. Give me one week or so.
Pretty busy RN but next week should be good

we should be good @pirj


How to apply strikethrough within code segment

Is it possible to apply strikethrough within a code segment?

Nope. MD isn't processed inside code. For example:
~~strikethrough~~

`~~strikethrough~~`

```
~~strikethrough~~
```

strikethrough
~~strikethrough~~
~~strikethrough~~

I know the post is pretty old but I just wanted to say that I found this usage, even if it's a bit of a troublesome use. :satisfied:
void Foo(string[] args){
   foreach(var arg in args)
}

strikethrough code in markdown on github

@g-u-r-k-a-n Can you show how you did it ?
I tried everything on your link, but nothing gave the same result

@fmichaut-dev Sure. You should use del tag in the pre and code tags
void Foo(string[] args){
   foreach(var arg in args)
}


[build] fix chip_detail_logging=false (#4575)

Problem
As noted in #4575, there are two build breakages with chip_detail_logging=false.  This is due to unused temp variables, which remain after the preprocessor removes no-op calls to logging macros.

Summary of Changes
Use of temp variables is removed in two locations to fix the build errors.

Fixes #4575

#4578 should resolve the Zephyr CI failure, which is apparently broken in master.

#4578 should resolve the Zephyr CI failure, which is apparently broken in master.


The [Bug Report] el-input-number component cannot enter a number greater than 1 with decimals. It can only enter decimal numbers less than 1, and use: step=0.01 also has no effect

Element UI version
1.3.6
OS/Browsers version
chrome
Vue version
2.3.4
Reproduction Link
https://jsfiddle.net/cLp4ck7q/
Steps to reproduce
输入带小数的数字, 比如23.22, .22 会被忽略.
What is Expected?
能输入23.22
What is actually happening?
输入23.22 后, 只剩下23这个整数

Cannot reproduce

Don't input so fast, please input number slowly, the point will disappear

@niboac 这个input-number 似乎对手速有要求，可以使用el-input然后设置type=number来代替

@niboac Perhaps the debounce attribute is what you're looking for? It will allow you to specify a delay after an input when the component will validate it, and remove the previous input if it makes the number invalid.
I've set the delay to 1 second here: https://jsfiddle.net/cLp4ck7q/1/
Behavior with non-numeric characters:

@syn-zeta Exactly.
@niboac Please add debounce.

{ required: true, pattern: /^\d+$/, message: 'Please enter numeric', trigger: 'blur' }
only accept integer


Adding Retry support to HTTP SendMessage processor and TCP MessageTransfer task

Enhancement Request
Currently in Eventmesh-runtime, Retry logic is added to the following functions:

HTTP BatchSend processors, using  SendMessageContext
HTTP Pusher, using AsyncHttpPusherRequest
TCP SessionPusher using DownStreamMsgContext

But HTTP SendMessage processors and TCP MessageTransfer task don't have Retry support.
Is your enhancement request related to a problem? Please describe
This issue is to add Retry support to

HTTP SendMessage processors using SendMessageContext
TCP MessageTransfer task using SessionSender and UpStreamMsgContext

Describe the solution you'd like
This issue is to add Retry support to

HTTP SendMessage processors using SendMessageContext
TCP MessageTransfer task using SessionSender and UpStreamMsgContext

PR created for this issue. please review. Thanks.
https://github.com/apache/incubator-eventmesh/pull/529

PR merged. close issue. thanks.


Auto add exceptions

Hi Rob,
I have added something what could be a nice feature.
Auto adding a 404 status result for example in the openapi json file.
When you create an exception like this
package com.example;

import io.avaje.http.api.BadRequestResponse;
import io.avaje.http.api.StatusCode;

@StatusCode(505)
public class ExampleErrorResponse extends BadRequestResponse {
  public int example= 1;

  public ExampleErrorResponse (String message) {
      super(message);
  }
}

Then add it to a method like this:
@Post
public void updateExamplePost() throws ExampleErrorResponse
It will add it to the openapi with statuscode 505
Then to return these errors with the correct error code it should also be registered with the javalin service like this:
    javalin.exception(BadRequestResponse.class, (badRequestResponse, context) -> {
        context.json(badRequestResponse.getResponse());
        StatusCode statusCode = badRequestResponse.getClass().getAnnotation(StatusCode.class);
        if(statusCode != null)
            context.status(statusCode.value());
        else
            context.status(400);
    });

Hopefully you think it is a useful feature because I think it is quite handy to register fails also in the openapi documentation.
There are a few items left (or at least a few items)

I do not know if the tests still run I cannot run them on my machine.
I do not now if you can register the throwable exceptions the same way in helidon, jex etc because I have no experience with them.
Not sure if Kotlin has the same way of throwing error so also not sure if this works

Tijs

For Kotlin it does work but only when you add something like:
@Throws(BadRequestResponse::class)

Hi, still on holiday for another 2 weeks. I'll look at this when I am back but looks good !!

Hi, still on holiday for another 2 weeks. I'll look at this when I am back but looks good !!

Hi Rob,
I hope you had a nice holiday!
I was also wondering if you had the time to look at this pull request if it could work or if there are improvements to be made.
Tijs

Hi Rob,
I hope you had a nice holiday!
I was also wondering if you had the time to look at this pull request if it could work or if there are improvements to be made.
Tijs

Right, sorry for the delay.
I believe the openapi approach is to add something to the controller method like for example:
@ApiResponse(statusCode=503, MyException.class)
@Post
MyResponse doStuff(MyRequest body) {

}

I see some benefit to that approach.  Maybe it is a case of having both as well.  Sorry, I just need to actually get a bit of time to look at this.
Cheers, Rob.

No problem, and I think you are correct that that is the most used option.
But personally I like my method better because I like to automate things.
If we can detect that an exception is thrown and that exception has an status code why not add it automatically?
Because I think that a lot of people (me included :) ) forget to add the @ApiResponse when a method can throw an exception.
Although I do admit my method works better in Java then in Kotlin because Java needs to handle the exceptions and Kotlin does not if I am not mistaken.
Kind regards,
Tijs

@rbygrave Did you also find some time to look at this merge request?

This PR has been idle for quite some time, and the @ApiResponse(statusCode=503, MyException.class) approach has the advantage of showing the return type schema. So I'm gonna close this.


Clean up stale IP addresses on Antrea host gateway

When a Node leaves a K8s cluster and joins it again later, it is likely
that it will receive a different Pod CIDR. If we simply add the new
gateway IP (first IP in the CIDR) to the host gateway interface without
removing the previous one, we have observed that it can lead to
connectivity issues. This commit ensures that all stale IPs are removed
when configuring the gateway interface on an Agent restart. Link-local
addresses are left untouched. An integration test is added for both
Linux & Windows.
Fixes #1685

Integration test has to be run manually on Windows:

/test-all

/test-ipv6-all
/test-ipv6-only-all

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@f389d2e). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1900   +/-   ##
=======================================
  Coverage        ?   26.20%
=======================================
  Files           ?      184
  Lines           ?    15873
  Branches        ?        0
=======================================
  Hits            ?     4160
  Misses          ?    11165
  Partials        ?      548

Flag
Coverage Δ

e2e-tests
26.20% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

/test-all
/test-ipv6-all
/test-ipv6-only-all

/test-all
/test-ipv6-all
/test-ipv6-only-all

/test-ipv6-only-networkpolicy

/test-ipv6-only-networkpolicy

jenkins-ipv6-only-networkpolicy is failing because of a testbed issue. I will merge the PR since the job was passing before my latest commit, which only changed some integration test code.


⚠ Orpheus has degraded performance

In 501f403, Orpheus ($OPS) experienced degraded performance:

HTTP code: 200
Response time: 1865 ms

Resolved: Orpheus performance has improved in 130f3cb.


On Arm platform tests for group functions failed when targeting omp.accelerated

Bug summary
Acpp can be built without issue on Oracle A1 VPS (4-core Ampere Altra chip). However, the built-in tests for group functions all failed.
I saw this issue related to Arm: https://github.com/AdaptiveCpp/AdaptiveCpp/issues/1044
It seems acpp has been tested on Arm. I'm wondering if I didn't set up acpp correctly.
To Reproduce
# build acpp and builtin tests
./sycl_tests --run_test=group_functions_tests

Expected behavior
All tests should pass.
Describe your setup
CPU: Ampere Altra (Arm Neoverse-N1, 4 cores)
RAM: 24 GB
OS: Debian 12
Software: Boost 1.74, Python 3.11

how you have installed AdaptiveCpp, and which version/branch/git commit:
Build from source in GitHub repo develop branch
Describe the dependencies that AdaptiveCpp sits on top of in your setup:

clang version and how clang was installed:
Clang/LLVM 17.0.6 from official LLVM apt repo.
host compiler:
GCC 12.2 from official Debian repo
CUDA version (if applicable)
ROCm version and how ROCm was installed (if applicable)

How you have compiled your application and which arguments you have passed to acpp. In particular, which backends and hardware you have compiled for:

cmake -DWITH_SSCP_COMPILER=OFF -DWITH_ACCELERATED_CPU=ON -DWITH_OPENCL_BACKEND=OFF -DCMAKE_INSTALL_PREFIX=$HOME/Projects/AdaptiveCpp/install -DWITH_CUDA_BACKEND=OFF -DWITH_ROCM_BACKEND=OFF -DWITH_LEVEL_ZERO_BACKEND=OFF -DDEFAULT_TARGETS='omp.accelerated' ..

Optional additional diagnostic information
The following information can potentially help us:

For compilation/toolchain or setup-related issues: Setting the environment variable HIPSYCL_DRYRUN=1 during compilation will cause syclcc to print the commands it would execute instead of actually executing. This can help verify the sanity of your setup.
syclcc --hipsycl-version prints information about the AdaptiveCpp configuration that may be interesting for setup-related issues.

acpp warning: syclcc is deprecated; please use acpp instead.
acpp [AdaptiveCpp compilation driver], Copyright (C) 2018-2023 Aksel Alpay and the AdaptiveCpp project
  AdaptiveCpp version: 24.02.0+git.0359cac9.20240401.branch.develop.dirty
  Installation root: /home/ouankou/Projects/AdaptiveCpp/install
  Plugin LLVM version: 17, can accelerate CPU: True
  Available runtime backends:
     librt-backend-omp.so

Full configuration [can be overridden using environment variables or command line arguments]:
    version-major: 24
    version-minor: 02
    version-patch: 0
    version-suffix: +git.0359cac9.20240401.branch.develop.dirty
    plugin-llvm-version-major: 17
    plugin-with-cpu-acceleration: true
    default-clang: /usr/lib/llvm-17/bin/clang++
    default-targets: omp.accelerated
    default-cpu-cxx: /usr/bin/c++
    default-rocm-path: /opt/rocm
    default-use-bootstrap-mode: false
    default-is-dryrun: false
    default-use-accelerated-cpu: true
    default-clang-include-path: /usr/lib/llvm-17/lib/clang/17/include/..
    default-sequential-link-line: -L/usr/lib/aarch64-linux-gnu -lboost_context -lboost_fiber -Wl,-rpath=/usr/lib/aarch64-linux-gnu
    default-sequential-cxx-flags: -I/usr/include -D_ENABLE_EXTENDED_ALIGNED_STORAGE
    default-omp-link-line: -L/usr/lib/aarch64-linux-gnu -lboost_context -lboost_fiber -Wl,-rpath=/usr/lib/aarch64-linux-gnu -fopenmp
    default-omp-cxx-flags: -I/usr/include -fopenmp -D_ENABLE_EXTENDED_ALIGNED_STORAGE
    default-is-explicit-multipass: false
    default-save-temps: false

For issues related to the runtime, setting the environment variable ACPP_DEBUG_LEVEL=3 will cause it to print a lot of diagnostic information that might be helpful. Attach the output of your program with ACPP_DEBUG_LEVEL=3 if you think it might be helpful for your issue.
Execution output (fail.log) and DEBUG output(fail_output.log) are attached.
fail.log
fail_debug.log

Recent AdaptiveCpp versions include a tool called acpp-info, which will print information about available backends and devices. This may be interesting for issues related to e.g. device visibility.

=================Backend information===================
Loaded backend 0: OpenMP
  Found device: hipSYCL OpenMP host device

=================Device information===================
***************** Devices for backend OpenMP *****************
Device 0:
 General device information:
  Name: hipSYCL OpenMP host device
  Backend: OpenMP
  Vendor: the hipSYCL project
  Arch: <native-cpu>
  Driver version: 1.2
  Is CPU: 1
  Is GPU: 0
 Default executor information:
  Is in-order queue: 0
  Is out-of-order queue: 1
  Is task graph: 0
 Device support queries:
  images: 0
  error_correction: 0
  host_unified_memory: 1
  little_endian: 1
  global_mem_cache: 1
  global_mem_cache_read_only: 0
  global_mem_cache_read_write: 1
  emulated_local_memory: 1
  sub_group_independent_forward_progress: 0
  usm_device_allocations: 1
  usm_host_allocations: 1
  usm_atomic_host_allocations: 1
  usm_shared_allocations: 1
  usm_atomic_shared_allocations: 1
  usm_system_allocations: 1
  execution_timestamps: 1
  sscp_kernels: 0
 Device properties:
  max_compute_units: 4
  max_global_size0:<PHONE_NUMBER>3709551615
  max_global_size1:<PHONE_NUMBER>3709551615
  max_global_size2:<PHONE_NUMBER>3709551615
  max_group_size: 1024
  max_num_sub_groups:<PHONE_NUMBER>3709551615
  preferred_vector_width_char: 4
  preferred_vector_width_double: 1
  preferred_vector_width_float: 1
  preferred_vector_width_half: 2
  preferred_vector_width_int: 1
  preferred_vector_width_long: 1
  preferred_vector_width_short: 2
  native_vector_width_char: 4
  native_vector_width_double: 1
  native_vector_width_float: 1
  native_vector_width_half: 2
  native_vector_width_int: 1
  native_vector_width_long: 1
  native_vector_width_short: 2
  max_clock_speed: 0
  max_malloc_size:<PHONE_NUMBER>3709551615
  address_bits: 64
  max_read_image_args: 0
  max_write_image_args: 0
  image2d_max_width: 0
  image2d_max_height: 0
  image3d_max_width: 0
  image3d_max_height: 0
  image3d_max_depth: 0
  image_max_buffer_size: 0
  image_max_array_size: 0
  max_samplers: 0
  max_parameter_size:<PHONE_NUMBER>3709551615
  mem_base_addr_align: 8
  global_mem_cache_line_size: 64
  global_mem_cache_size: 1
  global_mem_size:<PHONE_NUMBER>3709551615
  max_constant_buffer_size:<PHONE_NUMBER>3709551615
  max_constant_args:<PHONE_NUMBER>3709551615
  local_mem_size:<PHONE_NUMBER>3709551615
  printf_buffer_size:<PHONE_NUMBER>3709551615
  partition_max_sub_devices: 0
  vendor_id:<PHONE_NUMBER>3709551615
  sub_group_sizes: 1

Additional context
Add any other context about the problem here.

Yes, it is expected to work on ARM, and was tested on A64fx and ThunderX2, but I don't know if anybody has ever tried it on Altra.
@nilsfriess, I recall you recently reported to have found some bugs in the tests. Were the group tests by chance among the problematic test cases?

Thanks for the info!
I've also tested it on the Apple M1 Arm chip. Except for acpp, all dependencies are installed from official Debian or LLVM repos.
System: Debian 12 in the UTM virtual machine
Software: LLVM 16 and 17, Boost 1.74.
Building config:
cmake -DWITH_SSCP_COMPILER=OFF -DWITH_ACCELERATED_CPU=ON -DWITH_OPENCL_BACKEND=OFF -DCMAKE_INSTALL_PREFIX=$HOME/Projects/AdaptiveCpp/install -DWITH_CUDA_BACKEND=OFF -DWITH_ROCM_BACKEND=OFF -DWITH_LEVEL_ZERO_BACKEND=OFF -DDEFAULT_TARGETS='omp.accelerated' ..

Identical failures to group functions happened.

I only found some UB in the tests, but I don't think the group tests were among the problematic tests. But I'll check again

Checked again, there is actually a problem in the group tests (an integer overflow, to be specific). Not sure if this can explain the error reported above.

@ouankou Can you check whether it works as expected with omp.library-only target?


Fix issue reported by PHPStan

The original author of this fix is @dkarlovi, who kindly provided the solution in https://github.com/javiereguiluz/demo/pull/1/files
Thanks!

The new error should be fixed by updating the PHPStan baseline, an error previously reported is no longer reported.


pythonPackages.tpm2-pytss: fix build

Description of changes

Adds missing pyyaml dependency

Propagate setuptools-scm:  I'm not sure if this is the correct fix, but adding to propagatedBuildInputs fixes the build of tpm2-pkcs11 that depends on tpm2-pytss

Have not tested this change against an actual tpm2 chip.
Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

@GrahamcOfBorg build tpm2-pkcs11
@GrahamcOfBorg build python3Packages.tpm2-pytss

Propagate setuptools-scm: I'm not sure if this is the correct fix, but adding to propagatedBuildInputs fixes the build of tpm2-pkcs11 that depends on tpm2-pytss

Almost never the the correct place. Usually nativeBuildInputs.

I believe propagatedNativeBuildInputs is used for this purpose.

The missing pyyaml dependency was fixed by https://github.com/NixOS/nixpkgs/pull/184684

Propagate setuptools-scm:  I'm not sure if this is the correct fix

Unless they do something really sketchy it is not.


fix error when creating a histogram with unorderable values in python 3

When running the test suite on Python 3, test_none_handling() in tests/test_distribution.py fails with TypeError: '<' not supported between instances of 'NoneType' and 'int'.
This is caused by the test data (0,1), (None, 0), (2, 0), which Histogram attempts to put in order.  In Python 2, this is possible since None < x for a number x is valid (and True), but in Python 3 the comparison raises an exception.
The setter in Histogram tests for unorderable test data by catching TypeError: unorderable exceptions.  With Python 3, it's also necessary to catch the similar TypeError: '<' not supported exceptions.

Commit b01e014 addresses this issue.


Roll Plugins from 638dd07f51fa to 1b8b8dadc6db (1 revision)

https://github.com/flutter/plugins/compare/638dd07f51fa...1b8b8dadc6db
2021-11-09<EMAIL_ADDRESS>[google_maps_flutter] Disable XCUITest (flutter/plugins#4490)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-plugins-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


CB-9751 Added field to maintain object reference to gauge values

See detailed description in the commit message.

@attilapalfi92 @daszabo shall we merge this?

@attilapalfi92 @daszabo shall we merge this?


function selectors

print out a list of function selectors. Should be able to pull it from the build folder.
mox inspect CONTRACT abi

Will compile and return the ABI
mox inspect CONTRACT methods

Will return a list of methods and their function selectors

added in https://github.com/Cyfrin/moccasin/pull/53


AE balances displayed as 0.

Issue: AE balances displayed as 0. Fiat values also missing from all UI elements.
SH wallet status is "Connected" to Mainnet.
Observed: browser extension both Chrome and Firefox.


Enable text selection for Xcode version

Close #415

This has been added via https://github.com/XcodesOrg/XcodesApp/pull/503