Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
e9bdfd9
feat(general): add WS-proxy frame codec and message envelopes
Apollon77 Aug 7, 2026
32e23c2
refactor(general): ws-proxy errors extend NetworkError per net idiom
Apollon77 Aug 7, 2026
0400434
feat(general): add ProxyConnection WS-proxy framing core
Apollon77 Aug 7, 2026
a60ab99
fix(general): gate ProxyConnection receive path on closed state + ope…
Apollon77 Aug 7, 2026
651f206
feat(ws-ble): scaffold package and port BLE proxy protocol
Apollon77 Aug 7, 2026
1d82050
fix(ws-ble): declare @matter/testing devDependency and test project r…
Apollon77 Aug 7, 2026
bfcc592
feat(ws-ble): add BleProxyConnection hub-side wrapper
Apollon77 Aug 8, 2026
f15d3e9
feat(ws-ble): add BleProxyHandler hub with multi-client ownership
Apollon77 Aug 8, 2026
d14bfa9
test(ws-ble): prove hub observer isolation and rejected-accept cleanup
Apollon77 Aug 8, 2026
378cf0f
feat(ws-ble): port ProxyBle consumer stack with integration tests
Apollon77 Aug 8, 2026
2332e9f
fix(ws-ble): send Disconnect on channel close and harden scan/parse p…
Apollon77 Aug 8, 2026
506a339
feat(ws-ble): add noble reference proxy client and CLI under /noble-c…
Apollon77 Aug 8, 2026
7f762be
fix(ws-ble): harden noble client write serialization, lifecycle, and …
Apollon77 Aug 8, 2026
6b93fb3
docs(ws-ble): add package README, changelog entry, and framing securi…
Apollon77 Aug 9, 2026
aca0a89
fix(ws-ble): resume noble scanning only on hub intent; drop unused ws…
Apollon77 Aug 9, 2026
76a116e
refactor(general): rename ws-proxy exports to WsProxy* prefix
Apollon77 Aug 12, 2026
3f5c4c4
Merge branch 'main' into feat/ws-ble
Apollon77 Aug 12, 2026
cacb0ca
fix(ws-ble): address review findings on noble client and frame codec …
Apollon77 Aug 12, 2026
e18a589
Merge branch 'main' into feat/ws-ble
Apollon77 Aug 12, 2026
0bfd154
chore(ws-ble): drop checked-in LICENSE and redundant nodejs-ws devDep…
Apollon77 Aug 13, 2026
c424597
Merge branch 'main' into feat/ws-ble
Apollon77 Aug 14, 2026
6febc54
chore(ws-ble): apply oxfmt import order
Apollon77 Aug 14, 2026
b6643ad
Merge branch 'main' into feat/ws-ble
Apollon77 Aug 14, 2026
a882f12
Merge branch 'main' into feat/ws-ble
Apollon77 Aug 15, 2026
b724025
Merge branch 'main' into feat/ws-ble
Apollon77 Aug 24, 2026
3fefa77
Merge branch 'main' into feat/ws-ble
Apollon77 Aug 28, 2026
93114f8
Merge branch 'main' into feat/ws-ble
Apollon77 Aug 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ The main work (all changes without a GitHub username in brackets in the below li
- Fix: One unreadable record in an mDNS message no longer discards the whole message
- Enhancement: `Transaction.lock()` takes an exclusive lock on resources without a promise where they are free, and waits instead of throwing where another transaction holds them
- Breaking: `DnssdNames.Context.goodbyeProtectionWindow` and `DnssdNames.defaults.goodbyeProtectionWindow` are now `evictionDelay`, and `DnssdName.deleteRecord` no longer takes an `ifOlderThan` argument
- Feature: Added generic WebSocket proxy framing (`net/ws-proxy`: hello handshake, JSON command/event envelope, binary frame codec) shared by WS-based proxy protocols
- Enhancement: New `MatterAggregateError.settleSeries()` runs tasks in order, continuing past a failure, and reports the accumulated errors
- Enhancement: A storage driver states how long a consumer may buffer dirty values via `StorageDriver.writeCoalescingInterval`, defaulting to 20 minutes; `MemoryStorageDriver` reports `Instant`
- Enhancement: `Transaction.Participant` gains `settled()`, invoked once after every participant's pre-commit reports no further mutation and before any of them writes; throwing there rejects the commit, and writes and further participants are refused while it runs
Expand Down Expand Up @@ -261,6 +262,9 @@ The main work (all changes without a GitHub username in brackets in the below li
- Enhancement: `certTest()` accepts test-level `flavors`, skipping a test whose device cannot exist on the run's flavor before the device starts
- Enhancement: A cert test's controller commissions from a QR onboarding payload via `CommissioningTarget.qrPairingCode`, on both the matter.js and the chip-tool controller

- @matter/ws-ble
- Feature: Added as new package — BLE-over-WebSocket proxy (hub, `Ble` consumer stack, noble reference client and `matter-ble-proxy` CLI)

- @project-chip/matter.js
- Deprecation: Every class, type, and function of the legacy controller API is now marked deprecated and scheduled for removal in 0.19; use the `ServerNode.peers` / `ClientNode` API of `@matter/node` instead
- Feature: `CommissioningController` accepts `clientCacheFlushInterval` to override how long node state is buffered before it is written to storage
Expand Down
29 changes: 29 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
"packages/react-native",
"packages/cli-tool",
"packages/nodejs-ws",
"packages/ws-ble",
Comment thread
Apollon77 marked this conversation as resolved.
"examples/control-onoff",
"examples/controller",
"examples/controller-shared-fabric",
Expand Down
1 change: 1 addition & 0 deletions packages/general/src/net/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,4 @@ export * from "./ServerAddressSet.js";
export * from "./tcp/index.js";
export * from "./Transport.js";
export * from "./udp/index.js";
export * from "./ws-proxy/index.js";
Loading
Loading