An ephemeral, e2e encrypted, and RAM-only zero knowledge server chat room.
  • TypeScript 36.6%
  • Svelte 31.7%
  • Rust 24.3%
  • CSS 4.9%
  • Shell 1.8%
  • Other 0.7%
Find a file
microchipster b0a18733b4 performance
2026-04-14 05:47:10 -07:00
assistant/requests docs: add need_chat_page.txt documenting required chat UI wiring 2025-10-14 03:38:18 -07:00
backend fix localStorage for room list on mobile, improve room list controls 2026-04-06 14:02:45 -07:00
docs checkpoint 2026-04-14 00:12:10 -07:00
frontend performance 2026-04-14 05:47:10 -07:00
infra clean up 2025-10-10 15:31:43 -07:00
mk generalize 2026-03-24 15:16:09 -07:00
nginx redesign front page layout 2025-12-04 05:16:37 -08:00
.browserstack.yml browserstack 2025-09-19 15:37:34 -07:00
.flake8 error handling 2025-07-27 14:25:52 -07:00
.gitignore ignore 2025-11-30 14:39:36 -08:00
.nvmrc lint clean up 2026-04-01 04:23:24 -07:00
AGENTS.md updates 2025-11-03 11:04:17 -08:00
CONVENTIONS.md conventions 2025-10-31 00:46:39 -07:00
CRUSH.md fix buttons 2025-10-31 15:08:20 -07:00
Dockerfile lint overhault 2026-03-24 14:53:57 -07:00
FEATURES.md notes 2025-10-20 22:32:40 -07:00
ISSUES.md issues 2025-10-01 12:19:12 -07:00
new-todo.md fix localStorage for room list on mobile, improve room list controls 2026-04-06 14:02:45 -07:00
PROMPTS.md feat: improve offline caching with HOME_PATHS and deduped targets 2025-10-16 12:26:11 -07:00
README.md lint overhault 2026-03-24 14:53:57 -07:00
SECURITY.md security audit todo 2025-10-20 15:51:27 -07:00
todo-chat.md color overhaul 2026-01-03 15:47:29 -08:00
todo.md todos 2025-11-04 15:19:26 -08:00

Ephemeral chat

This app will host a simple ephemeral chat interface. Nothing is stored on the server, the whole app runs in RAM. Chats are not saved.

Rust server (Dockerized)

  • Build and run locally (foreground):
    • ./run 8000 1
  • Build and run mapped to a host port (daemon, then tail logs):
    • ./run 8000 0

The Rust version is pinned in backend/rust-toolchain.toml, and both the Docker scripts and the Dockerfile builder read that file so local lint/build/test containers stay on the same toolchain.

Manual local build (optional)

If you have Rust installed via rustup:

  • cargo build --release
  • Run: ./target/release/ephemeral-chat

Environment variables honored (defaults in parentheses):

  • EPHEMERAL_CHAT_DOMAIN ("localhost")
  • EPHEMERAL_API ("http://localhost:8000")
  • EPHEMERAL_CHAT_HOST_IP ("127.0.0.1")
  • JITSI_URL ("meet.jit.si")
  • MAX_SINGLE_UPLOAD_MB (50)
  • MAX_ATTACHMENT_BYTES_TOTAL_MB (512)
  • MAX_ATTACHMENTS_PER_ROOM (256)
  • ATTACH_RELAY_TTL_SECONDS (90)
  • DEFAULT_MSG_TTL_MINUTES (60)
  • DEFAULT_MAX_PEERS_CONNECTED (2)
  • RUST_LOG ("info,tower_http=info,axum=info")