Commit Graph
15 Commits
Author SHA1 Message Date
kibiandClaude Opus 5.5 5d43b8e4ae Built-in Opus codec for browsers without one; cameras on by default with per-person hide
- libopus in WebAssembly takes over voice where WebCodecs audio is missing
  (Firefox on Android); tested for tone, timing and bitrate, and in a browser
  forced onto it
- Cameras in the channel show by themselves once the IP note was confirmed;
  a person's camera can be hidden from the right-click menu, all of them with
  one button; an enlarged camera leaves its tile
- CSP allows wasm-unsafe-eval for the codec

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 00:36:43 +02:00
kibiandClaude Opus 5.5 1e4bda4e74 Camera rounds: several people's cameras at once in the voice tiles
- A viewer holds one screen and any number of cameras; cameras play in the
  tiles (own one mirrored), a click enlarges one
- "Watch all cameras" joins the round: cameras in the channel are watched as
  they come on. Turning your own camera on joins it too
- Sound, statistics and stop work per stream
- Relay quotas and port range raised: a round uses a route per pair of people

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-02 00:14:22 +02:00
kibiandClaude Opus 5.5 819db06bc6 Camera sharing, and the proxy's relay for the desktop app
- A camera is a second source in the share dialog; streams carry their kind,
  so icons and wording follow. Browsers without screen capture (phones) start
  on the camera.
- Settings, Voice: the address of a mumh5 web version as relay; its STUN and
  relay are then offered with every stream and take over when no direct
  connection comes up.
- The proxy hands out relay credentials at GET /api/relay, readable from any
  origin.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 23:52:18 +02:00
kibiandClaude Opus 5.5 7d1ad5423f Voice tiles fill the stage exactly at every size
Rows of equal tiles with the column count chosen for the best 16:9 fit; a
shorter last row stretches. In the meeting view the strip shares the width.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 23:00:37 +02:00
kibiandClaude Opus 5.5 9832ba2749 Streams: long-press menu on touch screens, show connecting and failure over the picture
A stream counted as live as soon as its track was announced, before any route
existed, so a viewer whose connection never came up saw a black picture.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 22:52:16 +02:00
kibiandClaude Opus 5.5 950a1afad7 Stacked layout: drag the chat taller under a stream, never below its minimum
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 22:37:59 +02:00
kibiandClaude Opus 5.5 b5dda4e1c2 Add pop-out and full screen to the stream's right-click menu
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 22:35:52 +02:00
kibiandClaude Opus 5.5 5cc379417b Stacked layout: the chat keeps about five lines under a stream
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 22:31:35 +02:00
kibiandClaude Opus 5.5 68f68d1d76 Screen sharing: stats for nerds on right-click of the stream
Codecs, picture size and frame rate, bitrate, loss, jitter and the network
path, per viewer for the sharer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 22:28:41 +02:00
kibiandClaude Opus 5.5 a402d1c035 Streams open large by default; tiles never carry the picture
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 22:19:51 +02:00
kibiandClaude Opus 5.5 63d77c2bce Stacked layout stays stacked at any width and shows streams as a plain picture
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 22:17:35 +02:00
kibiandClaude Opus 5.5 9880ef840f Screen sharing: sounds for streams and viewers, viewer count as status
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 22:13:32 +02:00
kibiandClaude Opus 5.5 23833b1c8b Screen sharing: resizable tile stage, streams first, pop-out window
- The stage above the chat is as tall as the user drags it; tiles are sized to
  fill it, with a meeting-style look
- Tiles with a stream come first, at the top left
- The large picture can be moved to a separate window

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 22:09:34 +02:00
kibiandClaude Opus 5.5 3b23f69a5f Screen sharing: start dialog, sound, video tiles and a meeting view
- Start dialog with source list, live preview, sound and quality choices
- Sound on Linux through PipeWire: one program or everything except this
  app, fed into a virtual microphone and kept linked as programs come and go;
  system loopback on Windows; stereo Opus
- A sharer's tile shows the picture; clicking it opens a large view with the
  other tiles as a strip. Own stream is previewed in the own tile
- Stream volume for viewers, watch and stop from the profile panel
- Unit tests for the PipeWire link planner; the proxy test no longer writes to
  the root channel other tests listen in

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 21:19:29 +02:00
kibiandClaude Opus 5.5 0cce3c97c2 Add screen sharing between mumh5 users (picture only)
- Signals travel as Mumble plugin data (compressed, chunked under Murmur's
  1000 byte limit); the picture goes directly to each viewer over WebRTC
- Toolbar button with a source picker in the desktop app, an indicator next to
  people who share, click to watch, a view above the chat with full screen
- Late joiners learn about running streams; moving, stopping or disconnecting
  ends them for viewers
- A note about IP addresses before the first use, optional STUN server setting
- Unit tests for the signal codec and an E2E with two app instances

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 20:58:33 +02:00