Skip to content

Polish for launch: silent session, debounce, ghost text#51

Merged
andreahlert merged 3 commits intomainfrom
feat/polish-for-launch
Mar 26, 2026
Merged

Polish for launch: silent session, debounce, ghost text#51
andreahlert merged 3 commits intomainfrom
feat/polish-for-launch

Conversation

@andreahlert
Copy link
Copy Markdown
Contributor

Summary

Three fixes to make Tabra ready for public launch:

  1. Silent session: no logs or daemon status in terminal output
  2. Debounce (30ms): no popup re-render during fast typing, only after pause
  3. Inline ghost text: first suggestion in dim gray after cursor, ArrowRight to accept

Test plan

  • tabra session starts with clean prompt (no INFO logs)
  • Fast typing doesn't cause flicker (popup only appears after 30ms pause)
  • Ghost text appears after cursor in gray
  • ArrowRight accepts ghost text
  • CI green

1. Silent session mode:
   - Default log level is warn (no visible INFO logs)
   - Daemon check uses is_daemon_running() (no stdout output)
   - Clean startup: no logs, no status prints

2. Debounce popup rendering (30ms):
   - CommandLine OSC events are buffered via mpsc channel
   - Only the latest event is processed after 30ms of quiet
   - Fast typing produces zero re-renders until typing stops
   - Significantly reduces flicker during character-by-character input

3. Inline ghost text:
   - First suggestion appears as dim gray text after the cursor
   - ArrowRight accepts the ghost text (types it into the shell)
   - Ghost text is cleared on any keystroke
   - Re-rendered after debounce with fresh suggestion

Signed-off-by: André Ahlert <andre@aex.partners>
Signed-off-by: André Ahlert <andre@aex.partners>
Signed-off-by: André Ahlert <andre@aex.partners>
@andreahlert andreahlert merged commit 009176b into main Mar 26, 2026
5 checks passed
@andreahlert andreahlert deleted the feat/polish-for-launch branch March 26, 2026 08:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant