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

Skip to content

Conversation

@gabc-cpp
Copy link
Contributor

@gabc-cpp gabc-cpp commented May 30, 2025

Fixes #39024

Now we use a copy constructor everytime we initialize a DataModel::AttributeEntry's instance with an assignment.

On src/app/data-model-provider/MetadataTypes.h, inside the struct AttributeEntry, now we declare the variable attributeId as const. This will enhance the immutability of AttributeEntry.

Testing

CI checks will be run against this Pull Request.

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 valuable change by making DataModel::AttributeEntry::attributeId a const member. This enhances the immutability of AttributeEntry, making its state more predictable and preventing accidental modification of the ID after an entry is constructed. Consequently, AttributeEntry becomes non-copy-assignable, which encourages initialization via constructors rather than reassignment, promoting safer and clearer code patterns.

The updates in src/app/WriteHandler.cpp to directly initialize attributeEntry and the test adjustments in src/data-model-providers/codegen/tests/TestCodegenModelViaMocks.cpp are appropriate and correctly adapt to this change.

Overall, these changes improve code quality and robustness. Well done!

Summary of Findings

  • Clarity of PR Title and Description: The PR title "Use a copy constructor everytime we initialize a DataModel::AttributeEntry's instance with an assignment" and parts of the description could be slightly more precise. The core change is making AttributeEntry::attributeId const, which results in AttributeEntry becoming non-copy-assignable. This, in turn, means that direct assignment (obj1 = obj2;) is disallowed, and initialization (e.g., AttributeEntry obj1 = obj2; or AttributeEntry obj1(obj2);) which uses constructors, is enforced for creating new instances or initializing optionals. This is a positive outcome. (No review comment added due to low severity and review settings).
  • Nuance in AttributeEntry Immutability Claim: The PR description states that making attributeId const would make AttributeEntry "100% immutable". While attributeId is now const, the other member mask is not declared const. However, since all public member functions of AttributeEntry are const, the object is effectively immutable from an external perspective after its construction. Making mask itself const would be a stronger compile-time guarantee of full immutability, but the current change is a significant step and largely achieves the desired immutable behavior. (No review comment added due to low severity and review settings).
  • Code Style Improvement in WriteHandler.cpp: The change in src/app/WriteHandler.cpp from separate declaration and assignment of attributeEntry to direct initialization (std::optional<DataModel::AttributeEntry> attributeEntry = finder.Find(aPath);) is a good stylistic improvement. It enhances readability and is consistent with best practices, especially when dealing with types that might become non-assignable. (No review comment added due to low severity and review settings).

Merge Readiness

The changes in this pull request are well-implemented and improve the immutability and predictability of DataModel::AttributeEntry. The codebase has been updated appropriately to reflect these changes. Based on this review, the PR appears to be in good shape for merging. As an AI, I am not authorized to approve pull requests; please ensure it undergoes further review and approval by team members if required.

@github-actions
Copy link

github-actions bot commented May 30, 2025

PR #39302: Size comparison from 9864580 to 2b3b110

Increases above 0.2%:

platform target config section 9864580 2b3b110 change % change
telink lighting-app-ota-factory-data tlsr9118bdk40d FLASH 600610 604478 3868 0.6
Full report (72 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 9864580 2b3b110 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1102228 1102228 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 832824 832824 0 0.0
RAM 124573 124573 0 0.0
bl706+mfd+rpc+littlefs FLASH 1065376 1065376 0 0.0
RAM 117405 117405 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 894922 894922 0 0.0
RAM 105708 105708 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 978646 978646 0 0.0
RAM 109892 109892 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 820484 820484 0 0.0
RAM 120224 120224 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 832088 832088 0 0.0
RAM 125376 125376 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 777608 777608 0 0.0
RAM 113780 113780 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 761940 761940 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 662397 662397 0 0.0
RAM 77488 77488 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 682249 682249 0 0.0
RAM 80128 80128 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 682249 682249 0 0.0
RAM 80128 80128 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 639181 639181 0 0.0
RAM 72556 72556 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 623789 623789 0 0.0
RAM 73800 73800 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 643425 643425 0 0.0
RAM 76352 76352 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 643425 643425 0 0.0
RAM 76352 76352 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 644709 644709 0 0.0
RAM 76800 76800 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 664425 664425 0 0.0
RAM 79352 79352 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 664425 664425 0 0.0
RAM 79352 79352 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 619377 619377 0 0.0
RAM 70912 70912 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 639229 639229 0 0.0
RAM 73544 73544 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 639229 639229 0 0.0
RAM 73544 73544 0 0.0
efr32 lock-app BRD4187C FLASH 946764 946764 0 0.0
RAM 132036 132036 0 0.0
BRD4338a FLASH 776024 776008 -16 -0.0
RAM 173256 173256 0 0.0
window-app BRD4187C FLASH 1039688 1039648 -40 -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 1774586 1774586 0 0.0
IRAM 117071 117071 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2786478 2786458 -20 -0.0
RAM 117016 117016 0 0.0
all-clusters-app debug unknown 5664 5664 0 0.0
FLASH 6385272 6385252 -20 -0.0
RAM 537568 537568 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5468302 5468282 -20 -0.0
RAM 227976 227976 0 0.0
bridge-app debug unknown 5560 5560 0 0.0
FLASH 4800812 4800792 -20 -0.0
RAM 207632 207632 0 0.0
camera-app debug unknown 8864 8864 0 0.0
FLASH 6910235 6910203 -32 -0.0
RAM 228888 228888 0 0.0
camera-controller debug unknown 9168 9168 0 0.0
FLASH 14264891 14264875 -16 -0.0
RAM 657256 657256 0 0.0
chip-tool debug unknown 6248 6248 0 0.0
FLASH 14638073 14638053 -20 -0.0
RAM 650736 650736 0 0.0
chip-tool-ipv6only arm64 unknown 40440 40440 0 0.0
FLASH 12609908 12609844 -64 -0.0
RAM 697080 697080 0 0.0
fabric-admin debug unknown 5928 5928 0 0.0
FLASH 12709641 12709621 -20 -0.0
RAM 650136 650136 0 0.0
fabric-bridge-app debug unknown 4808 4808 0 0.0
FLASH 4586716 4586696 -20 -0.0
RAM 193344 193344 0 0.0
fabric-sync debug unknown 5064 5064 0 0.0
FLASH 5733781 5733749 -32 -0.0
RAM 490016 490016 0 0.0
lighting-app debug+rpc+ui unknown 6272 6272 0 0.0
FLASH 5649889 5649873 -16 -0.0
RAM 209864 209864 0 0.0
lock-app debug unknown 5496 5496 0 0.0
FLASH 4835284 4835264 -20 -0.0
RAM 197096 197096 0 0.0
ota-provider-app debug unknown 4848 4848 0 0.0
FLASH 4438586 4438566 -20 -0.0
RAM 185968 185968 0 0.0
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4508024 4508004 -20 -0.0
RAM 188600 188600 0 0.0
shell debug unknown 4256 4256 0 0.0
FLASH 3082940 3082924 -16 -0.0
RAM 151080 151080 0 0.0
thermostat-no-ble arm64 unknown 9768 9768 0 0.0
FLASH 4232844 4232780 -64 -0.0
RAM 233416 233416 0 0.0
tv-app debug unknown 5832 5832 0 0.0
FLASH 6098693 6098677 -16 -0.0
RAM 614248 614248 0 0.0
tv-casting-app debug unknown 5336 5336 0 0.0
FLASH 12786813 12786797 -16 -0.0
RAM 767120 767120 0 0.0
nxp contact k32w0+release FLASH 592200 592200 0 0.0
RAM 72856 72856 0 0.0
mcxw71+release FLASH 624952 624952 0 0.0
RAM 63196 63196 0 0.0
light k32w0+release FLASH 618276 618276 0 0.0
RAM 72152 72152 0 0.0
k32w1+release FLASH 709488 709488 0 0.0
RAM 72052 72052 0 0.0
lock mcxw71+release FLASH 776120 776120 0 0.0
RAM 67612 67612 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1671556 1671524 -32 -0.0
RAM 212464 212464 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1575892 1575860 -32 -0.0
RAM 208512 208512 0 0.0
light cy8ckit_062s2_43012 FLASH 1448340 1448308 -32 -0.0
RAM 197240 197240 0 0.0
lock cy8ckit_062s2_43012 FLASH 1480620 1480588 -32 -0.0
RAM 224952 224952 0 0.0
qpg lighting-app qpg6105+debug FLASH 667204 667204 0 0.0
RAM 105180 105180 0 0.0
lock-app qpg6105+debug FLASH 627216 627216 0 0.0
RAM 99808 99808 0 0.0
stm32 light STM32WB5MM-DK FLASH 464932 464932 0 0.0
RAM 141424 141424 0 0.0
telink bridge-app tl7218x FLASH 694202 677446 -16756 -2.4
RAM 102100 90960 -11140 -10.9
light-app-ota-compress-lzma-factory-data tl3218x FLASH 766640 766640 0 0.0
RAM 50252 50252 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 767670 767670 0 0.0
RAM 40544 40544 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 773748 756128 -17620 -2.3
RAM 109424 97672 -11752 -10.7
light-switch-app-ota-compress-lzma-factory-data tl7218x_retention FLASH 703108 687210 -15898 -2.3
RAM 62812 51780 -11032 -17.6
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 741062 715660 -25402 -3.4
RAM 85984 73592 -12392 -14.4
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 712988 712988 0 0.0
RAM 37228 37228 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 600610 604478 3868 0.6
RAM 120196 106920 -13276 -11.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 809086 791198 -17888 -2.2
RAM 107692 96520 -11172 -10.4
tizen all-clusters-app arm unknown 5292 5292 0 0.0
FLASH 1819708 1819684 -24 -0.0
RAM 97160 97160 0 0.0
chip-tool-ubsan arm unknown 20644 20644 0 0.0
FLASH 20908062 20907966 -96 -0.0
RAM 9100432 9100368 -64 -0.0

@gd-mauri
Copy link
Contributor

LGTM!

…e_initialize_DataModel_AttributeEntry_instance_with_an_assignment
@github-actions
Copy link

github-actions bot commented May 30, 2025

PR #39302: Size comparison from 04a8c79 to 6fa18ae

Full report (75 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 04a8c798 6fa18ae change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1102228 1102228 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 832824 832824 0 0.0
RAM 124573 124573 0 0.0
bl706+mfd+rpc+littlefs FLASH 1065376 1065376 0 0.0
RAM 117405 117405 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 894922 894922 0 0.0
RAM 105708 105708 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 978646 978646 0 0.0
RAM 109892 109892 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 820484 820484 0 0.0
RAM 120224 120224 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 832088 832088 0 0.0
RAM 125376 125376 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 777608 777608 0 0.0
RAM 113780 113780 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 761940 761940 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 662397 662397 0 0.0
RAM 77488 77488 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 682249 682249 0 0.0
RAM 80128 80128 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 682249 682249 0 0.0
RAM 80128 80128 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 639181 639181 0 0.0
RAM 72556 72556 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 623789 623789 0 0.0
RAM 73800 73800 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 643425 643425 0 0.0
RAM 76352 76352 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 643425 643425 0 0.0
RAM 76352 76352 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 644709 644709 0 0.0
RAM 76800 76800 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 664425 664425 0 0.0
RAM 79352 79352 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 664425 664425 0 0.0
RAM 79352 79352 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 619377 619377 0 0.0
RAM 70912 70912 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 639229 639229 0 0.0
RAM 73544 73544 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 639229 639229 0 0.0
RAM 73544 73544 0 0.0
efr32 lock-app BRD4187C FLASH 946764 946764 0 0.0
RAM 132036 132036 0 0.0
BRD4338a FLASH 776024 776008 -16 -0.0
RAM 173256 173256 0 0.0
window-app BRD4187C FLASH 1039688 1039648 -40 -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 1774586 1774586 0 0.0
IRAM 117071 117071 0 0.0
linux air-purifier-app debug unknown 4848 4848 0 0.0
FLASH 2786478 2786458 -20 -0.0
RAM 117016 117016 0 0.0
all-clusters-app debug unknown 5664 5664 0 0.0
FLASH 6385272 6385252 -20 -0.0
RAM 537568 537568 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5468302 5468282 -20 -0.0
RAM 227976 227976 0 0.0
bridge-app debug unknown 5560 5560 0 0.0
FLASH 4800812 4800792 -20 -0.0
RAM 207632 207632 0 0.0
camera-app debug unknown 8864 8864 0 0.0
FLASH 6910235 6910203 -32 -0.0
RAM 228888 228888 0 0.0
camera-controller debug unknown 9168 9168 0 0.0
FLASH 14264891 14264875 -16 -0.0
RAM 657256 657256 0 0.0
chip-tool debug unknown 6248 6248 0 0.0
FLASH 14638073 14638053 -20 -0.0
RAM 650736 650736 0 0.0
chip-tool-ipv6only arm64 unknown 40440 40440 0 0.0
FLASH 12609908 12609844 -64 -0.0
RAM 697080 697080 0 0.0
fabric-admin debug unknown 5928 5928 0 0.0
FLASH 12709641 12709621 -20 -0.0
RAM 650136 650136 0 0.0
fabric-bridge-app debug unknown 4808 4808 0 0.0
FLASH 4586716 4586696 -20 -0.0
RAM 193344 193344 0 0.0
fabric-sync debug unknown 5064 5064 0 0.0
FLASH 5733781 5733749 -32 -0.0
RAM 490016 490016 0 0.0
lighting-app debug+rpc+ui unknown 6272 6272 0 0.0
FLASH 5649889 5649873 -16 -0.0
RAM 209864 209864 0 0.0
lock-app debug unknown 5496 5496 0 0.0
FLASH 4835284 4835264 -20 -0.0
RAM 197096 197096 0 0.0
ota-provider-app debug unknown 4848 4848 0 0.0
FLASH 4438586 4438566 -20 -0.0
RAM 185968 185968 0 0.0
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4508024 4508004 -20 -0.0
RAM 188600 188600 0 0.0
shell debug unknown 4256 4256 0 0.0
FLASH 3082940 3082924 -16 -0.0
RAM 151080 151080 0 0.0
thermostat-no-ble arm64 unknown 9768 9768 0 0.0
FLASH 4232844 4232780 -64 -0.0
RAM 233416 233416 0 0.0
tv-app debug unknown 5832 5832 0 0.0
FLASH 6098693 6098677 -16 -0.0
RAM 614248 614248 0 0.0
tv-casting-app debug unknown 5336 5336 0 0.0
FLASH 12786813 12786797 -16 -0.0
RAM 767120 767120 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 921812 921812 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 858988 858988 0 0.0
RAM 141095 141095 0 0.0
nxp contact k32w0+release FLASH 592200 592200 0 0.0
RAM 72856 72856 0 0.0
mcxw71+release FLASH 624952 624952 0 0.0
RAM 63196 63196 0 0.0
light k32w0+release FLASH 618276 618276 0 0.0
RAM 72152 72152 0 0.0
k32w1+release FLASH 709488 709488 0 0.0
RAM 72052 72052 0 0.0
lock mcxw71+release FLASH 776120 776120 0 0.0
RAM 67612 67612 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1671556 1671524 -32 -0.0
RAM 212464 212464 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1575892 1575860 -32 -0.0
RAM 208512 208512 0 0.0
light cy8ckit_062s2_43012 FLASH 1448340 1448308 -32 -0.0
RAM 197240 197240 0 0.0
lock cy8ckit_062s2_43012 FLASH 1480620 1480588 -32 -0.0
RAM 224952 224952 0 0.0
qpg lighting-app qpg6105+debug FLASH 667204 667204 0 0.0
RAM 105180 105180 0 0.0
lock-app qpg6105+debug FLASH 627216 627216 0 0.0
RAM 99808 99808 0 0.0
stm32 light STM32WB5MM-DK FLASH 464932 464932 0 0.0
RAM 141424 141424 0 0.0
telink bridge-app tl7218x FLASH 677446 677446 0 0.0
694202 694202 0 0.0
RAM 90960 90960 0 0.0
102100 102100 0 0.0
light-app-ota-compress-lzma-factory-data tl3218x FLASH 766640 766640 0 0.0
RAM 50252 50252 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 767670 767670 0 0.0
RAM 40544 40544 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 756128 756128 0 0.0
773748 773748 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 687210 687210 0 0.0
703108 703108 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 715660 715660 0 0.0
741062 741062 0 0.0
RAM 73592 73592 0 0.0
85984 85984 0 0.0
light-switch-app-ota-shell-factory-data tl3218x_retention FLASH 712988 712988 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 791194 791198 4 0.0
809086 809090 4 0.0
RAM 96520 96520 0 0.0
107692 107692 0 0.0
tizen all-clusters-app arm unknown 5292 5292 0 0.0
FLASH 1819708 1819684 -24 -0.0
RAM 97160 97160 0 0.0
chip-tool-ubsan arm unknown 20644 20644 0 0.0
FLASH 20908062 20907966 -96 -0.0
RAM 9100432 9100368 -64 -0.0

Copy link
Contributor

@bzbarsky-apple bzbarsky-apple left a comment

Choose a reason for hiding this comment

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

Negative numbers, yay!

…e_initialize_DataModel_AttributeEntry_instance_with_an_assignment
@gabc-cpp gabc-cpp marked this pull request as ready for review June 2, 2025 12:39
@github-actions
Copy link

github-actions bot commented Jun 2, 2025

PR #39302: Size comparison from 871b434 to 028e9d4

Increases above 0.2%:

platform target config section 871b434 028e9d4 change % change
telink lighting-app-ota-factory-data tlsr9118bdk40d FLASH 600610 604478 3868 0.6
Full report (75 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 871b434 028e9d4 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 662421 662421 0 0.0
RAM 77488 77488 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 682273 682273 0 0.0
RAM 80128 80128 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 682273 682273 0 0.0
RAM 80128 80128 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 639205 639205 0 0.0
RAM 72556 72556 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 623813 623813 0 0.0
RAM 73800 73800 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 643449 643449 0 0.0
RAM 76352 76352 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 643449 643449 0 0.0
RAM 76352 76352 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 644733 644733 0 0.0
RAM 76800 76800 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 664449 664449 0 0.0
RAM 79352 79352 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 664449 664449 0 0.0
RAM 79352 79352 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 619401 619401 0 0.0
RAM 70912 70912 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 639253 639253 0 0.0
RAM 73544 73544 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 639253 639253 0 0.0
RAM 73544 73544 0 0.0
efr32 lock-app BRD4187C FLASH 946796 946796 0 0.0
RAM 132036 132036 0 0.0
BRD4338a FLASH 776024 776008 -16 -0.0
RAM 173256 173256 0 0.0
window-app BRD4187C FLASH 1039688 1039648 -40 -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 2786594 2786574 -20 -0.0
RAM 117016 117016 0 0.0
all-clusters-app debug unknown 5664 5664 0 0.0
FLASH 6385388 6385368 -20 -0.0
RAM 537568 537568 0 0.0
all-clusters-minimal-app debug unknown 5528 5528 0 0.0
FLASH 5468450 5468430 -20 -0.0
RAM 227976 227976 0 0.0
bridge-app debug unknown 5560 5560 0 0.0
FLASH 4800928 4800908 -20 -0.0
RAM 207632 207632 0 0.0
camera-app debug unknown 8864 8864 0 0.0
FLASH 6910347 6910331 -16 -0.0
RAM 228888 228888 0 0.0
camera-controller debug unknown 9168 9168 0 0.0
FLASH 14264891 14264875 -16 -0.0
RAM 657256 657256 0 0.0
chip-tool debug unknown 6248 6248 0 0.0
FLASH 14638073 14638053 -20 -0.0
RAM 650736 650736 0 0.0
chip-tool-ipv6only arm64 unknown 40440 40440 0 0.0
FLASH 12609908 12609844 -64 -0.0
RAM 697080 697080 0 0.0
fabric-admin debug unknown 5928 5928 0 0.0
FLASH 12709641 12709621 -20 -0.0
RAM 650136 650136 0 0.0
fabric-bridge-app debug unknown 4808 4808 0 0.0
FLASH 4586832 4586812 -20 -0.0
RAM 193344 193344 0 0.0
fabric-sync debug unknown 5064 5064 0 0.0
FLASH 5733749 5733733 -16 -0.0
RAM 490016 490016 0 0.0
lighting-app debug+rpc+ui unknown 6272 6272 0 0.0
FLASH 5650049 5650017 -32 -0.0
RAM 209864 209864 0 0.0
lock-app debug unknown 5496 5496 0 0.0
FLASH 4835230 4835210 -20 -0.0
RAM 197096 197096 0 0.0
ota-provider-app debug unknown 4848 4848 0 0.0
FLASH 4438732 4438712 -20 -0.0
RAM 185968 185968 0 0.0
ota-requestor-app debug unknown 4728 4728 0 0.0
FLASH 4508204 4508184 -20 -0.0
RAM 188600 188600 0 0.0
shell debug unknown 4256 4256 0 0.0
FLASH 3082908 3082892 -16 -0.0
RAM 151080 151080 0 0.0
thermostat-no-ble arm64 unknown 9784 9784 0 0.0
FLASH 4232924 4232860 -64 -0.0
RAM 233416 233416 0 0.0
tv-app debug unknown 5832 5832 0 0.0
FLASH 6098645 6098629 -16 -0.0
RAM 614248 614248 0 0.0
tv-casting-app debug unknown 5336 5336 0 0.0
FLASH 12786957 12786941 -16 -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 k32w0+release FLASH 592216 592216 0 0.0
RAM 72856 72856 0 0.0
mcxw71+release FLASH 624976 624976 0 0.0
RAM 63196 63196 0 0.0
light k32w0+release FLASH 618308 618308 0 0.0
RAM 72152 72152 0 0.0
k32w1+release FLASH 709512 709512 0 0.0
RAM 72052 72052 0 0.0
lock mcxw71+release FLASH 776144 776144 0 0.0
RAM 67612 67612 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1671540 1671524 -16 -0.0
RAM 212464 212464 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1575892 1575876 -16 -0.0
RAM 208512 208512 0 0.0
light cy8ckit_062s2_43012 FLASH 1448340 1448308 -32 -0.0
RAM 197240 197240 0 0.0
lock cy8ckit_062s2_43012 FLASH 1480620 1480588 -32 -0.0
RAM 224952 224952 0 0.0
qpg lighting-app qpg6105+debug FLASH 667220 667220 0 0.0
RAM 105180 105180 0 0.0
lock-app qpg6105+debug FLASH 627248 627248 0 0.0
RAM 99808 99808 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 677444 -16756 -2.4
RAM 102100 90960 -11140 -10.9
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 604478 3868 0.6
RAM 120196 106920 -13276 -11.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 1819732 1819708 -24 -0.0
RAM 97160 97160 0 0.0
chip-tool-ubsan arm unknown 20644 20644 0 0.0
FLASH 20908062 20907966 -96 -0.0
RAM 9100432 9100368 -64 -0.0

@gabc-cpp gabc-cpp requested a review from andy31415 June 2, 2025 13:13
@mergify mergify bot merged commit 49594a5 into project-chip:master Jun 2, 2025
71 checks passed
@gabc-cpp gabc-cpp deleted the Issue_39024_use_copy_constructor_every_time_initialize_DataModel_AttributeEntry_instance_with_an_assignment branch June 2, 2025 16:03
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

None yet

Development

Successfully merging this pull request may close these issues.

[src/app/WriteHandler.cpp] Try to use a copy constructor everytime we initialize a DataModel::AttributeEntry's instance with an assignment.

7 participants