Skip to content

Commit 0854203

Browse files
committed
docs: describe layout storage compatibility
1 parent f66bf4b commit 0854203

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

docs/protocol-compatibility.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
Switchify Remote is a protocol v1 client. It does not change the Bluetooth service, characteristic UUIDs, framed transport, desktop pairing records, or command schema.
44

5+
Custom button layouts are local presentation data in the separate `switchify.remote.layouts.v1` storage key. The versioned record contains only surface names, control IDs, columns, and cells. Existing preference and pairing keys remain readable without migration. Missing, malformed, oversized, unknown-version, or unrecognized-control layouts use the default presentation. Capability changes disable saved controls in place; layouts never store command payloads, text, or authentication material. Older app builds ignore the new key.
6+
57
The TypeScript compatibility suite carries the canonical authentication and pairing-code vectors from Switchify Android. Android requests the established 517-byte MTU, while both platforms adapt the inner frame payload so the encoded GATT value fits the negotiated ATT limit. Transport tests enforce the 160-byte maximum inner payload, 16 KiB message limit, 10-second partial timeout, duplicate and out-of-order handling, UTF-8 reassembly, response correlation, and sanitized failure behavior.
68

79
The active preview surface supports:

0 commit comments

Comments
 (0)