Call from fragment

Can you modify it so i'm able to call it from a fragment ?
override fun onAttach(context: Context) {
      super.onAttach(context)
      mListener = if (context is ItemClickListener) {
          context
      } else {
          throw RuntimeException("$context")
      }
  }

the if condition always fails and throws RuntimeException
imagePicker = ImagePickerActivityClass(requireContext(), requireActivity(), this, requireActivity().activityResultRegistry)

Thank you for informing us about this issue. We have resolved your issue, so now you can use this in your fragment too by implementing latest version(1.6) of our library in your build.gradle .

@OmarELRayes : Let us know your issue resolved or not. After that we will close this issue.


⚠ Bofrost.nl has degraded performance

In fc08448, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 1041 ms

Resolved: Bofrost.nl performance has improved in bdc0991.


Added GCP tokenizer for gemini models

Feature Description

The Google API for counting tokens is not optimized for heavy parallel jobs, so it's better to perform token counting locally, using the official GCP tokenizer (source)

Added

gcp tokenizer added for local counting of tokens for Gemini models
sentencepiece dependency (needed for the tokenizer)

Remember to bump the package version before merging


Create secrets in repositories

Is your support request related to a problem? Please describe.
We want to stop using 'Keycloak' name in our repositories, so we need new secrets with same values as previously.
Describe the solution you'd like
Please create the following secrets in repositories https://github.com/catenax-ng/tx-item-relationship-service, https://github.com/eclipse-tractusx/item-relationship-service
OAUTH2_CLIENT_SECRET_BETA
OAUTH2_CLIENT_TOKEN_URI
OAUTH2_CLIENT_ID
OAUTH2_CLIENT_SECRET
Values should be exactly the same as previously:
KEYCLOAK_OAUTH2_CLIENT_SECRET_BETA -> OAUTH2_CLIENT_SECRET_BETA
KEYCLOAK_OAUTH2_CLIENT_TOKEN_URI -> OAUTH2_CLIENT_TOKEN_URI
KEYCLOAK_OAUTH2_CLIENT_ID -> OAUTH2_CLIENT_ID
KEYCLOAK_OAUTH2_CLIENT_SECRET -> OAUTH2_CLIENT_SECRET
As a next step we will ask you to remove old secrets.

Hi @ds-ext-kmassalski! Where can I find the values for these secrets? After setting them there is no way to see the values on GitHub so I can't just copy paste them from the old to the new ones.
As for the https://github.com/eclipse-tractusx/item-relationship-service repo you need to open a helpdesk ticket on Gitlab asking for setting these secrets similarly like here.

hi @ds-ext-kmassalski
Secrets were created for repo https://github.com/catenax-ng/tx-item-relationship-service
based on your comment

as @almadigabor already told for the other repo you need to raise a GitLab Issue against the Eclipse Foundation.

As for the https://github.com/eclipse-tractusx/item-relationship-service repo you need to open a helpdesk ticket on Gitlab asking for setting these secrets similarly like here.

Please raise a new issue if we can delete the old repository secrets when all works in your desired way.
Thanks in advance.

If GitLab issue is done, please feel free to reopen or raise a new issue against us to clean up the secrets


Add code for testing all hooks in isolated components & single component

I thought this would do two things:

make it easier to fix #5 (and possibly other future bugs) and/or test other future enhancements
provide the simplest possible examples of how each hook works in practice, so that docs can link to this code.

Superceded by #19


Add ability to query CapsLock, ScrollLock, and NumLock state

Summary
Currently there is no simple way within the Duality framework to query the state of the various 'lock' keys on a keyboard - CapsLock, ScrollLock, and NumLock. Consider how this could be supported from within Duality.
Analysis

Could be implemented by updating a flag when the relevant key is pressed here.
This may have issues when the initial state on app load is on for any of these locked keys.
Does OpenTK have support for this already?

Since people might find this while implementing a custom way to retrieve user entered text by manually checking key hit states:
Note: To detect text the user entered, use DualityApp.Keyboard.CharInput instead, which handles upper / lower chars, keyboard layouts and special character sequences.

@deanljohnson Sadly OpenTK doesn't have this functionality. I have implemented something as a test to see if I could get it working. But yes, the initial state of the key could be different to what's expected when the app loads. It sounds like this is something that's gonna be OS-specific.
@ilexp One more immediate solution is to use GLFW for this, they support it it shouldn't be too difficult to implement. I would be more than happy to get this rolling.
On the other hand, I don't know what version of OpenTK Duality uses but I know that OpenTK are slowly moving to use GLFW.

I don't think this issue is high-priority enough to warrant moving away from the stable OpenTK backend to a new GLFW-based backend.

On the other hand, I don't know what version of OpenTK Duality uses but I know that OpenTK are slowly moving to use GLFW.

This might be a different story though - if OpenTK at some point gets an upgrade that makes implementing this feature possible, we might still get access to it without additional overhead. Duality currently uses a somewhat old version of OpenTK in a custom fork, so upgrading isn't trivial but should considered at some point. More on this in issue #684.

I don't think this issue is high-priority enough to warrant moving away from the stable OpenTK backend to a new GLFW-based backend.

What I meant to say was to only include the specific GLFW methods to handle this specific issue; at least until we upstream.

This might be a different story though - if OpenTK at some point gets an upgrade that makes implementing this feature possible (with or without GLFW somewhere in the background) we might still get access to it without additional overhead. Duality currently uses a somewhat old version of OpenTK in a custom fork

If the plan is to upstream OpenTK maybe adding a GLFW backend wouldn't be a horrible idea though, right?

What I meant to say was to only include the specific GLFW methods to handle this specific issue;

I'm not sure how this would be possible. The required methods are likely related to window management, and GLFW and OpenTK have completely different code for that. My guess would be those GLFW methods only work when the windows was created and is managed using GLFW.

If the plan is to upstream OpenTK maybe adding a GLFW backend wouldn't be a horrible idea though, right?

As long as our OpenTK backend (upstream or not) is stable, I don't see a reason to add a distinct GLFW one as well - it could mean a considerable maintenance overhead, so there would have to be a payoff that is equally big.


Update guava to 33.0.0-jre

About this PR
📦 Updates com.google.guava:guava from 32.1.3-jre to 33.0.0-jre ⚠
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.google.guava", artifactId = "guava" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "com.google.guava", artifactId = "guava" }
}]

labels: library-update, early-semver-major, semver-spec-major, commit-count:1

Superseded by #63.


Add Contributors Table in README.md File

📚 Documentation
Like this

Have you read the Contributing Guidelines on Pull Requests?
Yes

I would like to work on this.

I would like to work on this.

Is that automated or do u want us to manually add them to the json files ? @samir-0711

Is that automated or do u want us to manually add them to the json files ? @samir-0711

Automated

Automated

I think we are won't be going forward with this feature, for now, Anyways thanks for checking by @samir-0711

I think we are won't be going forward with this feature, for now, Anyways thanks for checking by @samir-0711


PReLU operation throws error on tflite android benchmark tool with gpu

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: Redmi Note 8 pro
TensorFlow installed from (source or binary): Google Colab Tensorflow Binary
TensorFlow version (use command below): tf  1.15 and tf 2.2
Python version: 3.6.9

Describe the current behavior
I converted a tf.keras model with PReLU operation into tflite format. The android tflite benchmark tool throws an error on the model with the default PReLU settings of shared_axes=Null
adb shell /data/local/tmp/benchmark_model_tf15 --graph=/data/local/tmp/prelu_model1.tflite --enable_op_profiling=true --use_gpu=true
adb: /opt/intel/intelpython27/lib/libcrypto.so.1.0.0: no version information available (required by adb)
STARTING!
Min num runs: [50]
Min runs duration (seconds): [1]
Max runs duration (seconds): [150]
Inter-run delay (seconds): [-1]
Num threads: [1]
Benchmark name: []
Output prefix: []
Min warmup runs: [1]
Min warmup runs duration (seconds): [0.5]
Graph: [/data/local/tmp/prelu_mod3.tflite]
Input layers: []
Input shapes: []
Input value ranges: []
Use legacy nnapi : [0]
Allow fp16 : [0]
Require full delegation : [0]
Enable op profiling: [1]
Max profiling buffer entries: [1024]
CSV File to export profiling data to: []
Use gpu : [1]
Allow lower precision in gpu : [1]
Use Hexagon : [0]
Hexagon lib path : [/data/local/tmp]
Hexagon Profiling : [0]
Use nnapi : [0]
Use xnnpack : [0]
Loaded model /data/local/tmp/prelu_mod3.tflite
INFO: Initialized TensorFlow Lite runtime.
INFO: Created TensorFlow Lite delegate for GPU.
**ERROR: TfLiteGpuDelegate Init: PRELU: Dimensions are not HWC**
ERROR: TfLiteGpuDelegate Prepare: delegate is not initialized
ERROR: Node number 2 (TfLiteGpuDelegateV2) failed to prepare.

ERROR: Restored previous execution plan after delegate application failure.
Failed to apply GPU delegate.
Benchmarking failed.

Now, with option shared_axes=[1,2], it runs the model without any error on gpu.
Also, the model runs without any error on CPU  in both settings.
Describe the expected behavior
The tflite model with default PReLU settings (i.e no shared axes ), should run without any errors on gpu delegate in android.
Standalone code to reproduce the issue
Colab Notebook: https://colab.research.google.com/drive/1pZRaeUB7Gj1HU1BR9DcSI6SxHfdsWbD_#scrollTo=_63mXS3A1m0r
Other info / logs

prelu_model1.tflite: No shared axes and does not run on gpu
prelu_model2.tflite: Has shared_axes=[1,2] and runs on gpu
prelu_models.zip

The behaviour seems to be same for tf 2.2 models and corresponding android benchmark tools.
How can we make it run on gpu with default settings ie. no shared _axes?

@anilsathyan7
Request you to provide the access for  colab link you have shared.Thanks!

Here is the updated link: https://colab.research.google.com/drive/1pZRaeUB7Gj1HU1BR9DcSI6SxHfdsWbD_?usp=sharing
Are you able to view the notebook?

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: Redmi Note 8 pro
TensorFlow installed from (source or binary): Google Colab Tensorflow Binary
TensorFlow version (use command below): tf  1.15 and tf 2.2
Python version: 3.6.9

Describe the current behavior
I converted a tf.keras model with PReLU operation into tflite format. The android tflite benchmark tool throws an error on the model with the default PReLU settings of shared_axes=Null
adb shell /data/local/tmp/benchmark_model_tf15 --graph=/data/local/tmp/prelu_model1.tflite --enable_op_profiling=true --use_gpu=true
adb: /opt/intel/intelpython27/lib/libcrypto.so.1.0.0: no version information available (required by adb)
STARTING!
Min num runs: [50]
Min runs duration (seconds): [1]
Max runs duration (seconds): [150]
Inter-run delay (seconds): [-1]
Num threads: [1]
Benchmark name: []
Output prefix: []
Min warmup runs: [1]
Min warmup runs duration (seconds): [0.5]
Graph: [/data/local/tmp/prelu_mod3.tflite]
Input layers: []
Input shapes: []
Input value ranges: []
Use legacy nnapi : [0]
Allow fp16 : [0]
Require full delegation : [0]
Enable op profiling: [1]
Max profiling buffer entries: [1024]
CSV File to export profiling data to: []
Use gpu : [1]
Allow lower precision in gpu : [1]
Use Hexagon : [0]
Hexagon lib path : [/data/local/tmp]
Hexagon Profiling : [0]
Use nnapi : [0]
Use xnnpack : [0]
Loaded model /data/local/tmp/prelu_mod3.tflite
INFO: Initialized TensorFlow Lite runtime.
INFO: Created TensorFlow Lite delegate for GPU.
**ERROR: TfLiteGpuDelegate Init: PRELU: Dimensions are not HWC**
ERROR: TfLiteGpuDelegate Prepare: delegate is not initialized
ERROR: Node number 2 (TfLiteGpuDelegateV2) failed to prepare.

ERROR: Restored previous execution plan after delegate application failure.
Failed to apply GPU delegate.
Benchmarking failed.

Now, with option shared_axes=[1,2], it runs the model without any error on gpu.
This is an issue specific to the gpu delegate implementation. The error msg is emitted here: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/delegates/gpu/common/model_builder_helper.cc#L252-L254

Also, the model runs without any error on CPU in both settings.
Describe the expected behavior
The tflite model with default PReLU settings (i.e no shared axes ), should run without any errors on gpu delegate in android.
Standalone code to reproduce the issue
Colab Notebook: https://colab.research.google.com/drive/1pZRaeUB7Gj1HU1BR9DcSI6SxHfdsWbD_#scrollTo=_63mXS3A1m0r
Other info / logs

prelu_model1.tflite: No shared axes and does not run on gpu
prelu_model2.tflite: Has shared_axes=[1,2] and runs on gpu
prelu_models.zip

The behaviour seems to be same for tf 2.2 models and corresponding android benchmark tools.
How can we make it run on gpu with default settings ie. no shared _axes?

@multiverse-tf So is it a bug? How can we fix it and properly run the model using gpu delegate ?

We have a candidate and will check with your models.    I'll close this issue for now; reopen if needed.


Implement Evm Trace

(closes #624 )
What was wrong?
The specs don't currently implement the full evm trace.
Related to Issue #624
How was it fixed?
Implemented full evm trace and integrated it fully with t8n.
Cute Animal Picture

Codecov Report
Patch coverage: 98.03% and project coverage change: +0.03% :tada:

Comparison is base (adc6acf) 74.06% compared to head (037e6a0) 74.09%.
Report is 2 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #828      +/-   ##
==========================================
+ Coverage   74.06%   74.09%   +0.03%
==========================================
  Files         571      572       +1
  Lines       31735    31777      +42
==========================================
+ Hits        23503    23544      +41
- Misses       8232     8233       +1

Flag
Coverage Δ

unittests
74.09% <98.03%> (+0.03%)
:arrow_up:

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

Files Changed
Coverage Δ

src/ethereum/shanghai/utils/message.py
96.00% <ø> (ø)

src/ethereum/trace.py
95.23% <95.23%> (ø)

src/ethereum/shanghai/fork.py
97.82% <100.00%> (+0.05%)
:arrow_up:

src/ethereum/shanghai/vm/__init__.py
100.00% <100.00%> (ø)

src/ethereum/shanghai/vm/gas.py
97.93% <100.00%> (+0.04%)
:arrow_up:

src/ethereum/shanghai/vm/instructions/storage.py
100.00% <100.00%> (ø)

src/ethereum/shanghai/vm/instructions/system.py
99.51% <100.00%> (+<0.01%)
:arrow_up:

src/ethereum/shanghai/vm/interpreter.py
99.10% <100.00%> (+0.08%)
:arrow_up:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Since the evm tests fail for the forks before Shanghai, I have added a temporary if condition. This is just so we see all the tests passing in the CI. Once the Shanghai changes have been reviewed and are ported over to the other forks, this if condition goes away before merging all the changes with master.

Probably still here because you've only done Shanghai so far, but just in case, you'll want to remove this as well:
https://github.com/ethereum/execution-specs/blob/fade6e95726c9c0b47b779fd8873b5737fbea3b3/src/ethereum/__init__.py#L31-L37

Yes. This will also go after porting the changes to the other forks.

@SamWilsn @petertdavies Have updated the relevant bits based on your comments.
@danceratopz Have updated the tool to reflect specific output file names. Please verify.

@gurukamath Yes, if I apply #823 to this branch, it now works as expected with https://github.com/ethereum/execution-spec-tests/pull/289 as-is, thanks!

@SamWilsn @petertdavies Have ported the changes over to the older forks.
The main update from the earlier commits in this PR is that the refund calculation for SELFDESTRUCT is moved from the interpreter module into the opcode itself (mainly relevant to Berlin and before). This requires making the accounts_to_delete from the parent evm available to the child evm.

Hi @gurukamath, I took a deeper look at the traces generated from the current execution-spec-tests and diff'd the traces generated from geth 1.13.1-stable-3f40e65c and the ethereum-spec-evm from this branch (753416e7a70c43bc00c032e3e58ebd9570b7192c).
The traces are almost identical :partying_face: and only differ upon an error in execution. They fall into 2 categories.

Missing exception message upon error. Here are examples of the 4 missing message types (here they are in ethereum/go-ethereum/core/vm/errors.go#L24@90d5bd85, I have no idea if they are standardized):

test_push0_stack_overflow_fork_Shanghai/1/trace-0-0xf8616cc40f214a4729758189c77720a6b672f29dcb62cd206a49ebacaf00e96f.jsonl1028,1029c1028,1029
< {"pc":1028,"op":95,"gas":"0xd63f","gasCost":"0x2","memSize":0,"stack":["0x0", <full stack ommitted>, "0x0"],"depth":1,"refund":0,"opName":"PUSH0","error":"stack limit reached 1024 (1023)"}
< {"output":"","gasUsed":"0x13498","error":"stack limit reached 1024 (1023)"}
---
> {"pc":1028,"op":95,"gas":"0xd63f","gasCost":"0x2","memSize":0,"stack":["0x0", <full stack ommitted>, "0x0"],"depth":1,"refund":0,"opName":"PUSH0","error":""}
> {"output":"","gasUsed":"0x13498","error":""}

test_create_opcode_initcode_fork_Shanghai_create2_over_limit_ones/1/trace-0-0xff8b41168839e22964df27b1810063b71235dd344b1473025c2c9473f380cd02.jsonl23c23
< {"pc":17,"op":245,"gas":"0x4c151c","gasCost":"0x7d00","memSize":49184,"stack":["0x4c1527","0xdeadbeef","0xc001","0x0","0x0"],"depth":2,"refund":0,"opName":"CREATE2","error":"out of gas"}
---
> {"pc":17,"op":245,"gas":"0x4c151c","gasCost":"0xad08","memSize":49184,"stack":["0x4c1527","0xdeadbeef","0xc001","0x0","0x0"],"depth":2,"refund":0,"opName":"CREATE2","error":""}

test_gas_usage_fork_Shanghai_too_little_execution_gas_49121_bytes/1/trace-0-0x1e4296b38ebdc740cd34f5b63602660f115815a352821261416a379a03054832.jsonl8c8
< {"output":"00","gasUsed":"0xdf","error":"contract creation code storage out of gas"}
---
> {"output":"","gasUsed":"0xdf","error":""}

test_withdrawing_to_precompiles_fork_Shanghai_precompile_9_amount_1/2/trace-0-0x3e9f556a7efc77edc7e00178f4c3d226633320d06a8289cce10d363f713f50a9.jsonl1c1
< {"output":"","gasUsed":"0x13498","error":"invalid input length"}
---
> {"output":"","gasUsed":"0x13498","error":""}

Different reported gasCost upon an exception caused by initcode that is over the allowed limit when calling CREATE or CREATE2, the gas cost for the reverted transaction is, however, identical:

test_create_opcode_initcode_fork_Shanghai_create2_over_limit_ones/1/trace-0-0xff8b41168839e22964df27b1810063b71235dd344b1473025c2c9473f380cd02.jsonl23c23
< {"pc":17,"op":245,"gas":"0x4c151c","gasCost":"0x7d00","memSize":49184,"stack":["0x4c1527","0xdeadbeef","0xc001","0x0","0x0"],"depth":2,"refund":0,"opName":"CREATE2","error":"out of gas"}
---
> {"pc":17,"op":245,"gas":"0x4c151c","gasCost":"0xad08","memSize":49184,"stack":["0x4c1527","0xdeadbeef","0xc001","0x0","0x0"],"depth":2,"refund":0,"opName":"CREATE2","error":""}

Missing exception message upon error. Here are examples of the 4 missing message types (here they are in ethereum/go-ethereum/core/vm/errors.go#L24@90d5bd85, I have no idea if they are standardized):

The specs do not currently emit comprehensive error messages. We are working on it and have an active issue ( see #795 )

Different reported gasCost upon an exception caused by initcode that is over the allowed limit when calling CREATE or CREATE2, the gas cost for the reverted transaction is, however, identical:

test_create_opcode_initcode_fork_Shanghai_create2_over_limit_ones/1/trace-0-0xff8b41168839e22964df27b1810063b71235dd344b1473025c2c9473f380cd02.jsonl23c23
< {"pc":17,"op":245,"gas":"0x4c151c","gasCost":"0x7d00","memSize":49184,"stack":["0x4c1527","0xdeadbeef","0xc001","0x0","0x0"],"depth":2,"refund":0,"opName":"CREATE2","error":"out of gas"}
---
> {"pc":17,"op":245,"gas":"0x4c151c","gasCost":"0xad08","memSize":49184,"stack":["0x4c1527","0xdeadbeef","0xc001","0x0","0x0"],"depth":2,"refund":0,"opName":"CREATE2","error":""}

We are aware that in some cases where the opcode runs out of gas, geth and specs might emit different gas costs. In almost all such cases, I have found that geth emits only the static part of the gas cost. See this geth issue for more details.
However, I would also like to take a deeper look at this particular case just to make sure that it is a similar case. Would it be possible for you to provide the input json files for running this? Or alternatively, point me to the fixture in the tests repo that has this case?

Thanks for info and links.

However, I would also like to take a deeper look at this particular case just to make sure that it is a similar case. Would it be possible for you to provide the input json files for running this? Or alternatively, point me to the fixture in the tests repo that has this

Github wouldn't let me upload json or tgz - I'll send you the files another way.
In general, you could run this test case from ethereum/execution-spec-tests in isolation with:
fill tests/shanghai/eip3860_initcode/test_initcode.py::TestCreateInitcode::test_create_opcode_initcode[fork=Shanghai-create2-over_limit_ones] --evm-bin=/path/to/execution-specs/venv/bin/ethereum-spec-evm--output=output/

In general, you could run this test case from ethereum/execution-spec-tests in isolation with:
fill tests/shanghai/eip3860_initcode/test_initcode.py::TestCreateInitcode::test_create_opcode_initcode[fork=Shanghai-create2-over_limit_ones] --evm-bin=/path/to/execution-specs/venv/bin/ethereum-spec-evm--output=output/

@danceratopz I did look into this case and is similar to the scenario that I pointed out earlier. Geth figures out that the opcode is going to run out of gas due to large init code. For efficiency reasons, it then does not even bother to calculate the dynamic gas because it makes no difference. So it just emits the static part in the trace.
The specs on the other hand calculate all the components of the gas (static + dynamic) and emits that in the trace. I am not sure if there is a standard behaviour that is agreed upon in this case. At least, I couldn't find anything in EIP-3155. For greater context on such issues you can follow the issue on the geth repo that linked earlier. See here


Update F8B8BS and F8BS TN logic yamls.

Update 2 yamls from row-wise logic yaml.

incorrect branch


Update failure-finish-reason-safety with Vertex responses

Replaced streaming-failure-finish-reason-safety.txt, unary-failure-finish-reason-safety-no-content.json and unary-failure-finish-reason-safety.json with responses from Vertex AI. The previous ones appear to be sourced from Google AI (example). These responses have a few new fields in safetyRatings:

probabilityScore
severity
severityScore
blocked

Additionally the modelVersion is included in the response, and index is omitted. These responses also did not include promptFeedback.

@hsubox76 @dellabitta The previous sample files came from Google AI where the index field was always included. Vertex AI omits default values (index == 0) when serializing its responses as JSON. I filed https://github.com/firebase/firebase-js-sdk/issues/8566 but @dlarocque can likely explain it much better than me (thank you for the debugging help, Daniel!!).


Add prettier pre-commit hook

Changes proposed
Run prettier as a pre-commit hook for JSON files in the data directory.
This is useful because at some point GitHub made updating files on a PR from a fork using an action not work.
This was done for security reasons.

Check List (Check all the applicable boxes)

[x] My code follows the code style of this project.
[ ] My change requires changes to the documentation.
[ ] I have updated the documentation accordingly.
[x] All new and existing tests passed.
[x] This PR does not contain plagiarized content.
[x] The title of my pull request is a short description of the requested changes.

Thanks Dan 👍
But if I remember correctly, lint-staged would only work for staged files, and not everyone (including me) don't stage files
I think we would want to run on non-staged files also

Thanks Dan 👍
But if I remember correctly, lint-staged would only work for staged files, and not everyone (including me) don't stage files
I think we would want to run on non-staged files also

I thought all commits had to go through staging.
This Git documentation seems to imply that.
Running git commit -a just combines the staging & commit into a single command.
The reason for using lint-staged is to only run prettier on changes files & not all files in the data directory.

I tested this by editing eddiejaoude.json to change the spacing.
The commit output is as follows
git commit -a -m "test hook"

><EMAIL_ADDRESS>lint
> next lint

info  - Loaded env from ...
./pages/search.js
37:6  Warning: React Hook useEffect has a missing dependency: 'username'. Either include it or remove the dependency array.  react-hooks/exhaustive-deps

info  - Need to disable some ESLint rules? Learn more here: https://nextjs.org/docs/basic-features/eslint#disabling-rules
✔ Preparing lint-staged...
✔ Running tasks for staged files...
✖ Prevented an empty git commit!
✔ Reverting to original state because of errors...
✔ Cleaning up temporary files...

  ⚠ lint-staged prevented an empty git commit.
  Use the --allow-empty option to continue, or check your task configuration

husky - pre-commit hook exited with code 1 (error)

It looks like it reverted my changes & errored out because there are no changes left.

I don't stage, I specify my files on my commit and many do that also, for example...
git commit -m "..." <file1> ...

I think there is something similar where it doesn't have to be staged

I don't stage, I specify my files on my commit and many do that also, for example...
git commit -m "..." <file1> ...

I think there is something similar where it doesn't have to be staged

I will run a test doing that & see what happens

Here are my results from the latest test of modifying the spacing on data/eddiejaoude.json
git commit -m "test hook" data/eddiejaoude.json

><EMAIL_ADDRESS>lint
> next lint

info  - Loaded env from /home/dburkhar/github/LinkFree/.env

./pages/search.js
36:6  Warning: React Hook useEffect has a missing dependency: 'username'. Either include it or remove the dependency array.  react-hooks/exhaustive-deps

./components/user/UserTestimonials.js
34:15  Warning: Do not use `<img>` element. Use `<Image />` from `next/image` instead. See: https://nextjs.org/docs/messages/no-img-element  @next/next/no-img-element

info  - Need to disable some ESLint rules? Learn more here: https://nextjs.org/docs/basic-features/eslint#disabling-rules
✔ Preparing lint-staged...
✔ Running tasks for staged files...
✖ Prevented an empty git commit!
✔ Reverting to original state because of errors...
✔ Cleaning up temporary files...

  ⚠ lint-staged prevented an empty git commit.
  Use the --allow-empty option to continue, or check your task configuration

husky - pre-commit hook exited with code 1 (error)

It looks like the files always go through staging regardless of how they are committed

I tried editing a file that isn't part of the prettier glob and got the following results
git commit -m "test hook" package.json

><EMAIL_ADDRESS>lint
> next lint

info  - Loaded env from /home/dburkhar/github/LinkFree/.env

./pages/search.js
36:6  Warning: React Hook useEffect has a missing dependency: 'username'. Either include it or remove the dependency array.  react-hooks/exhaustive-deps

./components/user/UserTestimonials.js
34:15  Warning: Do not use `<img>` element. Use `<Image />` from `next/image` instead. See: https://nextjs.org/docs/messages/no-img-element  @next/next/no-img-element

info  - Need to disable some ESLint rules? Learn more here: https://nextjs.org/docs/basic-features/eslint#disabling-rules
→ No staged files match any configured task.
[prettier a4e6294] test hook
 1 file changed, 2 insertions(+), 1 deletion(-)

Oh thanks for testing 👍 interesting, maybe it works differently to the last time I used it


Regression test for the size and gas cost of the host_function_metrics contract (Issue #2049)

Closes #2049
There are only two issues here:

These tests cannot possibly be a comprehensive benchmark for other contracts; and
For some reason, the second test outputs garbage to the terminal (if it fails or cargo test has been passed -- --show-output).

I've made a mistake on this PR trying to get Drone to work and it won't reopen.
I will make a duplicate soon, so this one is closed forever.


{Release} HotFix: Release 2.24.1

Description

Related PR

https://github.com/Azure/azure-cli/pull/18301
https://github.com/Azure/azure-cli/pull/18277
https://github.com/Azure/azure-cli/pull/18244
https://github.com/Azure/azure-cli/pull/18283

Testing Guide

History Notes

[Component Name 1] BREAKING CHANGE: az command a: Make some customer-facing breaking change.
[Component Name 2] az command b: Add some customer-facing feature.

This checklist is used to make sure that common guidelines for a pull request are followed.

[x] The PR title and description has followed the guideline in Submitting Pull Requests.

[x] I adhere to the Command Guidelines.

[x] I adhere to the Error Handling Guidelines.

Release


GH-2910: Make the test for images case insensitive

fixes GH-2910

I can make the regex case sensitive, but I'm pretty sure this is a potentially breaking change. Some people will be hardcoding their asset paths, and it'll break due to the hash being added to the file name.


Bug with union types

TypeScript Version:  3.1.0-dev.20180714
Search Terms:
union
Code
function g(x: "a" | "b") {
    const f: { type: "a" } | { type: "b" } = {
        type: x
    };
}

Expected behavior:
No error.
Actual behavior:
Type '"a"' is not assignable to type '"b"'.
Playground Link:
http://www.typescriptlang.org/play/index.html#src=function g(x%3A "a" | "b") {
    const f%3A { type%3A "a" } | { type%3A "b" } %3D {
        type%3A x
    }%3B
}

Related Issues:
I'm pretty sure this already exists, but I have no clue what to search for. :(

Does this work for you?
function g<T extends "a" | "b">(x: T) {
    const f: { type: T } = {
        type: x
    };
    return f;
}

const a = g("a"); // { type: "a" }
const b = g("b"); // { type: "b" }
const c = g("c"); // error

Duplicate of #12052


We might want to opt out of generating proto stubs

grpcio and grpcio-tools are pretty heavy (and probably rely on c extensions) - anybody who tries to install generated package will have to install these as dependencies

@ashutshkumr  if those dependencies are missing the openapiart doesn't fail, it just skips building those artifacts.
I like the additional of building those artifacts as its just one more check on the correctness of the proto generation.
There isn't a lot of overhead in terms of time - just have to see that 2.7 -> 3.9 is supported - what do you think?

I agree with this approach when generating stubs.
Although, what I'm also concerned about is when end user installs the stubs and they're not insterested in proto stubs.
for e.g. I'm currently manually removing unwanted files for snappi_convergence: https://github.com/open-traffic-generator/snappi-convergence/blob/master/setup.py#L26

Instead of manually removing those stubs the setup.py should use a MANIFEST.in to control the included/excluded files as it gives more control to the project.
We should also add an option to openapiart to not generate python proto stubs to allow for more user control.
What do you think?

@ashutshkumr is this valid still?


Add license

Can we consider licensing this under the MIT license so other projects can make use of it? :)

Seems like a good idea to me 👍🏽

@tylercaldwell  @jrsinclair sure. I have PR noticed.


completed task1A,2,3,9,10

@MadhuKumar45
Task -1
Code verified.
Task -2
Code verified. Complete the pending(sub,multi) operations
Task -3
Code verified. change Default activity  names and give annotations

Task -9
Code verified.
Task -10
Code verified. change Default activity  names and give annotations


Since we already have the deselectAllFacetValues term, I wouldn't necessarily use the clearAllFacetValues term. It also means the same thing, although in the end one deselect all values for one facet, an other deselect all values for all facets.
A better term could be deselectAllFacets or better clearAllFacets, slight difference but a bit more meaningful.

Since we already have the deselectAllFacetValues term, I wouldn't necessarily use the clearAllFacetValues term. It also means the same thing, although in the end one deselect all values for one facet, an other deselect all values for all facets.
A better term could be deselectAllFacets or better clearAllFacets, slight difference but a bit more meaningful.

Yes, I wasn't sure about the naming. I'll change it.

clearAllFacetTypes ?

clearAllFacetTypes sounds like we are clearing the facets and not the values, for me at least. That's why I kept the Values in it. clearAllValues? deselectAllValues? deselectAll?


Safe cloning user object for further serialization

Hello,
I tried to use this module with my feathers app and feathers-sequelize Users service, but functions sanitizeUserForClient and sanitizeUserForNotifier cause error:
TypeError: Converting circular structure to JSON
    at Object.stringify (native)
    at stringify (/***/node_modules/express/lib/response.js:1064:12)
    at ServerResponse.json (/***/node_modules/express/lib/response.js:243:14)
    at Object.applicationJson [as application/json] (/***/node_modules/feathers-rest/lib/index.js:27:11)
    at ServerResponse.res.format (/***/node_modules/express/lib/response.js:628:13)
    at formatter (/***/node_modules/feathers-rest/lib/index.js:25:7)
    at Layer.handle [as handle_request] (/***/node_modules/express/lib/router/layer.js:95:5)
    at next (/***/node_modules/express/lib/router/route.js:131:13)
    at Object.callback (/***/node_modules/feathers-rest/lib/wrappers.js:87:14)
    at callbackWrapper (/***/node_modules/rubberduck/lib/rubberduck.js:50:20)
    at /***/node_modules/feathers/lib/mixins/promise.js:35:14

I think this is because Object.assign() does not copy values like custom toJSON method, which is used e.g. in Sequelize model objects and is necessary for proper object serialization.
I came up with idea of checking for existence of custom toJSON method in user object and then using it's result as a source for new user object. It happens only when JSON.stringify() throws error, so in my opinion - only when necessary.
The caveat is that after object sanitization, sequelize methods inside model object will not be accessible, but this is the same situation as current.
Please let me know what do you think.

Thanks for the catch.
I somehow missed this PR for 3 days. Sorry.
MongoDB has a similar issue. It uses a .toObject function instead of .toJSON.
Perhaps cloneObject is more descriptive name that cloneUserObject.
Would you mind making these 2 changes to the PR?

Sorry, I just found some time to fix this.
I've added support for toObject but toJSON has precedence over it.

+1 Thanks

Pushed with 0.1.6


Development: Show correct git branch in Docker Images built by GitHub

Checklist
General

[ ] I tested all changes and their related features with all corresponding user types on a test server.
[x] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Motivation and Context
The git branch information on test servers shows HEAD and a commit hash which is a merge commit of the PR.
So I expect this to be a checkout problem during the GitHub build workflow as it works when building it locally or in Cypress.
Description

This changes the way the git checkout is performed for building the Docker Images in GitHub depending if it's a pull request or sth else.
Steps for Testing

Deploy this to a Docker-based Testserver (or pull the docker image from the registry and then run docker compose locally)
Look if the git branch in the footer and logs shows the correct branch name and SHA instead of just HEAD

Code Review

[x] Code Review 1
[ ] Code Review 2

Manual Tests

[x] Test 1
[x] Test 2

Codecov Report

Merging #6608 (ba90a1c) into develop (0d126f0) will increase coverage by 0.00%.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
Additional details and impacted files
@@            Coverage Diff             @@
##             develop    #6608   +/-   ##
==========================================
  Coverage      80.51%   80.51%
- Complexity     13321    13323    +2
==========================================
  Files           2365     2365
  Lines          90714    90714
  Branches       13388    13388
==========================================
+ Hits           73037    73040    +3
+ Misses          9728     9726    -2
+ Partials        7949     7948    -1

see 2 files with indirect coverage changes

Flag
Coverage Δ

client
76.53% <ø> (+<0.01%)
:arrow_up:

server
84.95% <ø> (+<0.01%)
:arrow_up:

Continue to review full report in Codecov by Sentry.

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


Coverity fixes

@edersondisouza is right
It's the way I would prefer to go

@edersondisouza @bdilly Sent a v2. I got rid of the null checks

r+

merged


[Do not merge] Mark copied sections as cloned...

https://trello.com/c/WKtK3EIj/920-investigate-underlying-bug-with-setting-publication-date-of-a-manual
Do not merge because we're testing alternatives to this approach.
When a manual is updated in order to amend the public updated at field,
all the manual sections are copied with no amendments, this makes it
difficult for the PublicationLogger to discern which section change notes
are copies of the previous edition and so we may end up with duplicate
notes appearing as inaccuracies in the manual change history.
A recent issue with the Highway Code meant these change notes appeared
under the wrong date and implied the guidance was added at a different
time to legislative changes.
This commit persists a boolean  field to indicate a cloned
SectionEdition, the PublicationLogger will ignore these editions and
no PublicationLog record will be created, this will mean duplicate change
notes do not get sent to the content store and rendered in the manual history.

Hi @steventux. Do we definitely need to duplicate these SectionEditions when changing the public updated at timestamp? I'm wondering whether we could solve this problem by avoiding the duplicate SectionEditions in the first place.

@chrisroos I had wondered the same, it doesn't seem optimal to clone sections like this and export them again as drafts. To be honest I'd assumed there was a good reason for doing this given @h-lame's commit message.

@chrisroos so having investigated the approach of only updating the manual on a different branch in a dev VM and on integration the main side-effect I can see is that section content items will end up with different first_published_at dates to the manual they belong to. This synchronising of dates is a bit buried but is present here https://github.com/alphagov/manuals-publisher/blob/master/app/exporters/section_publishing_api_exporter.rb#L55
I'm not fully sure what the implications of this are for the frontend (I can't find a rendered first_published_at date for a section) but it feels like the data will become polluted by this.

Closing in favour of https://github.com/alphagov/manuals-publisher/pull/1040


Add Sundial Manager class for DropWizard Integration

Actually, don't do this because it will add a dependency on dropwizard. Instead, create a separate dropwizard plugin project.

done.


Android 11 scoped storage support

Hey there ! First of all thanks for this beautiful library. I love everything of this.
Just wanted to check if we're planning of implementing it based on scoped storage rules of Android 10 and above ??
For now I've added the flag suggested by Google for it to work.
Thanks in advance

@fareed945 It already works very well respecting the scoped storage framework, you do not need the "requestLegacyExternalStorage" flag.

Thanks for the reply !

Audio recorded list files it returns wrong path(Uri). Any idea?


import error on install

I'm having trouble re-installing larch
I'm using a MacBook (Catalina 10.15.7) and was using Larch with no issue. the book was repaired and apple replaced the logic board. This has caused a lot of other headache for my non-apple softwares so I know it's not really an issue on larch's end but something else that needs to be reconfigured. I hope some one can help point me in the right direction.
When I first tried to launch GSE map viewer the application started and quit
I removed larch and reinstalled using the script. had the same issue but this time the desktop icons failed to be created. I then removed larch as well as python from the system. then reinstalled larch using the script. This is the error that comes up in the install and when launching gse_mapviewer respectively.
Creating desktop shortcuts
Traceback (most recent call last):
File "/Users/admin/xraylarch/bin/larch", line 5, in
from larch.apps import run_larch
File "/Users/admin/xraylarch/lib/python3.9/site-packages/larch/init.py", line 52, in
from . import builtins
File "/Users/admin/xraylarch/lib/python3.9/site-packages/larch/builtins.py", line 22, in
from . import io
File "/Users/admin/xraylarch/lib/python3.9/site-packages/larch/io/init.py", line 39, in
from .specfile_reader import (str2rng_larch, read_specfile, open_specfile,
File "/Users/admin/xraylarch/lib/python3.9/site-packages/larch/io/specfile_reader.py", line 26, in
from silx.io.convert import write_to_h5, _is_commonh5_group
ImportError: cannot import name '_is_commonh5_group' from 'silx.io.convert' (/Users/admin/xraylarch/lib/python3.9/site-packages/silx/io/convert.py)
and same issue when launching
admin@Jordans-MBP ~ % /Users/admin/xraylarch/bin/gse_mapviewer ; exit;
Traceback (most recent call last):
File "/Users/admin/xraylarch/bin/gse_mapviewer", line 5, in
from larch.apps import run_gse_mapviewer
File "/Users/admin/xraylarch/lib/python3.9/site-packages/larch/init.py", line 52, in
from . import builtins
File "/Users/admin/xraylarch/lib/python3.9/site-packages/larch/builtins.py", line 22, in
from . import io
File "/Users/admin/xraylarch/lib/python3.9/site-packages/larch/io/init.py", line 39, in
from .specfile_reader import (str2rng_larch, read_specfile, open_specfile,
File "/Users/admin/xraylarch/lib/python3.9/site-packages/larch/io/specfile_reader.py", line 26, in
from silx.io.convert import write_to_h5, _is_commonh5_group
ImportError: cannot import name '_is_commonh5_group' from 'silx.io.convert' (/Users/admin/xraylarch/lib/python3.9/site-packages/silx/io/convert.py)

@jordanpoitras @maurov Sorry for the trouble, but now I see this too when upgrading to silx 1.0.  It looks like silx 1.0.0 removed this.   I find their code a little challenging to navigate, but I think that in 0.15.2, it was
def _is_commonh5_group(grp):
    """Return True if grp is a commonh5 group.
    (h5py.Group objects are not commonh5 groups)"""
    return is_group(grp) and not isinstance(grp, h5py.Group)

with is_group was defined as
def is_group(obj):
    """
    True if the object is a h5py.Group-like object. A file is a group.
    :param obj: An object
    """
    t = get_h5_class(obj)
    return t in [H5Type.GROUP, H5Type.FILE]

(with kind of a lot of convolutions).  I think that means that _is_commonh5_group(grp) is just isinstance(grp, h5py.File).
@maurov does that look right to you?  I think I never tried writing an HDF5 specfile here...

@jordanpoitras sorry for the trouble, as @newville said, this is coming from upgrading to silx=1.0.0 and my mistake for importing a private function. Please, simply downgrade to silx=0.15.2 in the meantime to quickly fix your issue.
@newville I would like to keep using silx utilities to write to HDF5 files. You can simply remove the _is_commonh5_group import and the relative line in specfile_reader.py. Otherwise, we can stick to silx=0.15.2 in the requirements for the moment. In view of saving the project file to HDF5, I was planning to rework on this part soon. Are you willing to update the current release to fix this?

@newville I have looked into the silx code and this check is not required anymore, because now silx can write to HDF5 also if the initial file is HDF5-like.
I took it out your change, as it was not the expected behavior and committed directly to master (https://github.com/xraypy/xraylarch/commit/b76f2ce29b6d183f69a7586ea8daccbe0a89ace3)

Thanks for the advice @maurov
I have downgraded silx. However the desktop icons were not created and so I'm not sure how to access the applications.
when I launch get_mapviewer I get this
admin@Jordans-MBP ~ % /Users/admin/xraylarch/bin/gse_mapviewer ; exit;
This program needs access to the screen. Please run with a
Framework build of python, and only when you are logged in
on the main display of your Mac.

[Process completed]

my uneducated guess is that I should launch the portion of the instal script where the desktop icons and all that follows is created so that I can access the application normally using the gui
Thanks again for the support,
Jordan

@jordanpoitras my advice is to reinstall Larch using the GetLarch.sh script and install the source version with the option --devel, that is:
GetLarch.sh --devel

@jordanpoitras  You should be able to do larch -m to fix that.   If that does not work,  /Users/admin/xraylarch/bin/python /Users/admin/xraylarch/bin/larch -m`
If that still gives errors, then maybe conda install python.app, and then one of those.
That is larch -m should create the folder of desktop apps / icons, and fix the irritating anaconda-on-MacOS need for "python.app" to run GUI code.

@jordanpoitras have you solved this issue? Any news?

OK, great! I will close the issue then.


My bug report

Select "Properties" to change Colors. Be unhappy with the results. Attempt to restore the default Colors. Uninstall and reinstall in an attempt to get back to the default colors.
It should somehow be possible to find a light color combination that looks okay, and/or restore the default colors.
Can't restore default colors.
Typical Windows 10 professional PC.

What's with this template?

@GerryOnGithub The repo is for developers. For support questions please use forums and other support channel.

@GerryOnGithub can't remember the exact key, but the colors are stored in the registry. I think it might be under HKCU:\Console.
Removing those values will cause PS to regenerate the defaults and populate the key.

thanks vexx32
Computer\HKEY_CURRENT_USER\Console\C:_Program Files_PowerShell_6_pwsh.exe


on_chat_resume function is unable to retrieve the metadata of messages when using the thread's steps

Describe the bug
The on_chat_resume function is unable to retrieve the metadata of messages when using the thread's steps.
To Reproduce
Start a chat session and send messages.
Resume the chat session.
In the on_chat_resume function, try to access message metadata using thread["steps"].
Expected behavior
When resuming a chat, the on_chat_resume function should be able to retrieve the full message history, including metadata, from the thread["steps"] object. Each message in the steps should contain its associated metadata.
Currently, the code uses a workaround by storing the chat history in the thread metadata (thread["metadata"]["chat_history"]). While this works, it would be more efficient and consistent to retrieve the message history directly from the thread["steps"] object, including all associated metadata.

from operator import itemgetter
import os
from mistralai import Mistral
from dotenv import load_dotenv

from chainlit.types import ThreadDict
import chainlit as cl

load_dotenv()

@cl.password_auth_callback
def auth():
    return cl.User(identifier="test")

@cl.on_chat_start
async def on_chat_start():
    cl.user_session.set("chat_history", [])

@cl.on_chat_resume
async def on_chat_resume(thread: ThreadDict):
    cl.user_session.set("chat_history", [])

    # Option 1: use the chat history saved in the thread metadata. Which will contain the metadata of each message
    chat_history = thread["metadata"]["chat_history"]
    for message in chat_history:
        print(message)
        cl.user_session.get("chat_history").append(message)

    # # Option 2: use the steps to fetch the chat history. But there is a bug: existing metadata is not returned
    # for message in thread["steps"]:
    #     # BUG: the steps do not return metadata
    #     if message["type"] == "user_message":
    #         cl.user_session.get("chat_history").append({"role": "user", "content": message["output"]})
    #     elif message["type"] == "assistant_message":
    #         cl.user_session.get("chat_history").append({"role": "assistant", "content": message["output"]})

@cl.on_message
async def on_message(message: cl.Message):
    # Note: by default, the list of messages is saved and the entire user session is saved in the thread metadata
    chat_history = cl.user_session.get("chat_history")

    api_key = os.environ["MISTRAL_API_KEY"]
    model = "ministral-8b-latest"

    client = Mistral(api_key=api_key)

    chat_history.append({"role": "user", "content": message.content})

    chat_response = client.chat.complete(
        model=model,
        messages=chat_history
    )

    response_content = chat_response.choices[0].message.content

    # workaround to save metadata and fetch it in the resume on_chat_resume method
    chat_history.append({"role": "assistant", "content": response_content, "metadata": {"test": "test"}})

    # The metadata will be saved in the database. But not fetched in the resume on_chat_resume method, cf bug explained above
    await cl.Message(content=response_content, metadata={"test": "test"}).send()


Enable passing allowFontScaling prop

I would like pass allowFontScaling to this component because I would like to disable font scaling for my buttons

fixed here: https://github.com/ide/react-native-button/pull/34

Merged that commit.


Try to see what brakes things.

Make new dies with this:

The configuration synchronization failed validation.

Unable to install the HELfi Base config module since it requires the Editoria11y module.

Unable to uninstall the MySQL module because: The module 'MySQL' is providing the database driver 'mysql'..

Version updates in this update:
`Lock file operations: 6 installs, 91 updates, 0 removals

Upgrading behat/mink (v1.9.0 => v1.10.0)
Upgrading behat/mink-selenium2-driver (v1.5.0 => v1.6.0)
Upgrading commerceguys/addressing (v1.2.2 => v1.3.0)
Upgrading composer/ca-bundle (1.3.1 => 1.3.2)
Upgrading composer/composer (2.2.7 => 2.2.14)
Upgrading composer/semver (3.2.6 => 3.3.2)
Upgrading composer/spdx-licenses (1.5.6 => 1.5.7)
Upgrading consolidation/annotated-command (4.5.2 => 4.5.5)
Upgrading doctrine/cache (1.12.1 => 1.13.0)
Upgrading doctrine/lexer (1.2.1 => 1.2.3)
Upgrading doctrine/reflection (1.2.2 => 1.2.3)
Upgrading drupal/allowed_formats (1.4.0 => 1.5.0)
Upgrading drupal/coder (8.3.14 => 8.3.15)
Upgrading drupal/config_filter (2.2.0 => 2.3.0)
Upgrading drupal/core (9.3.7 => 9.4.0)
Upgrading drupal/core-composer-scaffold (9.3.7 => 9.4.0)
Upgrading drupal/core-dev (9.3.7 => 9.4.0)
Upgrading drupal/core-recommended (9.3.7 => 9.4.0)
Upgrading drupal/easy_breadcrumb (2.0.2 => 2.0.3)
Locking drupal/editoria11y (1.0.14)
Locking drupal/external_entities (2.0.0-alpha5)
Upgrading drupal/externalauth (2.0.0 => 2.0.1)
Upgrading drupal/gin (3.0.0-alpha37 => 3.0.0-beta3)
Upgrading drupal/gin_toolbar (1.0.0-beta20 => 1.0.0-beta22)
Upgrading drupal/hdbt_admin (1.4.7 => 1.6.7)
Upgrading drupal/helfi_atv (dev-develop c68640f => dev-develop 0c7f9de)
Upgrading drupal/helfi_drupal_tools (dev-main c2a1d0d => dev-main 4e7e2ba)
Upgrading drupal/helfi_platform_config (2.5.0 => 2.9.6)
Upgrading drupal/helfi_tunnistamo (2.0.6 => 2.0.7)
Upgrading drupal/matomo (1.16.0 => 1.19.0)
Locking drupal/media_entity_file_replace (1.0.0)
Upgrading drupal/oembed_providers (2.0.2 => 2.0.4)
Upgrading drupal/paragraphs (1.13.0 => 1.14.0)
Upgrading drupal/pathauto (1.9.0 => 1.10.0)
Upgrading drupal/simple_sitemap (3.11.0 => 4.1.2)
Upgrading drupal/token_filter (1.3.0 => 1.4.0)
Upgrading drupal/twig_debugger (1.1.1 => 1.1.2)
Locking drupal/views_bulk_edit (2.6.0)
Locking drupal/views_bulk_operations (4.1.2)
Upgrading egulias/email-validator (3.1.2 => 3.2)
Locking galbar/jsonpath (2.0)
Upgrading guzzlehttp/guzzle (6.5.5 => 6.5.7)
Upgrading guzzlehttp/psr7 (1.8.3 => 1.8.5)
Upgrading instaclick/php-webdriver (1.4.10 => 1.4.14)
Upgrading justinrainbow/json-schema (5.2.11 => 5.2.12)
Upgrading laminas/laminas-diactoros (2.8.0 => 2.11.0)
Upgrading laminas/laminas-feed (2.15.0 => 2.17.0)
Upgrading laminas/laminas-stdlib (3.6.1 => 3.7.1)
Upgrading league/mime-type-detection (1.9.0 => 1.11.0)
Upgrading league/uri (6.5.0 => 6.6.0)
Upgrading makinacorpus/php-lucene (1.0.4 => 1.1.0)
Upgrading nikic/php-parser (v4.13.2 => v4.14.0)
Upgrading phpdocumentor/type-resolver (1.6.0 => 1.6.1)
Upgrading phpmailer/phpmailer (v6.6.0 => v6.6.2)
Upgrading phpstan/phpdoc-parser (1.2.0 => 1.6.3)
Upgrading phpunit/php-code-coverage (9.2.14 => 9.2.15)
Upgrading psr/container (1.1.1 => 1.1.2)
Upgrading ruflin/elastica (dev-master 3a19d82 => dev-master 682b78d)
Upgrading sebastian/environment (5.1.3 => 5.1.4)
Upgrading seld/jsonlint (1.8.3 => 1.9.0)
Upgrading slevomat/coding-standard (7.0.19 => 7.2.1)
Upgrading squizlabs/php_codesniffer (3.6.2 => 3.7.0)
Upgrading symfony/console (v4.4.34 => v4.4.42)
Upgrading symfony/debug (v4.4.31 => v4.4.41)
Upgrading symfony/dependency-injection (v4.4.34 => v4.4.42)
Upgrading symfony/deprecation-contracts (v2.5.0 => v2.5.1)
Upgrading symfony/dom-crawler (v4.4.39 => v4.4.42)
Upgrading symfony/error-handler (v4.4.34 => v4.4.41)
Upgrading symfony/event-dispatcher (v4.4.34 => v4.4.42)
Upgrading symfony/event-dispatcher-contracts (v1.1.11 => v1.1.12)
Upgrading symfony/filesystem (v4.4.39 => v4.4.42)
Upgrading symfony/finder (v4.4.37 => v4.4.41)
Upgrading symfony/http-client-contracts (v2.5.0 => v2.5.1)
Upgrading symfony/http-foundation (v4.4.34 => v4.4.41)
Upgrading symfony/http-kernel (v4.4.35 => v4.4.42)
Upgrading symfony/lock (v4.4.38 => v4.4.40)
Upgrading symfony/mime (v5.4.0 => v5.4.9)
Upgrading symfony/phpunit-bridge (v5.4.3 => v5.4.8)
Upgrading symfony/polyfill-ctype (v1.23.0 => v1.25.0)
Upgrading symfony/polyfill-iconv (v1.23.0 => v1.25.0)
Upgrading symfony/polyfill-intl-idn (v1.23.0 => v1.25.0)
Upgrading symfony/polyfill-intl-normalizer (v1.23.0 => v1.25.0)
Upgrading symfony/polyfill-mbstring (v1.23.1 => v1.25.0)
Upgrading symfony/polyfill-php72 (v1.25.0 => v1.26.0)
Upgrading symfony/polyfill-php73 (v1.25.0 => v1.26.0)
Upgrading symfony/polyfill-php80 (v1.23.1 => v1.25.0)
Upgrading symfony/process (v4.4.35 => v4.4.41)
Upgrading symfony/routing (v4.4.34 => v4.4.41)
Upgrading symfony/serializer (v4.4.35 => v4.4.42)
Upgrading symfony/service-contracts (v2.5.0 => v2.5.1)
Upgrading symfony/translation (v4.4.34 => v4.4.41)
Upgrading symfony/translation-contracts (v2.5.0 => v2.5.1)
Upgrading symfony/validator (v4.4.35 => v4.4.41)
Upgrading symfony/var-dumper (v5.4.0 => v5.4.9)
Upgrading symfony/yaml (v4.4.34 => v4.4.37)
Upgrading twig/twig (v2.14.11 => v2.15.1)
Upgrading webmozart/assert (1.10.0 => 1.11.0)`


fix(Carousel): Fix deprecated lifecycle method componentWillReceiveProps

Fix https://github.com/reactstrap/reactstrap/issues/1602

[x] Bug fix
[ ] New feature
[ ] Chore
[ ] Breaking change
[x] There is an open issue which this change addresses
[x] I have read the CONTRIBUTING document.
[x] My commits follow the Git Commit Guidelines
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.

[ ] I have updated the documentation accordingly.

[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

My approach for solving this issue was to delete the componentWillReceiveProps in favor of a componentDidUpdate implementation with the same logic, another approach was to switch to the new static method getDerivedStateFromProps, I tried the switch but the final result was really messy and full of workaround in order to not refactoring all the component and in particular the timeout handling logic. Using the componentDidUpdate results in a more clean and smooth logic implementation.
Refers to the issue https://github.com/reactstrap/reactstrap/issues/1602

@TheSharpieOne this PR is outdated, can be closed.