Files
Toju/agents-docs/FEATURES.md
T
2026-07-14 00:41:05 +02:00

4.0 KiB

Feature Areas

This index represents the known feature areas in the system.

It must stay accurate as new features are introduced, renamed, merged, or removed.


Feature list (alphabetical)

  • App i18n@ngx-translate/core localization for the product client; English-only catalog today, same stack as the marketing website.
  • Attachments — P2P chunked file transfer over WebRTC data channels with Electron/Capacitor disk persistence.
  • Authentication — signaling-server session tokens, protected REST/WebSocket identity, and client bearer storage.
  • Custom Emoji — peer-synced user-created emoji assets, chat reaction shortcuts, and composer emoji insertion.
  • Desktop Local API — Electron localhost HTTP read API, auth proxy, and offline Docusaurus docs.
  • Direct Messaging — index entry; full contract in Messaging.
  • Game Activity — RAWG game matching, Electron process detection, and P2P now-playing sync.
  • Invites & Join Requests — invite links, HTML landing pages, and moderated join approval.
  • Klipy GIFs — server-proxied GIF search for chat and DM composers.
  • Link Preview & Media Proxy — SSRF-guarded link unfurling and image proxy on the signaling server.
  • Message Integrity — signed P2P message revision chains, inventory headHash convergence, and Ed25519 signing-key registration on the signaling server.
  • Messaging — server-channel chat, direct messages, inventory sync, and DM delivery state machine.
  • Mobile Capacitor — Capacitor native shell, mobile infrastructure facades, and phone-specific call/chat/media integrations.
  • Plugins — client plugin runtime, server metadata API, Electron plugin data, and P2P message bus.
  • Push Notifications — FCM/APNs device tokens on the server and Capacitor registration.
  • Server Directory — multi-endpoint catalog, REST CRUD/join/moderation, and room signal affinity.
  • Server Discovery — featured/trending public-server REST endpoints consumed by /dashboard and /servers.
  • Signaling — canonical WebSocket envelope catalog, ordering invariants, and relay rules.
  • Signal Server Tag — configurable signal-server display tag shown on profile cards for a user's registration server.
  • Voice & WebRTC — voice/camera/screen-share WebRTC with signaling relay and multi-device ownership.

The product client also documents its bounded contexts at toju-app/src/app/domains/<name>/README.md (Access Control, Attachment, Authentication, Chat, Custom Emoji, Direct Call, Direct Message, Experimental Media, Game Activity, Notifications, Plugins, Profile Avatar, Screen Share, Server Directory, Theme, Voice Connection, Voice Session). Those domain READMEs cover internal product-client behavior.

agents-docs/features/<slug>.md is for cross-context contracts and feature areas that span more than one subdomain — WebSocket envelopes, IPC channels, plugin manifests, end-to-end flows that touch client + server + Electron together. Add an entry here the first time you write one.


Rules for agents

  • Introducing a new feature area requires:
    • creating agents-docs/features/<feature>.md (use agents-docs/features/feature-template.md)
    • adding it to this list (alphabetical)
  • Renaming or merging features requires updating links and notes
  • If the change is fully contained inside one product-client domain, prefer updating toju-app/src/app/domains/<name>/README.md over adding a top-level feature doc
  • This file should remain concise and navigable