12 Commits

Author SHA1 Message Date
David Langley
0e535724cb feat(docs): LiveKit data channel transport for real-time delta sync
Replace per-keystroke Matrix timeline events with a LiveKit data
channel for real-time Automerge delta delivery:

- Add livekit-client dependency
- New useDocumentRTC hook:
  - Calls client._unstable_getRTCTransports() to get SFU URL
  - Exchanges Matrix OpenID token with SFU (/sfu/get) for LiveKit JWT
  - Connects to LiveKit room in data-only mode (autoSubscribe: false)
  - Exposes publishDelta(bytes) and onDeltaRef callback
  - Falls back gracefully if no LiveKit transport configured
- DocumentView wiring:
  - useDocumentSync now accepts optional rtc transport
  - When LiveKit connected: send deltas via data channel (50ms debounce)
  - When LiveKit not available: fall back to Matrix timeline events (500ms)
  - Matrix event listener disabled when LiveKit is connected
  - Snapshots still go via Matrix state events (every 20 deltas + on close)
  - __docDebug() now shows rtcConnected status

Benefits: no homeserver rate limiting on deltas, ~50ms latency vs
~500ms+sync, no delta events cluttering the room timeline.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-04 22:08:29 +00:00
renovate[bot]
2c9f55cbea
Update npm non-major dependencies (#32702)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 18:19:50 +00:00
renovate[bot]
b6dbe1c259
Update pnpm to v10.30.3 (#32703)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 17:52:55 +00:00
renovate[bot]
e19e338aa9
Update dependency @sentry/webpack-plugin to v5 (#32704)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 17:41:57 +00:00
renovate[bot]
3f69aec64a
Update dependency css-minimizer-webpack-plugin to v8 (#32706)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 17:41:05 +00:00
renovate[bot]
e439d6adc1
Update eslint-plugins (#32701)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 16:51:43 +00:00
renovate[bot]
580949038c
Update dependency copy-webpack-plugin to v14 (#32705)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-03-03 14:41:05 +00:00
Michael Telatynski
0a308743b8
Rewrite copy-res i18n build as a webpack plugin (#32664)
* Replace copy-res with a webpack plugin

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Specify writeToDisk=true for webpack-dev-server

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

* Use async fs methods

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>

---------

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-27 13:00:25 +00:00
Michael Telatynski
8b61b89ee7
Consolidate prettier on monorepo root
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-24 21:27:03 +00:00
Michael Telatynski
b8509d249b
Fixup paths
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-24 21:27:03 +00:00
Michael Telatynski
848f664fc3
Create root package.json
and clean up apps/web/package.json

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-24 15:46:47 +00:00
Michael Telatynski
91a3cb03c1
mv element.io @types __mocks__/ debian docker module_system/ playwright res src test webapp Dockerfile .dockerignore .eslintignore .stylelintrc.cjs babel.config.cjs recorder-worklet-loader.cjs .modernizr.json components.json config.json config.sample.json package.json project.json tsconfig.json tsconfig.module_system.json jest.config.ts playwright.config.ts webpack.config.ts build_config.sample.yaml apps/web/
mkdir apps/web/scripts
mv scripts/{cleanup.sh,ci_package.sh,copy-res.ts,deploy.py,package.sh} apps/web/scripts

And a couple of gitignore tweaks

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2026-02-24 15:43:58 +00:00