Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@tcarmelveilleux
Copy link
Contributor

Changes

  • Debugging Device Attestation failures is hard, especially without seeing the contents of the certificates.
  • This PR introduces a PEM encoder so that DER certificates that are seen during the Device Attestation Procedure can be logged. This could also be used in other settings.
  • Usage of the method in DefaultDeviceAttestationVerifier will be done in a follow-up.
  • Code is fully portable and does not rely on any crypto library.

Issue: #35608

Testing

  • Added complete unit test that also shows how to properly use the API. Unit test covers all edges of the public API.
  • Currently the code is only referenced by unit tests.

- Debugging Device Attestation failures is hard, especially
  without seeing the contents of the certificates.
- This PR introduces a PEM encoder so that DER certificates
  that are seen during the Device Attestation Procedure
  can be logged. This could also be used in other settings.
- Usage of the method in DefaultDeviceAttestationVerifier will
  be done in a follow-up.
- Code is fully portable and does not rely on any crypto library.

Issue: project-chip#35608

Testing done:

- Added complete unit test that also shows how to properly use the API.
  Unit test covers all edges of the public API.
- Currently the code is only referenced by unit tests.
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a PemEncoder class to CHIPCryptoPAL, enabling the conversion of DER-encoded data (like certificates) into PEM format. This is a valuable addition for debugging, particularly for Device Attestation, by allowing binary data to be logged in a human-readable format.

The implementation uses a state machine to iterate through header, body (Base64 encoded), and footer lines. It handles various buffer sizes for the output lines gracefully, including clamping of the PEM "type" string if it's excessively long, to ensure lines do not exceed the standard 64-character width. The code is self-contained within the CHIP framework, using existing utilities like Base64Encode and StringBuilderBase.

The accompanying unit tests are comprehensive, covering:

  • Zero-size output buffers.
  • Output buffers smaller than the required line size.
  • Correct encoding of a known certificate.
  • Use of different PEM "type" headings.
  • Encoding of empty DER data.
  • Encoding of single-byte DER data.
  • Clamping of very long PEM "type" headings.
  • Correct state transitions, including the IsDone() status.

Overall, the code is well-structured, the logic is sound, and the tests provide good coverage. This is a solid contribution.

I have one minor suggestion for maintainability.

Summary of Findings

  • Explicit Fallthrough: In PemEncoder::NextLine, the switch case for State::kEndIterator implicitly falls through to State::kDone. Adding [[fallthrough]] would make this intent explicit and potentially silence compiler warnings. I did not add a review comment for this due to the review settings.

Merge Readiness

The pull request is in good shape and the introduced PemEncoder is well-implemented with thorough tests. The one minor suggestion regarding [[fallthrough]] is for improved maintainability and can be addressed at the author's discretion. I am not authorized to approve pull requests, but based on this review, the code seems ready for merging after considering the minor feedback. Please ensure other necessary reviews and approvals are obtained.

@github-actions
Copy link

github-actions bot commented Jun 2, 2025

PR #39340: Size comparison from f073c57 to 86d3242

Full report (44 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, nrfconnect, psoc6, qpg, stm32, telink, tizen)
platform target config section f073c57 86d3242 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1102196 1102196 0 0.0
RAM 179058 179058 0 0.0
bl702 lighting-app bl702+eth FLASH 655302 655302 0 0.0
RAM 135009 135009 0 0.0
bl702+wifi FLASH 832792 832792 0 0.0
RAM 124573 124573 0 0.0
bl706+mfd+rpc+littlefs FLASH 1065480 1065480 0 0.0
RAM 117405 117405 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 895026 895026 0 0.0
RAM 105708 105708 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 978750 978750 0 0.0
RAM 109892 109892 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 820516 820516 0 0.0
RAM 120224 120224 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 832120 832120 0 0.0
RAM 125376 125376 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 777640 777640 0 0.0
RAM 113780 113780 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 761956 761956 0 0.0
RAM 113988 113988 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 548158 548158 0 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 581606 581606 0 0.0
RAM 205384 205384 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 662621 662621 0 0.0
RAM 77504 77504 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 682465 682465 0 0.0
RAM 80144 80144 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 682465 682465 0 0.0
RAM 80144 80144 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 639405 639405 0 0.0
RAM 72572 72572 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 623989 623989 0 0.0
RAM 73816 73816 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 643625 643625 0 0.0
RAM 76368 76368 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 643625 643625 0 0.0
RAM 76368 76368 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 644909 644909 0 0.0
RAM 76816 76816 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 664625 664625 0 0.0
RAM 79368 79368 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 664625 664625 0 0.0
RAM 79368 79368 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 619577 619577 0 0.0
RAM 70928 70928 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 639429 639429 0 0.0
RAM 73560 73560 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 639429 639429 0 0.0
RAM 73560 73560 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 921836 921836 0 0.0
RAM 167468 167468 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 913072 913072 0 0.0
RAM 145712 145712 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 859012 859012 0 0.0
RAM 141095 141095 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1671524 1671524 0 0.0
RAM 212464 212464 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1575876 1575876 0 0.0
RAM 208512 208512 0 0.0
light cy8ckit_062s2_43012 FLASH 1448308 1448308 0 0.0
RAM 197240 197240 0 0.0
lock cy8ckit_062s2_43012 FLASH 1480588 1480588 0 0.0
RAM 224952 224952 0 0.0
qpg lighting-app qpg6105+debug FLASH 667212 667212 0 0.0
RAM 105196 105196 0 0.0
lock-app qpg6105+debug FLASH 627280 627280 0 0.0
RAM 99816 99816 0 0.0
stm32 light STM32WB5MM-DK FLASH 464956 464956 0 0.0
RAM 141424 141424 0 0.0
telink bridge-app tl7218x FLASH 694200 694200 0 0.0
RAM 102100 102100 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 766638 766638 0 0.0
RAM 50252 50252 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 773746 773746 0 0.0
RAM 109424 109424 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 703106 703106 0 0.0
RAM 62812 62812 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 741060 741060 0 0.0
RAM 85984 85984 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 600610 600610 0 0.0
RAM 120196 120196 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 809084 809088 4 0.0
RAM 107692 107692 0 0.0
tizen all-clusters-app arm unknown 5300 5300 0 0.0
FLASH 1819708 1819748 40 0.0
RAM 97160 97160 0 0.0
chip-tool-ubsan arm unknown 20644 20644 0 0.0
FLASH 20907966 20908294 328 0.0
RAM 9100368 9100368 0 0.0

@github-actions
Copy link

github-actions bot commented Jun 2, 2025

PR #39340: Size comparison from f073c57 to 21cb3d3

Full report (51 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, linux, nrfconnect, psoc6, qpg, stm32, telink, tizen)
platform target config section f073c57 21cb3d3 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1102196 1102196 0 0.0
RAM 179058 179058 0 0.0
bl702 lighting-app bl702+eth FLASH 655302 655302 0 0.0
RAM 135009 135009 0 0.0
bl702+wifi FLASH 832792 832792 0 0.0
RAM 124573 124573 0 0.0
bl706+mfd+rpc+littlefs FLASH 1065480 1065480 0 0.0
RAM 117405 117405 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 895026 895026 0 0.0
RAM 105708 105708 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 978750 978750 0 0.0
RAM 109892 109892 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 820516 820516 0 0.0
RAM 120224 120224 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 832120 832120 0 0.0
RAM 125376 125376 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 777640 777640 0 0.0
RAM 113780 113780 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 761956 761956 0 0.0
RAM 113988 113988 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 548158 548158 0 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 581606 581606 0 0.0
RAM 205384 205384 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 662621 662621 0 0.0
RAM 77504 77504 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 682465 682465 0 0.0
RAM 80144 80144 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 682465 682465 0 0.0
RAM 80144 80144 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 639405 639405 0 0.0
RAM 72572 72572 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 623989 623989 0 0.0
RAM 73816 73816 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 643625 643625 0 0.0
RAM 76368 76368 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 643625 643625 0 0.0
RAM 76368 76368 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 644909 644909 0 0.0
RAM 76816 76816 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 664625 664625 0 0.0
RAM 79368 79368 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 664625 664625 0 0.0
RAM 79368 79368 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 619577 619577 0 0.0
RAM 70928 70928 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 639429 639429 0 0.0
RAM 73560 73560 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 639429 639429 0 0.0
RAM 73560 73560 0 0.0
efr32 lock-app BRD4187C FLASH 946796 946796 0 0.0
RAM 132036 132036 0 0.0
BRD4338a FLASH 776008 776008 0 0.0
RAM 173256 173256 0 0.0
window-app BRD4187C FLASH 1039656 1039648 -8 -0.0
RAM 128164 128164 0 0.0
linux chip-tool-ipv6only arm64 unknown 40440 40440 0 0.0
FLASH 12609844 12609844 0 0.0
RAM 697080 697080 0 0.0
thermostat-no-ble arm64 unknown 9784 9784 0 0.0
FLASH 4232860 4232860 0 0.0
RAM 233416 233416 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 921836 921836 0 0.0
RAM 167468 167468 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 913072 913072 0 0.0
RAM 145712 145712 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 859012 859012 0 0.0
RAM 141095 141095 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1671524 1671524 0 0.0
RAM 212464 212464 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1575876 1575876 0 0.0
RAM 208512 208512 0 0.0
light cy8ckit_062s2_43012 FLASH 1448308 1448308 0 0.0
RAM 197240 197240 0 0.0
lock cy8ckit_062s2_43012 FLASH 1480588 1480588 0 0.0
RAM 224952 224952 0 0.0
qpg lighting-app qpg6105+debug FLASH 667212 667212 0 0.0
RAM 105196 105196 0 0.0
lock-app qpg6105+debug FLASH 627280 627280 0 0.0
RAM 99816 99816 0 0.0
stm32 light STM32WB5MM-DK FLASH 464956 464956 0 0.0
RAM 141424 141424 0 0.0
telink bridge-app tl7218x FLASH 677444 677444 0 0.0
694200 694200 0 0.0
RAM 90960 90960 0 0.0
102100 102100 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 766638 766638 0 0.0
RAM 50252 50252 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 767668 767668 0 0.0
RAM 40544 40544 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 756126 756126 0 0.0
773746 773746 0 0.0
RAM 97672 97672 0 0.0
109424 109424 0 0.0
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 687208 687208 0 0.0
703106 703106 0 0.0
RAM 51780 51780 0 0.0
62812 62812 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 715658 715658 0 0.0
741060 741060 0 0.0
RAM 73592 73592 0 0.0
85984 85984 0 0.0
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 712986 712986 0 0.0
RAM 37228 37228 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 604478 604478 0 0.0
600610 600610 0 0.0
RAM 106920 106920 0 0.0
120196 120196 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 791192 791196 4 0.0
809084 809088 4 0.0
RAM 96520 96520 0 0.0
107692 107692 0 0.0
tizen all-clusters-app arm unknown 5300 5300 0 0.0
FLASH 1819708 1819748 40 0.0
RAM 97160 97160 0 0.0
chip-tool-ubsan arm unknown 20644 20644 0 0.0
FLASH 20907966 20908294 328 0.0
RAM 9100368 9100368 0 0.0

@github-actions
Copy link

github-actions bot commented Jun 2, 2025

PR #39340: Size comparison from f073c57 to cca15fe

Increases above 0.2%:

platform target config section f073c57 cca15fe change % change
nxp lock mcxw71+release RAM 67612 67860 248 0.4
Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section f073c57 cca15fe change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1102196 1102196 0 0.0
RAM 179058 179058 0 0.0
bl702 lighting-app bl702+eth FLASH 655302 655302 0 0.0
RAM 135009 135009 0 0.0
bl702+wifi FLASH 832792 832792 0 0.0
RAM 124573 124573 0 0.0
bl706+mfd+rpc+littlefs FLASH 1065480 1065480 0 0.0
RAM 117405 117405 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 895026 895026 0 0.0
RAM 105708 105708 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 978750 978750 0 0.0
RAM 109892 109892 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 820516 820516 0 0.0
RAM 120224 120224 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 832120 832120 0 0.0
RAM 125376 125376 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 777640 777640 0 0.0
RAM 113780 113780 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 761956 761956 0 0.0
RAM 113988 113988 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 548158 548158 0 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 581606 581606 0 0.0
RAM 205384 205384 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 662621 662621 0 0.0
RAM 77504 77504 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 682465 682465 0 0.0
RAM 80144 80144 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 682465 682465 0 0.0
RAM 80144 80144 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 639405 639405 0 0.0
RAM 72572 72572 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 623989 623989 0 0.0
RAM 73816 73816 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 643625 643625 0 0.0
RAM 76368 76368 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 643625 643625 0 0.0
RAM 76368 76368 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 644909 644909 0 0.0
RAM 76816 76816 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 664625 664625 0 0.0
RAM 79368 79368 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 664625 664625 0 0.0
RAM 79368 79368 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 619577 619577 0 0.0
RAM 70928 70928 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 639429 639429 0 0.0
RAM 73560 73560 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 639429 639429 0 0.0
RAM 73560 73560 0 0.0
efr32 lock-app BRD4187C FLASH 946796 946796 0 0.0
RAM 132036 132036 0 0.0
BRD4338a FLASH 776008 776008 0 0.0
RAM 173256 173256 0 0.0
window-app BRD4187C FLASH 1039656 1039648 -8 -0.0
RAM 128164 128164 0 0.0
esp32 all-clusters-app c3devkit DRAM 103544 103544 0 0.0
FLASH 1809908 1809908 0 0.0
IRAM 83862 83862 0 0.0
m5stack DRAM 122412 122412 0 0.0
FLASH 1774554 1774554 0 0.0
IRAM 117071 117071 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2786574 2786638 64 0.0
RAM 117016 117016 0 0.0
all-clusters-app debug unknown 5664 5664 0 0.0
FLASH 6385368 6385464 96 0.0
RAM 537568 537568 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5468430 5468526 96 0.0
RAM 227976 227976 0 0.0
bridge-app debug unknown 5560 5560 0 0.0
FLASH 4800908 4801004 96 0.0
RAM 207632 207632 0 0.0
camera-app debug unknown 8864 8864 0 0.0
FLASH 6910331 6910395 64 0.0
RAM 228888 228888 0 0.0
camera-controller debug unknown 9168 9168 0 0.0
FLASH 14264875 14264939 64 0.0
RAM 657256 657256 0 0.0
chip-tool debug unknown 6248 6248 0 0.0
FLASH 14638053 14638149 96 0.0
RAM 650736 650736 0 0.0
chip-tool-ipv6only arm64 unknown 40440 40440 0 0.0
FLASH 12609844 12609844 0 0.0
RAM 697080 697080 0 0.0
fabric-admin debug unknown 5928 5928 0 0.0
FLASH 12709621 12709717 96 0.0
RAM 650136 650136 0 0.0
fabric-bridge-app debug unknown 4808 4808 0 0.0
FLASH 4586812 4586908 96 0.0
RAM 193344 193344 0 0.0
fabric-sync debug unknown 5064 5064 0 0.0
FLASH 5733733 5733829 96 0.0
RAM 490016 490016 0 0.0
lighting-app debug+rpc+ui unknown 6272 6272 0 0.0
FLASH 5650209 5650273 64 0.0
RAM 209864 209864 0 0.0
lock-app debug unknown 5496 5496 0 0.0
FLASH 4835210 4835306 96 0.0
RAM 197096 197096 0 0.0
ota-provider-app debug unknown 4848 4848 0 0.0
FLASH 4438712 4438808 96 0.0
RAM 185968 185968 0 0.0
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4508184 4508248 64 0.0
RAM 188600 188600 0 0.0
shell debug unknown 4256 4256 0 0.0
FLASH 3082892 3082988 96 0.0
RAM 151080 151080 0 0.0
thermostat-no-ble arm64 unknown 9784 9784 0 0.0
FLASH 4232860 4232860 0 0.0
RAM 233416 233416 0 0.0
tv-app debug unknown 5832 5832 0 0.0
FLASH 6098629 6098725 96 0.0
RAM 614248 614248 0 0.0
tv-casting-app debug unknown 5336 5336 0 0.0
FLASH 12786941 12787037 96 0.0
RAM 767120 767120 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 921836 921836 0 0.0
RAM 167468 167468 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 913072 913072 0 0.0
RAM 145712 145712 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 859012 859012 0 0.0
RAM 141095 141095 0 0.0
nxp contact mcxw71+release FLASH 624976 624984 8 0.0
RAM 63196 63196 0 0.0
lock mcxw71+release FLASH 776144 776064 -80 -0.0
RAM 67612 67860 248 0.4
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1671524 1671524 0 0.0
RAM 212464 212464 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1575876 1575876 0 0.0
RAM 208512 208512 0 0.0
light cy8ckit_062s2_43012 FLASH 1448308 1448308 0 0.0
RAM 197240 197240 0 0.0
lock cy8ckit_062s2_43012 FLASH 1480588 1480588 0 0.0
RAM 224952 224952 0 0.0
qpg lighting-app qpg6105+debug FLASH 667212 667212 0 0.0
RAM 105196 105196 0 0.0
lock-app qpg6105+debug FLASH 627280 627280 0 0.0
RAM 99816 99816 0 0.0
stm32 light STM32WB5MM-DK FLASH 464956 464956 0 0.0
RAM 141424 141424 0 0.0
telink bridge-app tl7218x FLASH 694200 694200 0 0.0
RAM 102100 102100 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 766638 766638 0 0.0
RAM 50252 50252 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 767668 767668 0 0.0
RAM 40544 40544 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 773746 756126 -17620 -2.3
RAM 109424 97672 -11752 -10.7
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 703106 687208 -15898 -2.3
RAM 62812 51780 -11032 -17.6
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 741060 715658 -25402 -3.4
RAM 85984 73592 -12392 -14.4
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 712986 712986 0 0.0
RAM 37228 37228 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 600610 600610 0 0.0
RAM 120196 120196 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 809084 791196 -17888 -2.2
RAM 107692 96520 -11172 -10.4
tizen all-clusters-app arm unknown 5300 5300 0 0.0
FLASH 1819708 1819748 40 0.0
RAM 97160 97160 0 0.0
chip-tool-ubsan arm unknown 20644 20644 0 0.0
FLASH 20907966 20908294 328 0.0
RAM 9100368 9100368 0 0.0

@github-actions
Copy link

github-actions bot commented Jun 3, 2025

PR #39340: Size comparison from f073c57 to c29458d

Increases above 0.2%:

platform target config section f073c57 c29458d change % change
nxp lock mcxw71+release RAM 67612 67860 248 0.4
Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section f073c57 c29458d change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1102196 1102196 0 0.0
RAM 179058 179058 0 0.0
bl702 lighting-app bl702+eth FLASH 655302 655302 0 0.0
RAM 135009 135009 0 0.0
bl702+wifi FLASH 832792 832792 0 0.0
RAM 124573 124573 0 0.0
bl706+mfd+rpc+littlefs FLASH 1065480 1065480 0 0.0
RAM 117405 117405 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 895026 895026 0 0.0
RAM 105708 105708 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 978750 978750 0 0.0
RAM 109892 109892 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 820516 820516 0 0.0
RAM 120224 120224 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 832120 832120 0 0.0
RAM 125376 125376 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 777640 777640 0 0.0
RAM 113780 113780 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 761956 761956 0 0.0
RAM 113988 113988 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 548158 548158 0 0.0
RAM 205192 205192 0 0.0
lock CC3235SF_LAUNCHXL FLASH 581606 581606 0 0.0
RAM 205384 205384 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 662621 662621 0 0.0
RAM 77504 77504 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 682465 682465 0 0.0
RAM 80144 80144 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 682465 682465 0 0.0
RAM 80144 80144 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 639405 639405 0 0.0
RAM 72572 72572 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 623989 623989 0 0.0
RAM 73816 73816 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 643625 643625 0 0.0
RAM 76368 76368 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 643625 643625 0 0.0
RAM 76368 76368 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 644909 644909 0 0.0
RAM 76816 76816 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 664625 664625 0 0.0
RAM 79368 79368 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 664625 664625 0 0.0
RAM 79368 79368 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 619577 619577 0 0.0
RAM 70928 70928 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 639429 639429 0 0.0
RAM 73560 73560 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 639429 639429 0 0.0
RAM 73560 73560 0 0.0
efr32 lock-app BRD4187C FLASH 946796 946796 0 0.0
RAM 132036 132036 0 0.0
BRD4338a FLASH 776008 776008 0 0.0
RAM 173256 173256 0 0.0
window-app BRD4187C FLASH 1039656 1039648 -8 -0.0
RAM 128164 128164 0 0.0
esp32 all-clusters-app c3devkit DRAM 103544 103552 8 0.0
FLASH 1809908 1809620 -288 -0.0
IRAM 83862 83862 0 0.0
m5stack DRAM 122412 122412 0 0.0
FLASH 1774554 1774486 -68 -0.0
IRAM 117071 117071 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2786574 2786670 96 0.0
RAM 117016 117016 0 0.0
all-clusters-app debug unknown 5664 5664 0 0.0
FLASH 6385368 6385496 128 0.0
RAM 537568 537568 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5468430 5468558 128 0.0
RAM 227976 227976 0 0.0
bridge-app debug unknown 5560 5560 0 0.0
FLASH 4800908 4801036 128 0.0
RAM 207632 207632 0 0.0
camera-app debug unknown 8864 8864 0 0.0
FLASH 6910331 6899691 -10640 -0.2
RAM 228888 228888 0 0.0
camera-controller debug unknown 9168 9168 0 0.0
FLASH 14264875 14277019 12144 0.1
RAM 657256 657288 32 0.0
chip-tool debug unknown 6248 6248 0 0.0
FLASH 14638053 14638181 128 0.0
RAM 650736 650736 0 0.0
chip-tool-ipv6only arm64 unknown 40440 40440 0 0.0
FLASH 12609844 12609844 0 0.0
RAM 697080 697080 0 0.0
fabric-admin debug unknown 5928 5928 0 0.0
FLASH 12709621 12709749 128 0.0
RAM 650136 650136 0 0.0
fabric-bridge-app debug unknown 4808 4808 0 0.0
FLASH 4586812 4586940 128 0.0
RAM 193344 193344 0 0.0
fabric-sync debug unknown 5064 5064 0 0.0
FLASH 5733733 5733861 128 0.0
RAM 490016 490016 0 0.0
lighting-app debug+rpc+ui unknown 6272 6272 0 0.0
FLASH 5650209 5650305 96 0.0
RAM 209864 209864 0 0.0
lock-app debug unknown 5496 5496 0 0.0
FLASH 4835210 4835306 96 0.0
RAM 197096 197096 0 0.0
ota-provider-app debug unknown 4848 4848 0 0.0
FLASH 4438712 4438808 96 0.0
RAM 185968 185968 0 0.0
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4508184 4508280 96 0.0
RAM 188600 188600 0 0.0
shell debug unknown 4256 4256 0 0.0
FLASH 3082892 3083020 128 0.0
RAM 151080 151080 0 0.0
thermostat-no-ble arm64 unknown 9784 9784 0 0.0
FLASH 4232860 4232860 0 0.0
RAM 233416 233416 0 0.0
tv-app debug unknown 5832 5832 0 0.0
FLASH 6098629 6098725 96 0.0
RAM 614248 614248 0 0.0
tv-casting-app debug unknown 5336 5336 0 0.0
FLASH 12786941 12787069 128 0.0
RAM 767120 767120 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 921836 921836 0 0.0
RAM 167468 167468 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 913072 913072 0 0.0
RAM 145712 145712 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 859012 859012 0 0.0
RAM 141095 141095 0 0.0
nxp contact mcxw71+release FLASH 624976 624984 8 0.0
RAM 63196 63196 0 0.0
lock mcxw71+release FLASH 776144 776064 -80 -0.0
RAM 67612 67860 248 0.4
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1671524 1671524 0 0.0
RAM 212464 212464 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1575876 1575876 0 0.0
RAM 208512 208512 0 0.0
light cy8ckit_062s2_43012 FLASH 1448308 1448308 0 0.0
RAM 197240 197240 0 0.0
lock cy8ckit_062s2_43012 FLASH 1480588 1480588 0 0.0
RAM 224952 224952 0 0.0
qpg lighting-app qpg6105+debug FLASH 667212 667212 0 0.0
RAM 105196 105196 0 0.0
lock-app qpg6105+debug FLASH 627280 627280 0 0.0
RAM 99816 99816 0 0.0
stm32 light STM32WB5MM-DK FLASH 464956 464956 0 0.0
RAM 141424 141424 0 0.0
telink bridge-app tl7218x FLASH 694200 694200 0 0.0
RAM 102100 102100 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 766638 766638 0 0.0
RAM 50252 50252 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 767668 767668 0 0.0
RAM 40544 40544 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 773746 756126 -17620 -2.3
RAM 109424 97672 -11752 -10.7
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 703106 687208 -15898 -2.3
RAM 62812 51780 -11032 -17.6
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 741060 715658 -25402 -3.4
RAM 85984 73592 -12392 -14.4
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 712986 712986 0 0.0
RAM 37228 37228 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 600610 600610 0 0.0
RAM 120196 120196 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 809084 809088 4 0.0
RAM 107692 107692 0 0.0
tizen all-clusters-app arm unknown 5300 5300 0 0.0
FLASH 1819708 1819740 32 0.0
RAM 97160 97160 0 0.0
chip-tool-ubsan arm unknown 20644 20644 0 0.0
FLASH 20907966 20908206 240 0.0
RAM 9100368 9100368 0 0.0

@mergify mergify bot merged commit 16c4553 into project-chip:master Jun 3, 2025
70 checks passed
j-ororke pushed a commit to j-ororke/connectedhomeip that referenced this pull request Jun 20, 2025
Generate ElectricalEnergyMeasurement with Alchemy (#38896)

* Generate ElectricalEnergyMeasurement with Alchemy

* Regenerate files with latest ZAP

---------

Co-authored-by: Andrei Litvin <[email protected]>

TC-IDM-10.1: Upgrade ValueDecodeFailures to errors (#39029)

* TC-IDM-10.1: Upgrade ValueDecodeFailures to errors

* Remove product appearance from microwave

This was returning an error because it wasn't actually implemented.

Also clean up the other conformance so microwave passes conformance
tests.

Automate python test WEBRTCR_2_3 in CI (#38810)

* Automate python test WEBRTCR_2_3 in CI

* Add camera-controller as a build target

* Solve merge conflict

* Address review comments

* Mute verbose reponse log

* fix f-string without any placeholders

* Terminate program gracefully

* Update src/python_testing/TC_WEBRTCR_2_3.py

Co-authored-by: Arkadiusz Bokowy <[email protected]>

* Add missing module

* Remove unused module

* Fix CI bug in TC_AVSUM_2_7.py

* Add defautl signal handler

* Move sig handler to InteractiveCommand

* Seperate interactive server command from interactive start command

* Revert "Camera tls spec updates (#39089)"

This reverts commit 881af5cce5e958462a43fcadcabf044d910c90e6.

* Use customize port to void conflict

---------

Co-authored-by: Andrei Litvin <[email protected]>
Co-authored-by: Arkadiusz Bokowy <[email protected]>

extract runner.py from matter_testing (#37949)

* initial runner decouple

* lint code

* expose test class to module globals

* restyled

* move assignment inside __main__

* fix issue with CADMIN test

* restyled

* restyled

* fix anothe CADMIN test

* restyled

* add docstrings

* restyled

* resolve merge issues

* revert formatting changes to TC_CADMIN_1_3_4

* revert one more formatting change

* revert formatting changes from matter_testing.py

* revert more formatiing changes from matter_testing.py

* remaining formatting fixes

* revert formatting changes from runner.py

* revert comment format change

* add docstrings as requested

* restyled

* fix test failure by proper import

* fix remaining import issue

* lint

* update imports in TC_FAN_2_3

* Restyled by isort

* fix imports

* Restyled by isort

* fix imports in TC_FAN_2_4 and restyle, finish conflicts resolution

* fix imports in test

---------

Co-authored-by: Andrey Khodyrev <[email protected]>
Co-authored-by: Restyled.io <[email protected]>

Add LINK_TARGETS argument to matter_build macro (#38479)

Add `LINK_TARGETS` argument to `matter_build` macro to allow linking
additional libraries together with `MATTER_LIBRARIES` as a group.

This may be needed in some cases to prevent undefined reference errors
during linking the application.

Signed-off-by: Adrian Gielniewski <[email protected]>
Co-authored-by: Andrei Litvin <[email protected]>

Move registering signal handlers out of SDK (#38982)

Signed-off-by: Lo,Chin-Ran <[email protected]>

[Chef] [Basic Video Player]  Report attribute change for non-ember (#39171)

* Report sampled position attribute (EXT) change to subscribers

* Report channel change

* Make channel delegate endpoint aware.

[Telink] Add tflm feature to tl721x lighting-app & Update compatible builds to docker version 133 (#39072)

* [Telink] added tflm feature to lighting-app

- added tflm feature to tl721x lighting-app
- compile command: west build -b tl7218x -- -DCONFIG_TFLM_FEATURE=y

Signed-off-by: Jinmiao Yu <[email protected]>

* fix the clang-format error

- format fix

Signed-off-by: Jinmiao Yu <[email protected]>

* fix for Zephyr v3.7

- update Zephyr revision in example-telink.yaml
- modify the TFLM feature delay after commissioning
- include fix for Zephyr v3.7

Signed-off-by: Jinmiao Yu <[email protected]>

* add build example Telink (tl721x) Lighting App with TFLM

- update Zephyr revisions in examples-telink.yaml
- add build example Telink (tl721x) Lighting App with TFLM

Signed-off-by: Jinmiao Yu <[email protected]>

* [Telink] Fix targets

* [Telink] Avoid build new job for all PRs

* Update compatible builds to docker version 133

---------

Signed-off-by: Jinmiao Yu <[email protected]>
Co-authored-by: Alex Tsitsiura <[email protected]>

chore(TC-OPCREDS-3.5): add indication that test requires commissioning (#39169)

Fix error and comment in SystemConfig.h (#39186)

Match error message and endif comment with if condition.

Signed-off-by: Adrian Gielniewski <[email protected]>

Add missing header to platform sources (#39187)

Add `GenericPlatformManagerImpl_Zephyr.h` to platform source files.

Signed-off-by: Adrian Gielniewski <[email protected]>

Update lint workflow to exclude ember symbols (#38006)

* [CI/CD] Add exclusion for ember symbols in lint action

Why: To continue working on the full separation between libCHIP and
Ember, we strive to stop using ember symbols.

How: By implementing a check for some patterns that match all ember
symbols after checking it previously. Then, excluding some specific
directories that are needed for now such as `src/app/util`.

* [CI/CD] Update lint action to fix an error with YAML

* Update lint script to exclude `src/app/util`

Why: The current version excludes every symbol that matches the patterns `emberAf` and `emAf`, this way we provide a way to exclude a specific directory that is currently in use, also to comply with the current requirements

How: By updating the `:(exclude)` instances and partitioning the step into two steps.

* Update lint.yml to provide error messages for ember and emAf symbols

Why: to improve the experience when running CI/CD jobs, and providing information to the developer of what parts are failing so that they can be fixed more quickly

How: by encapsulating the matches in a variable, then checking if it has value or not, and then `echo` the matches. Otherwise, exit the job regularly with code 0.

* Exclude .github from the ember symbols search

Why: to avoid redundant searches and fake positives

How: by including `.github/` in the exclusions.

* Add check symbols script

Refactor the lint workflow to use a shell script for checking 'ember' and 'emAf' symbols.

* Add `scripts/check_symbols.sh` to check for 'ember' and 'emAf' symbols and take exclusion folders as arguments.
* Modify `.github/workflows/lint.yml` to remove the jobs "Check for use of 'ember' symbols" and "Check for use of 'emAf' symbols".
* Add a job in `.github/workflows/lint.yml` to call the shell script with the same exclusion folders.

---

For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/jennygaz/connectedhomeip/tree/update-lint-exclude-ember-symbols?shareId=XXXX-XXXX-XXXX-XXXX).

* Update `scripts/check_symbols.sh` and `.github/workflows/lint.yml` to improve symbol checking

* **scripts/check_symbols.sh**
  - Modify the script to accept exclusion folders using the `--skip-dir` flag
  - Update the function to handle the new argument format
  - Print an error message for unknown options

* **.github/workflows/lint.yml**
  - Remove jobs for checking 'ember' and 'emAf' symbols
  - Add a job to call the updated shell script with the new exclusion folder format
  - Remove the extra comment on line 338

* Update lint.yml to update the exclusions for ember symbols

* Update lint.yml

Update the excluded directories

* Update lint.yml

add `src/data-model-providers` as an exclusion

* Update lint.yml

Exclude scripts to exclude the script itself

* Update lint.yml

Add execution permission to check_symbols.sh

* Add back check for `emberAfReadAttribute`

* Update lint.yml to reflect documentation changes

* Update lint.yml to reflect documentation changes

* Update check_symbols.sh to remove hardcoded exclusions

* Update lint.yml to reflect the new script

* Rename the script to something more descriptive, add --help argument, missing force includes

* Fix examples exclusion

* Update script and workflow to better reflect usage

* Update permissions for the script

* Update permissions for script, add executability then remove 'chmod' from lint.yml

* Create a list of ember exclusions found

* Update the script to be able to use a exclusion list inside a file

* Update the lint script to use the ember exclusion list

* Fix restyler: change whitespace to match requirements

* Missing backslash causing failing job

* Update list to add missing file

* Update script to match restyler

* Restyled by shfmt

* Add src/controller/tests to exclusion list

* Remove false positive, fix ServerInit

---------

Co-authored-by: jgallegos1 <[email protected]>
Co-authored-by: Restyled.io <[email protected]>
Co-authored-by: Andrei Litvin <[email protected]>

[Telink] Add BootReason implementation to pass TC-SU-2.6 (#39155)

* [Telink] Add BootReason implementation to pass TC-SU-2.6

* [Telink] add settings_subsys_init for early operations

* [Telink] Update image

---------

Co-authored-by: Andrei Litvin <[email protected]>

Automate python test WEBRTCR_2_4 in CI (#39047)

* Automate python test WEBRTCR_2_4 in CI

* Restyled by autopep8

* Add default signal handler

* Make _set_output_match external

* Move interactive server command out of interactive start

* Cutomize the port for camera-app to avoid conflict

* Skip extra wait during setup

* Restyled by autopep8

---------

Co-authored-by: Restyled.io <[email protected]>

Tc cnet 4 22 (#37885)

* Test steps added to TC-CNET-4.22

* Add more asserts

* Fix typos, add missing test steps

* Updating requirements

* Style

* Fix errors and type matches

* Style

* Style

* Style

* Remove yaml file

* Solve linter

* Adding OPERATIONAL_DATASET_HEX

* Changing assersts, removing test from CI

* Changing CI values

* Re-Style

* Adding test ti CI

* Removing from CI and solving linters

* Solving restyle

* Commenting line

* Solving lint

* Remove from manual tests list

* Remove CI block and add example usage

* Added validation to wifi scan network and thread scan network

* Restyle

* Now it checks ok status when reading scan network response

* Update comments

* Update src/python_testing/TC_CNET_4_22.py

Adding PICS

Co-authored-by: C Freeman <[email protected]>

* Update src/python_testing/TC_CNET_4_22.py

Co-authored-by: C Freeman <[email protected]>

* Update src/python_testing/TC_CNET_4_22.py

Co-authored-by: C Freeman <[email protected]>

---------

Co-authored-by: C Freeman <[email protected]>

[Zephyr] Fix nullptr dereference in InterfaceAddressIterator::Next (#39194)

Check `mIpv6` before dereferencing as it may be `nullptr` when interface
is down or no IPv6 address is assigned.

Signed-off-by: Adrian Gielniewski <[email protected]>

[nrfconnect] Remove MLD API workaround (#39195)

Replace function declarations with Zephyr include.

Signed-off-by: Adrian Gielniewski <[email protected]>

[Soil Measurement] Adds server implementation for soil measurement cluster (#38606)

* Enable soil measurement in all-clusters zap

* Enabled soil measurement in all clusters

* Added soil sensor to matter-devices

* Initial server impl

* Added all-clusters stub and reworked server impl

* Added SetSoilMoistureMeasuredValue function

* Added function to header file

Added missing include and misspell

* Removed server handling of measured value and added allcluster command to simulate measured value

* Moved server to use global structs and enum

* Remove redundant check

* Marked SoilMoistureMeasuredValue as external

* Added handling for cluster rev and soilMoistureMeasuredValue in server

* Apply suggestions from code review

Co-authored-by: Boris Zbarsky <[email protected]>

* Reworked server implementation based on review feedback

* Added ClusterRevision to list of external

* Updated SetSoilMeasurementAccuracy comment

* Add server build files

* Remove unused includes and used metadata cluster revision

* zap regen all

* Addressed some review comments

* Address additional review comments

* Update src/app/clusters/soil-measurement-server/soil-measurement-server.cpp

Co-authored-by: C Freeman <[email protected]>

* Addressed review feedback

* Reworked SetSimulatedSoilMoisture handling

* Added check to only change and report on value changes and address review comments

---------

Co-authored-by: Boris Zbarsky <[email protected]>
Co-authored-by: C Freeman <[email protected]>

[nrfconnect] Fix implementation of _IsWiFiStationConnected (#39197)

`_IsWiFiStationConnected` should return true when the interface is
operational, which maps to `FULLY_PROVISIONED` enumeration.

Signed-off-by: Adrian Gielniewski <[email protected]>

[NXP] fix EL2GO commissioning issue (#39181)

Signed-off-by: Martin Girardot <[email protected]>

[Ameba] Update docker image (#39208)

Don't build OpenThread when OS is Zephyr (#39190)

* Don't build OpenThread when OS is Zephyr

Don't build OpenThread when OpenThread endpoints are enabled and OS is
Zephyr as OpenThread is a Zephyr module.

Signed-off-by: Adrian Gielniewski <[email protected]>

* Restyled by gn

---------

Signed-off-by: Adrian Gielniewski <[email protected]>
Co-authored-by: Restyled.io <[email protected]>

TC-TCCM-1.2: Remove YAML (#38738)

Test is now automated in
src/python_testing/TC_TCCM_1_2.py

TC-OPCREDS-3.8: Add pics markers (#38967)

TC-ACE-2.2: Add explicit error message on read failure (#39038)

* change dm xml warnings to errors

* add explict error check for value decode failure

* Update src/python_testing/TC_AccessChecker.py

TC-IDM-13.1: Add check for default fixed labels (#38805)

These appear a LOT in production data. Add a warning. These
don't actually make any sense to have as fixed labels - there is
no way to tell a-priori that a device will always reside in
bedroom 2, on the second floor on the north side facing upwards.

Support cross-compilation for arm (#39138)

- Do not treat 'implicit-int-conversion' as errors
- Needed to build camera controller for TH
- need environment variable SYSROOT_AARCH64 to be declared
- use separate build folders

Signed-off-by: abhishek.h <[email protected]>
Signed-off-by: Charles Kim <[email protected]>
Co-authored-by: abhishek.h <[email protected]>

[Camera] Add a method in python testing framework for video and image (#39046)

* Adds a method to invoke video verification prompt in python TCs

Signed-off-by: s-gatti <[email protected]>
Signed-off-by: Charles Kim <[email protected]>

* Adds a method to invoke image verification prompt in python TCs

Signed-off-by: s-gatti <[email protected]>
Signed-off-by: Charles Kim <[email protected]>

* Restyled by autopep8

Signed-off-by: Charles Kim <[email protected]>

* Adds a method to invoke video verification prompt in python TCs

Signed-off-by: s-gatti <[email protected]>
Signed-off-by: Charles Kim <[email protected]>

* Update argument type in snapshot verification api

Signed-off-by: s-gatti <[email protected]>
Signed-off-by: Charles Kim <[email protected]>

* Update src/python_testing/matter_testing_infrastructure/chip/testing/matter_testing.py

Co-authored-by: Yufeng Wang <[email protected]>

* Remove redundant function to fix lint error

Signed-off-by: Charles Kim <[email protected]>

---------

Signed-off-by: s-gatti <[email protected]>
Signed-off-by: Charles Kim <[email protected]>
Co-authored-by: s-gatti <[email protected]>
Co-authored-by: Restyled.io <[email protected]>
Co-authored-by: Yufeng Wang <[email protected]>

mypy compliance for basic_composition.py (#38564)

* mypy compliance for basic composition

* review comments

adding coverage for AutoCommissioner SetCommissioningParameters. (#38134)

* adding coverage for AutoCommissioner SetCommissioningParameters.

* compiling for same targets as AutoCommissioner.

* fix for efr32 ut target.

* addressing PR comments.

* moved & renamed chip_controller flag definition to controller/flags.gni

* using new src/controller/flags.gni into src/controller/python/BUILD.gn

* removing duplicate src file reference in src/controller/tests/BUILD.gn.

* updating copyright.

Make sure clearConnectionCallbacks in Darwin BLE impl clears all callbacks. (#39220)

Test script updates for new RVC Operational States and Operational State Errors (TC-RVCOPSTATE-2.3, TC-RVCOPSTATE-2.4) (#38604)

* float single addition for CI feedback while I add the rest of the steps

* fix test step references

* complete steps for additional RVC OpState errors

* add test script steps for additional RVC Operational States

* add new operational state and operational error state errors to TC-RVCOPSTATE-2.3 script

* additional TC-RVCOPSTATE-2.3 test steps for new operational states

* additional test steps for TC-RVCOPSTATE-2.4 for new operational states

* Restyled by autopep8

fix typo

update comments with test plan issue (in progress)

remove comments for intermediate steps that are now present

---------

Co-authored-by: Restyled.io <[email protected]>

Deactivated Unit Testing (efr32-brd4187c-unit-test ) due to Pigweed incompatibility issues (#39217)

Add ack latency to TransmitEvent for MRP transmit analytics (#39201)

Add documentation on how to structure good pull requests (#39158)

* Add pull request guidelines

* Slight text update and restyle

* Add request for design document

* Typo fix

* Restyle

* Add to toc to make build happy

* Update docs/pull_request_guidelines.md

Co-authored-by: Sergio Soares <[email protected]>

* Update docs/pull_request_guidelines.md

Co-authored-by: Sergio Soares <[email protected]>

* Update docs/pull_request_guidelines.md

Co-authored-by: Sergio Soares <[email protected]>

* Update docs/pull_request_guidelines.md

Co-authored-by: Sergio Soares <[email protected]>

* Update docs/pull_request_guidelines.md

Co-authored-by: Sergio Soares <[email protected]>

* Restyle

* Move more guidelines around

* Fix more typos that I lost

* Bring back more changes from reviews

* Update docs/pull_request_guidelines.md

Co-authored-by: C Freeman <[email protected]>

* Update docs/pull_request_guidelines.md

Co-authored-by: C Freeman <[email protected]>

* Update docs/pull_request_guidelines.md

Co-authored-by: C Freeman <[email protected]>

* Update docs/pull_request_guidelines.md

Co-authored-by: C Freeman <[email protected]>

* Update docs/pull_request_guidelines.md

Co-authored-by: C Freeman <[email protected]>

* Update docs/pull_request_guidelines.md

Co-authored-by: C Freeman <[email protected]>

* Update docs/pull_request_guidelines.md

Co-authored-by: C Freeman <[email protected]>

* Update docs/pull_request_guidelines.md

Co-authored-by: C Freeman <[email protected]>

* Update docs/pull_request_guidelines.md

Co-authored-by: C Freeman <[email protected]>

* Update text a bit: we want using fixes/closes etc, but not stand-alone

* Update case of if/If

* Update on merge with master

* Added consistent style rule

* Apply suggestions from code review

Co-authored-by: feasel <[email protected]>

* Restyle

* Update docs/pull_request_guidelines.md

Co-authored-by: Junior Martinez <[email protected]>

---------

Co-authored-by: Andrei Litvin <[email protected]>
Co-authored-by: Sergio Soares <[email protected]>
Co-authored-by: C Freeman <[email protected]>
Co-authored-by: feasel <[email protected]>
Co-authored-by: Junior Martinez <[email protected]>

Add support for concatenated QR codes to SetUpCodePairer. (#38924)

* Add support for concatenated QR codes to SetUpCodePairer.

This requires backends to actually support discovery of multiple things with
multiple discriminators. DNS-SD supports that, and BLE has APIs for it, which
are not implemented on all platforms yet.  PAF and NFC will need to be fixed to
handle it.

* Update src/controller/SetUpCodePairer.cpp

Co-authored-by: Karsten Sperling <[email protected]>

* Update src/controller/SetUpCodePairer.cpp

Co-authored-by: Karsten Sperling <[email protected]>

* Address review comment.

* Address review comments.

---------

Co-authored-by: Justin Wood <[email protected]>
Co-authored-by: Karsten Sperling <[email protected]>

Rebasing Pigweed, FuzzTest and Abseil (#39229)

* Rebasing Pigweed, FuzzTest and Abseil

* Remove RE2 Submodule since it was removed from pigweed

Implement missing methods of InterfaceIterator for OpenThread endpoints (#39193)

Implement `GetInterfaceType` and `GetHardwareAddress`.

Signed-off-by: Adrian Gielniewski <[email protected]>

Fix InterfaceIterator for OpenThread endpoints (#39192)

Previously `mCurNetif` was not initialized which resulted in infinite
loop when iterating over interfaces.

As only one OpenThread interface is supported, the new implementation
uses just a flag to indicate state of the iterator.

Signed-off-by: Adrian Gielniewski <[email protected]>

[Zephyr] Set true operational state of interfaces in DiagnosticDataProviderImpl (#39196)

* [Zephyr] Set true operational state of interfaces in DiagnosticDataProviderImpl

Set operational flag based on WiFi and Thread current state.
Fall back to true for other interfaces.

Signed-off-by: Adrian Gielniewski <[email protected]>

* Restyled by clang-format

---------

Signed-off-by: Adrian Gielniewski <[email protected]>
Co-authored-by: Restyled.io <[email protected]>

TC-LUNIT-3.1: Update test to be backwards compatible for 1.4.1 and earlier devices (#39225)

* TC-LUNIT-3.1: Update test to be backwards compatible for 1.4.1 and earlier devices

* Fix some of the steps text

* remove unused import

* Update src/python_testing/TC_LUNIT_3_1.py

[NXP][cmake][common] Add default configuration for all NXP platforms to support cmake builds with or without "CONF_FILE" (#39147)

* [NXP][cmake][common] Add a default configuration for all platforms to make sure application can build if no "CONF_FILE" is provided

* Enabling wifi by default for RT & RW platforms
* Enabling thread by default for MCXW7* platforms

Signed-off-by: Dina Benamar <[email protected]>

* [NXP][cmake][common] Make sure wifi/OT Kconfig are disabled when building in ethernet configuration

Signed-off-by: Dina Benamar <[email protected]>

* [NXP][common] Update examples/platform/nxp/config/prj_eth_ota_fdata_v2.conf to disabled wifi/ot Kconfig

Signed-off-by: Dina Benamar <[email protected]>

---------

Signed-off-by: Dina Benamar <[email protected]>

Updated the TC_CNET_4_15.py by adding chip.testing.matter_testing (#39238)

Update config.yaml (#39255)

Enable Gemini code assist

TC-LTIME-3.1: Properly gate steps on CALFMT feature (#39159)

* TC-LTIME-3.1: Properly gate steps on CALFMT feature

* Update step wording, add missing assert

Making several properties of the basic information cluster settable from the command line at run-time and build-time (#38813)

* Initial commit, with gn args and linux all-clusters runtime args

* Removed unneeded Get functions

* Restyled by whitespace

* Restyled fix

* Restyled fix

* Added Darwin implementation

* Restyled fix

* Added changes for Tizen

* Added NuttX implementation

* Variable name fix

* Added WebOS implementation

* Fixed unused variable error due to being defined outside the appropriate #if branch

* Using setters in DeviceInstanceInfoProviderImpl instead of ConfigurationManager

* Restyled fixes

* Restyled fixes

* Using MutableCharSpan

* Fix to usage of MutableCharSpan in basic-information

* Moved ExampleDeviceInstanceInfoProvider to AppMain

* Restyled fix

* Restyled fix

* Removed unneeded methods from DeviceInstanceInfoProviderImpl

* Comment update

* Changed members to optional std:string

* Changed set method arguments to const&

* Added inline method to validate buffer size

* Changed strcpy to CopyString

* Changed Optional to std::optional

---------

Co-authored-by: Restyled.io <[email protected]>

Revert "Rebasing Pigweed, FuzzTest and Abseil (#39229)" (#39259)

This reverts commit 50e987b5a684bd9b9ceb492130fc02a2c9b9b88c.

This broke NRFConnect CI.  See
https://github.com/project-chip/connectedhomeip/issues/39258 for why this was
not detected before merging.

[camera] Implement the initial liveview commands (#39175)

* Add liveview command

* Implments StartVideoStreamProcess

* Restyled by prettier-markdown

---------

Co-authored-by: Restyled.io <[email protected]>

Allow fabric-scoped structs in all response commands. (#39228)

The spec decided to not have a concept of fabric-scoped response command, and in
general asking for a fabric-scoped struct can be done even when not on a fabric
(as long as the rules around fabric-sensitive fields are followed).

Specifically, the changes are:

* Introduce a FabricAwareTLVWriter class that can be used to encode response
  commands: this holds a TLVWriter and an accessing fabric index.
* Change EncodableToTLV to have an overload of EncodeTo that takes
  FabricAwareTLVWriter, and use this in CommandHandler.
* Remove kIsFabricScoped from response command payload definitions, since in the
  spec these cannot be marked fabroc-scoped.

Add a stub for backward compatibility (#39231)

[TC-SC-3.4] Adding a Precondition of having an Established CASE Session with DUT before start of test (#39246)

* Adding a Precondition of having an Established CASE Session with DUT before start of test

* adding second run in CI WITHOUT factory-reset and WITHOUT commissioning

[Update] Adding initial commissioning stage to TC_CADMIN_1_15 and TC_CADMIN_1_19 python3 test modules (#38932)

* Adding initial commissioning stage to TC_CADMIN_1_15 and TC_CADMIN_1_19 python3 test modules:
- Adding in initial commissioning test step for CADMIN_1_15 and CADMIN_1_19 test modules
- Updating to complete task: [566](https://github.com/project-chip/matter-test-scripts/issues/566)

* Restyled by autopep8

* Updating TC_CADMIN_1_15 and TC_CADMIN_1_19:
- Updating test steps properly

---------

Co-authored-by: Restyled.io <[email protected]>

[CADMIN] Creating CADMIN_1_25 python test module (#37922)

* [CADMIN] Creating CADMIN_1_25 python test module:
- Creating TC_CADMIN_1_25 python3 test module for task #287

* Updating TC_CADMIN_1_25 python3 test module:
- Changed verbage to correct verification result for test step 31
- Updated to using revoke commissioning command in place of waiting for commissioning timeouts to occur as those are already tested in other CADMIN automated tests.

* Restyled by autopep8

* Restyled by isort

* Updating TC_CADMIN_1_25 python3 test module:
- Resolved linting errors

* Updating TC_CADMIN_1_25.py:
- Resolving linting errors

* Restyled by autopep8

* Removing Test_TC_CADMIN_1_25.yaml:
- Removed yaml test script as python3 test module has been created.

* Updating TC_CADMIN_1_25 python3 test module:
- Now using accumulatorClusterAttributeChangeAccumulator to establish subscriptions to attributes
- Updated to reset accumulator queues inbetween each test validation for verifying new values are found
- Using await_all_expected_report_matches() to verify that new values match what we are looking for
- Using AttributeMatcher.from_callable() to verify that we have the correct values to match against our newly found values

* Apply autopep8 and isort formatting

* Resolving linting errors

---------

Co-authored-by: Restyled.io <[email protected]>

Adding TC-SC-3.5 script and CASESession Fault Injection Points (#39199)

* Adding TC-SC-3.5 script and CASESession Fault Injection Points

* Fixing Paths for TH_SERVER

* restyle

* Fix CI Argument

* Integrating Comments

* integrate comments v2

* add PICS for CI argument

Darwin: Avoid making the compiler sad (#39139)

Co-authored-by: Boris Zbarsky <[email protected]>

updates test step wording (#39207)

TC-CADMIN-1.4: fix PICS (#38963)

* TC-CADMIN-1.4: fix PICS

* Restyled by isort

* Restyled by isort

* Fix the feature map on all clusters

This has the command, but didn't have the feature marked

* Fix zap

---------

Co-authored-by: Restyled.io <[email protected]>

[Chef] [Pump] Add OnOff and LevelControl functionality (#38811)

* Set up files for pump

* nit: compilation

* +

* missing include

* +

* Update setpoints onOff

* Fix compilation

* Fix compilation

* Init chef pump

* +

* Setpoint to level update

* compilation fix

* compilation fix

* compilation fix

* compilation fix

* Call handleMoveToLevel on Attribute change

* compilation fix

* Report attribute change on level change

* Max level is 254 not 255

* Debug

* Debug

* Debug

* Fix implementation: Change gLevel to onLevel. This now tracks the targetted on level when device goes from off to on. It is null when device is On. It gets captured when device goes from On to Off.

* compilation fix

* Remove ifdefs

* Update ZAP: Add level contorl cluster

* clean up ifdef

* add ifdefs

* Add anonymous namespace

* Capture default range into constant

* Last set of comments

* Fix NRF break.

* Make ranges realistic

* Fix rev

* OnOff to not update level. Setpoints updated to non-nul when pump is On.

* +

* +

* Set min level to 1 for temperature control cluster

* update docstring postOnOff

* check for kNullLevel in LevelToSetpoint

* Set pump status to RUNNING (32) and ControlMode to Automatic

* Capacity, PumpStatus, and set controlMode attribute

* Restyled by whitespace

* Review comments: Set measured values to 0 when pump isn't running. Check pump status and update only the running bit

* nit: update capacity at initialisation

---------

Co-authored-by: Restyled.io <[email protected]>

[E2E][JF] Fix commissioner-vendor-id (#39185)

Use the commissioner-vendor-id value from the command line invocation for
each call to InitializeCommissioner(...).

Signed-off-by: Doru Gucea <[email protected]>

Adding pw_containers as a source for NRF (#39261)

Enable Wi-Fi Management only when required (#39172)

* * Enable Wi-Fi PAF commissioning by default on Linux platform
* Postpone to start Wi-Fi Management while needed

Signed-off-by: Lo,Chin-Ran <[email protected]>

* Move the configuration to the existing declare_args() region
Not enabling Wi-Fi-PAF in the test example

Signed-off-by: Lo,Chin-Ran <[email protected]>

* Enable Wi-Fi_PAF discovery capability only if it's enabled in the command argument

Signed-off-by: Lo,Chin-Ran <[email protected]>

* Undo workflow tests to validate paf not impacting performance

---------

Signed-off-by: Lo,Chin-Ran <[email protected]>
Co-authored-by: Andrei Litvin <[email protected]>

[Linux/Tizen] Replace g_free usages with GAutoPtr (#39151)

* Replace g_free usages with GAutoPtr

* Restyled by clang-format

* Fix deps

* Restyled by clang-format

* Allow GAutoPtr of unsigned char

* Use char instead of uint8_t

* Restyled by clang-format

* Fix

* Restyled by clang-format

* Fix and rename

* Restyled by clang-format

* Move destructor to header

* Restyled by clang-format

* Destructor override

* Fix

---------

Co-authored-by: Restyled.io <[email protected]>

TC-IDM-10.4: make errors a bit more verbose (#39042)

In the GUI, the fail came after the last step, so it always
marks the last step as failed, even though it's just an overall
failure. Adding an explicit step. Also an explicit endpoint check.

TC-ACE: Add note about setup steps (#39039)

This is done during test setup so we only have to do it once for
all the tests. Add note to the test step marker so folks
know where to look for the output.

Make nxp CI trigger all jobs on pigweed submodule changes (#39268)

* Make nrf and nxp CI trigger on pigweed submodule changes

* revert changes to nrf

Fix flaky Test failure for TC_WebRTCRequestor_2_X (#39237)

* Fix flaky Test failure for TC_WebRTCRequestor_2_X

* Schedule the call to run with a small delay to ensure the response is sent first

* Remove extra comment

Fix Door Lock cluster to not repond DUPLICATE when there is no duplication of credentials. (#39254)

Spec issue tracking the spec not being clear:
https://github.com/CHIP-Specifications/connectedhomeip-spec/issues/11707

Generate Groups cluster with Alchemy (#39166)

Switch specification revision and DM files from 1.5 to 1.4.2 (#39260)

* Rename data model directory

* Update build file

* Update prebuild data model directory name and tests

* Update default specification revision

* Update BINFO-2.1

* Update TestBasicInformation

RVC Example app: new opstates/errors (#38651)

* rvc example: additional Operational States

* rvc example: additional Operational State Errors

* Restyled by clang-format

* add handlers / named pipe commands for setting new operational states

Restyled by whitespace

* new operational states need not constrain based on prior operational state

---------

Co-authored-by: Restyled.io <[email protected]>

[Darwin][Network.framework] Add StartMonitorPath to the interface mon… (#39127)

* [Darwin][Network.framework] Add StartMonitorPath to the interface monitor

* [Darwin][Network.framework] Add a Init method that accepts an InterfaceId and GetInterfaceId to retrieve it

* [Darwin][Network.framework] Rename InterfacesMonitor => NetworkMonitor

[nrfconnect] Run Zephyr native tests when pigweed changes (#39267)

Run Zephyr native tests when pigweed changes to detect breaking changes.

Signed-off-by: Adrian Gielniewski <[email protected]>

Update push-av-stream-transport-cluster.xml and zap_regen_all (#39265)

[Network.framework] Move UDPEndPointImplNetworkFramework files under src/platform/Darwin/inet (#39148)

* [Network.framework] Move UDPEndPointImplNetworkFramework files under src/platform/Darwin/inet

* [Network.framework] Creates an mostly empty UDPEndpointImplNetworkFramework.h file

TC-RR-1.1: Make backwards compatible to 1.4 (#39273)

* TC-RR-1.1: Make backwards compatible to 1.4

1.4 devices do not support VID verification, so to use this test
against 1.4 and 1.4.1 devices, these steps need to be gated.

Test: Tested against a lock app compiled on 1.4 branch and against
a lock app compiled on current ToT. 1.4 originally failed, is now
passing.

* Address review comments

TC-OPCREDS-3.8: Set PICS to cmd (#39276)

Even though this command is now mandatory in 1.4.2, if the TH is
going to be used to test earlier spec revisions, then we want
to gate this on the command presence so the TH does not mistakenly
identify this test as required.

[Darwin][Network.framework] Add src/platform/Darwin/system/SystemLayerImplDispatch.mm such that the unit tests runs using the dispatch mechanism instead of the socket based implementation (#38912)

Rebasing Pigweed, FuzzTest and Abseil (#39229) (#39280)

* Rebasing Pigweed, FuzzTest and Abseil

* Remove RE2 Submodule since it was removed from pigweed

Fix: remove unused global constant (#39286)

Define new JF server variables for JF Admins only (#39095)

[ESP32]: Fix the thread-br-app CI build (#39206)

Adding coverage report link to main page (#39285)

[Telink] Fix BLE advertising during host disconnect (#39211)

* [Telink] Fix commissioning restart on BLE disconnection

* [Telink] Clear NeedToResetFailSafeTimer flag after handling

* Restyled by whitespace

* Restyled by clang-format

---------

Co-authored-by: Alex Tsitsiura <[email protected]>
Co-authored-by: Restyled.io <[email protected]>

[Realtek] Adjust files struct (#39239)

* [Realtek] Adjust files struct

* [Realtek] restore chip_device_platform

* [Realtek] Restyle files

Label for chef PRs (#39290)

Add gcovr dependency to chip-build image and update version (#39288)

* Add gcovr dependency to chip-build image and update version

* Add gcovr specific version

Fix test plan generator script (#39226)

Decouple network commissioning scan result encoding in separate source files (#39200)

* Separate out the scan response encoding from the single cpp file

* Undo unintentional changes

* Move load-responses as static/inline since this seems to save almost 100 bytes of flash on a NXP build

* Add some silly unit tests (because we can) and double-protect against null pointers

* Restyle

* Look to fix tizen initializers

* Look to fix tizen initializers

* Rename stuff

* Remove null network driver as it is not used by anything

* Added conditional includes to for the encoding

* Remove ScanResponseEncoder as these are old test files, not used

* Added some lifetime data

* Fix tests

* Added better unit tests ... no functionality change though even though it feels odd...

* Switch from RSS to LQI

* Fix LQI ordering instead of RSSI

* Restyle

* Add vector include

* Undid functional change

* Added issue link

* Restyled by clang-format

---------

Co-authored-by: Andrei Litvin <[email protected]>
Co-authored-by: Restyled.io <[email protected]>

add check for manual control PICS to RVC test scripts per test plans (#39310)

* add check for manual control PICS to RVC test scripts per test plans

* fix line length; fix PICS base for RVCCLEANM manual control

* Restyled by autopep8

---------

Co-authored-by: Restyled.io <[email protected]>

Adding closure linux app (#38717)

* Adding closure linux App

* Restyled by whitespace

* Restyled by clang-format

* Restyled by prettier-markdown

* Resolve CI build error for linux app

* Add closure as target

* Fix CI build errors

* Fixing CI build errors

* Addressing PR comments

* Apply suggestions from code review

Co-authored-by: Mathieu Kardous <[email protected]>

* Addressing PR comments

* Adding linux app to CI build and tests

* Fix CI build failure

* Fix CI build failure

* Fix CI build failure

* Adding documentation

* Restyled by prettier-markdown

* Addressing PR comments

* Addressing PR comments

* Fix CI build failures

* Segregating CI enabling and Test enabling into seperate PR

* Addressing PR comments

* Addressing PR comments

* Add closure app to issue_triage doc

* Adding Maintainer for closure App

---------

Co-authored-by: sabollim <[email protected]>
Co-authored-by: Restyled.io <[email protected]>
Co-authored-by: Arun Padakanti <[email protected]>
Co-authored-by: Mathieu Kardous <[email protected]>

[DM] 1.4.2 data model generation (#39307)

* 1.4.2 data model generation

* Regenerated after some fix PRs

* Regen data_model_xmls.gni

* Patch TestSpecParsing to allow 1.4.2 to not introduce new clusters

* Make restyled happy

* Regenerate XML after finding the spec update problem

---------

Co-authored-by: Robert Szewczyk <[email protected]>

Bump third_party/imgui/repo from `cdb5cbe` to `69e1fb5` (#39326)

Bumps [third_party/imgui/repo](https://github.com/ocornut/imgui) from `cdb5cbe` to `69e1fb5`.
- [Release notes](https://github.com/ocornut/imgui/releases)
- [Commits](https://github.com/ocornut/imgui/compare/cdb5cbe6f8786ced227624a71bc8a677618e5327...69e1fb50cacbde1c2c585ae59898e68c1818d9b7)

---
updated-dependencies:
- dependency-name: third_party/imgui/repo
  dependency-version: 69e1fb50cacbde1c2c585ae59898e68c1818d9b7
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Bump rojopolis/spellcheck-github-actions from 0.48.0 to 0.49.0 (#39324)

Bumps [rojopolis/spellcheck-github-actions](https://github.com/rojopolis/spellcheck-github-actions) from 0.48.0 to 0.49.0.
- [Release notes](https://github.com/rojopolis/spellcheck-github-actions/releases)
- [Changelog](https://github.com/rojopolis/spellcheck-github-actions/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rojopolis/spellcheck-github-actions/compare/0.48.0...0.49.0)

---
updated-dependencies:
- dependency-name: rojopolis/spellcheck-github-actions
  dependency-version: 0.49.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

[Chef] Remove ununsed optional Speed attribute (#39318)

* Remove ununsed optionnal Speed attribute

* Update rootnode_pump_5f904818cc.matter

* Remove new line

* Update rootnode_pump_5f904818cc.zap

Remove duplicate Chef pump (#39320)

[Chef] Fix Pump: Min level should be initialised to 1 (#39317)

* Fix Pump: Min level should be initialized at 1

* Update examples/chef/common/chef-pump.cpp

fix log

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

* Fix compilation err

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

Fixed wrong provider call in linux ExampleDeviceInstanceInfoProvider (#39316)

Add missing import and specify template argument (#39253)

* Add missing import and specify template argument

* Poke CI

* Undo change from CI Poke

* Support not specifying the type for Span

* Style fix

---------

Co-authored-by: Andrei Litvin <[email protected]>

Add example Vacuum then Mop mode to RVC example app (#39291)

* add example Vacuum then Mop mode to RVC example app

* convert literal strings in RVC example from CharSpan constructor to `_span`

* Restyled by clang-format

---------

Co-authored-by: Restyled.io <[email protected]>

Used FreeResolveContext to delete.  Moved dereference before deletion. (#39315)

[Ameba] fix platform wifi issue and update compatible builds to docker version 134 (#39219)

* [Ameba] fix platform wifi issue and update compatible builds to docker version 134

* Update compatible builds to docker version 134
* Correcting the inorrect reading of wifi security type for Ameba
* Adding more wifi mode support for Ameba

* [Ameba] removing invalid syntax

Bump third_party/openthread/repo from `44dadd5` to `de07392` (#39329)

Bumps [third_party/openthread/repo](https://github.com/openthread/openthread) from `44dadd5` to `de07392`.
- [Release notes](https://github.com/openthread/openthread/releases)
- [Commits](https://github.com/openthread/openthread/compare/44dadd5f45a700fe17ea25d64f6cab0a025b41fc...de0739239bb5fc21b3f4e85c6222971062ed591b)

---
updated-dependencies:
- dependency-name: third_party/openthread/repo
  dependency-version: de0739239bb5fc21b3f4e85c6222971062ed591b
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

Use a copy constructor everytime we initialize a DataModel::AttributeEntry's instance with an assignment (#39302)

* Making DataModel::AttributeEntry immutable, adding copy constructor calls.

* Restyled by clang-format

---------

Co-authored-by: Restyled.io <[email protected]>

Test script for AVSM TC_2.12, TC_2.13, TC_2.14, TC_2.15 (#39067)

* Test script for AVSM TC_2.12

* Add AVSM Stream Reuse Test scripts 2.13, 2.14, 1nd 2.15

* Remove unused InteractionModelError from TestScript 2.12.

* Restyle fixes.

* Address review comments.

Add feature map fetch and checks against feature flags.

* Fix MinFrameRate to match with Camera-App

* Add optional Watermark and OSD in Video and Snapshot stream allocation commands.

[NXP] Remove K32W0 and K32W1 support (#39330)

* [nxp] Remove k32w0

 * k32w0 examples (contact-sensor-app, lighting-app, lock-app)
 * examples/platform/nxp/k32w0
 * src/platform/nxp/k32w0
 * third_party/openthread/platforms/nxp/k32w0
 * config/k32w/toolchain
 * docs/platforms/nxp/*k32w0*
 * scripts/examples/*k32w*

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][docs][platforms] Remove k32w0 references/strings

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][platform] Remove/Update k32w0

 * remove k32w0 platform, references, strings
 * update docs

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][scripts][build] Remove k32w0 build

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][workflows] Remove k32w0 builds

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][platform] Remove k32w0 logging

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][mcxw71] Updated ot-nxp build paths

Signed-off-by: Marius Preda <[email protected]>

* [nxp][examples][platform][mcxw71_k32w1] Put FreeRtosHooks.cpp under condition

 * allow source_set to be reused by mcxw72

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp] Remove k32w1 enablement

* build_overrides/*k32w1*
* examples k32w1 (contact-sensor-app, lighting-app, lock-app)

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][examples][platform][mcxw71_k32w1] Rename mcxw71_k32w1 to mcxw71

 * rename mcxw71_k32w1 to mcxw71
 * remove k32w1, update where needed

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][platform][mcxw71_k32w1] Rename mcxw71_k32w1 to mcxw71

 * rename mcxw71_k32w1 to mcxw71
 * remove k32w1, update where needed

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][examples][mcxw71] Update files to remove k32w1

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][third_party/openthread/platforms] Replace mcxw71_k32w1 with mcxw71

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][platform] Remove/Update k32w1 strings

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][docs] Remove/Update k32w1

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][platform] Remove k32w1 logging

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][scripts] Remove k32w1 enablement

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][workflows] Remove k32w1 enablement

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][scripts][nxp] Remove k32w1 from doc

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][common] Update nxp_matter_support and ot-nxp repos

Signed-off-by: Andrei Menzopol <[email protected]>

* Restyled by gn

* Restyled by prettier-markdown

* [nxp][scripts] Remove fro32 and fix targets

Signed-off-by: Andrei Menzopol <[email protected]>

* [nxp][platform] Remove fro32k code from BLEManager

Signed-off-by: Andrei Menzopol <[email protected]>

---------

Signed-off-by: Andrei Menzopol <[email protected]>
Signed-off-by: Marius Preda <[email protected]>
Co-authored-by: Restyled.io <[email protected]>

use leaseweb server for ubuntu in cirque (#39314)

Generate LocalizationConfiguration cluster with Alchemy and ZAP (#39234)

Drop unused ConnectivityManager::CanStartWiFiScan function (#39294)

[Camera] Remove DataChannel from WebRTC session establishment process (#39321)

* [camera] Remove DataChannel from WebRTC session establshment process

* Add additional comments

[FuzzTest] Adding FuzzTest for CASE Encoding and Parsing (#38747)

* Make HandleSigma3b protected for usage in FuzzTest

* small fix in TestCASESession

* Add CASE FuzzTest

* Doc Update

* spelling fix

* Keeping only one testcase per FuzzTest and Adding Comments on All Property Functions

esp32: move networkcommissioning instance from platform to example (#39346)

Remove EFR32 unit tests from cloudbuild (#39359)

Co-authored-by: Andrei Litvin <[email protected]>

[NXP] Update NXP docker image to remove K32W0 (#39334)

Signed-off-by: Andrei Menzopol <[email protected]>

[NXP] Remove mw320 platform (#39351)

* Remove mw320 platform

Signed-off-by: Lo,Chin-Ran <[email protected]>

* Restyled by gn

---------

Signed-off-by: Lo,Chin-Ran <[email protected]>
Co-authored-by: Restyled.io <[email protected]>

[PICSGenerator] Change DM selection to be based on response from DUT if --dm-xml is not provided (#39021)

* Mandate --dm-xml input in PICSGenerator

* Add changed name for Group Key Management to list

* Pick DM scrape based on response from device if not provided as CLI parameter

* Uncommented 1.5

* Updated readme

* Add handling for Energy EVSE due to naming colisions

* Fix misspell

Introduce PEM encoder to CHIPCryptoPAL (#39340)

* Introduce PEM encoder to CHIPCryptoPAL

- Debugging Device Attestation failures is hard, especially
  without seeing the contents of the certificates.
- This PR introduces a PEM encoder so that DER certificates
  that are seen during the Device Attestation Procedure
  can be logged. This could also be used in other settings.
- Usage of the method in DefaultDeviceAttestationVerifier will
  be done in a follow-up.
- Code is fully portable and does not rely on any crypto library.

Issue: #35608

Testing done:

- Added complete unit test that also shows how to properly use the API.
  Unit test covers all edges of the public API.
- Currently the code is only referenced by unit tests.

* Restyled by clang-format

* Apply review comment

* Update src/crypto/CHIPCryptoPAL.cpp

Co-authored-by: Boris Zbarsky <[email protected]>

* Apply review comments from @bzbarsky-apple

* Remove some YAGNI `PemEncoder::IsDone` method

* Simplify API based on comments from @andy31415

* Restyled by clang-format

* Update src/crypto/CHIPCryptoPAL.h

Co-authored-by: Andrei Litvin <[email protected]>

* Apply small improvements from @andy31415

---------

Co-authored-by: Restyled.io <[email protected]>
Co-authored-by: Boris Zbarsky <[email protected]>
Co-authored-by: Andrei Litvin <[email protected]>

[Camera] Add Matter Camera TCs (TC-WEBRTC-1.1, TC-WEBRTC-1.2, TC-WEBRTC-1.3, TC-WEBRTC-1.4, TC-WEBRTC-1.5) (#38584)

* Add TC_WEBRTC_1_1 to python_testing

Signed-off-by: abhishek.h <[email protected]>
Signed-off-by: Charles Kim <[email protected]>

* Add TC_WEBRTC_1_2 to python_testing

Signed-off-by: abhishek.h <[email protected]>
Signed-off-by: Charles Kim <[email protected]>

* Add TC_WEBRTC_1_3 to python_testing

Signed-off-by: abhishek.h <[email protected]>
Signed-off-by: Charles Kim <[email protected]>

* Add TC_WEBRTC_1_4 to python_testing

Signed-off-by: abhishek.h <[email protected]>
Signed-off-by: Charles Kim <[email protected]>

* Add TC_WEBRTC_1_5 to python_testing

Signed-off-by: abhishek.h <[email protected]>
Signed-off-by: Charles Kim <[email protected]>

* Restyled by isort

Signed-off-by: Charles Kim <[email protected]>

* ruff linting fix

Signed-off-by: Charles Kim <[email protected]>

* Don't wait for user inetraction in CI - check peer connection state instead for session establishment

Signed-off-by: Charles Kim <[email protected]>

* Exclude WEBRTC TCs from the CI.

Exclude WEBRTC TCs from the CI, until python webrtc bindings and
python controller changes are landed.

Signed-off-by: suyambu.rm <[email protected]>
Signed-off-by: Charles Kim <[email protected]>

* Update TCs based on controller refactor

Signed-off-by: Charles Kim <[email protected]>

* Restyled by prettier-yaml

Signed-off-by: Charles Kim <[email protected]>

* Allocate video stream based on values from DUT

Signed-off-by: Charles Kim <[email protected]>

---------

Signed-off-by: abhishek.h <[email protected]>
Signed-off-by: Charles Kim <[email protected]>
Signed-off-by: suyambu.rm <[email protected]>
Co-authored-by: abhishek.h <[email protected]>
Co-authored-by: Restyled.io <[email protected]>
Co-authored-by: suyambu.rm <[email protected]>

Clean up the member names (#39348)

[FuzzTest] fixes in Local Coverage report generating script (#39356)

* Fixing Error where an empty profraw file is being generated when stopping Fuzz Test with a Keyboard Interrupt

* rejecting an invalid FuzzTest Case when running script with arguments

* adding unmapped to --ignore-errors for genhtml

* Integrating Gemini comment

Reduce flake chance in MRP unit test (#39339)

* Reduce flake chance in MRP unit test

* Use 100ms

* Address PR comment

* Based on CI flakes updated some timeout to make a little more sense

ThreadOperationalDataset: Fix typo in SetLength (#39364)

Signed-off-by: Maciej Grela <[email protected]>

[Linux] Simplify WPA supplicant properties changed callback (#39299)

* [Linux] Simplify g_variant string compression

* Simplify WPA interface state lookup logic

* Reuse object passed to callback - no need to lock mutex

* Fix typo when calling OnConnectionStatusChanged

[Soil Measurement] Test scripts for SOIL-2.1 and SOIL-2.2 (#38637)

* Initial commit of test scripts for Soil Measurement

* Fix wrong indentation in if-else

* Bump license year

* Apply suggestions from code review

Co-authored-by: C Freeman <[email protected]>

* Apply suggestions from code review

* Add missing imports

* Set initial value so it is not null

* Added PICS file for CI run

* Use write_to_app_pipe to simulate measurement

---------

Co-authored-by: C Freeman <[email protected]>

Fix ordering of Command flags check to return appropriate status code, based on Spec section 8.8.2.3. (#39162)

* Fix ordering of Command flags check to return appropriate status code,
based on Spec section 8.8.2.3.

* Add test command with FabricScoping, TImedInvoke, and LargeMessage flags
enabled in test cluster xml.

* Add support for test command in all-clusters-app unit-testing cluster

* Run zap-regen.

* Python test script for verifying InvalidTransportType status code.

* Add assert failure check for unexpected success.

* Add new Command Id in the AcceptedCommandsList in TestCluster.yaml

Added chef device Extractor hood (#39202)

* Added chef device Extractor hood

* Restyled by whitespace

* Fix lint error

* Fixed the lint issues with matter_device_types.json

* Fixed the lint issue with .matter file

---------

Co-authored-by: Restyled.io <[email protected]>

[Darwin] Enable ARC globally for darwin builds (#39357)

Refactoring ChipCert FuzzTest and using Seeds + Docs on FuzzTest Seeds (#39352)

* Factoring out Methods and seeding fuzztests

* Adding documentation on seeds

* remove uneeded cout

[HotFix] Update zap generated code (#39383)

Fix STM32 flashbundle strings. (#39386)

It was likely a copy and paste before and the names were not valid.

Co-authored-by: Andrei Litvin <[email protected]>

SystemLayer: Address post-landing review comments from #38912 (#39335)

* [Darwin] Add SystemImplLayerDispatch.h/mm as a comment in src/system/BUILD.gn to avoid adding it as a known failure when linting

* [Darwin] Address post-landing review comments for src/platform/Darwin/system/SystemLayerImplDispatch.h/mm

* [Darwin] Make ScheduleWorkWithBlock thread-safe even for unit tests

[Darwin][Network.framework] Improve stability, queue handling, and memory safety (#39379)

This change consolidates multiple improvements to the Darwin-specific Network.framework implementation:

    - Stability & Safety
      - Fix crash issues by initializing members with  and guarding against disconnected endpoints.
      - Add timeouts to prevent hangs.
      - Introduce autorelease pools when creating queues to prevent leaks.
      - Ensure all queue operations are dispatched on the correct thread without unnecessary .
      - Prevent a leak when logging source/destination addresses.

    - Improve concurrency safety:
      - Avoid races in  allocation by dispatching onto the CHIP queue.
      - Avoid unnecessary copies when sending packets.
      - Free the reception queue safely by dispatching to the CHIP queue.
      - Prevent multiple callbacks into the listener/connection handler during connection lifecycle changes.

    - Add support for:
      - Multiple simultaneous connections.
      - Group messages (multicast scenarios).
      - Listening on multiple interfaces/IPs rather than a single  listener with  workarounds.

    - Code Structure & Maintainability
      - Extract listener functionality into: UDPEndPointImplNetworkFrameworkListener.
      - Extract listener group support into: UDPEndPointImplNetworkFrameworkListenerGroup.
      - Extract connection management into: UDPEndPointImplNetworkFrameworkConnection.
      - Extract debugging logging into: UDPEndPointImplNetworkFrameworkDebug.

[Darwin][Network.framework] Move the Network.framework UDP implementation under src/platform/Darwin/inet

Added NFC as a new Transport type ("Transport::Type::kNfc"). (#37060)

* Added NFC as a new Transport type ("Transport::Type::kNfc").

Implementation done for Android and Linux platforms.

Android implementation is done in java and relies on Android's ISODEP interface
(https://developer.android.com/reference/android/nfc/tech/IsoDep)

Linux implementation relies on PCSCLite library (https://pcsclite.apdu.fr/)
 available under BSD-like licence.

In both implementation, the NFC transmission is done asynchronously.

If the transmission is successful, OnNfcTagResponse() will be called.
Otherwise, OnNfcTagError() will be called.

Added CHIP_DEVICE_CONFIG_ENABLE_NFC_BASED_COMMISSIONING

When building for a platform, nfc-commission should be added to enable
NFC-based commissioning.
Example of command to build chip-tool for linux-arm64:
./scripts/build/build_examples.py --target linux-arm64-chip-tool-ipv6only-clang-nfc-commission build

Testing
Tomorrow, I will push a test checking that NFC-based commissioning works
with PR37060 + PR38540.

* Changed code to use C++ casts.

* Changes following code review.

* Restyled by clang-format

* Added a nullptr check

* Restyled by clang-format

* Fix for Issue #38608:
AndroidNfcCommissioningManager: Use a single worker Thread and use a
message queue.

Fix for Issue #38608.

Change-Id: I15997844fb64292de5533b62d9da22d79eade9bd

* Fix  for issue 38616:
PeerAddess: Change needed to ensure a constructor is only used with
NFC type.

* Fix for Issue #38615 PeerAddress:
Use an Union for mNFCShortId and mRemoteId.

* Fix for Issue #38609 Abstraction of status codes
Fix for Issue #38612 Rework status code management

* Fix for Issue #38615

* Fix for Issue #38617 NFC Transport: Clarify kConnected use

* Fix for Issue #38614 Use constexpr in PeerAddress

Change-Id: I9ac6aadd752d718f01bbc3dcaedac738766d1875

* Restyled by google-java-format

* Restyled by clang-format

* Update src/transport/raw/NFC.cpp

Co-authored-by: Boris Zbarsky <[email protected]>

* Update src/transport/raw/NFC.cpp

Co-authored-by: Boris Zbarsky <[email protected]>

* Updates following Boris's review.

* Restyled by clang-format

* Update src/platform/android/java/chip/platform/AndroidNfcCommissioningManager.java

Co-authored-by: Robert Szewczyk <[email protected]>

* Restyled by google-java-format

---------

Co-authored-by: Restyled.io <[email protected]>
Co-authored-by: Andrei Litvin <[email protected]>
Co-authored-by: Boris Zbarsky <[email protected]>
Co-authored-by: Justin Wood <[email protected]>
Co-authored-by: Robert Szewczyk <[email protected]>

Remove an extraneous ; (#39391)

Generate GeneralCommissioning cluster with Alchemy (#38970)

* Generate GeneralCommissioning cluster with Alchemy

* Regenerate XML with new Alchemy version (27) and ZAP

* Regenerate files with new ZAP version

* Regenerate .matter files with ZAP

Decouple privilege checks in the main code from `code generation` bits (#39370)

* Start using datamodel provider for all privileges, including Event information

* Fix unit tests to actually pass

* Update server cluster interface to also support events

* Restyle

* Add event info unit test in the codegen data model

* Add comment

* Update visibility some more

* Restyle

* fix includes

* fix includes

* Fix camera controller build. This usage of the codegen DMP is VERY VERY odd

* Fix usage of extra RAM: reduce back the size of Position

* Restyle

* Remove extra changes to copy constructor

* Error out empty provider

* Spell updates

* Include cleanup, logic update

* Fix dynamic server dependencies: config and includes, as we do not get them inherited anymore

* Add another "treat error as real error" for events

* Restyled by clang-format

* Fix comment

* Include update

* update logic a bit: ensure statusib is always valid/correct

* Restyle

* Fix up dynamic server again ... we seem to need privilege storage

* Refactor logic again to make unit tests pass. For events it seems we match spec: we check ACL before paths

* Restyle

* Move a bit of code around so that we save 72 bytes of flash

* Restyle

* Update dynamic server back - apparently required privileges also is updated based on dynamic server ... this is quite messy

* Update dynamic server back - apparently required privileges also is updated based on dynamic server ... this is quite messy

* Fix spelling

* Update src/app/AttributePathExpandIterator.cpp

Co-authored-by: Boris Zbarsky <[email protected]>

* Update src/app/InteractionModelEngine.cpp

Co-authored-by: Boris Zbarsky <[email protected]>

* Update src/app/InteractionModelEngine.h

Co-authored-by: Boris Zbarsky <[email protected]>

* Comment updates

* Update src/app/data-model-provider/MetadataTypes.h

Co-authored-by: Boris Zbarsky <[email protected]>

* Another comment update

* Match spec even better: return UnsupportedEvent if event metadata is not available

* Restyle

* Fix test ... expect true was hiding bugs

* Make linter happy

* Added more API docs

* Added more API docs

* Restyle

---------

Co-authored-by: Andrei Litvin <[email protected]>
Co-authored-by: Restyled.io <[email protected]>
Co-authored-by: Boris Zbarsky <[email protected]>

[Darwin] Add missing return to avoid nil passed to dispatch_async (#39405)

[Camera] Use separate GStreamer snapshot pipelines (#39295)

* Add camera type detection and separate GStreamer pipeline creation for CSI and USB cameras

* Refactor GStreamer pipeline error handling to use unrefGstElements for better code maintainability

Don't pull core_pigweed_python_packages into matter_build_env (#39399)

This pulls in an unnecessarily large number of dependencies that are not needed.
(Some of these have also caused pip install conflicts recently.)

Add gstreamer-app package to Docker file and sysroot creation (#39394)

The MeterId cluster moved from all-clusters-app sample to energy-gate… (#39063)

* :The MeterId cluster moved from all-clusters-app sample to energy-gateway-app sample

* Fixes by CR requests

* Init/Shutdown switched back to the Ember callbacks

Fixed glob.glob(include_hidden=True) which isn't available in Python 3.10.12 (#39409)

[QPG] Dropped QPG6105 and moved to the new QPG6200 platform (#38887)

* [QPG] Drop QPG6105 support and add QPG6200

* [QPG] remove qpg_flavour completely

* [QPG] Migrate qpg_sdk to new repo location

* [QPG] Changed all qpg6105 keyword to qpg6200

* [QPG] Update REAME to point to latest IoT SDK

* [QPG] Update ot-qorvo repo

* [QPG] Do recursive checkout on submodules before builds

* [QPG] Fix oscrpyto version

* [QPG] Removed unwanted codes

* [QPG] Fix file header from Qorvo to Project CHIP

* Revert pigweed repo

---------

Co-authored-by: Kliff Wong <[email protected]>

[Examples] Fix crash when sending to invalidated WebSocket connection (#39406)

* [Examples] Fix crash when sending to invalidated WebSocket connection

* Update examples/common/websocket-server/WebSocketServer.cpp

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

---------

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>

PR template enhancements (#39402)

Change HostNameRegistrar::Register to invoke the publish-service callback as soon as any record registers (#39368)

* [Darwin] Add SystemLayerImplDispatch::StartTimerWithBlock

* [Testing] Update Darwin Dnssd code to call the publish service callback when at least one record has been registered

Remove a leak in ExtendTimerTo by deferring to StartTimer. (#39354)

[Testing] Update src/platform/tests/TestDnssd.cpp to use kDNSServiceInterfaceIndexLocalOnly on Darwin since this is faster and may help preventing collissions (#39363)

Update time when it's wildly incorrect (#39106)

Detect that the difference with the device's time is outside of a certain range (currently more than 5 minutes early or late), which means there's a loss of synchronization. If a synchronization loss is detected, then try to update the device's time. Avoid detecting synchronization loss too frequently (in case a device is misbehaving), currently we check again if more than an hour has passed since we last tried to correct it.

ZoneManagement xml updates to align with latest Spec (#39404)

* Update ZoneManagement cluster xml to latest Spec

* Update zcl json files and run zap regen

* Restyle fixes

Add reviewers-geo to reviewers (#39416)

Co-authored-by: Andrei Litvin <[email protected]>

[CASESession] Unit Test Cases for Bad Signatures failing CASE (#39355)

* first trial

* Adding Test Cases Bad Signature fails CASE

* fixing comment

* integrating comments

* merging both testcases into one

* Adding fault injeciton macro

Add documentation on `writing clusters` (#39163)

* Start some documentation on writing clusters

* More updates

* Add file

* Restyle

* Fix typos

* Fix links

* Restyled by …
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants