Repository navigation
Sync csa branch with main - #1280
Merged
Merged
Conversation
…to-merged by platform-bot) (#74762) Add SetThreadEnabledForTest, SetThreadAttachedForTest, and ResetThreadStateForTest to NXP ThreadStackManagerImpl, matching the Linux platform interface. These are guarded by CONFIG_BUILD_FOR_HOST_UNIT_TEST and needed by TestICDManager.cpp which calls these methods when both CONFIG_BUILD_FOR_HOST_UNIT_TEST and CHIP_DEVICE_CONFIG_ENABLE_THREAD are defined. Without these methods, the NXP MCXW72 (Thread) unit test build fails: error: 'class ThreadStackManagerImpl' has no member named 'SetThreadEnabledForTest'
* [all-devices-app] Implement BatteryPowerSourceAccessor and support OOB cluster writes - Implement BatteryPowerSourceAccessor to handle SetAttribute actions for BatPercentRemaining and BatVoltage. - Unrecognized attributes return std::nullopt to allow downstream handlers and data model provider fall-through. - Register BatteryPowerSourceAccessor via OOBAccessors and OOBAccessorHook. - Add comprehensive unit test suite TestBatteryPowerSourceAccessor using typed BuildSetAttributeRequest helpers and InMemoryOOBAccessorRegistry dispatch. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…ort (#74761) * [Android] Add Thread dataset fetch from system with optional GMS support - Add a "Fetch dataset from system Thread manager" button to EnterNetworkFragment for Thread provisioning. It populates the channel, PAN ID, extended PAN ID and network key fields from the active operational dataset of the phone's Thread network. - Fetch credentials via the GMS ThreadNetworkClient (with the preferred-credentials consent flow) when Google Play services is available, and otherwise fall back to the Android 14+ ThreadNetworkManager system service. The GMS path is only taken when GoogleApiAvailability reports SUCCESS; otherwise GoogleApiManager keeps the request pending behind a "Get Google Play services" resolution and the fetch would never complete or fall back. - The ThreadNetworkController APIs are system APIs guarded by THREAD_NETWORK_PRIVILEGED, so the system-service path only works when CHIPTool is installed as a privileged app. Check the permission up front and surface the underlying error instead of an opaque reflection failure. - Add the matterEnableGms Gradle property (default true). It selects the src/gms or src/nogms source set for GmsThreadDatasetHelper, so builds with matterEnableGms=false do not link play-services-threadnetwork. - Ignore results delivered after the fragment view is destroyed and unregister the pending dataset callback in onDestroyView. * [Android] CHIPTool: address review comments on Thread dataset fetch - Replace getAllCredentials() with getAllActiveCredentials(). getAllCredentials() returns only credentials added by the calling app, which CHIPTool never adds, so taking its first entry could only return nothing or an unrelated stored network. getAllActiveCredentials() returns every active Thread network reachable through nearby border routers after a single consent prompt; when more than one is shared the user picks one from a list (network name, extended PAN ID, channel). Fall back to getPreferredCredentials() when it is unavailable (e.g. the phone is not on Wi-Fi). - Bump play-services-threadnetwork to 16.2.1, the first version with getAllActiveCredentials(). - Skip launching the consent prompt when the fragment view no longer exists, since the result would be discarded.
Update the Comment
…#74316) * [Camera] Support the Analysis stream usage in the Linux camera Analysis was missing from the supported stream usages and priorities, so VideoStreamAllocate with StreamUsage=Analysis (sent by an AV Analysis Node) was rejected with INVALID_IN_STATE. * [AVSM] Skip TC_AVSM_2_11 step 4 when the DUT supports every stream usage * [AVSM] Skip TC_AVSM_2_5 step 9 when StreamUsagePriorities holds every usage * [AVSM] Skip TC_AVSM_2_7 step 18 when StreamUsagePriorities holds every usage * [AVSM] Let TC_AVSM_2_11 step 4 probe with the Internal usage * [AVSM] Narrow StreamUsagePriorities before allocating in TC_AVSM_2_5 and 2_7
* [CI] Rebalance host unit-test jobs - Move the ICD/ARL/rotating-id (all_features) unit tests to nightly. - Drop the gcc 'main' unit-test job; gcc_debug in build.yaml now runs the unit tests on PRs and builds the silabs platform tests. - Run mbedTLS ASan unit tests next to PSA, gated on crypto-related paths, with the path filter ahead of bootstrap. * [CI] Comment chip_build_all_platform_tests in gcc_debug * [CI] Bootstrap gcc_debug with unit_tests submodules * [CI] Run gcc_debug no-logging tests on PRs only * [CI] Run gcc_debug no-logging build on PRs only * [CI] Bootstrap crypto backend job without unit_tests submodules * [CI] Document host unit-test CI coverage Add docs/ci-cd/host_unit_tests.md, a table of which unit-test configurations run on PRs, master pushes and nightly, and why. scripts/tools/list_unit_test_steps.py lists every workflow step that runs unit tests into docs/ci-cd/host_unit_tests.steps.txt; --check reports when the workflows no longer match the snapshot and --update regenerates it. * [CI] Drop unused msan case from the master sanitizer loop The loop only iterates asan, tsan and ubsan; MSan runs in nightly.yaml. * [CI] Check the unit-test steps snapshot in lint * [CI] Revert unit-test steps snapshot to before the msan change Temporary: shows the lint check failing on a stale snapshot. * [CI] Regenerate unit-test steps snapshot Picks up the msan removal and the nightly crypto-backend ASan job from master, and adds that job to host_unit_tests.md. * [CI] Rename unit-test steps snapshot and mark it generated host_unit_tests.generated.txt now starts with a header naming the script that writes it. * [CI] Stop the crypto job at the first failed backend Matches the other multi-build jobs; mbedTLS no longer builds next to a failed PSA output. * [CI] Record path triggers and path filters in the unit-test steps snapshot The snapshot now lists paths/paths-ignore on workflow triggers and the dorny/paths-filter lists that each test step's condition reads, so a change to either fails the lint check. * [CI] Record full trigger config in the unit-test steps snapshot Every trigger setting except inputs is now written out (types, branches-ignore, schedule cron, ...), replacing the per-key list. * Gate master pushes of the crypto backend unit tests on the path filter nightly.yaml already runs the PSA and mbedTLS unit tests on the full tree every night, so running them on every master push repeated that work. Master pushes now follow the same crypto path filter as PRs. Release-branch pushes still always run, since scheduled workflows do not run on release branches. dorny/paths-filter calls git on push events and runs before bootstrap, so mark the workspace as a safe git directory first. * Point the nightly crypto backend comment at host_unit_tests.md * Apply the crypto path filter to release-branch pushes as well * Drop the safe.directory step before dorny/paths-filter The pinned dorny/paths-filter (v4.0.3) already retries git with a temporary safe.directory entry when the workspace is owned by another user (dorny/paths-filter#317), so the extra step is not needed. * Reset gn args when a later gn_gen.sh call has none A job that runs gn_gen.sh with --args and later runs it with default arguments kept the earlier arguments in the snapshot. * Point the crypto and various-features unit-test jobs at host_unit_tests.md * Reword the host_unit_tests.md pointer comments
…upload-size-reports (Auto-merged by bot) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 7.0.1 to 7.0.2. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@043fb46...cf430e0) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: 7.0.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…bootstrap (Auto-merged by bot) Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 7.0.1 to 7.0.2. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@043fb46...cf430e0) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: 7.0.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.4.4 to 2.5.0. - [Release notes](https://github.com/ossf/scorecard-action/releases) - [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md) - [Commits](ossf/scorecard-action@2d11466...fa7117d) --- updated-dependencies: - dependency-name: ossf/scorecard-action dependency-version: 2.5.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…merged by bot) Bumps the codeql-action group with 3 updates in the / directory: [github/codeql-action/init](https://github.com/github/codeql-action), [github/codeql-action/analyze](https://github.com/github/codeql-action) and [github/codeql-action/upload-sarif](https://github.com/github/codeql-action). Updates `github/codeql-action/init` from 4.38.2 to 4.38.3 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@2892aa5...24c5418) Updates `github/codeql-action/analyze` from 4.38.2 to 4.38.3 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@2892aa5...24c5418) Updates `github/codeql-action/upload-sarif` from 4.38.2 to 4.38.3 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](github/codeql-action@2892aa5...24c5418) --- updated-dependencies: - dependency-name: github/codeql-action/analyze dependency-version: 4.38.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: codeql-action - dependency-name: github/codeql-action/init dependency-version: 4.38.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: codeql-action - dependency-name: github/codeql-action/upload-sarif dependency-version: 4.38.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: codeql-action ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Contributor
|
The check for |
Bumps [restyled-io/actions/run](https://github.com/restyled-io/actions) from 4.4.29 to 4.4.32. - [Release notes](https://github.com/restyled-io/actions/releases) - [Commits](restyled-io/actions@8467a40...ab22a07) --- updated-dependencies: - dependency-name: restyled-io/actions/run dependency-version: 4.4.32 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [pydata-sphinx-theme](https://github.com/pydata/pydata-sphinx-theme) from 0.22.0 to 0.23.0. - [Release notes](https://github.com/pydata/pydata-sphinx-theme/releases) - [Changelog](https://github.com/pydata/pydata-sphinx-theme/blob/main/RELEASE.md) - [Commits](pydata/pydata-sphinx-theme@v0.22.0...v0.23.0) --- updated-dependencies: - dependency-name: pydata-sphinx-theme dependency-version: 0.23.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
On LwIP platforms, InterfaceId::PlatformType is `struct netif *` (a pointer), not an integer. The existing static_cast<PlatformType>(unsigned int) is invalid for pointer types. Use a static array of netif structs to provide valid pointers on LwIP. A bare integer-to-pointer cast would compile but crash at runtime if any code path dereferences the pointer (e.g. GetInterfaceName accessing netif->name). Fixes #74744
* WaterTankLevelMonitoring: Added water tank level montoring to all clusters app * WaterTankLevelMonitoring: Added example app based on HEPA/Activated-Carbon Filter Monitoring * WaterTankLevelMonitoring: Add WaterTankLevelMonitoring into the shared resource-monitoring- server Wires WaterTankLevelMonitoring into the shared resource-monitoring- server (it shares the same abstract Resource Monitoring shape as HEPA/Activated Carbon Filter Monitoring), registers it as code-driven in zap codegen config, and instantiates it in all-clusters-app. * Fixed review comments. * Regenerate WaterTankLevelMonitoring accessors
Michael Duggan (miduggan24)
approved these changes
Oct 15, 2026
… (#74784) * [Chef] Fix clang arm64 warnings in Thermostat delegates and stubs.cpp * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…mples.yaml (#74783)
…r writes (#74755) - Implement WaterValveAccessor taking ValveConfigurationAndControlCluster and EndpointId to handle SetAttribute actions for CurrentState and CurrentLevel. - Track and preserve non-zero open level across open/close transitions, including when opened via in-band commands or closed via zero-level OOB writes. - Apply cluster DefaultOpenDuration on OOB open operations. - Include explicit DataModel decode and nullable headers. - Register WaterValveAccessor via OOBAccessors and OOBAccessorHook. - Add comprehensive unit test suite TestWaterValveAccessor covering state transitions, level persistence, default open duration, error handling, and wrong cluster/endpoint rejection.
…ation` to `Temperature Sensor` (#74286) * Initial commit * Register Thermostat device - Add Thermostat to the device factory and GN/CMake builds - Update build targets and target snapshots - Update supported device and cluster documentation * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix ESP32 link error by adding thermostat-server to CMake build * Fix ESP32 link error for Thermostat User Interface Configuration cluster * Remove thermostat-server from CMake build configuration * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update README.md to format device options for improved readability * Fix TemperatureSensor architecture: Move optional UI cluster to simulation According to architectural guidelines, optional clusters should not be hardcoded in base device classes. This moves the ThermostatUserInterfaceConfigurationCluster out of the base TemperatureSensor class and into the IncreasingTemperatureSensor simulation via RegisterAdditionalClusters/UnregisterAdditionalClusters hooks. Also updates BUILD.gn. * Simulate running state and optional attributes in LoggingThermostat * Make Thermostat features configurable via Context * Enable Python and YAML CI tests for all-devices thermostat * Refactor Thermostat to extract optional UI/Groups clusters and fix initialization order * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Support Thermostat AutoMode, setpoint limits and refactor dependencies - Implement ThermostatAutoSetpoints::Delegate in LoggingThermostat to support AutoMode (TSTAT.S.F05) and return a valid MinSetpointDeadBand, satisfying TC_TSTAT_2_2. - Implement getters and setters for optional setpoint limits in LoggingThermostat to support dynamic limits and resolve UNSUPPORTED_ATTRIBUTE errors in TC_TSTAT_2_1. - Enable ScheduleProgrammingVisibility in ThermostatUserInterfaceConfiguration cluster for LoggingThermostat and IncreasingTemperatureSensor to satisfy TSUIC tests. - Refactor Thermostat base class Context and includes to decouple unused dependencies, moving groups-server and thermostat-user-interface-configuration-server to the logging target. - Add ALL_DEVICES_DEVICE_THERMOSTAT to Zephyr's Kconfig.devices to enable compiling the thermostat device type on Zephyr platform. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Add preset and setpoint hold delegates * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Refactor setpoint limit validation to ensure proper constraints for heating and cooling limits * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Fix handle type in AppendToPendingPresetList to ensure proper range and prevent overflow * Support SystemMode Auto, register missing optional attributes and simplify startup validation - Accept SystemModeEnum::kAuto when AutoMode is enabled and simulate running mode/state in Auto. - Enable ThermostatRunningMode (with AutoMode) and SetpointHoldExpiryTimestamp optional attributes so the values written by delegates are registered. - Replace per-limit startup sanity checks with a single Setpoints::Valid() check that resets limits and setpoints to defaults when inconsistent. - Remove redundant CriticalFreeze/Overheat delegate overrides; the base setpoint delegates already default to the same values. - Remove the in-PR history comment from Thermostat.h. - Drop the duplicated ThermostatUserInterfaceConfigurationCluster.cpp from ALL_DEVICES_CLUSTER_SOURCES; it is already built in libCHIP. * Rename Thermostat device class to FullThermostat The device/types/<Type> classes are expected to stay generic for all devices of the type. This composition requires the optional Presets and Hold delegates, so name it FullThermostat to make that explicit. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Hardcode the FullThermostat feature set ThermostatClusterType registers all attributes and commands implied by the heating, cooling, AutoMode and Presets features at compile time, so the feature flags can no longer come from Context: a narrower FeatureMap would disagree with the registered cluster surface. Also initialize changed in SetRunningState before any return. --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Elen777300 <elensoghomonyan@gmail.com> Co-authored-by: Elen Soghomonyan <43118262+Elen777300@users.noreply.github.com>
…74612) * [app/server] Decouple CommissioningWindowManager from chip::Server Replace CommissioningWindowManager::Init(Server *) and Server * mServer with an explicit CommissioningWindowManager::Context struct holding references to FailSafeContext, FabricTable, ExchangeManager, SessionManager, and (when BLE is enabled) BleLayer. Also remove #include <app/server/Server.h> and Server::GetInstance() from CommissioningWindowManager, AdministratorCommissioningLogic.h, and the three commissioning cluster unit tests (TestAdministratorCommissioningCluster, TestGeneralCommissioningCluster, and TestOperationalCredentials). * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Move BLE preprocessor conditional outside SuccessOrExit macro * Bind local Context reference to avoid unchecked-optional-access warnings * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * review feedback * review feedback --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…sh instead of Ember RAM (#74614) * [Code-driven clusters] Store ZAP-configured attribute defaults in flash instead of Ember RAM * Address review feedback: add ICD instruction unit test and update comments * Address review feedback: include <algorithm>, static_assert test buffer length, remove orphan chef .matter * Move remaining code-driven cluster attributes out of Ember RAM * Complete code-driven cluster attribute migration to external/keepDefault storage * Move ClusterRevision/FeatureMap to external storage for ConcentrationMeasurement, ElectricalEnergyMeasurement, and ThreadNetworkDirectory * Restyle * zap regen --------- Co-authored-by: Andrei Litvin <andreilitvin@google.com>
…73566) * adds simulate_dsls_transitions script arg, updates 3.1 and 3.2 * address pr comment
…bot) Bumps [restyled-io/actions/setup](https://github.com/restyled-io/actions) from 4.4.29 to 4.4.32. - [Release notes](https://github.com/restyled-io/actions/releases) - [Commits](restyled-io/actions@8467a40...ab22a07) --- updated-dependencies: - dependency-name: restyled-io/actions/setup dependency-version: 4.4.32 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
… (#74680) * feat(esp32-zephyr): add thread support to lighting app - Add overlay-thread.conf for a thread-only build on ESP32-C6 - Init OpenThread stack and register the Thread network commissioning driver - Move Wi-Fi buffer counts into Kconfig.defaults under WIFI_ESP32 - Set NET_CONFIG_INIT_TIMEOUT=0 to avoid a 30 s boot stall - Document thread build and ble-thread commissioning in README * Addressed review comments * Address review comments on esp32_zephyr Thread support - Fail at compile time if both CHIP_DEVICE_CONFIG_ENABLE_WIFI and CHIP_DEVICE_CONFIG_ENABLE_THREAD are set, since the Zephyr platform layer would then expect an initialized OpenThread instance that the app never creates. - Drop CONFIG_WIFI/CONFIG_WIFI_ESP32 from the C6 board config; CHIP_WIFI already selects them, so overlay-thread.conf only needs CONFIG_CHIP_WIFI=n to turn the Wi-Fi stack off. - Add the license header to overlay-thread.conf. - Cover the esp32_zephyr example under the esp32 platform maintainers
…73700) * thermostat: port Matter Schedule Configuration (MSCH) onto the multi-delegate cluster split Re-implements the Schedules feature (ScheduleTypes, NumberOfSchedules, NumberOfScheduleTransitions, NumberOfScheduleTransitionPerDay, ActiveScheduleHandle, Schedules, SetActiveScheduleRequest) as a ThermostatSchedules feature class following the same pattern as ThermostatPresets, now that #73355 split the monolithic ThermostatCluster into per-feature delegate classes. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * thermostat: fix Copilot review findings on Schedules delegate/mock - ThermostatSchedulesDelegate::GetActiveScheduleHandle now validates the caller-provided Nullable<MutableByteSpan> is non-null and large enough before dereferencing it, instead of assuming it always is. - MockSchedulesDelegate::SetActiveScheduleHandle now returns the injected error before mutating any state, instead of after. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * thermostat: fix CodeRabbit review findings on Schedules precommit and tests - MatchingPendingScheduleExists now returns the delegate's CHIP_ERROR separately from the found/not-found result instead of swallowing it as 'not found'. PrecommitSchedules propagates that error as InvalidInState instead of silently letting the atomic commit proceed. - TestScheduleStructWithOwnedMembers: guard GetScheduleHandle().Value() calls with ASSERT_FALSE(...IsNull()) instead of EXPECT_FALSE or no guard at all, so a real regression fails the assertion instead of aborting the test binary. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * thermostat: remove unused Accessors.h include from ThermostatClusterSchedules.cpp Per CodeRabbit nitpick: the file only uses mDelegate, never any symbol from Accessors.h. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * thermostat: raise test coverage on the Schedules feature Adds 17 cluster-level tests (TestThermostatClusterSchedules.cpp) and 2 struct-level tests (TestScheduleStructWithOwnedMembers.cpp) targeting branches the existing suite didn't reach: ScheduleTypes/pending-list reads, Busy on a concurrent writer, the AppendItem list-writing pattern, the remaining AppendPendingSchedule constraint checks (oversized preset handles, the owned-storage transition hard cap, an unknown SystemMode, a built-in flag on a new schedule, an unsupported SystemMode), the ActiveScheduleHandle-not-in-pending precommit failure, delegate-error propagation from SetActiveScheduleRequest/CommitWrite, the no-per-day-limit-configured path, and (via new MockSchedulesDelegate fault-injection knobs) delegate lookup failures mid-loop in PrecommitSchedules and AppendPendingSchedule -- including the MatchingPendingScheduleExists error-propagation path fixed in a prior commit on this branch. Also removes ThermostatSchedules::GetDelegate(), which (unlike its Presets counterpart, used by ThermostatSuggestions) had no caller. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * thermostat: avoid schedule handle collision with built-in schedules in example delegate ThermostatSchedulesDelegate::AppendToPendingScheduleList assigned new (null-handle) schedules a handle derived from SystemMode, the same scheme InitializeSchedules() uses to seed the built-in schedule's handle. Since PrecommitSchedules matches schedules by handle only, a client could submit a new, non-built-in schedule with the same SystemMode as the built-in one and have it silently take over the built-in schedule's handle -- passing the 'built-in schedules cannot be removed' check while actually replacing it. Assign auto-generated handles from a monotonically increasing counter that starts above any valid SystemModeEnum value instead, so it can never collide with a SystemMode-derived built-in handle. Reported-by: Copilot (PR review) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * thermostat: propagate delegate errors from schedule lookup helpers instead of treating them as not-found * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Update ThermostatClusterSchedules.h * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * thermostat: fix remaining review findings on Schedules name-support lookup Distinguish a genuine delegate error from an unsupported system mode when checking whether a schedule type supports names: ScheduleTypeSupportsNames() now returns a CHIP_ERROR alongside the bool result, so AppendPendingSchedule reports InvalidInState on delegate failure instead of misclassifying it as ConstraintError (matching how MaximumScheduleTypeCount() already handles this). Also clarify the WriteAttribute log message: schedules are writable during an open atomic write, so the previous "not editable" wording was misleading for the case it actually covers (writes outside of an atomic write). Adds a test that exercises the new delegate-error-on-second-scan path via a call-count-gated error injection on the schedule type mock. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: Ludovic BOUÉ <938089+lboue@users.noreply.github.com> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Hasty Granbery <granbery@google.com>
…g the feature-owned cluster (#74691) * rework feature * Handle missing factory data in AppTaskBase Log an error when factory data is requested but not provided. Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * attributes based approach * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Add comment for double mOTARequestorAttributes * third approach * cleanup diff * add silabs apptask * add a using * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…cript are available (#74748) * Delete src/app/tests/suites/certification/Test_TC_SU_2_5.yaml * Delete src/app/tests/suites/certification/Test_TC_SU_2_7.yaml
* Modify group management test cases for endpoint updates Updated test steps to reflect changes in endpoint IDs and command parameters for group management operations. * Fix indentation for label in Test_TC_G_2_3.yaml * Fix formatting in Test_TC_G_2_3.yaml * Restyled by whitespace * Restyled by prettier-yaml * fixing the restyle patch * Delete pr-74664-restyled.zip * Delete pr-74664-restyled.patch --------- Co-authored-by: Restyled.io <commits@restyled.io> Co-authored-by: Kishok G <133193761+KishokG@users.noreply.github.com>
* Add PERSIST_FAIL_REJECT and PERSIST_FAIL_ACCEPT status codes * Add codes to ERROR_CODES.md * Generated ERROR_CODES.md
* Change waterValve config * Remove delegate as a parent * Implement LoggingWaterValve * Fix build files * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Remove API duplications * Switch to LoggingWaterValve * Minor Tweaks * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* Changed WHM constructor parameter from Feature to Bitmask * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Split out of #73565 at review: the step tag removal and marker fixes land here, and #73565 keeps the setup_class precondition. The device-requirement marker declares each test's DUT state, and the TH classifies tests by it (project-chip/certification-tool-backend#399), so drop the redundant step-1 is_commissioning=True from MatterTestCommissionedDevice tests. BasicCompositionTests-based tests have no marker and keep the flag. TH builds without #399 still classify by the flag, so this needs a TH that includes it. Also fix markers the TH now relies on: TC_WEBRTCR_2_1-2_7 are MatterTestCommissioner (the DUT is the commissioner and never joins the TH fabric), and TestCreateNewController is CertificationUnitTestNoDevice.
* fix a typo in attribute-storage.h * Update src/app/util/attribute-storage.h Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
… (#74805) * [AI Agents] Add comment and technical writing guidelines to AGENTS.md * Add final-code lens and delete-on-sight comment rules * Add tradeoff and tradeoffs to spellcheck wordlist
sarthak shaha (Sarthak-Shaha)
approved these changes
Oct 16, 2026
* initial progress * first increase-decrease commands * adds get_last_attribute_report_value function * draft 1 * draft 2 * updates descriptions and comments * restyled * fixes verify_step_attribute_values fn * add logging to write_setting * fixes feature support logic * adds test steps * restyled * restyled * lint * update scenarios * updates CI args * fix merge * fix merge * lint * updates step class * restyled * refactors steps, fns * restyled * update fn name * fix typo * adds another test scenario * update progress per pr comments * implement baseline value checks * adds case * adds cases * verifies 1st 4 scenarios * adds wrapping tests * refactors and splits lowestOff vs wrap tests * adds baseline values verifications * adds cluster_guard to matter testing support * adds command to turn fan on if on-off cluster if part of the dut * removes test off command * removes unused imports and functions * updates function signatures, return types, and descriptions * removes redundant descriptions * restyled checkpoint * restyled * lint * refactor for better test step flow * refactor for better test step flow * restyled * cosmetics * adds current values checks * restyled * restyled * lint * lint * implemented lowestOff testing for current values * checkpoint * current and non-current attribute testing * implements test steps * adjust comments * restyyled * restyled * update * restyled * restyled * restyled * cleanup * adds endpoint 1 to CI args * removes await_all_final_values_reported_threshold fn * adds get_attribute_value_from_queue * restyled * restyled * restyled * Update src/python_testing/TC_FAN_3_5.py Co-authored-by: C Freeman <cecille@google.com> * Update src/python_testing/TC_FAN_3_5.py Co-authored-by: C Freeman <cecille@google.com> * Update src/python_testing/TC_FAN_3_5.py Co-authored-by: C Freeman <cecille@google.com> * fix merge/imports * restyled * address pr comments * rename to lowest_off_field_conditions_test * removes reduntant lines * removes commented line * restyled * removes initialize_percent_setting * lowest_off_field_conditions_test adds clarifying comment on * updates cluster_guard docstring * Update src/python_testing/TC_FAN_3_5.py Co-authored-by: C Freeman <cecille@google.com> * mypy * test formatting * Restyled by autopep8 * updates test steps * format test * updating test steps progress * Restyled by autopep8 * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * swaps cluster_guard for cluster_present * step wording updated * cr * cr * fix imports, adds all_of fn and unit test * cr * cr * fix step numbers * fix logging * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * lint * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * updates copyright year * lint * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * removes temp file * Remove accidentally committed test artifacts * Revert accidental third_party submodule changes * updated to not assume 100% * pr comment * gate subs * spelling * updates script * fix test step text * TC-FAN-3.5 - Rename the script to TC_FAN_3_5_provisional so it does not replace TC-FAN-3.5 in the Test Harness * TC-FAN-3.5 - Rename the test class and methods to TC_FAN_3_5_provisional --------- Co-authored-by: C Freeman <cecille@google.com> Co-authored-by: Restyled.io <commits@restyled.io> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…-4.x tests (#74069) * refactor * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * misspell * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * update to include 4.6/4.7 * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Use the shared PTR and SRV discovery helpers in TC-SC-4.1 --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…moteZones (#73101) (#74775) * [ZoneManagement] Add Python certification test TC_ZONEMGMT_2_5 for RemoteZones (#73101) - Implement TC-ZONEMGMT-2.5 in src/python_testing/TC_ZONEMGMT_2_5.py covering all 7 test plan steps for the RemoteZones feature (ZONEMGMT.S.F04). - Configure CI test runner arguments for CAMERA_APP with --camera-remote-analysis and --app-pipe. - Verify CreateTwoDCartesianZone with Remote_NodeId/Remote_EndpointId, ConstraintError rejection when NodeId is absent or invalid, ZoneTriggered event NodeId/EndpointId fields, UpdateTwoDCartesianZone with updated NodeId/EndpointId, and RemoveZone cleanup. Fixes #73101 * Address CodeRabbit review: filter ZoneTriggered events by zoneID_Remote
…mutation (#74693) - Implement SoilSensorAccessor to handle SetAttribute actions for SoilMoistureMeasuredValue and MeasuredValue (Temperature), taking SoilSensor directly. - Add GetSoilMoistureMeasuredValue getter to SoilMeasurementCluster. - Update IncreasingMoistureSoilSensor to read and advance cluster values directly rather than duplicating state in private members, name simulation constants with units, and safely wrap on limit overflow. - Register SoilSensorAccessor via OOBAccessors and OOBAccessorHook. - Fix IncreasingMoistureSoilSensor to rollback registration if the timer fails to start, and correct temperature range configuration to 0.01°C units (-1000 to 5000). - Add unit test suite TestSoilSensorAccessor covering initial values, moisture writes (value, null transition, and constraint check), temperature writes (value, null transition, and constraint check), unsupported cluster/attribute rejection, simulation progression from OOB state, and invalid action/endpoint validation.
…t (#73922) * Fix TC-BR-4 Test Fail * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * Fix form comment * Fix from comments -2 * Fix Register Verify code * Fix from comment * Add nullable to min/max (they are nullable in zap) * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * Another fix: also mark no default value so we are not 0 * Remove nonsense comments ... the attribute name is right there, the comment stating attribute name again is of 0 help * Feature map is not nullable. fix --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: Andrei Litvin <andy314@gmail.com>
…merged by platform-bot) (#74116) * reset CD write offset per download in nrfconnect OTA processor * skip persisting the CD on a failed nrfconnect OTA download
silabs-matter-ci-bot
Bot
force-pushed
the
automation/update_main
branch
from
October 17, 2026 00:41
ebf627f to
f0c0615
Compare
The JF Administrator port was drawn from 5001-5999, which includes CHIP_UDC_PORT (5550) and the jf-control-app's per-fabric UDC listen ports. When it landed on one of those, PASE requests from the JF Controller went to a UDC listener instead of the JF Administrator, and setup_class timed out waiting for anchor commissioning. get_random_port() picks from 35000-45000 and checks the port is free, matching the other JF tests. TH2 now uses it too. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
all-clusters-app is being retired, so run TC_SC_3_1, 3_2, 3_4, 3_6, 4_3 and 7_1 against all-devices-app (--device on-off-light:1) instead. These are root-node tests, and the all-devices runs execute every step the all-clusters runs did. TC_SC_4_3 keeps its LIT ICD run. TC_SC_4_1 keeps its all-clusters-app runs and gains all-devices-app runs for both the manual pairing code and the QR code. all-devices-app does not support OpenBasicCommissioningWindow, so steps 9 to 17 skip there. Part of #74797
Run TC_ACE_1_2 to TC_ACE_1_5 and TC_ACL_2_2, 2_4, 2_6 and 2_8 against all-devices-app (--device on-off-light:1) instead of all-clusters-app. TC_ACL_2_9 and TC_ACL_2_10 keep their all-clusters-app run and gain an all-devices-app run. all-devices-app has no Access Control Extension attribute, so it skips the Extension steps those tests cover. Part of #74797
…r locks in CHIPTool (#74793) * [Android] Support concurrent OTA/BDX transfers and background transfer locks in CHIPTool Rework BdxOTASender into a per-(fabric, node) session manager so the Android OTA provider can serve multiple BDX transfers concurrently, and extend the CHIPTool OTA provider screen to target multiple node IDs with per-device progress, foreground service execution, and transfer-scoped power and Wi-Fi locks: - Split per-transfer state into BdxOTASession managed by BdxOTASender in a (FabricIndex, NodeId) map, capped at 8 concurrent sessions (further QueryImage requests receive a Busy response with delayedActionTime, evicting the oldest unstarted reservation when all 8 slots are held by unstarted reservations). QueryImage failures for one node reset only that node's session and notify Java with the failing nodeId. - Detach finished sessions from the map immediately and destroy them on a subsequent event loop turn via a zero-delay cancellable timer so in-stack callers (PollForOutput, timer callbacks) never touch freed members. Route all termination paths (2-minute BDX Init timeout, transfer timeout, received or sent StatusReport, internal error, send failure, null-exchange abort, and provider shutdown) through an idempotent Finish(), while CancelForReplacement() silently cancels a superseded session when the same node re-queries after Java accepted its new QueryImage. - Pass requestor nodeId to OTAProviderDelegate.handleQueryImage and handleOTAQueryFailure via backward-compatible default interface methods so concurrent QueryImage requests attribute status and errors to the exact node without breaking 7-argument callers. - In CHIPTool OtaProviderClientFragment, support comma-separated target node IDs cached on the UI thread, per-node firmware BufferedInputStreams honoring BDX start offset and bytesToSkip, cached firmware file size, 4 Hz throttled per-node progress cards with per-node retry, and a single summary status banner. - Scope a non-reference-counted PARTIAL_WAKE_LOCK, WifiLock (WIFI_MODE_FULL_LOW_LATENCY on API 29+, WIFI_MODE_FULL_HIGH_PERF earlier), and OtaTransferService (connectedDevice foreground service updating its notification via NotificationManager.notify) to active BDX transfer node IDs, renewing a 10-minute safety timeout while blocks are served and releasing all locks on completion or fragment teardown. * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
silabs-matter-ci-bot
Bot
force-pushed
the
automation/update_main
branch
2 times, most recently
from
October 19, 2026 00:46
27fff5f to
3584c8c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR syncs the csa branch with the main branch.
PR MUST BE MERGED WITH MERGE COMMIT - ADMIN MUST ENABLE THE OPTION