Repository navigation
Commit 26435f0
Sync csa branch with main (#1262)
* [Darwin] Send delegate interested paths in XPC registration info (#74421)
Registration info from an XPC-backed MTRDevice carries node IDs only, so a
server reports every path of every registered node across the connection,
whatever the client's delegates asked for.
Each node's registration entry carries the union of its delegates'
interested attribute and event paths, plus the paths of pending
attribute-value waiters, sorted so the entry does not depend on delegate
order, and is re-sent when that union changes. A delegate with nil
interested paths omits the key, which means every path.
The paths go on the wire as property-list values: an endpoint ID as an
NSNumber, and a cluster, attribute or event path as a dictionary of
NSNumbers under the keys declared in MTRXPCServerProtocol.h. A server that
exports the plain MTRXPCServerProtocol interface allows only property-list
classes for that argument, and NSXPC drops a message holding any other
class, so path objects in the dictionary would cost such a server every
node's registration. darwin-framework-tool's server decodes the keys and
logs them.
The union holds only the element types local delegate filtering
recognizes: endpoint IDs, cluster paths, and attribute paths (attributes)
or event paths (events). Any other cluster path, such as an event path
among attribute paths, becomes its cluster path; anything else matches no
report and is left out.
A waiter records, under the device lock, whether it is still registered
with the device, and only removing a registered waiter re-sends. A waiter
released without -cancel has already left the weak table by the time its
-dealloc runs, so the flag is what lets that removal still re-send, while
a repeated -cancel or the -dealloc of a satisfied waiter sends nothing.
-invalidate re-sends when it cancels pending waiters.
Delegates are held weakly, and a delegate released without
-removeDelegate: is only pruned when the device next iterates its
delegates. A prune during that iteration now counts as a change, so the
stale paths leave the registration on the next report for the node.
* [TC-IDM-2.1] Log have been updated as per latest sample app response, IDM-2.2 removal as it's been converted to python (#41165)
* Update Test_TC_IDM_2_2.yaml to match the test plan and manual verification steps
* Update Test_TC_IDM_2_1.yaml
* Update Test_TC_IDM_2_2.yaml
* Update Test_TC_IDM_2_2.yaml
* Update Test_TC_IDM_2_2.yaml
* Restyled by whitespace
* Delete src/app/tests/suites/certification/Test_TC_IDM_2_2.yaml
---------
Co-authored-by: Restyled.io <commits@restyled.io>
* [Silabs] Configure Closure Dimension conformance per panel endpoint (#74158)
* Add ClusterInitParameters and ClusterConformance as a configurable from ClosureManager
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Fixed the if block
* Added more verbose name
* Add default resolution and step value constants
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
* [Silabs] Remove duplicate chip_openthread_ftd override from all-devices-app args.gni (Auto-merged by platform-bot) (#74638)
* [Silabs] Remove duplicate chip_openthread_ftd override from all-devices-app args.gni
args.gni takes precedence over openthread.gn, so Silabs all-devices-app
always compiled with chip_openthread_ftd = true.
Remove the override from args.gni and set the default in .gn and
openthread.gn, matching other Silabs examples.
* Drop optimize_debug_level override from Silabs all-devices-app GN dotfiles
* [PAVST] Align TC_PAVST_2_15 steps with updated test plan PR #6376 (#74657)
* [PAVST] Align TC_PAVST_2_15 steps with updated test plan PR #6376
* [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>
* Use native arm64 zap on Apple Silicon Macs (#74663)
Pull #26747 forced Apple Silicon Macs to download the mac-amd64 zap package
because the arm64 build had been pulled at the time. That is no
longer the case: experimental/matter/zap/mac-arm64 is published to CIPD
for the pinned version (v2026.09.09.2).
Running the x86_64 zap-cli requires Rosetta, which macOS does not
install by default. Apple also states that Rosetta will only be
available as a general-purpose tool through macOS 27, after which only
a gaming-focused subset will remain:
https://developer.apple.com/documentation/apple-silicon/about-the-rosetta-translation-environment
* [Silabs] MATTER-5943: Implement common file for CRTP documentation (#73446)
* [SL-UP] [SL-ONLY] MATTER-5943: Implement common file for CRTP documentation (#1085)
implement common doc
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* fix misspell ci
* [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>
* [all-devices-app] Extract CodeDrivenDataModelDevices from posix/main.cpp (#74610)
* [all-devices-app] Extract CodeDrivenDataModelDevices from posix/main.cpp
Move CodeDrivenDataModelDevices and PosixDeviceFactory out of the anonymous namespace in examples/all-devices-app/posix/main.cpp into include/CodeDrivenDataModelDevices.h and CodeDrivenDataModelDevices.cpp, decouple CodeDrivenDataModelDevices from AppOptions singleton state, and expose a reusable code-driven-data-model-devices source_set target in examples/all-devices-app/posix/BUILD.gn.
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Validate testEventTriggerDelegate is non-null in CodeDrivenDataModelDevices::Startup
* Fix gn check dependencies for code-driven-data-model-devices
* review feedback
---------
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Andrei Litvin <andy314@gmail.com>
* Confine push_av_server WorkingDirectory.path() to the working directory (#74543)
* Confine push_av_server WorkingDirectory.path() to the working directory
path() joined caller-supplied segments with a bare os.path.join and no
confinement, so an absolute segment or ".." resolved outside the intended
stream directory. Neutralize absolute segments and reject any result that
resolves outside the working directory. All file routes and mkdir() funnel
through path(), so the single guard covers read, upload, ffprobe, and
certificate routes.
Add test/test_working_directory_path.py pinning that resolved paths stay
within the working directory for relative, absolute, and ".." segments.
* Reject absolute and parent-traversal segments in path()
A root-only containment check still let a ".." segment cross from the
prefix directory into a sibling under the same root (e.g. streams/<id>
reaching certs/). Reject absolute segments and ".." components before
resolution, keeping the resolved-root check for symlink escapes. Extend
the tests to cover sibling traversal and use a tmp_path fixture.
* Reject drive-anchored path segments
os.path.isabs treats a Windows drive-relative segment ("C:foo") as
relative, but Path(*paths) would discard the fixed prefix on Windows.
Check each segment under both path flavours and reject any that carries
an anchor or drive. Add a host-independent regression case.
* Reject all anchored segments via anchor; harden tests
A Windows rooted-relative segment ("\foo") is neither absolute nor
drive-qualified, so the .drive check missed it. Check PurePosixPath and
PureWindowsPath anchor instead, covering absolute, drive-relative and
rooted-relative forms. Tests now assert containment with is_relative_to
(not string prefix) and add rooted-relative and symlink-escape cases.
* [CameraApp] Fix BufferSink memory leak in DefaultMediaController (#74296)
* [CameraApp] Fix BufferSink memory leak in DefaultMediaController
- Store BufferSink instances as std::unique_ptr<BufferSink> in mSinkMap
and declare mSinkMap before mPreRollBuffer so sinks outlive the buffer.
- Deregister remaining transports from mPreRollBuffer and clear mSinkMap
in ~DefaultMediaController() on shutdown.
- Clean up any existing BufferSink and Connection entry before overwriting
if RegisterTransport() is called again for an already-registered transport.
* [CameraApp] Synchronize all mSinkMap accesses with mConnectionsMutex
* [CameraApp] Extract UnregisterTransportLocked with thread-safety annotations
* Add Doorbell device type to all-devices app. (#74027)
* Add build files
* Remove Chime server
* Override Client clusters method
* Add Bindings cluster
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* address PR comments
* try to fix compilation errors
* PR fixes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Code cleanup and missing build reference
* Add identify delegate and switch configuration
* Add NamedPipe implementation
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Add changes to OOB implementation for Doorbell
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Restyled by gn
* Add PR changes
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Add simulated Doorbell and remove direct switch pipe
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Update docs and add events to simulated doorbell
* Remove Release event since it is not explicitly supported
* Remove SimulatedDoorbell and arrange OOB handler
* Remove SetPosition from Doorbell
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Address PR comments
* [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
* Add PR sugestions
* [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>
Co-authored-by: Restyled.io <commits@restyled.io>
---------
Co-authored-by: Justin Wood <woody@apple.com>
Co-authored-by: Kishok G <133193761+KishokG@users.noreply.github.com>
Co-authored-by: Restyled.io <commits@restyled.io>
Co-authored-by: Pervin Korino Dasan A <pe1@silabs.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Andrei Litvin <andy314@gmail.com>
Co-authored-by: Pradip De <pradipd@google.com>
Co-authored-by: pomeloy <45542782+pomeloy@users.noreply.github.com>
Co-authored-by: Michael Duggan <miduggan@silabs.com>
Co-authored-by: rob <rgoliver@google.com>
Co-authored-by: Amine Alami <43780877+Alami-Amine@users.noreply.github.com>
Co-authored-by: Daniel Nicoara <dnicoara@google.com>
Co-authored-by: Moises Terrones <moises.tersal@gmail.com>66 files changed
Lines changed: 2395 additions & 1440 deletions
File tree
- docs/platforms/silabs
- examples
- air-quality-sensor-app/silabs
- all-devices-app
- all-devices-common
- device-factory
- device/types/doorbell
- oob-accessors
- docs
- posix
- named_pipe
- tests
- translators
- silabs
- zephyr
- camera-app/linux
- include/media-controller
- src/media-controller
- closure-app
- closure-common
- include
- src
- linux
- silabs
- src
- darwin-framework-tool/commands/common/xpc
- evse-app/silabs
- light-switch-app/silabs
- lighting-app/silabs
- lock-app/silabs
- refrigerator-app/silabs
- thermostat/silabs
- scripts
- build
- build
- testdata
- setup
- src
- app/tests/suites/certification
- darwin/Framework
- CHIPTests
- TestHelpers
- CHIP
- XPC Protocol
- python_testing
- tools/push_av_server
- src
- test
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
13 | 14 | | |
14 | 15 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
11 | | - | |
12 | | - | |
13 | | - | |
14 | | - | |
15 | 10 | | |
16 | 11 | | |
17 | 12 | | |
| |||
63 | 58 | | |
64 | 59 | | |
65 | 60 | | |
66 | | - | |
67 | | - | |
68 | | - | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
73 | | - | |
74 | | - | |
75 | | - | |
76 | | - | |
77 | | - | |
78 | | - | |
79 | | - | |
80 | | - | |
81 | | - | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
89 | | - | |
90 | | - | |
91 | | - | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | | - | |
113 | | - | |
114 | | - | |
115 | | - | |
116 | | - | |
117 | | - | |
118 | | - | |
119 | | - | |
120 | | - | |
121 | | - | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
133 | | - | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
138 | | - | |
139 | | - | |
140 | | - | |
141 | | - | |
142 | | - | |
143 | | - | |
144 | | - | |
145 | | - | |
146 | | - | |
147 | | - | |
148 | | - | |
149 | | - | |
150 | | - | |
151 | | - | |
152 | | - | |
153 | | - | |
154 | | - | |
155 | | - | |
156 | | - | |
157 | | - | |
158 | | - | |
159 | | - | |
160 | | - | |
161 | | - | |
162 | | - | |
163 | | - | |
164 | | - | |
165 | | - | |
166 | | - | |
167 | | - | |
168 | | - | |
169 | | - | |
170 | | - | |
171 | | - | |
172 | | - | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
179 | | - | |
180 | | - | |
181 | | - | |
182 | | - | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
196 | | - | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
202 | | - | |
203 | | - | |
204 | | - | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
205 | 69 | | |
206 | 70 | | |
207 | 71 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
81 | 81 | | |
82 | 82 | | |
83 | 83 | | |
| 84 | + | |
84 | 85 | | |
85 | 86 | | |
86 | 87 | | |
| |||
131 | 132 | | |
132 | 133 | | |
133 | 134 | | |
134 | | - | |
| 135 | + | |
135 | 136 | | |
136 | 137 | | |
137 | 138 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
48 | 48 | | |
49 | 49 | | |
50 | 50 | | |
| 51 | + | |
51 | 52 | | |
52 | 53 | | |
53 | 54 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
| 41 | + | |
41 | 42 | | |
42 | 43 | | |
43 | 44 | | |
| |||
530 | 531 | | |
531 | 532 | | |
532 | 533 | | |
| 534 | + | |
| 535 | + | |
| 536 | + | |
| 537 | + | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
533 | 547 | | |
534 | 548 | | |
535 | 549 | | |
| |||
0 commit comments