Files
OwnCord/Client
jevb 5d0af7c03e feat: sidebar stream preview + screenshare focus fix
- Add hover/focus preview for remote voice users' camera/screenshare
  streams in the voice channel sidebar. Preview reuses already-subscribed
  LiveKit tracks (zero bandwidth cost). Full-width 16:9 preview with
  neon border-glow treatment matching DESIGN.md.

- Fix screenshare focus bug: clicking a screensharing user now correctly
  focuses the screenshare tile (userId + SCREENSHARE_TILE_ID_OFFSET)
  instead of the camera tile.

- Extract SCREENSHARE_TILE_ID_OFFSET to shared lib/constants.ts (was
  duplicated in VideoModeController.ts and MainPage.ts).

- New lib/streamPreview.ts module: attachStreamPreview() with 300ms
  debounce, track renegotiation detection, autoplay failure handling,
  scroll collapse, keyboard accessibility (focusin/focusout), ARIA
  labels, and full AbortSignal cleanup.

- Placeholder shows "Join to preview" with click-to-join behavior.
  Live video preview is also clickable to watch the stream.

- 22 new tests (16 stream-preview + 6 channel-sidebar).
2026-03-30 19:12:36 +02:00
..