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>
16 lines
536 B
JavaScript
16 lines
536 B
JavaScript
import * as esbuild from 'esbuild';
|
|
|
|
// Bundles the web proxy to one file, dist-proxy/proxy.mjs, that runs with plain Node.
|
|
await esbuild.build({
|
|
entryPoints: { proxy: 'server/main.ts' },
|
|
outdir: 'dist-proxy',
|
|
outExtension: { '.js': '.mjs' },
|
|
bundle: true,
|
|
platform: 'node',
|
|
format: 'esm',
|
|
target: 'node22',
|
|
// Bundled CommonJS dependencies still call require()
|
|
banner: { js: "import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);" },
|
|
logLevel: 'info'
|
|
});
|