Absence of configuration.yaml triggers overwrite for other configs

Home Assistant release with the issue: any

Last working Home Assistant release (if known):
Operating environment (Hass.io/Docker/Windows/etc.): venv/systemd

Component/platform: homeassistant/config.py

Description of problem:
If the configuration.yaml is absent for any reason (mine was vim save and a very slow IO), the code on https://github.com/home-assistant/home-assistant/blob/308d1fbba02d61b563a7cb862bfe96a2e95109ff/homeassistant/config.py#L283 will overwrite existing configs. This could lead to the data loss, if the config is not backed up.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):

Traceback (if applicable):
Unable to find configuration. Creating default one in /home/homeassistant/.homeassistant

Additional information:

When configuration.yaml is missing, the configuration already broken.
I don't think we want to fix such edge case.

Well, I don't think we should overwrite existing files anyway. Missing config could be a temporary situation, and bailing out on the first sight of unsafe behavoir would be safer option.
Anyway, PR is on the way.

The problem is if you fat finger a save from nano or vim and it changes the name of configuration.yaml, you lose all your secrets, automations, scripts, and groups if you don't notice. A simple check for exist for each file before overwriting with default would be an easy fix.

Not until you restart hass, doesn't?

Being empty is the better of the two of those options I'd say.
But I still think a check for each file is best. It's just good practice in general to check for overwriting before writing any file.

It's good practice to have atomic file write operation, like writing in a tempfile and atomically move-if-not-there. I'm not sure it works with Windows.

Is there a reason just adding if not os.path.isfile(file_name): before each of the 6 default file writes isn't a viable option?
It works as expected on my machine when I tested it. I can make a PR for it if that's adequate.


Bug(http headers): add range headers for assets

Q
A

Bug fix?
YES

New feature?
NO

BC breaks?
NO

Deprecations?
NO

Fixed tickets
NO

This fix adds HTTP Range headers support and so clients are now able to have seek/random access to assets. I.e. to stream video and music files

This would throw exceptions on every getter function :( this is way more code and try/catches than throwing an exception on creation, and handling it once.

What about this solution a38964dcd637e979158224c81d9426201b1e1270 then? The object is always complete (and valid), without any exception

In your original code, you would return $response if $range === null. That is why it seems logic to throw an exception and catch that case + outOfRange in the same manner. This return is still happening, but hidden deaper in the code.
Another reason, if someone would scan the code, throwing an error would clearly indicate where potential issues can arise. (when infact there is no range). Hiding all this inside the Range object is allowing it to be invalid. If you read the current implementation, the $supported===false means that there is no Range, so the Range object is invalid.
I did the refactor in #79 to show that in fact throwing an error would produce lesser code.

I are converging I think: dc5d1702d99690bbe827a57705ac30780d6e3645

dc5d1702d99690bbe827a57705ac30780d6e3645


++FULL~Clip Oviya Viral Leaked Video On Social Media X Today

09 sec ago, Oviya Leaks Video On Social Media X Twitter[2B75K]
Oviya's latest video has taken social media by storm, captivating viewers and sparking widespread discussions. This young digital creator has garnered significant attention for her engaging content, particularly with her recent Spiderman-themed video that has gone viral. Fans are eagerly searching for where to watch the full video, turning to platforms like Instagram, X (formerly Twitter), and Discord for access.
As the buzz around Oviya grows, fans are actively sharing their reactions online. The viral success of her video highlights the powerful role of social media in propelling creators into the spotlight.


Rest API not in api module

Category: enhancement
Severity: Medium
Expected behaviour
MTSJ follows devon4j guidelines and structure so REST API (interfaces) are located in api
Actual/current behaviour (In case of bug)
REST API (interfaces) are located in core
Steps to reproduce (In case of bug)
:)
Description of issue / expected enhacement /Comments
move the interfaces to api and close this issue.
Your environment - windows/Linux, Devonfw version , component
not relevant.

@lmarniazman changes are looking good. Will we receive a pull-request from it?
Also I found there is a REST service that does not have an interface at all:
https://github.com/devonfw/my-thai-star/blob/develop/java/mtsj/core/src/main/java/com/devonfw/application/mtsj/general/service/impl/rest/SecurityRestServiceImpl.java

@hohwille Should I create an interface for the service you mentioned and add it to the PR? I had the impression that the interface is missing on purpose as it may not be needed.

Should I create an interface for the service you mentioned and add it to the PR? I had the impression that the interface is missing on purpose as it may not be needed.

I already merged your PR. But I can see no purpose why this rest service should not be part of the API. Otherwise it can not be used  service client (via https://github.com/devonfw/devon4j/blob/develop/documentation/guide-service-client.asciidoc#service-client).
So if you can provide another PR resolving this, it would be awesome as we can then close this issue.


Update all remaining articles to use V4

Is your feature request related to a problem?
The current documentation https://pegasystems.github.io/pega-datascientist-tools/Python/index.html still uses the V3 codebase, so all examples are misaligned with the alpha version.
Describe the solution you'd like
We should update them to use V4
Describe alternatives you've considered

Additional context
No response

Closed by #283


[3.x] Fix icon color for Label3D and CPUParticles2D

Fixes #62750
FlowContainer icons are already fixed by #62559.

Thanks!


Add a Jenkinsfile for getDependency jobs

Since we now have two getDependency jobs - one for systemtest builds and one for non-systemtest builds, it makes sense to commit the configuration of these jobs in repository in form of Jenkins files.

@AdamBrousseau I've updated test.getDependency and systemtest.getDependency jobs at Adopt and also in the internal Jenkins server to use the new getDependency Jenkins file that was delivered as part of this issue. Could you please make the same updates in the corresponding jobs in the ci.eclipse Jenkins (I do not have permission to do it)?
To summarize, we need the following updates:

in systemtest.getDependency job at ci.eclipse

Switch to using the getDependency Jenkins file as used in the systemtest.getDependency job at adopt.
Note we need to introduce a new parameter in the build called BUILD_TYPE and set it to systemtest.
Note we changed the build schedule to @weekly.

in test.getDependency job at ci.eclipse

Switch to using the getDependency Jenkins file as used in the test.getDependency job at adopt.
Note we need to introduce a new parameter in the build called BUILD_TYPE and set it to test.

Done

BUILD_TYPE and set it to test

Your script only does if systemtest { }; else {}


Added action to open update image wizard component using table actions

Added action to open update image wizard component using table actions. If an image has a status of success show update action.

@matoval today your team mate @resoluteCoder is going to review your PR.
If you need help with resolving conflicts - lemme know I will be happy to help you.
Again sorry for blocking you with this.

@matoval small nitpick request - make your commit message less than 71 characters.
Thanks.


Support separate collections

Can you let me know your post code so I can check what the council API is returning in these cases.

Cf24 2nq

Sorry, just realised this supported using the Glass collection sensor


vitest 1.6.0 and axios tests fails with error DataCloneError: function transformRequest

Describe the bug
Hello,
After upgrading to vitest 1.6.0 we started to face some weird errors during test execution.
Same tests was working and are still working fine with version 1.5.0.
It looks that the issue occurs when an AxiosError is thrown by the test.
When this error occurs vitest stops executing other test but doesn't really report a failure.
The vitest worker looks to crash and to not execute other tests in the same file.
The error looks like the following:
⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Errors ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯

Vitest caught 2 unhandled errors during the test run.
This might cause false positive tests. Resolve unhandled errors to make sure your tests are not affected.

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
DataCloneError: function transformRequest(data, headers) {
    const contentType = headers.getContentType() || '';
    const ha...<omitted>... } could not be cloned.
 ❯ new DOMException node:internal/per_context/domexception:53:5
 ❯ post node_modules/vitest/dist/vendor/utils.0uYuCbzo.js:10:12
 ❯ node_modules/vitest/dist/vendor/index.8bPxjt7g.js:48:11
 ❯ sendCall node_modules/vitest/dist/vendor/index.8bPxjt7g.js:33:16
 ❯ node_modules/vitest/dist/vendor/rpc.joBhAkyK.js:79:18

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
Serialized Error: { code: 25, INDEX_SIZE_ERR: 1, DOMSTRING_SIZE_ERR: 2, HIERARCHY_REQUEST_ERR: 3, WRONG_DOCUMENT_ERR: 4, INVALID_CHARACTER_ERR: 5, NO_DATA_ALLOWED_ERR: 6, NO_MODIFICATION_ALLOWED_ERR: 7, NOT_FOUND_ERR: 8, NOT_SUPPORTED_ERR: 9, INUSE_ATTRIBUTE_ERR: 10, INVALID_STATE_ERR: 11, SYNTAX_ERR: 12, INVALID_MODIFICATION_ERR: 13, NAMESPACE_ERR: 14, INVALID_ACCESS_ERR: 15, VALIDATION_ERR: 16, TYPE_MISMATCH_ERR: 17, SECURITY_ERR: 18, NETWORK_ERR: 19, ABORT_ERR: 20, URL_MISMATCH_ERR: 21, QUOTA_EXCEEDED_ERR: 22, TIMEOUT_ERR: 23, INVALID_NODE_TYPE_ERR: 24, DATA_CLONE_ERR: 25 }
This error originated in "apps/api-e2e/src/test-executions/post2.spec.ts" test file. It doesn't mean the error was thrown inside the file itself, but while it was running.
The latest test that might've caused the error is "Created nominal case". It might mean one of the following:
- The error was thrown, while Vitest was running this test.
- If the error occurred after the test had been completed, this was the last documented test before it was thrown.

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Error ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯
{
  stackStr: 'DataCloneError: function transformRequest(data, headers) {\n' +
    "    const contentType = headers.getContentType() || '';\n" +
    '    const ha...<omitted>... } could not be cloned.\n' +
    '    at new DOMException (node:internal/per_context/domexception:53:5)\n' +
    '    at post (file:///.../node_modules/vitest/dist/vendor/utils.0uYuCbzo.js:10:12)\n' +
    '    at file:///.../node_modules/vitest/dist/vendor/index.8bPxjt7g.js:48:11\n' +
    '    at new Promise (<anonymous>)\n' +
    '    at sendCall (file:///..../node_modules/vitest/dist/vendor/index.8bPxjt7g.js:33:16)\n' +
    '    at file:///.../node_modules/vitest/dist/vendor/rpc.joBhAkyK.js:79:18',
  nameStr: 'DataCloneError',
  expected: 'undefined',
  actual: 'undefined',
  type: 'Unhandled Error',
  stacks: [
    {
      method: 'new DOMException',
      file: '/node:internal/per_context/domexception',
      line: 53,
      column: 5
    },
    {
      method: 'post',
      file: '/node_modules/vitest/dist/vendor/utils.0uYuCbzo.js',
      line: 10,
      column: 12
    },
    {
      method: '',
      file: '/node_modules/vitest/dist/vendor/index.8bPxjt7g.js',
      line: 48,
      column: 11
    },
    {
      method: 'sendCall',
      file: '/node_modules/vitest/dist/vendor/index.8bPxjt7g.js',
      line: 33,
      column: 16
    },
    {
      method: '',
      file: '/node_modules/vitest/dist/vendor/rpc.joBhAkyK.js',
      line: 79,
      column: 18
    }
  ]
}
 ❯ new DOMException node:internal/per_context/domexception:53:5
 ❯ post node_modules/vitest/dist/vendor/utils.0uYuCbzo.js:10:12
 ❯ node_modules/vitest/dist/vendor/index.8bPxjt7g.js:48:11
 ❯ sendCall node_modules/vitest/dist/vendor/index.8bPxjt7g.js:33:16
 ❯ node_modules/vitest/dist/vendor/rpc.joBhAkyK.js:79:18

Reproduction
Here is a stackblitz allowing to reproduce the bug: https://stackblitz.com/edit/vitest-dev-vitest-henjam?file=test%2Fsuite.test.ts
System Info
System:
    OS: Linux 6.5 Ubuntu 23.10 23.10 (Mantic Minotaur)
    CPU: (16) x64 11th Gen Intel(R) Core(TM) i9-11950H @ 2.60GHz
    Memory: 14.62 GB / 31.01 GB
    Container: Yes
    Shell: 5.2.15 - /bin/bash
  Binaries:
    Node: 20.14.0 - /usr/bin/node
    Yarn: 1.22.21 - /usr/bin/yarn
    npm: 10.7.0 - /usr/bin/npm
  Browsers:
    Chrome: 125.0.6422.141
  npmPackages:
    @vitejs/plugin-react-swc: 3.5.0 => 3.5.0
    @vitest/coverage-v8: 1.6.0 => 1.6.0
    @vitest/ui: 1.6.0 => 1.6.0
    vite: 5.0.12 => 5.0.12
    vitest: 1.6.0 => 1.6.0

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Had the same error Today

Looks like axios's toJSON doesn't return json-compatible object. Looks like we still need to proicess it:
https://github.com/vitest-dev/vitest/blob/c238072fdf27816511c3a9261bb05ebf5992988a/packages/utils/src/error.ts#L48
Like here:
https://github.com/vitest-dev/vitest/blob/c238072fdf27816511c3a9261bb05ebf5992988a/packages/utils/src/error.ts#L40

@sheremet-va If the change is to apply the same logic at line 48 than line 40, I guess I can do it.
By the way, is there a chance to have this fix in a 1.6.x or more genreally on 1.x version?
And if yes is there something special to do?

@sheremet-va If the change is to apply the same logic at line 48 than line 40, I guess I can do it. By the way, is there a chance to have this fix in a 1.6.x or more genreally on 1.x version? And if yes is there something special to do?

The change is applying the logic and adding a test.

Do you have an idea on how to write a such test?

Just call the function with previously failing parameters here:
https://github.com/vitest-dev/vitest/blob/c238072fdf27816511c3a9261bb05ebf5992988a/test/core/test/serialize.test.ts#L6

Hello, I took a look unfortunately I don't know how to write a test the fails with the current implementation.

Also faced this issue testing axios clients.

Hello @sheremet-va ,
Do you know if it is planned to releas a 1.6.1 or a 1.7.0 version with this fix?

Hello @sheremet-va ,
Do you know if it is planned to releas a 1.6.1 or a 1.7.0 version with this fix?

The next release is 2.0. If this bug is bothering you, you can stay at 1.5.3.


More verbose error messages in oneOf

I like the simplicity of the current error model (just a string is sometimes exactly what you want), but currently if a union fails to decode, you get virtually no information.
Combining the errors somehow would be great to have. Some ideas:

Either -> EitherNel (probably the most intrusive change)
ReadError as an ADT
just combining the strings to a larger string in the decoding logic for alternatives

I actually have some notes on errors in general, the design space is not so trivial. I'm gonna share when I get some time

Agreed, it's definitely not trivial 😅 especially if we consider error accumulation for records too.

yeah, just hit this again - @SystemFw do you have bandwidth to give errors a closer look?
For @semenodm's toString issue we can probably to a quick workaround by adding a toString override.

I'd take a PR to fix the immediate problem with toString, I don't know how long it'll be before I can look at the design more broadly

I believe the #29 has addressed the issue partially: the resulting error now contains all the underlying branches failures


laptopnoise.com changed

It seems like the website hosting the laptop noises doesn't exist anymore and something unrelated is hosted there now. The entry should probably be removed.

Thanks @kscarlett . That is now fixed 🍻


luci-app-pbr: recursive dependency

Steps to reproduce:
@stangri During build tree preparation I get the following error for package "luci-app-pbr"
tmp/.config-package.in:57264:error: recursive dependency detected!
tmp/.config-package.in:57264:   symbol PACKAGE_luci-app-pbr depends on PACKAGE_luci-app-pbr
For a resolution refer to Documentation/kbuild/kconfig-language.rst
subsection "Kconfig recursive dependency limitations"

I think the problem is the pbr package in the package feed.
This is the generate section of the .config-package.in file
config PACKAGE_luci-app-pbr
    tristate "luci-app-pbr......................... Policy Based Routing Service Web UI"
    default y if DEFAULT_luci-app-pbr
    default m if ALL
    select PACKAGE_jsonfilter
    select PACKAGE_pbr if PACKAGE_pbr-iptables<PACKAGE_luci-app-pbr
    select PACKAGE_libc
    depends on !(PACKAGE_pbr-iptables<PACKAGE_luci-app-pbr) || IPV6
    depends on !(PACKAGE_pbr-iptables<PACKAGE_luci-app-pbr && IPV6) || IPV6
    select PACKAGE_luci-base
    help
      Provides Web UI for Policy Based Routing Service.
      https://github.com/openwrt/luci
      OpenWrt LuCI community

I think the problem is the PROVIDE line https://github.com/openwrt/packages/blob/master/net/pbr/Makefile#L37
@stangri can you please have a look on this issue?
Additional Information:
Latest openwrt master

@feckert do you have a suggestion on how can I change the Makefile so that variants still provide pbr but it doesn't cause the recursive dependency?

@stangri thanks your pullrequest fixed it. No more error messages.


Non-utilisation of available cores on multi-core Intel CPU for Intel Optimized TF build

Please make sure that this is a bug. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):     Yes (custom code)
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):  Linux Ubuntu 16.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: N/A
TensorFlow installed from (source or binary): binary( Intel Optimized TF)
TensorFlow version (use command below): 1.12
Python version: 3.6.5
Bazel version (if compiling from source): N/A
GCC/Compiler version (if compiling from source): N/A
CUDA/cuDNN version: N/A
GPU model and memory: N/A(no GPU) but Intel i5 7200U @ 2.50GHz * 4  with 7 GB memory and 64-bit OS

You can collect some of this information using our environment capture script
You can also obtain the TensorFlow version with
python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)"
Describe the current behavior
The load does not get shared by all the available cores(mostly one core at a time), as a result the performance is poor.
Describe the expected behavior
Expect the load to be shared by all the available cores and the performance to scale up with increasing number of cores.
Code to reproduce the issue
Follow this link and run the scripts as mentioned: https://github.com/mystic123/tensorflow-yolo-v3https://github.com/mystic123/tensorflow-yolo-v3
Other info / logs
I have used  KMP, OMP and ConfigProto settings and nothing seems to improve the performance.

Is there any more followup needed on this issue?


update to node 12

could be a bit of a challenge as pkg is very badly maintained...

Related issues: https://github.com/dungeon-revealer/dungeon-revealer/issues/256 https://github.com/dungeon-revealer/dungeon-revealer/issues/551

Okay, I did some more digging.
We should upgrade to Node.js v12.18.2 which is the current LTS.
The problem is that pkg-fetch does not provide arm binaries for the latest version (https://github.com/vercel/pkg-fetch/releases). Fortunately, someone stepped up for the gap (https://github.com/robertsLando/pkg-binaries/releases/tag/v1.0.0), however, it is still missing armv7, but I guess we could contact the maintainer and he will create it.
What about other ARM versions that should be supported and build binaries for?

v12.18.1-macos-x64 (pkg-fetch)
v12.18.1-win-x64 (pkg-fetch)
v12.18.1-linux-x64 (pkg-fetch)
v12.18.1-alpine-x64 (pkg-fetch)
v12.18.1-alpine-armv7 (NOT AVAIABLE YET on pkg-binaries)

Steps:

Upgrade pkg to the latest version (https://github.com/dungeon-revealer/dungeon-revealer/pull/254)
Configure Github Actions to use the EXACT Node.js versions as bundled (same for the docker images)

The problem is that pkg-fetch does not provide arm binaries for the latest version (https://github.com/vercel/pkg-fetch/releases). Fortunately, someone stepped up for the gap (https://github.com/robertsLando/pkg-binaries/releases/tag/v1.0.0)

Perfect! We had to emulate an arm environment to compile binaries because those didn't previously exist. Hopefully we can use them to cross-compile which should be much faster.

What about other ARM versions that should be supported and build binaries for? By taking a look at the Rasberry PI table armv6, armv7 and armv8 would make sense to cover all, is that correct?
v12.18.1-macos-x64 (pkg-fetch; covers MacBooks and iMac)
v12.18.1-win-x64 (pkg-fetch; covers all Windows)
v12.18.1-linux-x64 (pkg-fetch; covers Linux Desktop + most servers)
v12.18.1-linux-armv6 (pkg-binaries, armv6 can also be used in armv7; covers one half of rasberry pi)
v12.18.1-linux-arm64 (pkg-binaries, armv8 is equal to arm64; covers other half of rasberry pi)

The docker images cover all of these architectures and work on all platforms. That's why I pushed for docker. However, it would be nice to have these covered with binaries for people that don't want or know  how to use docker. Macos arm binaries will be really important considering that they're going to switch in the future.

Remove the pkg compile commands from the package.json and instead inline that stuff in the workflow file (to avoid hopping around and stuff getting out of sync); also: avoid --target host in favor of the explicit target

Targeting the host is useful in the job_build stage of the binary build workflow because it uses a matrix. It's not critical to target the host as we could explicitly write out each of the jobs in the matrix. It just makes the workflow annoying to maintain because of all the duplicated code.

https://github.com/mapbox/node-sqlite3/pull/1362


Write JUnit test for List (Pair 1)

According to #17, the following functions should be tested:
Jonas:

[x] public java.lang.Object toJava()
[x] public int hashCode()
[x] public org.python.Object __hash__()
[x] public boolean isHashable()
[ ] public List()
[ ] public List(java.util.List<org.python.Object> list)
[ ] public List(org.python.Object[] args, java.util.Map<java.lang.String, org.python.Object> kwargs)
[ ] public org.python.Object __new__()
[ ] public org.python.Object __init__()
[x] public org.python.Object __iadd__(org.python.Object other)

Melker:

[x] public org.python.Object __bool__()
[ ] public org.python.types.Str __repr__()
[ ] public org.python.types.Str __format__()
[ ] public org.python.Object __lt__(org.python.Object other)
[ ] public org.python.Object __le__(org.python.Object other)
[ ] public org.python.Object __eq__(org.python.Object other)
[ ] public org.python.Object __gt__(org.python.Object other)
[ ] public org.python.Object __ge__(org.python.Object other)
[ ] public boolean __setattr_null(java.lang.String name, org.python.Object value)
[ ] public org.python.types.Int __len__()
[ ] public org.python.Object __getitem__(org.python.Object index)

Note: public org.python.Object __iadd__(org.python.Object other) it was not possible to coverage all lines

Apparently we don't need to cover internal underscore functions, so I'll just finish up the List constructor and we should be done.


Idea: Add a "Get Involved" page

Description
Currently, there's no clear way for visitors to learn how to get involved with GDI in various ways.
Ask
Create a page for anyone who wants to get involved--whether as a Chapter Leader, instructor, TA, volunteer, sponsor, or someone who wants to take a class or stay updated via the meetup page. The page could describe each role and the next step(s) for anyone interested. Navigationally, this page could "live" in the footer or be a tab at the top level.
To Do

[ ] Draft page content
[ ] Build and publish page
[ ] Link to page in top nav and/or footer

Additional Info
SF's meetup page has some good content describing the various roles: http://www.meetup.com/Girl-Develop-It-San-Francisco/pages/How_You_Can_Help/
Thoughts? Suggestions? Input of any kind? Please comment! :)

:clap: first Issue for @SisqosDeepCuts!! :clap:

This sounds like a great idea! I'll work on drafting the page content.

Okay! So @snkahn and her team were [winners!!] at the BattleHack event this past weekend and came up with a solid "contribution" type of page. I think we can leverage a lot of these ideas and consolidate it with a FAQ section, too.
https://warriorprincess.herokuapp.com/
@corinnepw could provide some of the common email questions she faces at the HQ level for the FAQ.
Let's get input/feedback rolling so we can push this!

full set of html/css templates here: https://github.com/snkahn/warriorprincess/

the whole angular app is here: https://github.com/Sarah4VT/warrior (we had to move it, merge conflicts at 2am)

This is great! I love the Warrior Princess app.
I'm working on the FAQs right now, but these are in response to general questions regarding location of chapters, how to sign up for classes, do you allow men to attend, etc. These were the type of questions that we received most frequently through the info@ email address. I've started the list of questions and am working on the 'answers'.
Here's the link to the document: https://docs.google.com/a/girldevelopit.com/document/d/1JmiVWkbYHY5gMbzSJKzaKjY2XDiQzvF468vpzuAi1xQ/edit?usp=sharing
Let me know how this fits with what you are thinking and how I can help.

hmm. these might be different things, and that's ok. i can slap together some wireframes to more fully demonstrate what we were trying to accomplish with our app. hubby's out of town so i can spend some time tonight

@snkahn @GretchenLynd I think we'll have an obvious separation between a FAQ section of the page (maybe accordion style or something?) and the "funnel" app for getting folks into the proper chapter near them. That way we can redirect the majority to a nearby hub while the rest get the common, universal questions.
Does this make sense?

@snkahn @kstack7  I think you're right, they're probably 2 different sections.
We were getting a lot of "I want to take the HTML/CSS class - how do I sign up?"-type questions. I'm guessing that they were looking at "Materials" and then sending an email when they couldn't figure out next steps. Perhaps there could be some text on the "Materials" page about visiting the Chapters page to help them find the Chapter and schedule nearest them? Just one example, but this will definitely be an FAQ.

How's the FAQ list coming? I'm wondering if this is something we could put up on the site while the "Get Involved" side is being created? Just so we're offering the helpful info as much as soon as we can...

Hi Kristen - I wish I could say I was finished with it, but have had a few
priority projects pop up. It's getting closer to the top of the list, but
won't be for another week or two. I'm working on the switch from Amazon
Payments to WePay this week.
Best,
Gretchen
On Tue, May 12, 2015 at 10:29 PM, Kristen<EMAIL_ADDRESS>wrote:

How's the FAQ list coming? I'm wondering if this is something we could put
up on the site while the "Get Involved" side is being created? Just so
we're offering the helpful info as much as soon as we can...
—
Reply to this email directly or view it on GitHub
https://github.com/girldevelopit/gdi-new-site/issues/282#issuecomment-101509944
.

--
Gretchen Kastetter
Web Designer
HauntedMesaDesign.com http://HauntedMesaDesign.com
<EMAIL_ADDRESS>970.222.9383

@GretchenLynd Ah that's understandable. Sounds good! I hope to keep the discussion going on this anyways so we can perhaps segment this big idea into executable pieces. FAQ alone will definitely have a faster turnaround once we're all set. Thanks! :+1:

@kstack7
Here is the document for the FAQ's for the website. There may be some later additions, but nothing eminent.
https://docs.google.com/document/d/1JmiVWkbYHY5gMbzSJKzaKjY2XDiQzvF468vpzuAi1xQ/edit

Woo! Thanks @GretchenLynd  :)


GRSIFrame questions/feature requests

I got an email from Daniel Yates about grsiframe that I think others who start using it might find interesting:
I have been trying out the RDataFrame implementation in GRSISort that you’ve added. It seems to work quite well, but I have a few questions on things I'd like to implement. Hopefully you can help with them.

Is there a good location to place items that need to be executed only once prior to the event loop? For instance, loading in a TCutG or defining a TSRIM and TReaction for the analysis. It seems like those things can’t be globally defined, as I get a type error when doing that.
Is there a way to pass other arguments (like an int or a string) into the helper to be evaluated in the code later? For example, for passing the reaction target thickness to the code and having it adjust the incident beam energy based on that.
Is it possible to create TDirectories and write certain histograms to certain directories within the output file? I have TIGRESS, SHARC, and TRIFIC histograms in the sort code, and it would be nice to separate them into TIGRESS, SHARC, and TRIFIC TDirectories within the output file.

I think the easiest spot would be the CreateHistograms function as this is only executed once for each slot. If however you want a function that is only executed a single time (and not once for each slot), then that would be probably best implemented in the constructor. The constructor is in the header file for all the examples, because it doesn't do much, just sets the prefix and calls TGRSIHelper::Setup, but you could easier expand this, or just have the declaration in the header file and put the (longer) implementation in the source file.

We don't have a way to pass arguments on the command line if that is what you are asking, but we do have the GValue-files (extension .val) which can be used to define GValues. You can see how that is used in the FastTimingHistSelector. The GValue-files have a format like this:
GRSISort.FastTiming.DrainingEnergy {
value: 352.0
}

GRSISort.FastTiming.DrainingLow {
value: 342.0
}
and so on.

I have never tried creating directories, but it might be possible to simply do that in the CreateHistograms function?

Maybe another thing that would be helpful to know: if it's possible to sort a branch only if that branch exists.
For instance, I have a big data set where some of the runs contain TTigress, TSharc, TTrific, but some of them only contain TTigress and TSharc. If you use the GRSIFrame helper that contains all 3 branches on a run without TTrific, it throws this error:
terminate called after throwing an instance of 'std::runtime_error'
what():  Unknown column: TTrific

In a non-parallel sorting code, you can do something like
TTrific *trif = 0;
if (AnalysisTree->FindBranch("TTrific"))
{
  AnalysisTree->SetBranchAddress("TTrific", &trif);
}
//event sorting loop
for (int i = 0; i < entries; i++){
  if(trif){
    //do trific things only if TTrific branch exists
  }
}

and it will only try to sort TRIFIC data if TTrific branch exists. Is there a way to do something similar in the GRSIFrame helpers? It would be nice to not have to go and edit the .cxx and .hh files to change which branches are present each time I want to sort the different runs.

As far as I know that is not possible, but I will look into this.

I did a quick test for 3. and it does not work. The way grsiframe works right now is that the helper code returns a TList that is automatically filled with all histograms in the fH1, fH2, fH3, fSym, fCube, and fTree maps. That list is written in the end using TList::Write().
To change that behaviour, we could replace the single TList with a vector of GList (new class that inherits from TList and adds a directory path to it, could have a different name like TGRSIList). Then the loops that add the histograms from the maps would key (aka name) of the histograms and use everything up to the last / as a path-name for the GList and add it to the one that matches the path-name (or creates a new one with the path-name). And finally we loop over the vectors of lists and write each list in the path given by its path-name.

Okay, I found a way to implement a solution for 3. Wasn't necessary to add a new class, just changing the return type from the helper from std::shared_ptr<TList> to std::shared_ptr<std::map<std::string, TList>>, i.e. instead of returning a single list with everything we return a map that maps paths to lists. The main part of the code then creates those paths (if they don't exist) and writes everything from the list to that specific path.
I created a new helper called DirectoryHelper in the examples folder. Note that the path is only used for the keys of the maps of histograms, not in the histogram name itself!
I also updated all other helpers in the example folder to return a map of lists instead of a list. This is something that has to happen for every single helper, whether it uses  directories or not!

I have another question related to GRSIFrame. How does it actually split an analysis tree into different threads? I'm asking because I would like to compare events (time-ordered) in chunks. Like creating an energy histogram with events 1-10000, another histogram with events 10001-20000, a third with events number 20001-30000, etc. I'm not sure if GRSIFrame can do that at all, or if I need to do a simple sequential sort code that keeps track of the event number. It would be much faster to do what I'd like if this is doable by GRSIFrame though.

Ok one more question: is there a way to delete histograms in the Helper::EndOfSort() function? I have some histograms that may or may not be filled during the event sorting. I don't really need to write the histograms that haven't been filled to the output file. It would be useful to iterate over the entire TList (or list of lists I guess) of histograms, check each for number of entries, and delete some of them.
Like this pseudocode:
void Helper::EndOfSort(){
    for (hist in TList){
        if (hist->GetEntries() < 10) hist->Delete(); //(or otherwise not write this particular hist to the output file)
    }
 }

I have another question related to GRSIFrame. How does it actually split an analysis tree into different threads? I'm asking because I would like to compare events (time-ordered) in chunks. Like creating an energy histogram with events 1-10000, another histogram with events 10001-20000, a third with events number 20001-30000, etc. I'm not sure if GRSIFrame can do that at all, or if I need to do a simple sequential sort code that keeps track of the event number. It would be much faster to do what I'd like if this is doable by GRSIFrame though.

Looking at this explanation on RDataFrame, and especially the warning:
Special helper columns: rdfentry_ and rdfslot_

Every instance of [RDataFrame](https://root.cern/doc/master/classROOT_1_1RDataFrame.html) is created with two special columns called rdfentry_ and rdfslot_. The rdfentry_ column is of type ULong64_t and it holds the current entry number while rdfslot_ is an unsigned int holding the index of the current data processing slot. For backwards compatibility reasons, the names tdfentry_ and tdfslot_ are also accepted. These columns are ignored by operations such as [Cache](https://root.cern/doc/master/classROOT_1_1RDF_1_1RInterface.html#aaaa0a7bb8eb21315d8daa08c3e25f6c9) or [Snapshot](https://root.cern/doc/master/classROOT_1_1RDF_1_1RInterface.html#a233b7723e498967f4340705d2c4db7f8).

Warning
Note that in multi-thread event loops the values of rdfentry_ do not correspond to what would be the entry numbers of a [TChain](https://root.cern/doc/master/classTChain.html) constructed over the same set of [ROOT](https://root.cern/doc/master/namespaceROOT.html) files, as the entries are processed in an unspecified order.

It looks like this might not be possible with grsiframe as "the entries are processed in an unspecified order".

Ok one more question: is there a way to delete histograms in the Helper::EndOfSort() function? I have some histograms that may or may not be filled during the event sorting. I don't really need to write the histograms that haven't been filled to the output file. It would be useful to iterate over the entire TList (or list of lists I guess) of histograms, check each for number of entries, and delete some of them.
Like this pseudocode:
void Helper::EndOfSort(){
    for (hist in TList){
        if (hist->GetEntries() < 10) hist->Delete(); //(or otherwise not write this particular hist to the output file)
    }
 }

This should be possible using the pseudo-code you gave, if you use the function TObject * TList:: Remove (TObject *obj) with hist as the object provided to the Remove function.
This is a good idea in general, might be worth putting that in as a general feature (though probably only if activated by a command line flag)?

Ok one more question: is there a way to delete histograms in the Helper::EndOfSort() function? I have some histograms that may or may not be filled during the event sorting. I don't really need to write the histograms that haven't been filled to the output file. It would be useful to iterate over the entire TList (or list of lists I guess) of histograms, check each for number of entries, and delete some of them.
Like this pseudocode:
void Helper::EndOfSort(){
    for (hist in TList){
        if (hist->GetEntries() < 10) hist->Delete(); //(or otherwise not write this particular hist to the output file)
    }
 }

This should be possible using the pseudo-code you gave, if you use the function TObject * TList:: Remove (TObject *obj) with hist as the object provided to the Remove function.
This is a good idea in general, might be worth putting that in as a general feature (though probably only if activated by a command line flag)?

I can't figure out how to iterate over the TList map. Mainly the std::shared_ptr<> datatype seems to cause me issues. If I do something like
void Helper::EndOfSort(std::shared_ptr<std::map<std::string, TList>> list){
    for (auto i: list){
    }
}

I get this error:
error: no matching function for call to ‘begin(std::shared_ptr<std::map<std::__cxx11::basic_string<char>, TList> >&)’

Trying to explicitly define an iterator doesn't work either giving a similar error:
void Helper::EndOfSort(std::shared_ptr<std::map<std::string, TList>> list){
    std::map<std::string, TList>::iterator it;
    for (it = list.begin(); it != list.end(); it++){
    }
}

gives
 error: ‘class std::shared_ptr<std::map<std::__cxx11::basic_string<char>, TList> >’ has no member named ‘begin’
 error: ‘class std::shared_ptr<std::map<std::__cxx11::basic_string<char>, TList> >’ has no member named ‘end’

And making it a std::shared_ptr<> iterator does the same:
void Helper::EndOfSort(std::shared_ptr<std::map<std::string, TList>> list){
    std::shared_ptr<std::map<std::string, TList>>::iterator it;
    for (it = list.begin(); it != list.end(); it++){
    }
}

gives
 error: ‘iterator’ is not a member of ‘std::shared_ptr<std::map<std::__cxx11::basic_string<char>, TList> >'
 error: ‘class std::shared_ptr<std::map<std::__cxx11::basic_string<char>, TList> >’ has no member named ‘begin’
 error: ‘class std::shared_ptr<std::map<std::__cxx11::basic_string<char>, TList> >’ has no member named ‘end’

Any ideas? I can't find much info online about iterating shared pointers.

Sorry, I hadn't realized I never answered this last question. The problems you are having are because of the changes done to grsiframe to enable writing to directories. We now don't pass along a TList (or rather the shared pointer of a TList), but a map of lists (with the keys being strings that define the directories). So you want to use something like
auto coincident = static_cast<TH2*>(list->at("").FindObject(fH2[0].at("griffinESuppAddbackMatrixBeta")));

to get the histogram. Or if you do it inside a loop:
for(auto& [dir, current] : list) {
   for(TObject* obj : current) {
      if(static_cast<TH1*>(obj)->GetEntries() < 10) current.Remove(obj);
   }
}

Note: I haven't compiled to tested this code, so there might be some mistakes in there.


DEX-424 pt. 1, add basic Individual field PATCH support

Allows PATCH of basic EDM fields on Individual: sex, comments, dateOfBirth, dateOfDeath.
Also starts work to support names in DEX-302.
This is reliant on a bunch of EDM work so tests will fail until the remote server is updated.

/rebase


docs: add renovate logs link to dependency dashboards

The dependencyDashboardFooter option defaults to null so we don't loose any information
Since it's part of the template, we can not link to the logs of the repository, but this could be overridden in each repositories config if needed.
https://docs.renovatebot.com/configuration-options/#dependencydashboardfooter

It actually overrides the option to trigger a renovate run from the dashboard, which I don't like.
https://github.com/renovatebot/renovate/discussions/27175#discussioncomment-9224803


Remove magicreq (won't work anyways - dead URLs)

Not sure if it may be easy to fix? Caused problems for me, so I removed it...

This change is

I don't use this anymore.


fix: make methods private

Methods like r_prelude should not be exposed.

https://github.com/N8Brooks/snowball/commit/bce28765624070214077a38a5203ade089b4624c


Fix differences between display/edit mode height calculation

Summary

Relevant Technical Choices

To-do

User-facing changes

Testing Instructions

Fixes #4876

@Miina, what do you want to about this one? Is it ready for review or?

Not ready for review, started looking into this, however, it came out to be larger than expected, was reprioritized (as nice to have) and moved out of any release. So basically the work was paused until it gets prioritized again.


Publishing wheels on PyPi

Hi Joan,
@La0 managed to build a matrix of pytorch/python version in CI and publish them on Gitlab PyPi registry : https://gitlab.com/teklia/atr/nnutils/-/packages
We would like to publish them on PyPi - there are two ways of doing that:

we can update the existing package if you provide us the credentials
or we can create a new package under a different name (like pytorch-nnutils).

Can you tell us which solution you prefer?
Thanks,
Solène

Side note: I currently only have CPU wheels from CI, I should have GPU by the end of the week but this require workers with GPU capabilities.
I don't think we will be able to run that on Github actions (for the GPU part), so we could configure our GItlab repo as a mirror of this one.

Hello @jpuigcerver ! Could you add the PyPi user teklia to both nnutils_pytorch & pylaia packages ? Thanks :smile:

I added you to nnutils_pytorch. There's no package for PyLaia, actually. I
was wrong.
On Tue, Nov 29, 2022 at 7:19 AM Bastien Abadie @.***>
wrote:

Hello @jpuigcerver https://github.com/jpuigcerver ! Could you add the
PyPi user teklia to both nnutils_pytorch & pylaia packages ? Thanks 😄
—
Reply to this email directly, view it on GitHub
https://github.com/jpuigcerver/nnutils/issues/8#issuecomment-1330642604,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFAFUE2XXQD337DH77HETLWKX7FBANCNFSM6AAAAAASHS4G4Y
.
You are receiving this because you were mentioned.Message ID:
@.***>

I was able to publish cpu & gpu wheels:

https://pypi.org/project/nnutils-pytorch/
https://pypi.org/project/nnutils-pytorch-cuda/

From this CI build


Wallpaper Suggestions Thread(Share your wallpaper suggestions here)

If you have any wallpaper requests, share them here.
Format
Name: (wallpaper name)
URL: (link to image. multiple if dynamic)

Name: Retro 90s
URL: https://wallpaperaccess.com/full/1723542.jpg, wallpaperflare.com/wallpaper/458/632/22/neon-synthwave-grid-lines-wallpaper-preview.jpg

Or anything from Wombo Dream

Name: Leopard  Remastered
URL : https://osx.photo/assets/A_La_Carte/6K/Leopard(6K).jpg

I use it as my main wallpaper

I have added all the wallpapers as a pull request, all needed is for it to be merged


⚠ Turnos 24x7 has degraded performance

In cc71ad2, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 950 ms

Resolved: Turnos 24x7 performance has improved in 59c2d50.


AccessToken expired for no reason

Ok, this is complex.
In short when I use a token it tells me that it's already expired, even if I got it only moments after.
I get the token with:
    var redirectUri = encodeURIComponent("http://localhost:3000");
    location.href = "http://localhost:4444/oauth2/auth?client_id=test&response_type=token&nonce=12345679&state=statestate&scope=core&redirect_uri="+redirectUri

with the implicit flow, so I receive it in the hash
Then I make a call to warden to check if the token is valid:
private := ladon.Request{
	Resource: "arduino:user:" + id,
	Action:   "read.private",
}
allowed, err := hydra.Warden.TokenAllowed(context.Background(), token, &private, "core")

where the token is for example bearer eBBQtJe0piBksKCH_aZjgCrWRv5o_OnE-ZfK7JPgLJk.xboOPgdccrRb9LhJFxEH7vk5IX9C77YOQoEym_1_79o
I delved a bit in the code and discovered that here: https://github.com/ory-am/fosite/blob/master/handler/oauth2/strategy_hmacsha.go#L33
r.GetRequestedAt() ====>  2016-08-12 15:10:52.485 +0000 +00:00

(which is odd since today is 2016-08-16)
and here:
https://github.com/ory-am/fosite/blob/master/handler/oauth2/strategy_hmacsha_session.go#L21
s.AccessTokenExpiry ====>  0001-01-01 00:00:00 +0000 UTC

I'm not sure what's going on, if there's a bug or if I'm doing something wrong-

I've had this "premature expiration" issue too. I can't reproduce at the moment. Let me check if it happens again.

Could it be linked to a broken system clock?

s.AccessTokenExpiry ====>  0001-01-01 00:00:00 +0000 UTC

This is ok because hydra is always using the default.
Whats the iat value?

I don't think it's a system clock issue, because the logs have the correct date:
2016/08/16 10:48:14 2016-08-12 15:10:52.485 +0000 +00:00 1h0m0s

for log.Println(r.GetRequestedAt())
How can I inspect the iat value?

for log.Println(r.GetRequestedAt(), h.AccessTokenLifespan)
How can I inspect the iat value?

That's the iat (issued at) value :)
Is this maybe a token that got refreshed?

I'm getting it with the implicit flow, so it shouldn't be a refreshed token

Ok, does the behaviour occur only with implicit tokens?

I'm going to check

Yes, sounds like it occur only with implicit tokens

when you receive the implicit access token in the callback, what is the value of expires_in ?

3600

Ok, could it be because the nonce in the request was already been used on 2016-08-12 ?

yes, that's a possibility! i will check that asap

hm the nonce is only for the openid connect session, it shouldn't have an impact on the access token. does it work when you use another nonce?

@matteosuppo can we take this to the gitter chat channel?

@matteosuppo any chance you found the root cause of this issue? the problem is that it's almost impossible to write tests for the implicit flow using golang, as hashbangs are not sent to the server. to get tests working, there would need to be some sort of javascript that posts a form or similar jazz...

I use this to get the token:
function login() {
    var redirectUri = encodeURIComponent("http://localhost:3000");
    location.href = "http://localhost:4444/oauth2/auth?client_id=test&response_type=token&nonce=9871233&state=statestate&scopes=core&redirect_uri="+redirectUri
}

function GetURLParameter(location, sParam) {
    var sPageURL = location.hash.substring(1);
    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++) {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam) {
            return sParameterName[1];
        }
    }
}

token = GetURLParameter(window.location, "access_token");

But it can work only on the browser. I can try to spin up some automated tests using https://karma-runner.github.io/1.0/index.html

Also this problem happens when I restart the hydra service. My gut tells me it has something to do with the way tokens are loaded at startup.

@matteosuppo yes! it's due to coldStart in fosite storage layer. See #207

supserseded by #207


Appendix D (Late Fusion) Replication Code

I couldn't find the replication code for Appendix D: Late Fusion and Table 7 of the paper in this repo. Would I be able to do get those results using a particular set of parameters to run_classifier.py?

Sorry, we have no plan to provide the code for Late Fusion.


Database Name not quoted when creating database

https://github.com/microsoft/Dynamics-365-FastTrack-Implementation-Assets/blob/e7859c149ef58829ec992938611366d9ba489922/Analytics/CDMUtilSolution/CDMUtil/SQL/SQLHandler.cs#L585
The database name is not quoted after create database, which causes an issue if the database name contains a hyphen (or possibly other characters).  Exception message when the database name contains a hyphen is:
Incorrect syntax near '-'.

fixed with latest release


One Drive Access

Hello, Can you give the one drive access for the dataset as I'm not able to access it?
Email<EMAIL_ADDRESS>

broken link


Negative resource id in result

My source code is like:
from androguard.misc import *
a, d, dx = AnalyzeAPK(APKFile)
a.show()

But output of a.show() contains negative resource id:
    res/raw/bdgethtmltag.js Unknown -9ea23b
    res/raw/bdtiebarcss.js Unknown 33810998
    res/raw/bdtiebarjs.js Unknown -156d68f3

How can I convert these to correct res id?

those are not the Resource IDs but the CRC32 of the file and a negative value is possible, if the crc32 is interpreted as signed int.
As now zlib.crc32 is used, the result should be an unsigned int: https://docs.python.org/3/library/zlib.html#zlib.crc32


Updated logger.py

Fixed KeyError in genrl/deep/common/logger.py .
Issue #192

Sorry I did not understand. Let the user have control over what?

Over which key is selected in TensorboardLogger for the x-axis. Right now its hard-coded to "timestep".

Ok got it.

So the user should have an option of either "episode" or "timestep" on the x axis (or also the various losses)?

The user should have an option of either "episode" or "timestep" on the x
axis
On Fri, 17 Jul 2020, 22:21 Darshan Kothari<EMAIL_ADDRESS>wrote:

So the user should have an option of either "episode" or "timestep" on the
x axis (or also the various losses)?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/SforAiDl/genrl/pull/193#issuecomment-660219668, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AH72FJZQ5QZVDPKU42EUKOTR4B6RBANCNFSM4O556QIQ
.


Register SSO Add-in Expose API instructions no longer working

Step 5 of the instructions on registering an add-in for single-sign fails to work when trying to specify an add-in domain that is not registered as a custom domain.

Select Expose an API under Manage. Select the Set link to generate the Application ID URI in the form "api://$App ID GUID$". Insert the $FQDN-WITHOUT-PROTOCOL$ (with a forward slash "/" appended to the end) between the double forward slashes and the GUID. The entire ID should have the form api://$FQDN-WITHOUT-PROTOCOL$/$App ID GUID$; for example api://localhost:6789/c6c1f32b-5e55-4997-881a-753cc1d563b7.

Our add-in service is used by O365 customers but they will not have the service URL added as a custom domain (they don't own it, we do). So attempting to register the add-in API causes the following error;
Failed to update Application ID URI application property. Error detail: Values of IdentifierUris property must use a verified domain of the organization or its subdomain: $addin_domain

Documentation indicates this should only be an issue for single-tenant applications but seeing this with multi-tenant applications also.

https://docs.microsoft.com/en-us/azure/active-directory/develop/reference-breaking-changes#appid-uri-in-single-tenant-applications-will-require-use-of-default-scheme-or-verified-domains

Need updated instructions on how an add-in service can be registered for SSO with an Office 365 account that isn't able to add the external add-in service as a custom domain for that organization.

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

ID: 79094327-e4d3-da9a-e152-18408c0ffde2
Version Independent ID: 120ecfb2-3d09-21bf-211e-e1e89050b52c
Content: Register an Office Add-in that uses SSO with the Azure AD v2.0 endpoint - Office Add-ins
Content Source: docs/develop/register-sso-add-in-aad-v2.md
Product: non-product-specific
Technology: add-ins
GitHub Login: @o365devx
Microsoft Alias: o365devx

Thanks for reporting this issue @westconference.
@davidchesnut, could you please investigate?

Hi @westconference,
I apologize for the delay responding on this issue. Taking a look there are several resources that may help here.

You may need to follow steps for adding a custom domain.
There's a similar Q&A thread around Microsoft Teams registration where the workaround is to use https instead of api on the application ID URI. https://docs.microsoft.com/en-us/answers/questions/271327/cannot-register-application-id-uri-apiinstanceserv.html

If the issue is still occurring, I recommend following up with the Microsoft identity platform team. They have help resources listed at https://docs.microsoft.com/en-us/azure/active-directory/develop/developer-support-help-options.
Hope this helps,
David

Will close this issue for now.


Can I use it with stderr only?

I would use stdout for playing audio.
For instance:
myapp | aplay

:sound: :musical_keyboard: :space_invader: :video_game: :sound:

It is only really tested for stdout , but depending on what functions you use piping to stderr
may be possible.


Fix: Remove default skipIndexPage config

Describe the pull request
With skipIndexPage explicitly set it's impossible to create an index page with a single entry point that exports other modules/namespaces:
https://github.com/tgreyuk/typedoc-plugin-markdown/blob/next/packages/typedoc-plugin-markdown/docs/usage/options.md#skipindexpage
Why
Can't generate index pages with this being explicitly set
How
Remove the explicit setting of skipIndexPage
Screenshots
N/A

I remember you mentioning on Discord that your usage explicitly disables this so this could be a bit of a breaking change technically.

Something potentially related to this: I'm not able to get indexFileName (https://github.com/tgreyuk/typedoc-plugin-markdown/blob/next/packages/typedoc-plugin-markdown/docs/usage/options.md#indexfilename) to take affect even with this change. From my understanding that should change the generated API.md file into whichever filename I pass there.

Instead of modifying the default options, I think (if I am correct) we could change how the options are generated:
  await app.bootstrapWithPlugins({
    ...defaultTypeDocConfig,
-   ...config,
    ...getMarkdownPluginConfig(outputDirectory),
+   ...config,
    entryPoints,
    tsconfig,
  })

This means everything could be overridden properly by the user. We would also not have to modify any tests and could simply add a new unit one looking kinda like that I guess:
test('should support overriding typedoc-plugin-markdown options', async () => {
  await generateTypeDoc({
    ...starlightTypeDocOptions,
    typeDoc: {
      ...starlightTypeDocOptions.typeDoc,
      readme: undefined,
      skipIndexPage: false,
    },
    entryPoints: ['../../fixtures/src/Bar.ts', '../../fixtures/src/Foo.ts'],
  })

  const writeFileSyncSpy = vi.mocked(fs.writeFileSync)
  const filePaths = writeFileSyncSpy.mock.calls.map((call) => call[0].toString())

  expect(filePaths.some((filePath) => filePath.endsWith('API.md'))).toBe(true)
  expect(filePaths.some((filePath) => filePath.endsWith('README.md'))).toBe(true)
})

Any thoughts?

Something potentially related to this: I'm not able to get indexFileName<EMAIL_ADDRESS>to take affect even with this change. From my understanding that should change the generated API.md file into whichever filename I pass there.

By doing a quick rg search for indexFileName on their next branch, I cannot see anywhere in the markdown plugin this option being used and the closest thing I can find seems to be this hardcoded value.
const indexFileName = 'API.md';

Ah yes, a much nicer option. I’ll mess around with that.
For indexFileName I can confirm the same, I have a fork I’m using right now that fixes it, will contribute that one upstream after I get this PR sorted.

Got that pushed. The sidebar generation isn't picking up the README.md or API.md files that are generated. Right now it's only looking at the groups and not accounting for any sort of entry (https://github.com/tgreyuk/typedoc-plugin-markdown/blob/next/packages/typedoc-plugin-markdown/docs/usage/options.md#entryfilename) or index (https://github.com/tgreyuk/typedoc-plugin-markdown/blob/next/packages/typedoc-plugin-markdown/docs/usage/options.md#entryfilename).
https://github.com/HiDeoo/starlight-typedoc/blob/f1b1273e4310257edd3b9323bae797d9ac898464/packages/starlight-typedoc/src/libs/starlight.ts#L15
If you're interested in having this added in then maybe it would be worth doing it later once the configs in upstream are properly implemented? At least for now users can generate their own sidebar (although they won't get some of the niceties provided by this implementation).

Getting a type issue now because readme is supposed to be a stringand not undefined, not too sure how to get around that for linting 🤔

There we go, it's amazing what stepping away a few moments can do 😅: b6b977d13ca5f370ac695eae3e331452cc260e08
Tbh I'm not the hugest fan of having to go in override the override as a consumer, but it's not at all a dealbreaker.

The sidebar generation isn't picking up the README.md or API.md files that are generated.

I'm fine with adding support for them. I guess the tricky bit will be finding where these infos are stored in the reflections and when detected adding basic link for them in the sidebar. If they're present in the reflections even if they are not generated, we will need I assume to return the options from bootstrapApp() and pass that down to getSidebarGroupFromReflections() to only include them conditionally based on these options. Prolly need to check the plugin code to figure out how these are handled internally I assume.

Tbh I'm not the hugest fan of having to go in override the override as a consumer, but it's not at all a dealbreaker.

I think one type of users will always have to override the options no matter what, either it'll be the one not wanting these pages if they're generated by default or the one wanting these pages if they're not generated by default. Or maybe I'm missing something?
I'll get to merging this PR when I get home 👍

I think one type of users will always have to override the options no matter what, either it'll be the one not wanting these pages if they're generated by default or the one wanting these pages if they're not generated by default. Or maybe I'm missing something?

You’re exactly right. Possibly it could be helpful to just call out in the README that some “sensible defaults” are applied but can be overridden and then link to the code for the exact settings?

RE: readme.md and api.md in the sidebar, I’m using both in my project so I’m happy to take a stab at PRing this if you’d like. I started digging into those type reflections a bit this morning. I just might need some guidance on the tests.

RE: readme.md and api.md in the sidebar, I’m using both in my project so I’m happy to take a stab at PRing this if you’d like. I started digging into those type reflections a bit this morning. I just might need some guidance on the tests.

Sure, go ahead. For the tests, I guess without too much thinking that we could update this config https://github.com/HiDeoo/starlight-typedoc/blob/2a100351d24e8d62961806a9fa9cbd2c890b1d9e/example/astro.multiple-entrypoints.config.ts to generate these files and as soon as you add entries to the sidebar for them, this playwright test should fail:
https://github.com/HiDeoo/starlight-typedoc/blob/2a100351d24e8d62961806a9fa9cbd2c890b1d9e/packages/starlight-typedoc/tests/e2e/sidebar.test.ts#L77-L106
In any case, if you get the code for these entries and have some issues with tests, do not hesitate to create a PR and we can take a look at tests together 👍

Something potentially related to this: I'm not able to get indexFileName (https://github.com/tgreyuk/typedoc-plugin-markdown/blob/next/packages/typedoc-plugin-markdown/docs/usage/options.md#indexfilename) to take affect even with this change. From my understanding that should change the generated API.md file into whichever filename I pass there.

Just got a fix merged upstream for this one: https://github.com/tgreyuk/typedoc-plugin-markdown/pull/455


Revert Python 3.12.0 specific usage

Summary
Closes #1327
It seems that the breaking change that caused test failure in 3.12.1, that had us pin to 3.12.0, has been reverted in 3.12.2. While the testtools has been fixed to accommodate that change, it has not yet had a release with the update in it, but given the change in Python has been reverted its no longer needed presently.
Details and comments
Will need Branch Rules updating (again!)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 86.758%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
8786

Relevant Lines:
10127

💛  - Coveralls


0.3.5 release candidate.

Including spectral_utils.py, cell-specific module analysis, module scan dictionaries, add materials for ground scans.

We still require tests for spectral_utils.py.

We're abandoning this branch and will merge to Main out of Development.


Bump fabric dependency from ^4.2.0 to ^5.2.1 (latest)

Please bump the "fabric" dependency from ^4.2.0 to ^5.2.1 (latest).
Fabric v4 relies on an old version of JSDOM, which in turn has dependencies on unsupported packages like request.js and its various dependencies in turn.

@ajssd
Thank you for your suggestion. I'll update it.

Can this be updated? JSON has a security vulnerability See: https://github.com/advisories/GHSA-f4c9-cqv8-9v98

Yeah could be great if this could be updated as adding a resolution in my package.json does not work because of back ward compatibility issues

@mroest @aterlamia
There are no updates yet. I'm sorry.
I understand the need for updates. But I don't have enough time. 😢


Adds docker-compose, CQL schema init and connection retries..

Dockerfile can build a container for the Trellis app. It works in the context of the docker-compose file included, using standard Cassandra containers. App is now initializing the Cassandra schema as soon as the connection is available..
I'd like to additionally have Trellis recover from a dropped connection to the cluster, but perhaps that is a rare event given the multi-node cluster protocol.. Probably best to see how hard it is to kill it by power cycling the Cassandra nodes one by one. IOW, it may be unnecessary.

@gregjan this looks great! Thanks so much!
One ask: can you put something in the README about how to use this? Or I can merge this right away and we can add something later, but I thought it might be easier while it's fresh in your mind.


webdav support improve

support webdav host url with path, e.g. https://dav.example.com/dav/
support note folder with name other then "notable"
small fixes on sync

Is that possible to let user choose their own port and not force 443 ? in my case my webdav is https://domain.tld:5006/Notes/notable (using Synology)
Thanks!


engine: upgrade raft engine

Signed-off-by: Randy<EMAIL_ADDRESS>What is changed and how it works?
Issue Number: ref https://github.com/tikv/tikv/issues/11119
What's Changed:

upgrade raft-engine dependency and other library version related to raft-engine
replace old ManagedFileBuilder  with ManagedFileSystem, more detail in raft-engine #165

Also refer to  https://github.com/tikv/tikv/pull/12051
Check List
Tests
Unit test
Release note
None

cc @tabokie

Will raft engine be published to crates.io? So we don't need to query github instead, which is quite slow.

Will raft engine be published to crates.io? So we don't need to query github instead, which is quite slow.

@BusyJay Yes, I'll publish 0.1.0 and update tikv dependency just before 6.0.0 release.

/merge


Semicolon in PHP breaks indentation.

VSCode Version: 1.20.1
OS Version: Windows 10

Hello,
I'm having a problem with the indentation breaking whenever i put a semicolon at the end of endif, endwhile or endforeach in PHP. It removes one or all the tabs and moves the code back one tab or at the beginning of the line.

I have tried with all extensions disabled, and tried with a clean install on a different PC. Still the same.
Thanks.

Did you find the bug? Are there any workarounds one can apply now?
This only bug makes me to desire more and more to switch Code for another editor. It's so sad.

This is not windows 10 only, it happens on two different versions of Mac OS as well. Latest VS Code (1.25.1). It's rather irritating. I feel like this should affect everyone, unless it's because of the php-debug extension (only one i've installed).

@secretfork I'm on mac as well. One of my teammates who's also on mac doesn't use any php extensions and has this problem

Seems to be happening for HTML tags as well, at least in some cases.

Disabling "Auto Indent" option helped me solve this amazingly annoying issue

Is this issue being continued?
It seems that PHP indenting and formatting is so annoying in VSCode. I migrate from Brackets for speed issues and other stuff but in this matter Brackets has a better editor.

@siemano1 thanks for that, that does help a bit, but doesn't really solve the underlying issue. It's just about half as annoying, but still annoying 😓

It's strange this has been open for so long. There was a pull request referenced but I can't be certain it resolves this issue. It adds open and close handling for the php tag, but doesn't seem to address the outdenting for the semicolon on one-liners. I manually applied the configuration changes and didn't notice any difference.

It's now late July and this issue is still occurring in 1.36.1 on MacOS 10.14.5

Ran into this same bug in 1.37.1, MacOS 10.14.6


Webserver v3 grouping and sorting support

Thank you for this amazing project!
Following issue I can see with the https://esphome.io/components/web_server.html#version-3-features grouping and sorting, that it is not supported and raising an error:
sensor.jbd_bms_ble: [source .\mpptbms.yaml:129]
  platform: jbd_bms_ble
  jbd_bms_ble_id: bms0

  [web_server] is an invalid option for [sensor.jbd_bms_ble]. Please check the indentation.
  web_server:
    sorting_group_id: sorting_group_bms_settings

ref: https://github.com/esphome/esphome-webserver/pull/58

Could you share your YAML configuration? It looks like you have introduced the issue while customizing the configuration.

@syssi thanks for checking - please find attached the file

yaml file
substitutions:
  name: BMS
  mac_address_bms: A4:C1:38:E6:97:0C
  mac_address_mppt: fcccb997060c
  bindkey_mppt: 9a131717779c5460002e224654515e3d

esphome:
  name: mobibluectrl
  friendly_name: MobiBlue Controller
  comment: Controlling JBD Battery Management System and Victron SmartSolar MPPT via BLE

external_components:
  - source: github://Fabian-Schmidt/esphome-victron_ble
  - source: github://syssi/esphome-jbd-bms@main

esp32:
  board: esp32doit-devkit-v1
  framework:
    type: esp-idf
logger:
  level: WARN
  logs:
    jbd_bms_ble: ERROR
wifi:
  ssid: asdf
  password: asdf

  # ap:
  #   ap_timeout: 1s
  # reboot_timeout: 0s
web_server:
  port: 80
  version: 3
  sorting_groups:
    - id: sorting_group_mppt_settings
      name: "Victron MPPT Solar"
      sorting_weight: 10
    - id: sorting_group_bms_settings
      name: "BMS"
      sorting_weight: 20

ota:
  platform: esphome

esp32_ble_tracker:
  scan_parameters:
    active: false

victron_ble:
  - id: SmartSolar
    mac_address: ${mac_address_mppt}
    bindkey: ${bindkey_mppt}

ble_client:
  - id: client0
    mac_address: ${mac_address_bms}

jbd_bms_ble:
  - id: bms0
    ble_client_id: client0
    update_interval: 1s

binary_sensor:
  - platform: victron_ble
    victron_ble_id: SmartSolar
    name: "MPPT is in Fault state"
    type: DEVICE_STATE_FAULT
  - platform: victron_ble
    victron_ble_id: SmartSolar
    name: "MPPT has Error"
    type: CHARGER_ERROR

  - platform: jbd_bms_ble
    jbd_bms_ble_id: bms0
    balancing:
      name: "${name} balancing"
    # charging:
    #   name: "${name} charging"
    # discharging:
    #   name: "${name} discharging"
    online_status:
      name: "${name} online status"

sensor:
  # SmartSolar
  - platform: victron_ble
    victron_ble_id: SmartSolar
    name: "MPPT Output Voltage"
    type: BATTERY_VOLTAGE
    web_server:
      sorting_group_id: sorting_group_mppt_settings
  - platform: victron_ble
    victron_ble_id: SmartSolar
    name: "MPPT Output Current"
    type: BATTERY_CURRENT
    web_server:
      sorting_group_id: sorting_group_mppt_settings
  - platform: victron_ble
    victron_ble_id: SmartSolar
    name: "MPPT Output Power"
    type: BATTERY_POWER
    web_server:
      sorting_group_id: sorting_group_mppt_settings
  - platform: victron_ble
    victron_ble_id: SmartSolar
    name: "MPPT Yield Today"
    type: YIELD_TODAY
  - platform: victron_ble
    victron_ble_id: SmartSolar
    name: "MPPT PV Power"
    type: PV_POWER
    web_server:
      sorting_group_id: sorting_group_mppt_settings
  - platform: victron_ble
    victron_ble_id: SmartSolar
    name: "MPPT Load Current"
    type: LOAD_CURRENT
    web_server:
      sorting_group_id: sorting_group_mppt_settings

  - platform: jbd_bms_ble
    web_server:
      sorting_group_id: sorting_group_bms_settings
    jbd_bms_ble_id: bms0
    # battery_strings:
    #   name: "${name} cell count"
    current:
      name: "${name} current"
    # power:
    #   name: "${name} power"
    charging_power:
      name: "${name} charging power"
    discharging_power:
      name: "${name} discharging power"
    state_of_charge:
      name: "${name} state of charge"
    # nominal_capacity:
    #   name: "${name} nominal capacity"
    # charging_cycles:
    #   name: "${name} charging cycles"
    capacity_remaining:
      name: "${name} capacity remaining"
    total_voltage:
      name: "${name} total voltage"
    # average_cell_voltage:
    #   name: "${name} average cell voltage"
    delta_cell_voltage:
      name: "${name} cell delta voltage"
    # min_cell_voltage:
    #   name: "${name} min cell voltage"
    # max_cell_voltage:
    #   name: "${name} max cell voltage"
    # min_voltage_cell:
    #   name: "${name} min voltage cell"
    # max_voltage_cell:
    #   name: "${name} max voltage cell"
    temperature_1:
      name: "${name} temperature"
    temperature_2:
      name: "Battery temperature"
    cell_voltage_1:
      name: "${name} cell voltage 1"
    cell_voltage_2:
      name: "${name} cell voltage 2"
    cell_voltage_3:
      name: "${name} cell voltage 3"
    cell_voltage_4:
      name: "${name} cell voltage 4"
    # software_version:
    #   name: "${name} software version"

    # operation_status_bitmask:
    #   name: "${name} operation status bitmask"
    # errors_bitmask:
    #   name: "${name} errors bitmask"
    # balancer_status_bitmask:
    #   name: "${name} balancer status bitmask"

text_sensor:
  - platform: victron_ble
    victron_ble_id: SmartSolar
    name: "MPPT state"
    type: DEVICE_STATE
  # - platform: victron_ble
  #   victron_ble_id: SmartSolar
  #   name: "MPPT Error reason"
  #   type: CHARGER_ERROR

  - platform: jbd_bms_ble
    jbd_bms_ble_id: bms0
    # errors:
    #   name: "${name} errors"
    operation_status:
      name: "${name} operation status"
    # device_model:
    #   name: "${name} device model"

  # - platform: ble_scanner
  #   name: "BLE Devices Scanner"

switch:
  - platform: ble_client
    ble_client_id: client0
    name: "BLE enable BMS connection"

  - platform: jbd_bms_ble
    jbd_bms_ble_id: bms0
    charging:
      name: "${name} charging"
    discharging:
      name: "${name} discharging"

@syssi thank you for the hints!


More flushout of UWP impl

@jasonsandlin,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


feat: make nyc instrument more clever about file extension

it would be great if nyc instrument could accept a file extension when instrumenting files in a directory, alternatively when given a directory as input, perhaps we should just be applying nyc's include/exclude rules?
This feature grows out of errors that can occur if a user attempts to instrument an entire directory which contains files other than JS.

I think we should use the extension array for this (so adding that option to the nyc instrument command).


Compilation error because of collision between external dependency and transitive IDE dependencies

What happened?
If the IDE artifact contains a dependency with version X and you add the same dependency with version Y, it may break compilation because X version is taken instead if Y. At the same time, plugin will use Y lib version in runtime. So the compilation classpath is wrong
As a particular example, if you use com.github.ajalt.clikt:clikt-core:5.0.0 dependency with CLion as IDE dependency, compilation fails because CLion contains an older version of the same lib with incompatible API
Relevant log output or stack trace
No response
Steps to reproduce
Checkout https://github.com/Undin/intellij-platform-gradle-plugins-bugs/tree/library-conflict and try to compile it
Gradle IntelliJ Plugin version
2.1.0
Gradle version
8.7
Operating System
macOS
Link to build, i.e. failing GitHub Action job
No response

Try this:
plugins {
    kotlin("jvm") version "1.9.23"
    id("org.jetbrains.intellij.platform") version "2.1.0"
}

group = "org.example"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral()

    intellijPlatform {
        defaultRepositories()
        jetbrainsRuntime()
    }
}

val pluginClasspath: Configuration by project.configurations.creating {
    isCanBeConsumed = false
    isCanBeResolved = true
}

sourceSets {
    main.configure {
        compileClasspath = pluginClasspath + compileClasspath
    }
}

intellijPlatform {
    projectName = "IntelliJPlatformPluginExample"
    pluginConfiguration {
        id = "org.jetbrains.intellij.platform.example"
        name = "IntelliJ Platform Plugin Example"
        version = project.version.toString()
    }

  instrumentCode = false
}

dependencies {
    pluginClasspath("com.github.ajalt.clikt:clikt-core:5.0.0")
    intellijPlatform {
        clion("2024.2", useInstaller = false)
        jetbrainsRuntime()
    }
    testImplementation(kotlin("test"))
}

But if you really want to do something like that you need to customize prepareSandbox task so that libs from that custom configuration are included & then also packaged into the distribution zip

@AlexanderBartash Thanks for the suggested workaround! In my particular case I will just avoid using CLion for the corresponding part of the plugin and will use IDEA instead.
So this issue is mostly about support for such cases by intellij-platform gradle plugin out of the box because it's a quite unexpected thing

Something needs to be changed here: https://github.com/JetBrains/intellij-platform-gradle-plugin/blob/a4e556c9e1162466f8c0fa7d042462661b835f49/src/main/kotlin/org/jetbrains/intellij/platform/gradle/plugins/project/IntelliJPlatformBasePlugin.kt#L301
https://docs.gradle.org/current/userguide/java_plugin.html#resolvable_configurations

Can you try this https://plugins.jetbrains.com/docs/intellij/plugin-class-loaders.html#overriding-ide-dependencies ?

It seems to me that, what :point_up: document suggests does the opposite of the expected.

configurations {
    // It may be that doing it for 'compileOnly' here, or some other compile* configurations would be enough.
    all {
        resolutionStrategy.sortArtifacts(ResolutionStrategy.SortOrder.DEPENDENCY_FIRST)
    }
}

Actually helps, tried with 2.1.0

In my plugin if I do that to all configurations it breaks the build because it affects some plugin. I would recommend to do it only for specific configurations like compileClasspath

https://youtrack.jetbrains.com/issue/IDEA-242532

It looks like dependencies order in Gradle is a big can of worms https://github.com/gradle/gradle/issues/29275 but in our case it is made even worse because we also care about dependencies order in the IDE, which gets it from Gradle. Also to make it worse have a look at
https://github.com/gradle/gradle/blob/72c708412450a7674c4a2907a3f1aaae8997d01e/platforms/ide/ide/src/main/java/org/gradle/plugins/ide/idea/model/internal/IdeaDependenciesOptimizer.java#L51
Plus there is some logic on the IDE side.
How dependencies will be ordered after all this is unclear.
I tried to test what is recommended in https://plugins.jetbrains.com/docs/intellij/plugin-class-loaders.html#overriding-ide-dependencies and firstly DEPENDENCY_FIRST breaks my build at all, because it looks like in my case it does the opposite of expected. So I checked Gradle docs and was surprised that DEPENDENCY_FIRST : Artifacts for a consuming component should appear afte artifacts for its dependencies. which is indeed the opposite of what we want. CONSUMER_FIRST works for me but it does not change anything. With DEPENDENCY_FIRST I do see that libs from random plugins are being used instead of my declared dependencies.
https://github.com/gradle/gradle/blob/72c708412450a7674c4a2907a3f1aaae8997d01e/subprojects/core-api/src/main/java/org/gradle/api/artifacts/ResolutionStrategy.java#L398
Specifies the ordering for resolved artifacts. Options are:

{@link SortOrder#DEFAULT} : Don't specify the sort order. Gradle will provide artifacts in the default order.

{@link SortOrder#CONSUMER_FIRST} : Artifacts for a consuming component should appear before artifacts for its dependencies.

{@link SortOrder#DEPENDENCY_FIRST} : Artifacts for a consuming component should appear after artifacts for its dependencies.

A best attempt will be made to sort artifacts according the supplied {@link SortOrder}, but no guarantees will be made in the presence of dependency cycles.
NOTE: For a particular Gradle version, artifact ordering will be consistent. Multiple resolves for the same inputs will result in the
same outputs in the same order.

It works for me like this because it just happens that in my IDE ideaIU dependency is not the first in the list of dependencies. But in the example provided in this ticket the IDE is first. Why is a mister to me. I tried to use different SortOrder in both projects, it does not influence IDE's dependencies order whatsoever, it only breaks or fixes Gradle's build.

I did some dependency analysis with https://github.com/autonomousapps/dependency-analysis-gradle-plugin and it looks like for my project CONSUMER_FIRST works as it should. With the default value or DEPENDENCY_FIRST it reports false positives as if I am using libs from the IDE, when I have declared dependencies on them. With CONSUMER_FIRST the report is good.
I am no longer sure why https://plugins.jetbrains.com/docs/intellij/plugin-class-loaders.html#overriding-ide-dependencies suggests DEPENDENCY_FIRST, taking into account that it contradicts the javadoc.

I've created a PR which improves this a bit but for tests only https://github.com/JetBrains/intellij-platform-gradle-plugin/pull/1818/files

To fix this issue either something similar to what was done in the above PR needs to be done to the compile classpath of the main source set. But in that case we ca not rely on whatever happens to be in the sandbox, because we compile the code before the sandbox is present. We probably have to combine configurations instead.
Or all IDE's dependencies should be enriched with the missing metadata so that Gradle could use its build-in dependencies conflict resolution https://docs.gradle.org/current/userguide/component_metadata_rules.html#adding_missing_capabilities_to_detect_conflicts


Create table tennis ball urdf

Set inertia, radius, and mass to appropriate constants. There's a need to figure out properties like friction, stiffness, damping, restitution.

Maybe we should consider adding some sliders, which will make it easier to adjust all the ball properties?