You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add Terms and Conditions (T&C) Feature Support for Commissioning (project-chip#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 <tennessee.carmelveilleux@gmail.com>
* Restyle
* Renamed variable
---------
Co-authored-by: Tennessee Carmel-Veilleux <tennessee.carmelveilleux@gmail.com>
0 commit comments