Skip to content

Search is only available in production builds. Try building and previewing the site to test it out locally.

Fera

Источник: dev/fera/fera/README.md (read-only; сгенерировано scripts/sync-docs.mjs)

An experimental Telegram client focused on ergonomics, speed, and lightweightness.

Native Rust, desktop-first, hot-swappable to the core: a thin launcher loads a signed core module, and every heavy subsystem (storage, search, media, UI engine) is a swappable native module behind a versioned C-ABI-stable trait contract.

Pre-code. This is the root repo of the the-fera org — it will hold the launcher binary, the core module (“module zero”), and the trust manifest machinery. Companion repos are pulled in as cargo git-dependencies (Rust-compiler-style repo tree):

  • fload — module runtime (nylon-ring fork: link-time pointer tables, QSBR/HP reclamation)
  • mikkaj — search engine (milli fork retargeted onto sanakirja)
  • grmrs — protocol layer (grammers fork: typestate client, secret chats, passkeys)
  • lattice — .lttc plugin container format (standalone project)
  • rstgcalls — tgcalls bindings for voice/video calls

Design rationale (ADRs, RFC, specs) lives in the private project-design repo.

Offline-first: local storage is the source of truth, the UI never reads from the network (outbox pattern for every outbound write). Micro-kernel: hundreds of small cdylibs (common.dll, X-types.dll, X.dll per ADR-020 granularity), loaded topologically, hot-swapped at runtime with epoch-based reclamation — only the core module updates require a restart. UI: Vello + Parley rendering with native text-input slots per platform. Two plugin tiers: trusted first-party native modules (signed TUF-like manifest) and sandboxed WASM plugins (Lattice containers, capability-gated, read-only by default).

Alpha development (no test builds yet). Release pipeline: closed alpha → closed beta → open beta → release. Teaser site goes live when closed beta starts.

TBD — decided before the first public release.