Open
Conversation
* Fix TCP connection leak for non-active secure sessions Ensures that all secure sessions associated with a closed TCP connection properly release their transport resources and are marked for eviction. - Removed IsActiveSession() filter in MarkSecureSessionOverTCPForEviction to ensure kDefunct and kEstablishing sessions are also processed. - Added explicit session->ReleaseTCPConnection() call to immediately decrement the transport reference count upon connection closure. - Ensured session->MarkForEviction() is called for all sessions matching the closed connection to prevent session table saturation. - Added regression test TestDefunctSecureSessionReleaseOnConnectionClose to verify reclamation when sessions are in kDefunct state. * Incorporate change recommendations from gemini * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* [ESP32] support for detecting post ota boot reason esp-idf has no way of figuring out if its a post ota boot, but ota requestor stores the ota-update-state and the target version in the kvs, using them to decide whether device is booting after an ota or not. Since ota-update-state will be set to idle once ota requestor cluster initializes, GetBootReason() API caches the state on the first boot to ensure that the subsequent calls provides the correct boot reason. * Restyled by clang-format * ESP32: Removed explicit OTA enum include and the GN dep --------- Co-authored-by: Restyled.io <commits@restyled.io>
* Roll back to groups cluster rev4. Revision 5 implementation was done in time for SVE * run regen all
* Introduce periodic status thread * Type hint __exit__ * Make status thread a daemon, as it's not critical to be terminated cleanly * Improve readability of passed_failed_tests * Don't use explicit ANSI tokens * Remove need for log counter decrement * Update scripts/tests/chiptest/status.py * Remove redundant passed/failed counters in status thread --------- Signed-off-by: Marek Pikuła <m.pikula@partner.samsung.com> Co-authored-by: Shubham Patil <shubham.patil@espressif.com>
…43762) * crypto/mbedtls: support mbedtls v4.0 PSA crypto interface mbedTLS 4.0 removes mbedtls_pk_ec() and transitions to PSA as the primary crypto interface. Add ExtractRawPublicKeyFromPKContext() helper that uses PSA APIs (mbedtls_pk_import_into_psa + psa_export_public_key) for mbedTLS >= 4.0 and falls back to the existing ecp APIs for older versions. Updated callers: - VerifyCertificateSigningRequest: use helper, handle sig_pk type change (MBEDTLS_PK_SIGALG_ECDSA vs MBEDTLS_PK_ECDSA) - ExtractPubkeyFromX509Cert: use helper, use mbedtls_pk_get_bitlen() for key size validation on older versions * [ESP32] Enable PSA crypto backend for ESP-IDF v6.0 ESP-IDF v6.0 ships mbedTLS 4.x which uses PSA as the primary crypto interface. - Set chip_crypto="psa" when IDF_VERSION_MAJOR >= 6 - Define CHIP_CONFIG_SHA256_CONTEXT_SIZE/ALIGN for the larger psa_hash_operation_t context - Skip custom entropy source registration when using PSA (it manages entropy internally) * some nits * remove the keypair redeclaration * added comment marker where #if block ends * Apply suggestions from code review Co-authored-by: Harshal5 <51528083+Harshal5@users.noreply.github.com> * Add _log_PSA_error helper and use it for PSA error logging * Guard private ECP/bignum includes behind CHIP_CRYPTO_SPAKE2P_MBEDTLS Private mbedTLS v4.0 headers (ecp.h, bignum.h) are only needed for the mbedTLS-based SPAKE2+ fallback. Platforms with a PSA SPAKE2+ driver should not require these. * guard ecp.h include and MapECPGroupId behind mbedTLS < 4.0 * fix include order --------- Co-authored-by: Harshal5 <51528083+Harshal5@users.noreply.github.com>
* CMake: Extract dependencies from ZAP JSON template * Bump CMake minimum required version to at least 3.20 * Apply suggestions made by copilot
…OS based NXP MCU host (#71553) * [NXP][wifi] Adding implementation of GetWiFiCurrentMaxRate for freeRTOS based NXP MCU host This value indicate the current maximum PHY rate of transfer of data in bitsper-second as per Matter specification. + fixing wrong arg name in GetWiFiPacketUnicastRxCount function Signed-off-by: Gatien Chapon <gatien.chapon@nxp.com> * Addressing PR review comments Signed-off-by: Gatien Chapon <gatien.chapon@nxp.com> --------- Signed-off-by: Gatien Chapon <gatien.chapon@nxp.com>
* Add feature and update test run * Restyled by clang-format * Default to iana if per group not enabled --------- Co-authored-by: Restyled.io <commits@restyled.io>
* Change logic of UnitLocalization migration from SafeAttribute * Add helper function for element size * Add static assert to function * Simplify codegen calls * Add assertion for array size value * Enable checks for SafeAttributePersistence
The door lock application panics at startup because the device info provider is missing during server initialization. This is caused by an inconsistency between the Kconfig build option (CONFIG_CHIP_EXAMPLE_DEVICE_INFO_PROVIDER) and the device info provider code guards (CONFIG_DEVICE_INFO_PROVIDER_IMPL) in the implementation of the example applications. Signed-off-by: Marian Chereji <marian.chereji@nxp.com>
… done (#71492) * script update to isntall packages * Restyled by whitespace * improve logic * Update scripts/examples/gn_silabs_example.sh Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Update scripts/examples/gn_silabs_example.sh Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * failure if installtion unsuccesful * Restyled by shfmt * failure if installtion unsuccesful * install only once * Restyled by shfmt * Update scripts/examples/gn_silabs_example.sh Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --------- Co-authored-by: Restyled.io <commits@restyled.io> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
* Run alchemy on the groupcast and groupKey management cluster spec Re-run alchemy * Run Regen Re-run zap regen
…71592) * Move the TLS clusters to EP0, where they are mandated by the spec. * Address linter error and code comments * Update Darwin to use EP0 for TLS clusters
…… (#71576) * Hack: Fix a parsing error in the DM XML in a way that can be side loaded for SVE Note: We do have a proper fix for this, but it requires re-rolling the test harness. This is a backup in case we don't have time to do this. * Restyled by isort * add issue number, remove print * Add the remaining data model file patches * add other DM patches * Restyled by autopep8 * omg...add the changes, cecille * whoops --------- Co-authored-by: Restyled.io <commits@restyled.io>
Contributor
|
The check for |
sarthak shaha (Sarthak-Shaha)
approved these changes
Apr 16, 2026
* Decouple closure dimension cluster * Add codegenIntegration for closure dimension cluster * Update closure-app linux * Restyled changes * run zap regern for closure dimension cluster changes * Add tests for closure-dimension cluster * Remove unused timerdelegate argument - test updates * run zap regen for remaining changes - address gemini comments * Review comments * Add readme * Use Interface class for backward compatibility * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Keep APIs for backward compatibility * Readme update and Restyled changes * remove extra parenthesis * Restyled by whitespace * Addressed review comments * add removed block * Add Config in the constructor * remove setter for attribute with fixed quality * Remove redundant feature validation from Conformance --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…ackend (#37893) * remove insights backend and enable diagnostics with light example light example insight removal diagnostic data delegate implementation removed esp_insight_trace and esp_insight_stats config options fix insight file include issue - print memory in each timer iteration modify enable diagnostics method as per the latest update - move retrieve buffer to stack inside enable diagnostics method - use map with string compare removed insights support from energy-gateway-app Remove insights from idf_component.yml file Add insights delegate Move insights init code to delegate - Mode insights-delegate to common code insights support in energy-management-app update docs and readme for examples Restyled changes Replace diagnostics kconfig option * Remove newly added files from the esp_trace insights backend update diagnostics config option * Added missing bits in examples - addressed comments * Restyled by clang-format * Restyled by prettier-markdown * Remove insights dependency from examples * Update diagnostic config option from ESP_DIAGNOSTICS_ENABLED to CHIP_ENABLE_ESP_DIAGNOSTICS * Address Review comments * Restyled by clang-format --------- Co-authored-by: Restyled.io <commits@restyled.io>
…th GN (#71583) * [nxp][examples][mcxw72] Remove support for building contact-sensor with GN Building Matter applications using GN is no longer supported for the NXP MCXW72 platform. All Matter applications available for this platform can now be built using CMake only. Signed-off-by: Marian Chereji <marian.chereji@nxp.com> Reviewed-by: Gatien Chapon <gatien.chapon@nxp.com> * Update docs/platforms/nxp/nxp_mcxw72_guide.md Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --------- Signed-off-by: Marian Chereji <marian.chereji@nxp.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
…t. (#71599) * Remove attribute GroupcastAdoption from the groupkey management cluster, it is provisional and not implemented. Remove Hardcode of GCAST featuremap in GroupKey Management and set it only if groupcast is enabled on the device * Use groupDataProvider reference from the mContext member of the instance rather than getter the singleton * Addres comment about revision
* Moving some slowtests to Nightly * build missing apps + make all apps ASAN * fix bootstrap log name * make regular CI not run nightly tests; stop needing to put thme in not_automated * TESTING WORKFLOW: activate on PR * build missing apps * Clarify comments * TESTING: stop running Nightly on PRs * fix bootstrap log name * local.py: add include-nightly flag + make nightly display 'be patient'
* Implemented validation of PICS XML elements * Restyle * Added event_pics_str to pics.py * Addressed review comments * Restyle * Minor fixes needed after merge with latest master * Restyle * Restyle 2.0
…usters-common (#71610)
…ms (#71623) * Refactor Chime audio architecture for POSIX platforms * Include missing chime core and factory changes in PR * Remove chime/impl directory and its BUILD.gn * Restyled by clang-format * Restyled by gn * Use PosixChimeDevice to share implementation between Linux and Darwin * Address review comments and improve status handling in PosixChimeDevice * Restyled by gn * Fix ESP32 build by removing reference to deleted chime/impl directory --------- Co-authored-by: Restyled.io <commits@restyled.io>
a3c691b to
894b5e6
Compare
Comment on lines
50
to
+282
| @@ -76,15 +76,14 @@ jobs: | |||
| steps: | |||
| - name: Set up additional environment | |||
| run: | | |||
| echo "TSAN_OPTIONS=halt_on_error=1 suppressions=${GITHUB_WORKSPACE}/scripts/tests/chiptest/tsan-linux-suppressions.txt" >> $GITHUB_ENV | |||
| echo "CCACHE_DIR=${GITHUB_WORKSPACE}/.ccache" >> $GITHUB_ENV | |||
| - name: Checkout | |||
| uses: actions/checkout@v6 | |||
| - name: Checkout submodules & Bootstrap | |||
| uses: ./.github/actions/checkout-submodules-and-bootstrap | |||
| with: | |||
| platform: linux | |||
| bootstrap-log-name: bootstrap-logs-linux-${{ matrix.build_variant }}${{ matrix.chip_tool }} | |||
| bootstrap-log-name: bootstrap-logs-linux-${{ env.BUILD_VARIANT }} | |||
|
|
|||
| - name: Setup and Restore Cache | |||
| id: ccache | |||
| @@ -103,23 +102,72 @@ jobs: | |||
| - name: Build linux-x64-requestor-app | |||
| run: >- | |||
| ./scripts/run_in_build_env.sh "./scripts/build/build_examples.py | |||
| --target linux-x64-ota-requestor-${BUILD_VARIANT}-tsan-clang-test | |||
| --target linux-x64-ota-requestor-${BUILD_VARIANT}-clang-test | |||
| --pw-command-launcher=ccache build --copy-artifacts-to objdir-clone | |||
| && rm -rf out/linux-x64-ota-requestor-${BUILD_VARIANT}-tsan-clang-test" | |||
| && rm -rf out/linux-x64-ota-requestor-${BUILD_VARIANT}-clang-test" | |||
|
|
|||
| - name: Build linux-x64-provider-app | |||
| run: >- | |||
| ./scripts/run_in_build_env.sh "./scripts/build/build_examples.py | |||
| --target linux-x64-ota-provider-${BUILD_VARIANT}-tsan-clang-test | |||
| --target linux-x64-ota-provider-${BUILD_VARIANT}-clang-test | |||
| --pw-command-launcher=ccache build --copy-artifacts-to objdir-clone | |||
| && rm -rf out/linux-x64-ota-provider-${BUILD_VARIANT}-tsan-clang-test" | |||
| && rm -rf out/linux-x64-ota-provider-${BUILD_VARIANT}-clang-test" | |||
|
|
|||
| - name: Build Software Update ota images with new version. | |||
| run: >- | |||
| ./scripts/run_in_build_env.sh "./scripts/build/build_ota_images.sh --out-prefix out/su_ota_images_min --max-range 2 | |||
| && mv out/su_ota_images_min-v*/*.ota objdir-clone | |||
| && rm -rf out/su_ota_images_min-v*" | |||
|
|
|||
| - name: Build linux-x64-all-clusters | |||
| run: >- | |||
| ./scripts/run_in_build_env.sh "./scripts/build/build_examples.py | |||
| --target linux-x64-all-clusters-${BUILD_VARIANT}-clang-test | |||
| --pw-command-launcher=ccache build --copy-artifacts-to objdir-clone | |||
| && rm -rf out/linux-x64-all-clusters-${BUILD_VARIANT}-clang-test" | |||
| - name: Build linux-x64-fabric-admin-rpc | |||
| run: >- | |||
| ./scripts/run_in_build_env.sh "./scripts/build/build_examples.py | |||
| --target linux-x64-fabric-admin-rpc-${BUILD_VARIANT}-clang | |||
| --pw-command-launcher=ccache build --copy-artifacts-to objdir-clone | |||
| && rm -rf out/linux-x64-fabric-admin-rpc-${BUILD_VARIANT}-clang" | |||
|
|
|||
| - name: Build linux-x64-fabric-bridge-rpc | |||
| run: >- | |||
| ./scripts/run_in_build_env.sh "./scripts/build/build_examples.py | |||
| --target linux-x64-fabric-bridge-rpc-${BUILD_VARIANT}-clang | |||
| --pw-command-launcher=ccache build --copy-artifacts-to objdir-clone | |||
| && rm -rf out/linux-x64-fabric-bridge-rpc-${BUILD_VARIANT}-clang" | |||
|
|
|||
| - name: Build linux-x64-fabric-sync | |||
| run: >- | |||
| ./scripts/run_in_build_env.sh "./scripts/build/build_examples.py | |||
| --target linux-x64-fabric-sync-${BUILD_VARIANT}-clang | |||
| --pw-command-launcher=ccache build --copy-artifacts-to objdir-clone | |||
| && rm -rf out/linux-x64-fabric-sync-${BUILD_VARIANT}-clang" | |||
|
|
|||
| - name: Build linux-x64-lit-icd | |||
| run: >- | |||
| ./scripts/run_in_build_env.sh "./scripts/build/build_examples.py | |||
| --target linux-x64-lit-icd-${BUILD_VARIANT}-clang-test | |||
| --pw-command-launcher=ccache build --copy-artifacts-to objdir-clone | |||
| && rm -rf out/linux-x64-lit-icd-${BUILD_VARIANT}-clang-test" | |||
|
|
|||
|
|
|||
| - name: Build linux-x64-jf-control-app | |||
| run: >- | |||
| ./scripts/run_in_build_env.sh "./scripts/build/build_examples.py | |||
| --target linux-x64-jf-control-app-${BUILD_VARIANT}-clang | |||
| --pw-command-launcher=ccache build --copy-artifacts-to objdir-clone | |||
| && rm -rf out/linux-x64-jf-control-app-${BUILD_VARIANT}-clang" | |||
|
|
|||
| - name: Build linux-x64-jf-admin-app | |||
| run: >- | |||
| ./scripts/run_in_build_env.sh "./scripts/build/build_examples.py | |||
| --target linux-x64-jf-admin-app-${BUILD_VARIANT}-clang | |||
| --pw-command-launcher=ccache build --copy-artifacts-to objdir-clone | |||
| && rm -rf out/linux-x64-jf-admin-app-${BUILD_VARIANT}-clang" | |||
|
|
|||
| - name: ccache stats | |||
| run: ccache -s | |||
|
|
|||
| @@ -156,9 +204,9 @@ jobs: | |||
| path: .ccache | |||
| key: ${{ env.CCACHE_KEY }} | |||
|
|
|||
| su_repl_tests_linux_run: | |||
| name: Software Update REPL Tests - Linux (RUN) | |||
| needs: su_repl_tests_linux_build | |||
| nightly_repl_tests_linux_run: | |||
| name: Nightly REPL Tests - Linux (RUN) | |||
| needs: nightly_repl_tests_linux_build | |||
| if: github.actor != 'restyled-io[bot]' | |||
| timeout-minutes: 45 | |||
| strategy: | |||
| @@ -168,9 +216,9 @@ jobs: | |||
| # Regex filter by TC SU we think 45 minutes is more than engough for this task | |||
| # Each on one run to avoid all the jobs fail if one fails | |||
| # Add slow tests here as needed using the filter, individually or by group. | |||
| filter: ["", "TC_SU_2_5", "TC_SU_2_7"] | |||
| filter: ["", "TC_SU_2_5", "TC_SU_2_7", "!TC_SU"] | |||
| env: | |||
| BUILD_VARIANT: ipv6only-no-ble-no-wifi | |||
| BUILD_VARIANT: ipv6only-no-ble-no-wifi-asan | |||
| DISABLE_CCACHE: ${{ (github.event_name == 'workflow_dispatch' && inputs.disable_ccache == 'true') && 'true' || (contains(github.event.head_commit.message, '[no-ccache]') && 'true') || 'false' }} | |||
| CCACHE_KEY_SUFFIX: ${{ github.event_name == 'workflow_dispatch' && inputs.cache_suffix || '' }} | |||
|
|
|||
| @@ -193,12 +241,19 @@ jobs: | |||
| --sysctl net.ipv6.conf.all.forwarding=0 | |||
|
|
|||
| steps: | |||
| - name: Set up additional environment | |||
| run: | | |||
| echo "TSAN_OPTIONS=halt_on_error=1 suppressions=${GITHUB_WORKSPACE}/scripts/tests/chiptest/tsan-linux-suppressions.txt" >> $GITHUB_ENV | |||
| - name: Checkout | |||
| uses: actions/checkout@v6 | |||
| # NOTE: no bootstrap since we only use compile outputs from previous steps (including python venv in out/venv) | |||
|
|
|||
| # NOTE: we need bootstrap to be able to use ASAN symbolizer and get ASAN Stack traces | |||
| - name: Checkout submodules & Bootstrap | |||
| uses: ./.github/actions/checkout-submodules-and-bootstrap | |||
| with: | |||
| platform: linux | |||
| bootstrap-log-name: bootstrap-logs-linux-${{ env.BUILD_VARIANT }}-${{ matrix.filter }} | |||
|
|
|||
| - name: Set ASAN symbolizer path | |||
| run: scripts/run_in_build_env.sh 'echo "ASAN_SYMBOLIZER_PATH=$(which llvm-symbolizer)" >> $GITHUB_ENV' | |||
|
|
|||
| - name: Set up a IPV6 known envionment | |||
| uses: ./.github/actions/add-ipv6 | |||
|
|
|||
| @@ -214,11 +269,20 @@ jobs: | |||
| - name: Generate an argument environment file | |||
| run: | | |||
| echo -n "" >/tmp/test_env.yaml | |||
| echo "OTA_PROVIDER_APP: objdir-clone/linux-x64-ota-provider-${BUILD_VARIANT}-tsan-clang-test/chip-ota-provider-app" >> /tmp/test_env.yaml | |||
| echo "OTA_REQUESTOR_APP: objdir-clone/linux-x64-ota-requestor-${BUILD_VARIANT}-tsan-clang-test/chip-ota-requestor-app" >> /tmp/test_env.yaml | |||
| echo "OTA_PROVIDER_APP: objdir-clone/linux-x64-ota-provider-${BUILD_VARIANT}-clang-test/chip-ota-provider-app" >> /tmp/test_env.yaml | |||
| echo "OTA_REQUESTOR_APP: objdir-clone/linux-x64-ota-requestor-${BUILD_VARIANT}-clang-test/chip-ota-requestor-app" >> /tmp/test_env.yaml | |||
| echo "TRACE_APP: out/trace_data/app-{SCRIPT_BASE_NAME}" >> /tmp/test_env.yaml | |||
| # SU OTA Images | |||
| echo "SU_OTA_REQUESTOR_V2: objdir-clone/chip-ota-requestor-app_v2.min.ota" >> /tmp/test_env.yaml | |||
|
|
|||
| # Slow Test Apps | |||
| echo "ALL_CLUSTERS_APP: objdir-clone/linux-x64-all-clusters-${BUILD_VARIANT}-clang-test/chip-all-clusters-app" >> /tmp/test_env.yaml | |||
| echo "FABRIC_ADMIN_APP: objdir-clone/linux-x64-fabric-admin-rpc-${BUILD_VARIANT}-clang/fabric-admin" >> /tmp/test_env.yaml | |||
| echo "FABRIC_BRIDGE_APP: objdir-clone/linux-x64-fabric-bridge-rpc-${BUILD_VARIANT}-clang/fabric-bridge-app" >> /tmp/test_env.yaml | |||
| echo "FABRIC_SYNC_APP: objdir-clone/linux-x64-fabric-sync-${BUILD_VARIANT}-clang/fabric-sync" >> /tmp/test_env.yaml | |||
* [Telink] Add OTA resume watchdog * [Telink] Adopt kResumeWatchdogTimeoutMs
Signed-off-by: Doru-Cristian Gucea <doru-cristian.gucea@nxp.com>
…suggestion (#71617) * [Thermostat] set CurrentThermostatSuggestion from earliest in-effect suggestion * Restyled by clang-format --------- Co-authored-by: Restyled.io <commits@restyled.io>
…traction layer (#71633) * [Zephyr][platform] Updating the generic Zephyr platform layer to be compatible with Zephyr 4.4 baseline Signed-off-by: Dina Benamar <dina.benamarelmaaroufi@nxp.com> * Restyled by clang-format * Update comments in files to address review comments Signed-off-by: Dina Benamar <dina.benamarelmaaroufi@nxp.com> * Restyled by clang-format --------- Signed-off-by: Dina Benamar <dina.benamarelmaaroufi@nxp.com> Co-authored-by: Restyled.io <commits@restyled.io>
- Make the verification step correct for IP address in TC-SC-5.3 (it was wrong in the manual verification steps). - Punt the conditions checks on Root Node in TC-SM-1.1 to post-1.6 to derisk needless failures. Testing: - CI still passes - 1.6 DUT does not fail the conditions if missing group cast.
* Add chef-supported-modes-manager * ZAp and matter files for mode select chef app * Compile debug * Compile fix * Compile fix * Compile fix * Compile fix * Add default value for current mode * Add mode select test * Test debug * Gemini comment * Undo unintentional submodule bumps * Change to more realistic mode options * Set StandardNamespace to NULL * Update test to check NULL for standard namespace * Update default current mode * Fix tests
* Remove codegen dep * Apply comments
7386e4b to
a743a07
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR syncs the csa branch with the main branch.
PR MUST BE MERGED WITH MERGE COMMIT - ADMIN MUST ENABLE THE OPTION