Files
Warp/apps/mobile/lib
tajniak81andClaude Opus 5.5 7d13d4fcfd Mobile: Simplified Sliding Sync (MSC4186)
The famedly SDK only knows /sync, but its sync loop asks Client.sync for
each response. WarpClient answers that with a sliding sync request and
rewrites the response into the /sync shape (slidingToSyncJson), so
decryption, the database, timelines and notifications work unchanged.

- Two lists, rooms and direct chats (with all their members, so DM names
  come out right), over a window that starts at the 20 most recent rooms
  for a quick first screen and widens to every room (up to 1000).
- The state the screens and encryption need, $LAZY members and $ME, and
  call memberships; timeline_limit 10, with prev_batch for history.
- Extensions: to_device (its since rides in the token), e2ee, account
  data, receipts, typing.
- Rooms the user left while the connection was open become leaves;
  invite_state and knock_state become invites and knocks.
- The SDK's token is ss1|<pos>|<to-device since>. A classic token, none, or
  M_UNKNOWN_POS starts a new connection; a server without
  org.matrix.simplified_msc3575 gets plain /sync.

Tested against Warp: first sync, encryption setup (account data and
oneShotSync through the connection), live messages, unread counts and
typing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-18 23:22:01 +02:00
..
2026-10-18 23:16:27 +02:00