Commit Graph
4 Commits
Author SHA1 Message Date
Jannis Braun 3f15a8e282 docs: add federation roadmap with batched execution plan
Comprehensive audit of the federation implementation identified:
- Solid data plumbing (multi-WS, origin routing, asset normalization)
- Missing on-ramps (can't join remote servers, no discovery, no UI indicators)
- 4 bugs (stale voice state, logout cleanup, reply-to normalization, HTTPS assumption)

Roadmap defines 6 batches for incremental execution:
- Batch 1: Bug fixes
- Batch 2: Password enforcement (same password across all instances)
- Batch 3: Cross-instance server joining (invite URL parsing, remote join routing)
- Batch 4: Phase 5 UI (instance grouping, badges, username collision display)
- Batch 5-6: Deferred (explore system, cross-instance friends)
2026-03-04 01:27:21 +01:00
Jannis Braun 617999500b feat: all-in-one production deployment with install script
Redesign deployment as a single docker-compose with Backspace, Caddy
(auto-HTTPS), and LiveKit (voice/video) using hybrid networking:
Backspace+Caddy on isolated bridge, LiveKit on host mode for WebRTC.

- Add install.sh: interactive installer that handles Docker setup,
  domain/DNS verification, secret generation, LiveKit config, and
  deployment with health-check wait
- Add Caddyfile: static reverse proxy config using Caddy env vars,
  routes /livekit/* to host-mode LiveKit via host.docker.internal
- Rewrite docker-compose.yml: all-in-one with profiles (voice),
  no external volumes/networks, bind mount ./data for visibility
- Fix livekit.ts: use LIVEKIT_URL env var directly instead of
  Host-header derivation that made the env var dead code
- Fix Dockerfile: health check reads $PORT dynamically
- Update .env.example: add DOMAIN, COMPOSE_PROFILES documentation
- Update .gitignore: add livekit.yaml (contains secrets)
2026-03-03 19:51:51 +01:00
Jannis Braun 176f4db27e chore: remove 62 tsc emit artifacts from src/, add noEmit to tsconfig
tsc was emitting compiled .js files directly into packages/web/src/
alongside the .tsx source files because noEmit was not set. These
artifacts were never used — Vite compiles from .tsx source directly.

- Add noEmit: true to packages/web/tsconfig.json (tsc = type-check only)
- Delete all 62 orphaned .js files from src/ (-6,129 lines)
- Add packages/web/src/**/*.js to .gitignore as safeguard
2026-02-23 00:54:51 +01:00
Jannis Braun 4fd17084a5 chore: Initial commit of Opencord base state 2026-02-18 02:49:21 +01:00