Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove [commissioner] redundant TC acknowledgement flag #36966

Merged
merged 7 commits into from
Jan 14, 2025

Conversation

swan-amazon
Copy link
Contributor

@swan-amazon swan-amazon commented Jan 6, 2025

Fixes #36965

The flag controlling whether to require TC acknowledgement is no longer needed since TC acceptance is now a mandatory pre-condition for commissioning. This flag was originally added to support delayed TC acceptance during the commissioning process, but since that flow has been removed, the flag serves no purpose.

The TC acknowledgement state itself is still required and maintained, but the additional boolean flag controlling the requirement is redundant and can be safely removed.

Testing

Used chip-tool to commission the terms-and-conditions sample app that is currently under review. See pull request #36950

The flag controlling whether to require TC acknowledgement is no longer
needed since TC acceptance is now a mandatory pre-condition for
commissioning. This flag was originally added to support delayed TC
acceptance during the commissioning process, but since that flow has
been removed, the flag serves no purpose.

The TC acknowledgement state itself is still required and maintained,
but the additional boolean flag controlling the requirement is redundant
and can be safely removed.
Copy link

semanticdiff-com bot commented Jan 6, 2025

Review changes with  SemanticDiff

Changed Files
File Status
  examples/chip-tool/commands/pairing/PairingCommand.cpp Unsupported file format
  examples/chip-tool/commands/pairing/PairingCommand.h Unsupported file format
  src/controller/CHIPDeviceController.cpp Unsupported file format
  src/controller/CommissioningDelegate.h Unsupported file format
  src/controller/python/ChipDeviceController-ScriptBinding.cpp Unsupported file format
  src/controller/python/chip/ChipDeviceCtrl.py  0% smaller
  src/python_testing/matter_testing_infrastructure/chip/testing/matter_testing.py  0% smaller

Copy link

github-actions bot commented Jan 6, 2025

PR #36966: Size comparison from 630531c to 2eb233c

Full report (42 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, nrfconnect, psoc6, qpg, stm32, telink, tizen)
platform target config section 630531c 2eb233c change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1354914 1354914 0 0.0
RAM 104160 104160 0 0.0
bl702 lighting-app bl702+eth FLASH 652136 652136 0 0.0
RAM 25353 25353 0 0.0
bl702+wifi FLASH 829740 829740 0 0.0
RAM 14093 14093 0 0.0
bl706+mfd+rpc+littlefs FLASH 1058212 1058212 0 0.0
RAM 23933 23933 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 979330 979330 0 0.0
RAM 16596 16596 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 840208 840208 0 0.0
RAM 123696 123696 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825748 825748 0 0.0
RAM 125584 125584 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772568 772568 0 0.0
RAM 114060 114060 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756748 756748 0 0.0
RAM 114260 114260 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 540049 540049 0 0.0
RAM 205800 205800 0 0.0
lock CC3235SF_LAUNCHXL FLASH 574217 574217 0 0.0
RAM 205944 205944 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681745 681745 0 0.0
RAM 78756 78756 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701597 701597 0 0.0
RAM 81396 81396 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701597 701597 0 0.0
RAM 81396 81396 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658525 658525 0 0.0
RAM 73824 73824 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618369 618369 0 0.0
RAM 71748 71748 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637997 637997 0 0.0
RAM 74292 74292 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637997 637997 0 0.0
RAM 74292 74292 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637769 637769 0 0.0
RAM 74756 74756 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657477 657477 0 0.0
RAM 77300 77300 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657477 657477 0 0.0
RAM 77300 77300 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 614389 614389 0 0.0
RAM 68844 68844 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 634241 634241 0 0.0
RAM 71476 71476 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 634241 634241 0 0.0
RAM 71476 71476 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 918100 918100 0 0.0
RAM 143332 143332 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890592 890592 0 0.0
RAM 141519 141519 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 852164 852164 0 0.0
RAM 142244 142244 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1647500 1647500 0 0.0
RAM 212128 212128 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1555132 1555132 0 0.0
RAM 208944 208944 0 0.0
light cy8ckit_062s2_43012 FLASH 1470236 1470236 0 0.0
RAM 200912 200912 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467956 1467956 0 0.0
RAM 225272 225272 0 0.0
qpg lighting-app qpg6105+debug FLASH 664328 664328 0 0.0
RAM 105456 105456 0 0.0
lock-app qpg6105+debug FLASH 622156 622156 0 0.0
RAM 99908 99908 0 0.0
stm32 light STM32WB5MM-DK FLASH 485080 485080 0 0.0
RAM 144912 144912 0 0.0
telink bridge-app tlsr9258a FLASH 683636 683636 0 0.0
RAM 91248 91248 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623876 623876 0 0.0
RAM 31488 31488 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772786 772786 0 0.0
RAM 49348 49348 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 711318 711318 0 0.0
RAM 73544 73544 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 628322 628322 0 0.0
RAM 142180 142180 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 814340 814340 0 0.0
RAM 99724 99724 0 0.0
tizen all-clusters-app arm unknown 5160 5160 0 0.0
FLASH 1780980 1780980 0 0.0
RAM 93684 93684 0 0.0
chip-tool-ubsan arm unknown 10848 10848 0 0.0
FLASH 18003494 18002382 -1112 -0.0
RAM 7858000 7857664 -336 -0.0

Copy link

github-actions bot commented Jan 6, 2025

PR #36966: Size comparison from 630531c to 19d1806

Full report (69 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 630531c 19d1806 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1354914 1354914 0 0.0
RAM 104160 104160 0 0.0
bl702 lighting-app bl702+eth FLASH 652136 652136 0 0.0
RAM 25353 25353 0 0.0
bl702+wifi FLASH 829740 829740 0 0.0
RAM 14093 14093 0 0.0
bl706+mfd+rpc+littlefs FLASH 1058212 1058212 0 0.0
RAM 23933 23933 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 979330 979330 0 0.0
RAM 16596 16596 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 840208 840208 0 0.0
RAM 123696 123696 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825748 825748 0 0.0
RAM 125584 125584 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772568 772568 0 0.0
RAM 114060 114060 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756748 756748 0 0.0
RAM 114260 114260 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 540049 540049 0 0.0
RAM 205800 205800 0 0.0
lock CC3235SF_LAUNCHXL FLASH 574217 574217 0 0.0
RAM 205944 205944 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681745 681745 0 0.0
RAM 78756 78756 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701597 701597 0 0.0
RAM 81396 81396 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701597 701597 0 0.0
RAM 81396 81396 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658525 658525 0 0.0
RAM 73824 73824 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618369 618369 0 0.0
RAM 71748 71748 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637997 637997 0 0.0
RAM 74292 74292 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637997 637997 0 0.0
RAM 74292 74292 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637769 637769 0 0.0
RAM 74756 74756 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657477 657477 0 0.0
RAM 77300 77300 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657477 657477 0 0.0
RAM 77300 77300 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 614389 614389 0 0.0
RAM 68844 68844 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 634241 634241 0 0.0
RAM 71476 71476 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 634241 634241 0 0.0
RAM 71476 71476 0 0.0
efr32 lock-app BRD4187C FLASH 932676 932676 0 0.0
RAM 160228 160228 0 0.0
BRD4338a FLASH 747160 747152 -8 -0.0
RAM 233356 233356 0 0.0
window-app BRD4187C FLASH 1025592 1025592 0 0.0
RAM 128332 128332 0 0.0
esp32 all-clusters-app c3devkit DRAM 95352 95352 0 0.0
FLASH 1541940 1541940 0 0.0
IRAM 82552 82552 0 0.0
m5stack DRAM 116332 116332 0 0.0
FLASH 1548142 1548142 0 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4752 4752 0 0.0
FLASH 2730137 2730137 0 0.0
RAM 133096 133096 0 0.0
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 6018726 6018726 0 0.0
RAM 524024 524024 0 0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5355204 5355204 0 0.0
RAM 243008 243008 0 0.0
bridge-app debug unknown 5472 5472 0 0.0
FLASH 4703618 4703618 0 0.0
RAM 221760 221760 0 0.0
chip-tool debug unknown 5992 5992 0 0.0
FLASH 12868552 12867766 -786 -0.0
RAM 582650 582650 0 0.0
chip-tool-ipv6only arm64 unknown 21408 21408 0 0.0
FLASH 10997296 10996624 -672 -0.0
RAM 633664 633664 0 0.0
fabric-admin debug unknown 5816 5816 0 0.0
FLASH 11274263 11273971 -292 -0.0
RAM 582994 582994 0 0.0
fabric-bridge-app debug unknown 4728 4728 0 0.0
FLASH 4528852 4528852 0 0.0
RAM 208880 208880 0 0.0
fabric-sync debug unknown 4968 4968 0 0.0
FLASH 5639429 5639125 -304 -0.0
RAM 475912 475912 0 0.0
lighting-app debug+rpc+ui unknown 6136 6136 0 0.0
FLASH 5639409 5639409 0 0.0
RAM 232008 232008 0 0.0
lock-app debug unknown 5408 5408 0 0.0
FLASH 4751986 4751986 0 0.0
RAM 208008 208008 0 0.0
ota-provider-app debug unknown 4768 4768 0 0.0
FLASH 4378612 4378612 0 0.0
RAM 201696 201696 0 0.0
ota-requestor-app debug unknown 4720 4720 0 0.0
FLASH 4517520 4517520 0 0.0
RAM 206280 206280 0 0.0
shell debug unknown 4248 4248 0 0.0
FLASH 3036685 3036685 0 0.0
RAM 160736 160736 0 0.0
thermostat-no-ble arm64 unknown 9584 9584 0 0.0
FLASH 4118968 4118968 0 0.0
RAM 246296 246296 0 0.0
tv-app debug unknown 5736 5736 0 0.0
FLASH 5988693 5988373 -320 -0.0
RAM 599344 599344 0 0.0
tv-casting-app debug unknown 5320 5320 0 0.0
FLASH 11094621 11094621 0 0.0
RAM 695608 695608 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 918100 918100 0 0.0
RAM 143332 143332 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890592 890592 0 0.0
RAM 141519 141519 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 852164 852164 0 0.0
RAM 142244 142244 0 0.0
nxp contact k32w0+release FLASH 585952 585952 0 0.0
RAM 71112 71112 0 0.0
mcxw71+release FLASH 600512 600512 0 0.0
RAM 63208 63208 0 0.0
light k32w0+release FLASH 612716 612716 0 0.0
RAM 70504 70504 0 0.0
k32w1+release FLASH 686920 686920 0 0.0
RAM 48840 48840 0 0.0
lock mcxw71+release FLASH 763264 763264 0 0.0
RAM 70876 70876 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1647500 1647500 0 0.0
RAM 212128 212128 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1555132 1555132 0 0.0
RAM 208944 208944 0 0.0
light cy8ckit_062s2_43012 FLASH 1470236 1470236 0 0.0
RAM 200912 200912 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467956 1467956 0 0.0
RAM 225272 225272 0 0.0
qpg lighting-app qpg6105+debug FLASH 664328 664328 0 0.0
RAM 105456 105456 0 0.0
lock-app qpg6105+debug FLASH 622156 622156 0 0.0
RAM 99908 99908 0 0.0
stm32 light STM32WB5MM-DK FLASH 485080 485080 0 0.0
RAM 144912 144912 0 0.0
telink bridge-app tlsr9258a FLASH 683636 683636 0 0.0
RAM 91248 91248 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623876 623876 0 0.0
RAM 31488 31488 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772786 772786 0 0.0
RAM 49348 49348 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 711318 711318 0 0.0
RAM 73544 73544 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 628322 628322 0 0.0
RAM 142180 142180 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 814340 814340 0 0.0
RAM 99724 99724 0 0.0
tizen all-clusters-app arm unknown 5160 5160 0 0.0
FLASH 1780980 1780980 0 0.0
RAM 93684 93684 0 0.0
chip-tool-ubsan arm unknown 10848 10848 0 0.0
FLASH 18003494 18001534 -1960 -0.0
RAM 7858000 7857488 -512 -0.0

Copy link
Contributor

@andy31415 andy31415 left a comment

Choose a reason for hiding this comment

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

@swan-amazon please add a ###Testing section describing how this was tested

Copy link

github-actions bot commented Jan 13, 2025

PR #36966: Size comparison from 7558fe1 to 65fa7d4

Full report (70 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 7558fe1 65fa7d4 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1355350 1355350 0 0.0
RAM 103952 103952 0 0.0
bl702 lighting-app bl702+eth FLASH 726034 726034 0 0.0
RAM 25353 25353 0 0.0
bl702+wifi FLASH 912904 912904 0 0.0
RAM 14093 14093 0 0.0
bl706+mfd+rpc+littlefs FLASH 1173762 1173762 0 0.0
RAM 23933 23933 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 1082790 1082790 0 0.0
RAM 16604 16604 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 840176 840176 0 0.0
RAM 123552 123552 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825692 825692 0 0.0
RAM 125440 125440 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772620 772620 0 0.0
RAM 113916 113916 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756816 756816 0 0.0
RAM 114116 114116 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 540041 540041 0 0.0
RAM 205304 205304 0 0.0
lock CC3235SF_LAUNCHXL FLASH 574209 574209 0 0.0
RAM 205448 205448 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681569 681569 0 0.0
RAM 78596 78596 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701413 701413 0 0.0
RAM 81236 81236 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701413 701413 0 0.0
RAM 81236 81236 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658357 658357 0 0.0
RAM 73664 73664 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618153 618153 0 0.0
RAM 71588 71588 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637789 637789 0 0.0
RAM 74132 74132 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637789 637789 0 0.0
RAM 74132 74132 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637601 637601 0 0.0
RAM 74596 74596 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657317 657317 0 0.0
RAM 77140 77140 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657317 657317 0 0.0
RAM 77140 77140 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 614213 614213 0 0.0
RAM 68684 68684 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 634065 634065 0 0.0
RAM 71316 71316 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 634065 634065 0 0.0
RAM 71316 71316 0 0.0
efr32 lock-app BRD4187C FLASH 932468 932468 0 0.0
RAM 160068 160068 0 0.0
BRD4338a FLASH 749232 749224 -8 -0.0
RAM 233196 233196 0 0.0
window-app BRD4187C FLASH 1026864 1026856 -8 -0.0
RAM 128172 128172 0 0.0
esp32 all-clusters-app c3devkit DRAM 95192 95192 0 0.0
FLASH 1541904 1541904 0 0.0
IRAM 82552 82552 0 0.0
m5stack DRAM 116172 116172 0 0.0
FLASH 1548458 1548458 0 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4752 4752 0 0.0
FLASH 2723229 2723229 0 0.0
RAM 133160 133160 0 0.0
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 5996466 5996466 0 0.0
RAM 526072 526072 0 0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5341652 5341652 0 0.0
RAM 243072 243072 0 0.0
bridge-app debug unknown 5472 5472 0 0.0
FLASH 4696806 4696806 0 0.0
RAM 221824 221824 0 0.0
chip-tool debug unknown 5984 5984 0 0.0
FLASH 12867152 12866382 -770 -0.0
RAM 587002 587002 0 0.0
chip-tool-ipv6only arm64 unknown 21536 21536 0 0.0
FLASH 10989440 10988784 -656 -0.0
RAM 638048 638048 0 0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11274263 11273969 -294 -0.0
RAM 587346 587346 0 0.0
fabric-bridge-app debug unknown 4728 4728 0 0.0
FLASH 4521756 4521756 0 0.0
RAM 208928 208928 0 0.0
fabric-sync debug unknown 4968 4968 0 0.0
FLASH 5622981 5622677 -304 -0.0
RAM 477880 477880 0 0.0
lighting-app debug+rpc+ui unknown 6136 6136 0 0.0
FLASH 5631329 5631329 0 0.0
RAM 232072 232072 0 0.0
lock-app debug unknown 5408 5408 0 0.0
FLASH 4744568 4744568 0 0.0
RAM 208072 208072 0 0.0
ota-provider-app debug unknown 4768 4768 0 0.0
FLASH 4372108 4372108 0 0.0
RAM 201744 201744 0 0.0
ota-requestor-app debug unknown 4720 4720 0 0.0
FLASH 4510120 4510120 0 0.0
RAM 206312 206312 0 0.0
shell debug unknown 4248 4248 0 0.0
FLASH 3023197 3023197 0 0.0
RAM 160792 160792 0 0.0
thermostat-no-ble arm64 unknown 9552 9552 0 0.0
FLASH 4110296 4110296 0 0.0
RAM 246368 246368 0 0.0
tv-app debug unknown 5736 5736 0 0.0
FLASH 5966741 5966421 -320 -0.0
RAM 601312 601312 0 0.0
tv-casting-app debug unknown 5312 5312 0 0.0
FLASH 11102349 11102349 0 0.0
RAM 700496 700496 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 917804 917804 0 0.0
RAM 143172 143172 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890868 890868 0 0.0
RAM 141359 141359 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 851932 851932 0 0.0
RAM 142084 142084 0 0.0
nxp contact k32w0+release FLASH 585968 585968 0 0.0
RAM 70952 70952 0 0.0
mcxw71+release FLASH 601488 601488 0 0.0
RAM 63168 63168 0 0.0
light k32w0+release FLASH 612588 612588 0 0.0
RAM 70344 70344 0 0.0
k32w1+release FLASH 687152 687152 0 0.0
RAM 48760 48760 0 0.0
lock mcxw71+release FLASH 763456 763456 0 0.0
RAM 70796 70796 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1652124 1652124 0 0.0
RAM 211632 211632 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1557884 1557884 0 0.0
RAM 208448 208448 0 0.0
light cy8ckit_062s2_43012 FLASH 1472492 1472492 0 0.0
RAM 200416 200416 0 0.0
lock cy8ckit_062s2_43012 FLASH 1470276 1470276 0 0.0
RAM 224768 224768 0 0.0
qpg lighting-app qpg6105+debug FLASH 664144 664144 0 0.0
RAM 105296 105296 0 0.0
lock-app qpg6105+debug FLASH 622004 622004 0 0.0
RAM 99748 99748 0 0.0
stm32 light STM32WB5MM-DK FLASH 484976 484976 0 0.0
RAM 144752 144752 0 0.0
telink bridge-app tlsr9258a FLASH 683552 683552 0 0.0
RAM 91088 91088 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623810 623810 0 0.0
RAM 31488 31488 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772652 772652 0 0.0
RAM 49348 49348 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 777256 777256 0 0.0
RAM 99652 99652 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 711250 711250 0 0.0
RAM 73384 73384 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 628264 628264 0 0.0
RAM 142020 142020 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 814266 814266 0 0.0
RAM 99564 99564 0 0.0
tizen all-clusters-app arm unknown 5120 5120 0 0.0
FLASH 1767272 1767272 0 0.0
RAM 93708 93708 0 0.0
chip-tool-ubsan arm unknown 10904 10904 0 0.0
FLASH 17949774 17947950 -1824 -0.0
RAM 7842672 7842216 -456 -0.0

Copy link

github-actions bot commented Jan 14, 2025

PR #36966: Size comparison from 8a0fc4d to d48400a

Full report (56 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 8a0fc4d d48400a change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094560 1094560 0 0.0
RAM 103346 103346 0 0.0
bl702 lighting-app bl702+eth FLASH 652366 652366 0 0.0
RAM 25353 25353 0 0.0
bl702+wifi FLASH 830546 830546 0 0.0
RAM 14093 14093 0 0.0
bl706+mfd+rpc+littlefs FLASH 1057832 1057832 0 0.0
RAM 23949 23949 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 890856 890856 0 0.0
RAM 18624 18624 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 973816 973816 0 0.0
RAM 16472 16472 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 840176 840176 0 0.0
RAM 123552 123552 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825692 825692 0 0.0
RAM 125440 125440 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772620 772620 0 0.0
RAM 113916 113916 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756816 756816 0 0.0
RAM 114116 114116 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 540041 540041 0 0.0
RAM 205304 205304 0 0.0
lock CC3235SF_LAUNCHXL FLASH 574209 574209 0 0.0
RAM 205448 205448 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681569 681569 0 0.0
RAM 78596 78596 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701413 701413 0 0.0
RAM 81236 81236 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701413 701413 0 0.0
RAM 81236 81236 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658357 658357 0 0.0
RAM 73664 73664 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618153 618153 0 0.0
RAM 71588 71588 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637789 637789 0 0.0
RAM 74132 74132 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637789 637789 0 0.0
RAM 74132 74132 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637601 637601 0 0.0
RAM 74596 74596 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657317 657317 0 0.0
RAM 77140 77140 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657317 657317 0 0.0
RAM 77140 77140 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 614213 614213 0 0.0
RAM 68684 68684 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 634065 634065 0 0.0
RAM 71316 71316 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 634065 634065 0 0.0
RAM 71316 71316 0 0.0
efr32 lock-app BRD4187C FLASH 932468 932468 0 0.0
RAM 160068 160068 0 0.0
BRD4338a FLASH 749232 749224 -8 -0.0
RAM 233196 233196 0 0.0
window-app BRD4187C FLASH 1026864 1026856 -8 -0.0
RAM 128172 128172 0 0.0
esp32 all-clusters-app c3devkit DRAM 95192 95192 0 0.0
FLASH 1541904 1541904 0 0.0
IRAM 82552 82552 0 0.0
m5stack DRAM 116172 116172 0 0.0
FLASH 1548458 1548458 0 0.0
IRAM 117039 117039 0 0.0
linux chip-tool-ipv6only arm64 unknown 21536 21536 0 0.0
FLASH 10989440 10988784 -656 -0.0
RAM 638048 638048 0 0.0
thermostat-no-ble arm64 unknown 9552 9552 0 0.0
FLASH 4110296 4110296 0 0.0
RAM 246368 246368 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 917804 917804 0 0.0
RAM 143172 143172 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890868 890868 0 0.0
RAM 141359 141359 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 851932 851932 0 0.0
RAM 142084 142084 0 0.0
nxp contact k32w0+release FLASH 585968 585968 0 0.0
RAM 70952 70952 0 0.0
mcxw71+release FLASH 601488 601488 0 0.0
RAM 63168 63168 0 0.0
light k32w0+release FLASH 612588 612588 0 0.0
RAM 70344 70344 0 0.0
k32w1+release FLASH 687152 687152 0 0.0
RAM 48760 48760 0 0.0
lock mcxw71+release FLASH 763464 763464 0 0.0
RAM 70796 70796 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1652124 1652124 0 0.0
RAM 211632 211632 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1557884 1557884 0 0.0
RAM 208448 208448 0 0.0
light cy8ckit_062s2_43012 FLASH 1472492 1472492 0 0.0
RAM 200416 200416 0 0.0
lock cy8ckit_062s2_43012 FLASH 1470276 1470276 0 0.0
RAM 224768 224768 0 0.0
qpg lighting-app qpg6105+debug FLASH 664144 664144 0 0.0
RAM 105296 105296 0 0.0
lock-app qpg6105+debug FLASH 622004 622004 0 0.0
RAM 99748 99748 0 0.0
stm32 light STM32WB5MM-DK FLASH 484976 484976 0 0.0
RAM 144752 144752 0 0.0
telink bridge-app tlsr9258a FLASH 683552 683552 0 0.0
RAM 91088 91088 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623810 623810 0 0.0
RAM 31488 31488 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772652 772652 0 0.0
RAM 49348 49348 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 777256 777256 0 0.0
RAM 99652 99652 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 711250 711250 0 0.0
RAM 73384 73384 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 628264 628264 0 0.0
RAM 142020 142020 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 814266 814266 0 0.0
RAM 99564 99564 0 0.0
tizen all-clusters-app arm unknown 5120 5120 0 0.0
FLASH 1767272 1767272 0 0.0
RAM 93708 93708 0 0.0
chip-tool-ubsan arm unknown 10904 10904 0 0.0
FLASH 17949774 17947950 -1824 -0.0
RAM 7842672 7842216 -456 -0.0

@github-actions github-actions bot added the tests label Jan 14, 2025
Copy link

github-actions bot commented Jan 14, 2025

PR #36966: Size comparison from 8a0fc4d to 97a073f

Full report (71 builds for bl602, bl702, bl702l, cc13x4_26x4, cc32xx, cyw30739, efr32, esp32, linux, nrfconnect, nxp, psoc6, qpg, stm32, telink, tizen)
platform target config section 8a0fc4d 97a073f change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1094560 1094560 0 0.0
RAM 103346 103346 0 0.0
bl702 lighting-app bl702+eth FLASH 652366 652366 0 0.0
RAM 25353 25353 0 0.0
bl702+wifi FLASH 830546 830546 0 0.0
RAM 14093 14093 0 0.0
bl706+mfd+rpc+littlefs FLASH 1057832 1057832 0 0.0
RAM 23949 23949 0 0.0
bl702l contact-sensor-app bl702l+mfd+littlefs FLASH 890856 890856 0 0.0
RAM 18624 18624 0 0.0
lighting-app bl702l+mfd+littlefs FLASH 973816 973816 0 0.0
RAM 16472 16472 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 840176 840176 0 0.0
RAM 123552 123552 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825692 825692 0 0.0
RAM 125440 125440 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772620 772620 0 0.0
RAM 113916 113916 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756816 756816 0 0.0
RAM 114116 114116 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 540041 540041 0 0.0
RAM 205304 205304 0 0.0
lock CC3235SF_LAUNCHXL FLASH 574209 574209 0 0.0
RAM 205448 205448 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681569 681569 0 0.0
RAM 78596 78596 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701413 701413 0 0.0
RAM 81236 81236 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701413 701413 0 0.0
RAM 81236 81236 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658357 658357 0 0.0
RAM 73664 73664 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618153 618153 0 0.0
RAM 71588 71588 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637789 637789 0 0.0
RAM 74132 74132 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637789 637789 0 0.0
RAM 74132 74132 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637601 637601 0 0.0
RAM 74596 74596 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657317 657317 0 0.0
RAM 77140 77140 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657317 657317 0 0.0
RAM 77140 77140 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 614213 614213 0 0.0
RAM 68684 68684 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 634065 634065 0 0.0
RAM 71316 71316 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 634065 634065 0 0.0
RAM 71316 71316 0 0.0
efr32 lock-app BRD4187C FLASH 932468 932644 176 0.0
RAM 160068 160068 0 0.0
BRD4338a FLASH 749232 749224 -8 -0.0
RAM 233196 233196 0 0.0
window-app BRD4187C FLASH 1026864 1027040 176 0.0
RAM 128172 128172 0 0.0
esp32 all-clusters-app c3devkit DRAM 95192 95192 0 0.0
FLASH 1541904 1541904 0 0.0
IRAM 82552 82552 0 0.0
m5stack DRAM 116172 116172 0 0.0
FLASH 1548458 1548458 0 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4752 4752 0 0.0
FLASH 2723229 2723229 0 0.0
RAM 133160 133160 0 0.0
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 5996466 5996466 0 0.0
RAM 526072 526072 0 0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5341652 5341652 0 0.0
RAM 243072 243072 0 0.0
bridge-app debug unknown 5472 5472 0 0.0
FLASH 4696806 4696806 0 0.0
RAM 221824 221824 0 0.0
chip-tool debug unknown 5984 5984 0 0.0
FLASH 12867152 12866382 -770 -0.0
RAM 587002 587002 0 0.0
chip-tool-ipv6only arm64 unknown 21536 21536 0 0.0
FLASH 10989440 10988784 -656 -0.0
RAM 638048 638048 0 0.0
fabric-admin debug unknown 5808 5808 0 0.0
FLASH 11274263 11273969 -294 -0.0
RAM 587346 587346 0 0.0
fabric-bridge-app debug unknown 4728 4728 0 0.0
FLASH 4521756 4521756 0 0.0
RAM 208928 208928 0 0.0
fabric-sync debug unknown 4968 4968 0 0.0
FLASH 5622981 5622677 -304 -0.0
RAM 477880 477880 0 0.0
lighting-app debug+rpc+ui unknown 6136 6136 0 0.0
FLASH 5631329 5631329 0 0.0
RAM 232072 232072 0 0.0
lock-app debug unknown 5408 5408 0 0.0
FLASH 4744568 4744568 0 0.0
RAM 208072 208072 0 0.0
ota-provider-app debug unknown 4768 4768 0 0.0
FLASH 4372108 4372108 0 0.0
RAM 201744 201744 0 0.0
ota-requestor-app debug unknown 4720 4720 0 0.0
FLASH 4510120 4510120 0 0.0
RAM 206312 206312 0 0.0
shell debug unknown 4248 4248 0 0.0
FLASH 3023197 3023197 0 0.0
RAM 160792 160792 0 0.0
thermostat-no-ble arm64 unknown 9552 9552 0 0.0
FLASH 4110296 4110296 0 0.0
RAM 246368 246368 0 0.0
tv-app debug unknown 5736 5736 0 0.0
FLASH 5966741 5966421 -320 -0.0
RAM 601312 601312 0 0.0
tv-casting-app debug unknown 5312 5312 0 0.0
FLASH 11102349 11102349 0 0.0
RAM 700496 700496 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 917804 917804 0 0.0
RAM 143172 143172 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890868 890868 0 0.0
RAM 141359 141359 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 851932 851932 0 0.0
RAM 142084 142084 0 0.0
nxp contact k32w0+release FLASH 585968 585968 0 0.0
RAM 70952 70952 0 0.0
mcxw71+release FLASH 601488 601488 0 0.0
RAM 63168 63168 0 0.0
light k32w0+release FLASH 612588 612588 0 0.0
RAM 70344 70344 0 0.0
k32w1+release FLASH 687152 687152 0 0.0
RAM 48760 48760 0 0.0
lock mcxw71+release FLASH 763464 763464 0 0.0
RAM 70796 70796 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1652124 1652124 0 0.0
RAM 211632 211632 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1557884 1557884 0 0.0
RAM 208448 208448 0 0.0
light cy8ckit_062s2_43012 FLASH 1472492 1472492 0 0.0
RAM 200416 200416 0 0.0
lock cy8ckit_062s2_43012 FLASH 1470276 1470276 0 0.0
RAM 224768 224768 0 0.0
qpg lighting-app qpg6105+debug FLASH 664144 664144 0 0.0
RAM 105296 105296 0 0.0
lock-app qpg6105+debug FLASH 622004 622004 0 0.0
RAM 99748 99748 0 0.0
stm32 light STM32WB5MM-DK FLASH 484976 484976 0 0.0
RAM 144752 144752 0 0.0
telink bridge-app tlsr9258a FLASH 683552 683552 0 0.0
RAM 91088 91088 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623810 623810 0 0.0
RAM 31488 31488 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772652 772652 0 0.0
RAM 49348 49348 0 0.0
light-app-ota-shell-factory-data tl7218x FLASH 777256 777256 0 0.0
RAM 99652 99652 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 711250 711250 0 0.0
RAM 73384 73384 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 628264 628264 0 0.0
RAM 142020 142020 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 814266 814266 0 0.0
RAM 99564 99564 0 0.0
tizen all-clusters-app arm unknown 5120 5120 0 0.0
FLASH 1767272 1767272 0 0.0
RAM 93708 93708 0 0.0
chip-tool-ubsan arm unknown 10904 10904 0 0.0
FLASH 17949774 17947950 -1824 -0.0
RAM 7842672 7842216 -456 -0.0

@mergify mergify bot merged commit 775d86b into project-chip:master Jan 14, 2025
69 checks passed
cecille pushed a commit to cecille/connectedhomeip that referenced this pull request Feb 10, 2025
…#36966)

* Remove [commissioner] redundant TC acknowledgement flag

The flag controlling whether to require TC acknowledgement is no longer
needed since TC acceptance is now a mandatory pre-condition for
commissioning. This flag was originally added to support delayed TC
acceptance during the commissioning process, but since that flow has
been removed, the flag serves no purpose.

The TC acknowledgement state itself is still required and maintained,
but the additional boolean flag controlling the requirement is redundant
and can be safely removed.
andy31415 added a commit that referenced this pull request Feb 11, 2025
* Revert "Update TCUpdateDeadline to be nullable to match spec (#37438) (#37478)"

This reverts commit 37a2d68.

* Fix zap

Something about the last cherry pick broke zap. Re-applying the
changes manually and re-running zap.

* Feature/enhanced setup flow feature (#34065)

* Add initial feature logic for Terms and Conditions (TC) acknowledgements

This commit introduces the initial logic for handling Terms and
Conditions (TC) acknowledgements in the General Commissioning cluster.
The logic includes support for setting and checking TC acknowledgements
and versions during the commissioning process.

Changes include:
- Handling TC acknowledgements and TC acknowledgement version in the
  pairing command.
- Logic to read TC attributes and check TC acceptance in the General
  Commissioning server.
- Introduction of classes to manage TC acceptance logic.
- Initialization and use of TC providers in the server setup.
- Addition of a new commissioning stage for TC acknowledgements in the
  commissioning flow.

The feature logic is currently disabled and will be enabled in an
example in a subsequent commit.

* ./scripts/helpers/restyle-diff.sh @{u}

* Ignore file reference check on TermsAndConditionsManager.cpp

The TermsAndConditionsManager.cpp file is only referenced within sample
apps that utilize the Terms and Conditions feature.

* Make `terms and conditions required` build configurable:

- Moved the configuration from core into app buildconfig
- renamed the flag to expand `TC` into `TERMS AND CONDITIONS`
- updated includes in general-commissioning to include the right header
- added the configuration as a build option into targets.py/host.py
- updated unit test

* Move terms and conditions to its own target and include cpp file

- Create a separate source set for terms and conditions
- include the manager cpp in that file
- make the build conditional (this required flag moving)
- fixed typo in targets.py to make things compile

Compile-tested only (the -terms-and-conditions variant of all clusters
compiled)

* Fix mangled license blurb

* Remove edited date for CHIPConfig.h

* Fix unit tests dependencies

* Add back some includes

---------

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

* Decouple ember functions from general commissioning cluster (#36836)

* Decouple ember functions from general commissioning cluster

* Address review comments

* Rename gAttrAccess

* Remove new added log info

* Flag SetTCAcknowledgements command

* Revert "Flag SetTCAcknowledgements command"

This reverts commit 90de8a1.

* Add the original debug log back

* feat: Add terms-and-conditions sample app for CI testing (#36950)

* feat: Add terms-and-conditions sample app for CI testing

Add a new sample application that demonstrates and tests the terms and
conditions feature. This app will be integrated into the CI pipeline to
prevent regressions and ensure the feature continues to work as
expected.

The sample app serves as both a reference implementation and an
automated test case for the terms and conditions functionality.

```bash
./scripts/build/build_examples.py --target linux-x64-terms-and-conditions build
```

* Update cluster configurations for app testing

- Enable switch cluster for basic app control testing
- Enable network commissioning cluster for in-app commission testing
- Disable provisional clusters as they are not required
- Disable other non-required clusters to streamline testing setup

This change focuses the cluster configuration on essential components
needed for basic app control and commissioning testing scenarios.

* refactor: Remove unused attributes from Switch cluster

Remove unused attributes from the Switch cluster to comply with the "On/Off Light"
device type specification as defined in the Matter device library v1.4. This change
removes several server-side attributes including ServerList, ClientList, PartsList,
and various internal lists that are not required for the basic On/Off Light
functionality.

* feat: Add Descriptor cluster and enable attribute reporting

Add the mandatory Descriptor cluster to endpoint 1 and enable attribute reporting
for the device. Changes include:
- Add Descriptor cluster with all required attributes (deviceTypeList, serverList, etc.)
- Enable reportable flag for multiple attributes with min/max reporting intervals
- Configure all Descriptor cluster attributes as external callbacks

This change ensures compliance with the Matter specification for the On/Off Light
device type.

* Add Terms and Conditions (T&C) Feature Support for Commissioning (#36863)

* Add Terms and Conditions (T&C) Feature Support for Commissioning

This commit introduces comprehensive support for handling Terms and
Conditions (T&C) during the commissioning process, enhancing
compatibility with Matter device certification requirements.

Key changes include:

1. **Commissioning Process Updates**:
   - Introduced `SetRequireTermsAndConditionsAcknowledgement`,
     `SetTermsAcknowledgements`, and `SetSkipCommissioningComplete` APIs
     in the commissioning library.
   - Updated commissioning stages to include `kGetTCAcknowledgments` and
     `kConfigureTCAcknowledgments` for seamless integration of T&C
     acknowledgements.
   - Added methods for processing T&C acknowledgements and advancing
     commissioning stages upon user response.

2. **Test Framework Enhancements**:
   - Added arguments (`tc_version`, `tc_user_response`,
     `in_test_commissioning_method`) for specifying T&C configuration in
     tests.
   - Enhanced `populate_commissioning_args` to manage new T&C-related
     arguments.
   - Updated Python test bindings and Matter test infrastructure to
     support T&C workflows.

3. **Chip-Tool Improvements**:
   - Extended `PairingCommand` to handle T&C-related arguments
     (`require-tc-acknowledgements`, `tc-acknowledgements`,
     `tc-acknowledgements-version`) for test scenarios.
   - Ensured backward compatibility by defaulting new parameters to
     preserve pre-1.4 behavior.

* Removed the "wait for terms and conditions stage"

The wait-stage is not required. The user input availability must be a
pre-condition for starting the AutoCommissioner process. The wait stage
was previously to support requesting user input after identifying the
device VID/PID using a different channel than within the pairing
payload.

* [doc] Improve Terms and Conditions commissioning arguments documentation

Updated documentation for T&C-related commissioning arguments to better
reflect their actual usage and purpose:

- require-tc-acknowledgements: Clarified the impact on commissioning flow
- tc-acknowledgements: Explained the bit-field usage for user acceptance
- tc-acknowledgements-version: Added context about version tracking

* [controller] Remove T&C acknowledgements from external buffer clearing

The Terms and Conditions acknowledgements parameter was incorrectly included
in ClearExternalBufferDependentValues(). This parameter contains a fixed-size
struct with two uint16_t values and does not reference any external buffers.

The CommissioningParameters class appears to be designed for additive-only
parameter setting without explicit clear/reset functionality, so removing
this inappropriate clearing operation is the correct approach.

* [controller] Fix CommissioningStage enum order for T&C acknowledgements

Move kConfigureTCAcknowledgments before kCleanup in the CommissioningStage
enum to fix cirque test failures. The tests validate that commissioning stages
do not exceed kCleanup, which was causing failures when T&C acknowledgements
were positioned after it.

While the original comment from 2 years ago suggested the enum order was
fixed, testing reveals that the stages can be reordered. The cirque tests
now pass with this corrected ordering, indicating that any previous
constraints on enum ordering no longer apply.

* [doc] Clarify required arguments for T&C acknowledgements

Update help text for require-tc-acknowledgements to explicitly state which
arguments must be provided when T&C acknowledgements are required. Instead
of the vague "valid T&C acknowledgements", now specifically mentions that
both tc-acknowledgements and tc-acknowledgements-version arguments are
mandatory for successful commissioning when this option is enabled.

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

Co-authored-by: Tennessee Carmel-Veilleux <[email protected]>

* Restyle

* Renamed variable

---------

Co-authored-by: Tennessee Carmel-Veilleux <[email protected]>

* Remove [commissioner] redundant TC acknowledgement flag (#36966)

* Remove [commissioner] redundant TC acknowledgement flag

The flag controlling whether to require TC acknowledgement is no longer
needed since TC acceptance is now a mandatory pre-condition for
commissioning. This flag was originally added to support delayed TC
acceptance during the commissioning process, but since that flow has
been removed, the flag serves no purpose.

The TC acknowledgement state itself is still required and maintained,
but the additional boolean flag controlling the requirement is redundant
and can be safely removed.

* [chip-tool] Add Enhanced Commissioning Support (T&C Flow via Local DCL) to chip-tool (#37049)

* [chip-tool] Add chip-tool dcl fake cluster commands

* [chip-tool] Add a fake local dcl server script for testing/developement purposes

* [chip-tool] Add chip-tool dcl tc-display and tc-display-by-payload commands

* [General Commissioning Server] Dynamically encode the feature map 'GeneralCommissioning::Feature::kTermsAndConditions' if CHIP_CONFIG_TERMS_AND_CONDITIONS_REQUIRED is set

* [Examples/platform/linux] Set default TermsAndConditions if requested from the command line

* [chip-tool] Add TermsAndConditions support to chip-tool pairing code command

* Reduce the feature level on zap file

* Re-run generate on terms and conditions zap

* test: Implement TC acknowledgement test cases (#37015)

* test: Implement TC acknowledgement test cases 2.5-2.8

Implements test cases for Terms & Conditions acknowledgement verification:
- TC-*-2.5: SetTCAcknowledgements verification
- TC-*-2.6: CommissioningComplete with no terms accepted
- TC-*-2.7: CommissioningComplete with invalid terms
- TC-*-2.8: TCAcknowledgements reset after Factory Reset

Remaining test cases to be implemented in follow-up changes:
- TC-*-2.9: Reset after fabric removal
- TC-*-2.10: Required terms validation
- TC-*-2.11: Post-commission updates

Testing:
Test cases implemented according to test plan specifications.
Each test verifies specific TC acknowledgement behaviors.

* test: Implement remaining TC acknowledgement test cases 2.9-2.11

Implements remaining test cases for Terms & Conditions acknowledgement verification:
- TC-*-2.9: TCAcknowledgements reset after fabric removal
- TC-*-2.10: Required terms validation
- TC-*-2.11: Post-commission TC updates

This completes the test coverage for TC acknowledgement verification,
following up on the previous implementation of test cases 2.5-2.8.
The new test cases verify:
- TC state after fabric removal
- Protection of required terms
- Ability to update TC version and acknowledgements post-commissioning

Testing:
Test cases implemented according to test plan specifications.
Each test verifies specific TC acknowledgement behaviors.

* wip

* feat(testing): Add PICS guard for Terms & Conditions test steps

- Wrap test steps in PICS guard checks for "CGEN.S" and "CGEN.S.F00(TC)"
- Ensure test steps only execute when Terms & Conditions feature flag is enabled
- Maintain test logic while adding conditional execution based on PICS support

* Added PICS and PIXIT definitions to src/app/tests/suites/certification/PICS.yaml

* refactor: Extract commission_devices functionality into reusable methods

Move commissioning logic from CommissionDeviceTest class into standalone
functions to improve code reusability. Introduce CommissioningInfo dataclass
to encapsulate commissioning parameters and add commission_device/
commission_devices helper functions.

The changes:
- Move SetupPayloadInfo dataclass to module level
- Add new CommissioningInfo dataclass for commissioning parameters
- Extract commission_device and commission_devices as standalone async functions
- Add commission_devices method to MatterBaseTest class
- Maintain backward compatibility with existing usage in CommissionDeviceTest

* Addressed PR comments

* Improve test assertions and manual testing steps

- Use Matter-specific type assertions in TC_CGEN_2_5
- Update TC_CGEN_2_8 manual testing flow and prompts

* restyle

* refactor: simplify CGEN feature identifier from CGEN.S.F00(TC) to CGEN.S.F00

- Update PICS.yaml and ci-pics-values to use simplified feature ID
- Update Python test files to use new feature identifier
- Improve error messaging when commissioning feature check fails
- Affected test files: TC_CGEN_2_5 through TC_CGEN_2_11

* Update TC_CGEN_2_5 to use Nullable type for TCUpdateDeadline validation

* Add type validation for TCAcceptedVersion and TCAcknowledgements

* add matter_asserts file from master

* Fix imports on new tests

* fix CI arguments

* Fix bad merge on all_targets_linux_x64.txt

* Remove duplicate commission_devices method to fix F811 flake8 error

Removes the redundant definition of commission_devices method from
MatterBaseTest class to resolve the flake8 F811 error which indicated
a redefinition of an unused function from line 1058.

* fix: Invert boolean return in GetAcknowledgementsRequest (#37014)

* fix: Invert boolean return in GetAcknowledgementsRequest

The GetAcknowledgementsRequest was returning an incorrect boolean value,
causing unexpected behavior. This change inverts the return value to
fix the logical error.

Testing:
- Issue identified during test plan script development
- Test plan changes will be referenced in a separate change

---------

Co-authored-by: Cecille Freeman <[email protected]>
Co-authored-by: Andrei Litvin <[email protected]>
Co-authored-by: Yufeng Wang <[email protected]>
Co-authored-by: Tennessee Carmel-Veilleux <[email protected]>
Co-authored-by: Vivien Nicolas <[email protected]>
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.

Remove redundant TC acknowledgement requirement flag
3 participants