Roadmap
Completed
-
Send and receive plain text messages (1:1 and group)
-
Receive file attachments (displayed as
[attachment: filename]) -
Typing indicators (receive and send)
-
SQLite-backed message persistence with WAL mode
-
Unread message counts with persistent read markers
-
Vim-style modal editing (Normal / Insert modes)
-
Responsive layout with auto-hiding sidebar
-
First-run setup wizard with QR device linking
-
TUI error screens instead of stderr crashes
-
Commands:
/join,/part,/quit,/sidebar,/help -
Load contacts and groups on startup (name resolution, groups in sidebar)
-
Echo outgoing messages from other devices via sync messages
-
Contact name resolution from address book
-
Sync request at startup to refresh data from primary device
-
Inline image preview for attachments (halfblock rendering)
-
New message notifications (terminal bell, per-type toggles, per-chat mute)
-
Command autocomplete with Tab completion
-
Settings overlay
-
Input history (Up/Down to recall previous messages)
-
Incognito mode (
--incognito) -
Demo mode (
--demo) -
Delivery/read receipt display (status symbols on outgoing messages)
-
Contact list overlay (
/contacts) -
Copy to clipboard (
y/Yin Normal mode) -
Full timestamp on scroll (status bar shows date+time of focused message)
-
Message reactions (emoji picker, badge display, full lifecycle with DB persistence)
-
@mention autocomplete (type
@in group or 1:1 chats) -
Visible message selection (focus highlight,
J/Kmessage-level navigation) -
Startup error handling (signal-cli stderr captured in TUI error screen)
-
Reply to specific messages (quote reply with
qkey) -
Edit own messages (
ekey, “(edited)” label, cross-device sync) -
Delete messages (
dkey, remote delete + local delete) -
Message search (
/search,n/Nnavigation) -
Send file attachments (
/attachcommand with file browser) -
/joinautocomplete (contacts and groups with Tab completion) -
Send typing indicators (auto-start/stop on keypress)
-
Send read receipts (automatic on conversation view, configurable)
-
System messages (missed calls, safety number changes, group updates, expiration timer)
-
Message action menu (Enter in Normal mode, contextual actions on focused message)
-
Text styling (bold, italic, strikethrough, monospace, spoiler rendering)
-
Display stickers (shown as
[Sticker: emoji]in chat) -
View-once messages (shown as
[View-once message]placeholder) -
Cross-device read sync (sync read state across linked devices)
-
Disappearing messages (honor timers, countdown display,
/disappearingcommand) -
Group management (
/groupcommand: view/add/remove members, rename, create, leave) -
Message requests (detect unknown senders, accept/delete with banner UI)
-
Block/unblock contacts (
/block,/unblockcommands) -
Mouse support (click sidebar, scroll messages, click input bar, overlay scroll)
-
Color themes (selectable themes via
/themeor/settings) -
Desktop notifications (OS-native via
notify-rust, configurable toggle) -
Link previews (URL preview cards with title, description, thumbnail)
-
Polls (create with
/poll, vote overlay, inline bar charts) -
Pinned messages (pin/unpin with
p, duration picker, banner display) -
Identity key verification (
/verifyoverlay with trust management) -
Profile editor (
/profileoverlay for Signal profile fields) -
About overlay (
/aboutcommand showing app info) -
Sidebar position setting (left or right placement)
-
Publish to crates.io (
cargo install siggy) -
Rename to siggy (auto-migration from signal-tui paths)
-
Forward messages (
fkey, filterable picker overlay) -
Scroll position memory per conversation
-
Multi-line message input (Alt+Enter / Shift+Enter for newlines)
-
Message history pagination (scroll-up to load older messages)
-
Configurable keybindings (profiles, in-app rebinding, TOML overrides)
Future
No planned features at this time. Have an idea? Open an issue.