main
Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01As1S7fpDqEDnZxcGbSSoUW
felt-tray (Rust, Linux)
Felt on the Linux desktop: a tray icon (StatusNotifierItem - works under any panel/shell), the chat window
(the hosted Felt app in a web view, created on open and destroyed on close), and her voice for typed replies.
Replaces the Windows Python felt-tray (gone with Windows, 2026-10-14). Plan + decisions are in my private
notes.
- Identity: felt-core's machine host (
felt-api) with the tray's 2-hour Felt client cert - the vault renewer ([email protected], system) writesbundle.pem; we re-read it when it changes. The user running the tray must be intray-certs. No tokens. - Chat window:
window.feltTray.text_chat(message)is defined on the app's origin only (wry init script + IPC, origin-checked again on the Rust side); the window only browseswindow_hosts, other links open in the default browser. SSO cookie kept in$XDG_DATA_HOME/felt-tray/webview. - Voice out: WAV clips through
pw-play(PipeWire), streamed replies (WP-54) queued; a new line stops the old reply. - D-Bus API (
bus.rs):org.clockmost.Feltat/org/clockmost/Felt-ShowChat()+Status("checking" / "online" / "offline"). clockmost-shell's Felt chip uses it;tray_icon = falsethen hides the tray icon. Another shell: settray_icon = trueand nothing else changes. - Her alert lines (
notices,notify): polls felt-core every 5 s, pops what it says pops as desktop notifications (urgent = critical, sticky = stays), actions Details (opens the chat at#systems/<id>) and Handled. Position in$XDG_DATA_HOME/felt-tray/notices.json; after a restart at most 5 missed lines pop. - Not yet: push-to-talk (needs the GlobalShortcuts portal spike S3), the raw-ntfy fallback when felt-core is down, the overlay, desktop watchers.
Config: $XDG_CONFIG_HOME/felt-tray/config.toml (see config.example.toml), or FELT_TRAY_CONFIG.
Modules: config · core (felt-core client) · chat · audio · tray · bus · window · notices · notify. Checks: just check.
Description
Felt's Linux tray in Rust: StatusNotifierItem icon, chat web view, voice and mTLS client certs
83 KiB
0 Stars
1 Watchers
0 Forks
Languages
Rust
99%
Just
1%