Add the browser version, a toolbar, description previews and hints

Browser version
- Self-hosted proxy (server/) that serves the web build and bridges WebSocket
  connections to Mumble servers over TLS, with a server allowlist or allow-any mode
- WebSocket transport and a browser platform layer; identities live in the browser
- npm run build:web, dev:web, proxy and test:e2e:web; proxy unit tests

Interface
- Toolbar next to mute and deafen: description editor, settings, expand or collapse all
- Channels with a description show a marker; resting on the row previews it
- Collapse all keeps channels with people open
- Hints (title tooltips) can be switched on in a new Accessibility settings tab
- New identities can set the username suggested when connecting
- Own user information tells the client address from the one the server sees

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-01 20:47:10 +02:00
co-authored by Claude Opus 5.5
parent 74aaf635be
commit 82972438fe
50 changed files with 1485 additions and 80 deletions
+7 -2
View File
@@ -9,7 +9,9 @@
"scripts": {
"dev": "node scripts/dev.mjs",
"build": "vite build && node scripts/build-electron.mjs",
"build:web": "vite build --mode web --outDir dist-web",
"build:web": "vite build --mode web --outDir dist-web && node scripts/build-proxy.mjs",
"dev:web": "node scripts/dev-web.mjs",
"proxy": "node server/main.ts",
"check": "svelte-check --tsconfig ./tsconfig.json",
"test": "node --test test/*.test.ts",
"dist": "npm run build && electron-builder",
@@ -17,6 +19,7 @@
"dist:win": "npm run build && electron-builder --win",
"dist:mac": "npm run build && electron-builder --mac",
"test:e2e": "node test/e2e/app.e2e.ts",
"test:e2e:web": "node test/e2e/web.e2e.ts",
"proto": "pbjs -t static-module -w es6 --keep-case --no-delimited --no-service --no-comments --force-number proto/Mumble.proto -o src/core/mumble-pb.js && pbjs -t static-module -w es6 --keep-case --no-delimited --no-service --no-comments --force-number proto/MumbleUDP.proto -o src/core/mumble-udp-pb.js",
"screenshots": "node test/e2e/screenshots.ts"
},
@@ -90,6 +93,7 @@
"@tsconfig/svelte": "^5.0.8",
"@types/node": "^26.6.3",
"@types/node-forge": "^1.3.14",
"@types/ws": "^8.18.2",
"electron": "^44.5.1",
"electron-builder": "^26.15.3",
"esbuild": "^0.28.2",
@@ -98,7 +102,8 @@
"svelte": "^5.57.1",
"svelte-check": "^4.7.6",
"typescript": "^6.0.3",
"vite": "^8.3.1"
"vite": "^8.3.1",
"ws": "^8.22.0"
},
"dependencies": {
"dompurify": "^3.4.16",