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

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

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

swan-amazon
Copy link
Contributor

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.

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.
Copy link

semanticdiff-com bot commented Dec 16, 2024

Copy link

github-actions bot commented Dec 16, 2024

PR #36863: Size comparison from 43f66f0 to 30d5e4d

Increases above 0.2%:

platform target config section 43f66f0 30d5e4d change % change
linux fabric-sync debug FLASH 5610549 5625269 14720 0.3
tv-app debug FLASH 5959461 5974197 14736 0.2
tizen chip-tool-ubsan arm unknown 10804 10844 40 0.4
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 43f66f0 30d5e4d change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1353340 1353340 0 0.0
RAM 104112 104112 0 0.0
bl702 lighting-app bl702+eth FLASH 651826 651826 0 0.0
RAM 25353 25353 0 0.0
bl702+wifi FLASH 829154 829154 0 0.0
RAM 14093 14093 0 0.0
bl706+mfd+rpc+littlefs FLASH 1057626 1057626 0 0.0
RAM 23933 23933 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 979000 979000 0 0.0
RAM 16596 16596 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 839760 839760 0 0.0
RAM 123664 123664 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825308 825308 0 0.0
RAM 125552 125552 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772096 772096 0 0.0
RAM 114020 114020 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756300 756300 0 0.0
RAM 114228 114228 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 539605 539605 0 0.0
RAM 205760 205760 0 0.0
lock CC3235SF_LAUNCHXL FLASH 573885 573885 0 0.0
RAM 205904 205904 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681513 681513 0 0.0
RAM 78724 78724 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701357 701357 0 0.0
RAM 81364 81364 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701357 701357 0 0.0
RAM 81364 81364 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658301 658301 0 0.0
RAM 73792 73792 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618073 618073 0 0.0
RAM 71708 71708 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637701 637701 0 0.0
RAM 74252 74252 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637701 637701 0 0.0
RAM 74252 74252 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637473 637473 0 0.0
RAM 74724 74724 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657181 657181 0 0.0
RAM 77268 77268 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657181 657181 0 0.0
RAM 77268 77268 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 613933 613933 0 0.0
RAM 68812 68812 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 633785 633785 0 0.0
RAM 71444 71444 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 633785 633785 0 0.0
RAM 71444 71444 0 0.0
efr32 lock-app BRD4187C FLASH 932340 932340 0 0.0
RAM 160192 160192 0 0.0
BRD4338a FLASH 746256 746248 -8 -0.0
RAM 233320 233320 0 0.0
window-app BRD4187C FLASH 1024912 1024912 0 0.0
RAM 128296 128296 0 0.0
esp32 all-clusters-app c3devkit DRAM 95352 95352 0 0.0
FLASH 1543284 1543284 0 0.0
IRAM 82542 82542 0 0.0
m5stack DRAM 116304 116304 0 0.0
FLASH 1549842 1549842 0 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4720 4720 0 0.0
FLASH 2715629 2715629 0 0.0
RAM 129800 129800 0 0.0
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 6008830 6008830 0 0.0
RAM 523544 523544 0 0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5345370 5345370 0 0.0
RAM 242600 242600 0 0.0
bridge-app debug unknown 5440 5440 0 0.0
FLASH 4684938 4684938 0 0.0
RAM 218416 218416 0 0.0
chip-tool debug unknown 5992 5992 0 0.0
FLASH 12849310 12864004 14694 0.1
RAM 582506 582562 56 0.0
chip-tool-ipv6only arm64 unknown 21352 21400 48 0.2
FLASH 10983936 10994416 10480 0.1
RAM 633424 633528 104 0.0
fabric-admin debug unknown 5816 5816 0 0.0
FLASH 11255859 11269971 14112 0.1
RAM 582850 582914 64 0.0
fabric-bridge-app debug unknown 4696 4696 0 0.0
FLASH 4510514 4510514 0 0.0
RAM 205600 205600 0 0.0
fabric-sync debug unknown 4936 4936 0 0.0
FLASH 5610549 5625269 14720 0.3
RAM 472584 472680 96 0.0
lighting-app debug+rpc+ui unknown 6104 6104 0 0.0
FLASH 5621633 5621633 0 0.0
RAM 228792 228792 0 0.0
lock-app debug unknown 5376 5376 0 0.0
FLASH 4734178 4734178 0 0.0
RAM 204776 204776 0 0.0
ota-provider-app debug unknown 4752 4752 0 0.0
FLASH 4359916 4359916 0 0.0
RAM 198448 198448 0 0.0
ota-requestor-app debug unknown 4688 4688 0 0.0
FLASH 4498908 4498908 0 0.0
RAM 203032 203032 0 0.0
shell debug unknown 4248 4248 0 0.0
FLASH 3032765 3032765 0 0.0
RAM 160424 160424 0 0.0
thermostat-no-ble arm64 unknown 9536 9536 0 0.0
FLASH 4104176 4104176 0 0.0
RAM 243040 243040 0 0.0
tv-app debug unknown 5704 5704 0 0.0
FLASH 5959461 5974197 14736 0.2
RAM 596016 596112 96 0.0
tv-casting-app debug unknown 5288 5288 0 0.0
FLASH 11055165 11055165 0 0.0
RAM 692184 692184 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 917880 917880 0 0.0
RAM 143288 143288 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890360 890360 0 0.0
RAM 141483 141483 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 851772 851772 0 0.0
RAM 142200 142200 0 0.0
nxp contact k32w0+release FLASH 585440 585440 0 0.0
RAM 71080 71080 0 0.0
mcxw71+release FLASH 600048 600048 0 0.0
RAM 63176 63176 0 0.0
light k32w0+release FLASH 612412 612412 0 0.0
RAM 70472 70472 0 0.0
k32w1+release FLASH 686592 686592 0 0.0
RAM 48808 48808 0 0.0
lock mcxw71+release FLASH 762928 762928 0 0.0
RAM 70844 70844 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646812 1646812 0 0.0
RAM 212096 212096 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1554236 1554236 0 0.0
RAM 208904 208904 0 0.0
light cy8ckit_062s2_43012 FLASH 1469564 1469564 0 0.0
RAM 200880 200880 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467292 1467292 0 0.0
RAM 225240 225240 0 0.0
qpg lighting-app qpg6105+debug FLASH 664024 664024 0 0.0
RAM 105424 105424 0 0.0
lock-app qpg6105+debug FLASH 621812 621812 0 0.0
RAM 99868 99868 0 0.0
stm32 light STM32WB5MM-DK FLASH 484728 484728 0 0.0
RAM 144880 144880 0 0.0
telink bridge-app tlsr9258a FLASH 682916 682916 0 0.0
RAM 91208 91208 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623346 623346 0 0.0
RAM 31440 31440 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772176 772176 0 0.0
RAM 49300 49300 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 710770 710770 0 0.0
RAM 73504 73504 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 627790 627790 0 0.0
RAM 142140 142140 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813804 813804 0 0.0
RAM 99684 99684 0 0.0
tizen all-clusters-app arm unknown 4988 4988 0 0.0
FLASH 1734440 1734440 0 0.0
RAM 90736 90736 0 0.0
chip-tool-ubsan arm unknown 10804 10844 40 0.4
FLASH 17973406 18000206 26800 0.1
RAM 7842608 7855248 12640 0.2

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.

I did not review the Python bits; someone familiar with those needs to do that.

Comment on lines +207 to +208
"Terms and Conditions acknowledgements is known to be required or not, (when required, the commissioner "
"will wait until they are provided)");
Copy link
Contributor

Choose a reason for hiding this comment

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

This does not seem like the right description, in that there is no waiting; when required you can provide them via the other args, right?

Also descriptions for optional args should say what the default behavior is.

return;
}

ChipLogProgress(Controller, "Waiting for Terms and Conditions");
Copy link
Contributor

Choose a reason for hiding this comment

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

Doesn't this need to extend the fail-safe or something? What happens if the user takes 10 minutes to read the terms (which is a bare minimum for how long it can possibly take to actually read those things typically)?

/**
* @brief
* This function is called by the upper layer application to indicate that the required terms and conditions
* acknowledgements have been set. This function should be called after the terms and conditions bitmask and version
Copy link
Contributor

Choose a reason for hiding this comment

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

"Have been set" where and how?

* @brief
* This function is called by the upper layer application to indicate that the required terms and conditions
* acknowledgements have been set. This function should be called after the terms and conditions bitmask and version
* have been defined using the appropriate configuration macros and the application has gathered the necessary
Copy link
Contributor

Choose a reason for hiding this comment

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

Which configuration macros, exactly?

* have been defined using the appropriate configuration macros and the application has gathered the necessary
* acknowledgements from the user.
*
* The upper layer application should call this method once it has successfully presented and obtained acknowledgements
Copy link
Contributor

Choose a reason for hiding this comment

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

How does the upper layer application know it needs to do that?

kRemoveThreadNetworkConfig, ///< Remove Thread network config.
kGetTCAcknowledgments, ///< Waiting for the higher layer to provide terms and conditions acknowledgements.
kConfigureTCAcknowledgments, ///< Send SetTCAcknowledgements (0x30:6) command to the device
kCleanup, ///< Call delegates with status, free memory, clear timers and state
Copy link
Contributor

Choose a reason for hiding this comment

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

The comments above claim this value cannot be moved later in the list. Either it can and the comments need fixing, or it cannot and should not be.

@@ -581,6 +609,7 @@ class CommissioningParameters
mAttestationNonce.ClearValue();
mWiFiCreds.ClearValue();
mCountryCode.ClearValue();
mTermsAndConditionsAcknowledgement.ClearValue();
Copy link
Contributor

Choose a reason for hiding this comment

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

Why? This is not an "ExternalBufferDependentValue", is it?

Copy link

github-actions bot commented Dec 17, 2024

PR #36863: Size comparison from 4e44586 to 5ce33b6

Increases above 0.2%:

platform target config section 4e44586 5ce33b6 change % change
linux fabric-sync debug FLASH 5611061 5625781 14720 0.3
tv-app debug FLASH 5959989 5974709 14720 0.2
tizen chip-tool-ubsan arm unknown 10804 10844 40 0.4
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 4e44586 5ce33b6 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1353616 1353616 0 0.0
RAM 104136 104136 0 0.0
bl702 lighting-app bl702+eth FLASH 651842 651842 0 0.0
RAM 25353 25353 0 0.0
bl702+wifi FLASH 829426 829426 0 0.0
RAM 14093 14093 0 0.0
bl706+mfd+rpc+littlefs FLASH 1057898 1057898 0 0.0
RAM 23933 23933 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 979272 979272 0 0.0
RAM 16596 16596 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 839828 839828 0 0.0
RAM 123672 123672 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825368 825368 0 0.0
RAM 125560 125560 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772244 772244 0 0.0
RAM 114036 114036 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756440 756440 0 0.0
RAM 114236 114236 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 539753 539753 0 0.0
RAM 205776 205776 0 0.0
lock CC3235SF_LAUNCHXL FLASH 574033 574033 0 0.0
RAM 205920 205920 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681673 681673 0 0.0
RAM 78732 78732 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701517 701517 0 0.0
RAM 81372 81372 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701517 701517 0 0.0
RAM 81372 81372 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658461 658461 0 0.0
RAM 73800 73800 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618217 618217 0 0.0
RAM 71724 71724 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637853 637853 0 0.0
RAM 74268 74268 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637853 637853 0 0.0
RAM 74268 74268 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637625 637625 0 0.0
RAM 74732 74732 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657341 657341 0 0.0
RAM 77276 77276 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657341 657341 0 0.0
RAM 77276 77276 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 614085 614085 0 0.0
RAM 68820 68820 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 633945 633945 0 0.0
RAM 71452 71452 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 633945 633945 0 0.0
RAM 71452 71452 0 0.0
efr32 lock-app BRD4187C FLASH 932492 932492 0 0.0
RAM 160204 160204 0 0.0
BRD4338a FLASH 746472 746464 -8 -0.0
RAM 233332 233332 0 0.0
window-app BRD4187C FLASH 1025128 1025128 0 0.0
RAM 128308 128308 0 0.0
esp32 all-clusters-app c3devkit DRAM 95376 95376 0 0.0
FLASH 1543430 1543430 0 0.0
IRAM 82542 82542 0 0.0
m5stack DRAM 116320 116320 0 0.0
FLASH 1550006 1550006 0 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4720 4720 0 0.0
FLASH 2716107 2716107 0 0.0
RAM 129896 129896 0 0.0
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 6009352 6009352 0 0.0
RAM 523640 523640 0 0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5345924 5345924 0 0.0
RAM 242696 242696 0 0.0
bridge-app debug unknown 5440 5440 0 0.0
FLASH 4685460 4685460 0 0.0
RAM 218512 218512 0 0.0
chip-tool debug unknown 5992 5992 0 0.0
FLASH 12849310 12864004 14694 0.1
RAM 582506 582562 56 0.0
chip-tool-ipv6only arm64 unknown 21352 21400 48 0.2
FLASH 10983936 10994416 10480 0.1
RAM 633424 633528 104 0.0
fabric-admin debug unknown 5816 5816 0 0.0
FLASH 11255859 11269971 14112 0.1
RAM 582850 582914 64 0.0
fabric-bridge-app debug unknown 4696 4696 0 0.0
FLASH 4510992 4510992 0 0.0
RAM 205696 205696 0 0.0
fabric-sync debug unknown 4936 4936 0 0.0
FLASH 5611061 5625781 14720 0.3
RAM 472680 472776 96 0.0
lighting-app debug+rpc+ui unknown 6104 6104 0 0.0
FLASH 5622193 5622193 0 0.0
RAM 228888 228888 0 0.0
lock-app debug unknown 5376 5376 0 0.0
FLASH 4734732 4734732 0 0.0
RAM 204872 204872 0 0.0
ota-provider-app debug unknown 4752 4752 0 0.0
FLASH 4360438 4360438 0 0.0
RAM 198544 198544 0 0.0
ota-requestor-app debug unknown 4688 4688 0 0.0
FLASH 4499462 4499462 0 0.0
RAM 203128 203128 0 0.0
shell debug unknown 4248 4248 0 0.0
FLASH 3033277 3033277 0 0.0
RAM 160520 160520 0 0.0
thermostat-no-ble arm64 unknown 9552 9552 0 0.0
FLASH 4104720 4104720 0 0.0
RAM 243160 243160 0 0.0
tv-app debug unknown 5704 5704 0 0.0
FLASH 5959989 5974709 14720 0.2
RAM 596112 596208 96 0.0
tv-casting-app debug unknown 5288 5288 0 0.0
FLASH 11055693 11055693 0 0.0
RAM 692328 692328 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 918036 918036 0 0.0
RAM 143308 143308 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890460 890460 0 0.0
RAM 141495 141495 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 851924 851924 0 0.0
RAM 142220 142220 0 0.0
nxp contact k32w0+release FLASH 585472 585472 0 0.0
RAM 71088 71088 0 0.0
mcxw71+release FLASH 600184 600184 0 0.0
RAM 63184 63184 0 0.0
light k32w0+release FLASH 612476 612476 0 0.0
RAM 70480 70480 0 0.0
k32w1+release FLASH 686736 686736 0 0.0
RAM 48816 48816 0 0.0
lock mcxw71+release FLASH 763072 763072 0 0.0
RAM 70852 70852 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1646996 1646996 0 0.0
RAM 212104 212104 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1554436 1554436 0 0.0
RAM 208920 208920 0 0.0
light cy8ckit_062s2_43012 FLASH 1469764 1469764 0 0.0
RAM 200888 200888 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467492 1467492 0 0.0
RAM 225248 225248 0 0.0
qpg lighting-app qpg6105+debug FLASH 664168 664168 0 0.0
RAM 105432 105432 0 0.0
lock-app qpg6105+debug FLASH 621964 621964 0 0.0
RAM 99884 99884 0 0.0
stm32 light STM32WB5MM-DK FLASH 484884 484884 0 0.0
RAM 144888 144888 0 0.0
telink bridge-app tlsr9258a FLASH 683080 683080 0 0.0
RAM 91224 91224 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623494 623494 0 0.0
RAM 31456 31456 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772312 772312 0 0.0
RAM 49316 49316 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 710934 710934 0 0.0
RAM 73520 73520 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 627950 627950 0 0.0
RAM 142156 142156 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 813968 813968 0 0.0
RAM 99700 99700 0 0.0
tizen all-clusters-app arm unknown 4996 4996 0 0.0
FLASH 1734844 1734844 0 0.0
RAM 90784 90784 0 0.0
chip-tool-ubsan arm unknown 10804 10844 40 0.4
FLASH 17973406 18000206 26800 0.1
RAM 7842608 7855248 12640 0.2

* @return CHIP_ERROR The return status. Returns CHIP_ERROR_INCORRECT_STATE if the function is called when the device
* is not in the correct state to accept terms and conditions acknowledgements.
*/
CHIP_ERROR TermsAndConditionsAcknowledgementsReady();
Copy link
Contributor

Choose a reason for hiding this comment

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

One other very important thing: this API surface would ensure that we can never do multiple commissionings in parallel, because nothing ties this call to a specific instance of the commissioning process. This is even an issue or "serial" commissionings: one might get canceled and another started, then this call comes in for the first one....

This needs a better solution.

@swan-amazon swan-amazon reopened this Dec 17, 2024
Copy link

github-actions bot commented Dec 17, 2024

PR #36863: Size comparison from 37fa873 to 5ce33b6

Increases above 0.2%:

platform target config section 37fa873 5ce33b6 change % change
linux fabric-sync debug FLASH 5611173 5625893 14720 0.3
tv-app debug FLASH 5960165 5974885 14720 0.2
tizen chip-tool-ubsan arm unknown 10804 10844 40 0.4
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 37fa873 5ce33b6 change % change
bl602 lighting-app bl602+mfd+littlefs+rpc FLASH 1353786 1353786 0 0.0
RAM 104136 104136 0 0.0
bl702 lighting-app bl702+eth FLASH 651960 651960 0 0.0
RAM 25353 25353 0 0.0
bl702+wifi FLASH 829548 829548 0 0.0
RAM 14093 14093 0 0.0
bl706+mfd+rpc+littlefs FLASH 1058020 1058020 0 0.0
RAM 23933 23933 0 0.0
bl702l lighting-app bl702l+mfd+littlefs FLASH 979394 979394 0 0.0
RAM 16596 16596 0 0.0
cc13x4_26x4 lighting-app LP_EM_CC1354P10_6 FLASH 839968 839968 0 0.0
RAM 123672 123672 0 0.0
lock-ftd LP_EM_CC1354P10_6 FLASH 825492 825492 0 0.0
RAM 125560 125560 0 0.0
pump-app LP_EM_CC1354P10_6 FLASH 772372 772372 0 0.0
RAM 114036 114036 0 0.0
pump-controller-app LP_EM_CC1354P10_6 FLASH 756560 756560 0 0.0
RAM 114236 114236 0 0.0
cc32xx air-purifier CC3235SF_LAUNCHXL FLASH 539853 539853 0 0.0
RAM 205776 205776 0 0.0
lock CC3235SF_LAUNCHXL FLASH 574149 574149 0 0.0
RAM 205920 205920 0 0.0
cyw30739 light CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 681737 681737 0 0.0
RAM 78732 78732 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 701589 701589 0 0.0
RAM 81372 81372 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 701589 701589 0 0.0
RAM 81372 81372 0 0.0
CYW930739M2EVB-02 unknown 2040 2040 0 0.0
FLASH 658517 658517 0 0.0
RAM 73800 73800 0 0.0
light-switch CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 618353 618353 0 0.0
RAM 71724 71724 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 637981 637981 0 0.0
RAM 74268 74268 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 637981 637981 0 0.0
RAM 74268 74268 0 0.0
lock CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 637753 637753 0 0.0
RAM 74732 74732 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 657461 657461 0 0.0
RAM 77276 77276 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 657461 657461 0 0.0
RAM 77276 77276 0 0.0
thermostat CYW30739B2-P5-EVK-01 unknown 2040 2040 0 0.0
FLASH 614205 614205 0 0.0
RAM 68820 68820 0 0.0
CYW30739B2-P5-EVK-02 unknown 2040 2040 0 0.0
FLASH 634065 634065 0 0.0
RAM 71452 71452 0 0.0
CYW30739B2-P5-EVK-03 unknown 2040 2040 0 0.0
FLASH 634065 634065 0 0.0
RAM 71452 71452 0 0.0
efr32 lock-app BRD4187C FLASH 932620 932620 0 0.0
RAM 160204 160204 0 0.0
BRD4338a FLASH 746584 746584 0 0.0
RAM 233332 233332 0 0.0
window-app BRD4187C FLASH 1025232 1025224 -8 -0.0
RAM 128308 128308 0 0.0
esp32 all-clusters-app c3devkit DRAM 95376 95376 0 0.0
FLASH 1543590 1543590 0 0.0
IRAM 82542 82542 0 0.0
m5stack DRAM 116320 116320 0 0.0
FLASH 1550190 1550190 0 0.0
IRAM 117039 117039 0 0.0
linux air-purifier-app debug unknown 4720 4720 0 0.0
FLASH 2716225 2716225 0 0.0
RAM 129928 129928 0 0.0
all-clusters-app debug unknown 5560 5560 0 0.0
FLASH 6009536 6009536 0 0.0
RAM 523640 523640 0 0.0
all-clusters-minimal-app debug unknown 5456 5456 0 0.0
FLASH 5346044 5346044 0 0.0
RAM 242728 242728 0 0.0
bridge-app debug unknown 5440 5440 0 0.0
FLASH 4685580 4685580 0 0.0
RAM 218528 218528 0 0.0
chip-tool debug unknown 5992 5992 0 0.0
FLASH 12849428 12864122 14694 0.1
RAM 582506 582562 56 0.0
chip-tool-ipv6only arm64 unknown 21352 21400 48 0.2
FLASH 10984032 10994528 10496 0.1
RAM 633432 633536 104 0.0
fabric-admin debug unknown 5816 5816 0 0.0
FLASH 11255977 11270089 14112 0.1
RAM 582850 582914 64 0.0
fabric-bridge-app debug unknown 4696 4696 0 0.0
FLASH 4511112 4511112 0 0.0
RAM 205696 205696 0 0.0
fabric-sync debug unknown 4936 4936 0 0.0
FLASH 5611173 5625893 14720 0.3
RAM 472696 472792 96 0.0
lighting-app debug+rpc+ui unknown 6104 6104 0 0.0
FLASH 5622305 5622305 0 0.0
RAM 228888 228888 0 0.0
lock-app debug unknown 5376 5376 0 0.0
FLASH 4734852 4734852 0 0.0
RAM 204872 204872 0 0.0
ota-provider-app debug unknown 4752 4752 0 0.0
FLASH 4360558 4360558 0 0.0
RAM 198560 198560 0 0.0
ota-requestor-app debug unknown 4688 4688 0 0.0
FLASH 4499582 4499582 0 0.0
RAM 203144 203144 0 0.0
shell debug unknown 4248 4248 0 0.0
FLASH 3033469 3033469 0 0.0
RAM 160552 160552 0 0.0
thermostat-no-ble arm64 unknown 9552 9552 0 0.0
FLASH 4104832 4104832 0 0.0
RAM 243168 243168 0 0.0
tv-app debug unknown 5704 5704 0 0.0
FLASH 5960165 5974885 14720 0.2
RAM 596128 596224 96 0.0
tv-casting-app debug unknown 5288 5288 0 0.0
FLASH 11055821 11055821 0 0.0
RAM 692328 692328 0 0.0
nrfconnect all-clusters-app nrf52840dk_nrf52840 FLASH 918112 918112 0 0.0
RAM 143308 143308 0 0.0
nrf7002dk_nrf5340_cpuapp FLASH 890256 890256 0 0.0
RAM 141495 141495 0 0.0
all-clusters-minimal-app nrf52840dk_nrf52840 FLASH 851992 851992 0 0.0
RAM 142220 142220 0 0.0
nxp contact k32w0+release FLASH 585624 585624 0 0.0
RAM 71088 71088 0 0.0
mcxw71+release FLASH 600320 600320 0 0.0
RAM 63184 63184 0 0.0
light k32w0+release FLASH 612548 612548 0 0.0
RAM 70480 70480 0 0.0
k32w1+release FLASH 686808 686808 0 0.0
RAM 48816 48816 0 0.0
lock mcxw71+release FLASH 763216 763216 0 0.0
RAM 70852 70852 0 0.0
psoc6 all-clusters cy8ckit_062s2_43012 FLASH 1647132 1647132 0 0.0
RAM 212104 212104 0 0.0
all-clusters-minimal cy8ckit_062s2_43012 FLASH 1554564 1554564 0 0.0
RAM 208920 208920 0 0.0
light cy8ckit_062s2_43012 FLASH 1469884 1469884 0 0.0
RAM 200888 200888 0 0.0
lock cy8ckit_062s2_43012 FLASH 1467604 1467604 0 0.0
RAM 225248 225248 0 0.0
qpg lighting-app qpg6105+debug FLASH 664288 664288 0 0.0
RAM 105432 105432 0 0.0
lock-app qpg6105+debug FLASH 622108 622108 0 0.0
RAM 99884 99884 0 0.0
stm32 light STM32WB5MM-DK FLASH 485004 485004 0 0.0
RAM 144888 144888 0 0.0
telink bridge-app tlsr9258a FLASH 683206 683206 0 0.0
RAM 91224 91224 0 0.0
contact-sensor-app tlsr9528a_retention FLASH 623620 623620 0 0.0
RAM 31456 31456 0 0.0
light-app-ota-compress-lzma-shell-factory-data tl3218x FLASH 772438 772438 0 0.0
RAM 49316 49316 0 0.0
light-switch-app-ota-compress-lzma-shell-factory-data tlsr9528a FLASH 711060 711060 0 0.0
RAM 73520 73520 0 0.0
lighting-app-ota-factory-data tlsr9118bdk40d FLASH 628076 628076 0 0.0
RAM 142156 142156 0 0.0
lighting-app-ota-rpc-factory-data-4mb tlsr9518adk80d FLASH 814094 814094 0 0.0
RAM 99700 99700 0 0.0
tizen all-clusters-app arm unknown 4996 4996 0 0.0
FLASH 1734952 1734952 0 0.0
RAM 90788 90788 0 0.0
chip-tool-ubsan arm unknown 10804 10844 40 0.4
FLASH 17973686 18000486 26800 0.1
RAM 7842724 7855364 12640 0.2

@yufengwangca
Copy link
Contributor

This PR added 14720 bytes to the fabric-sync app

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.

3 participants