Skip to content

feat: add recording indicator visibility and position settings#51

Merged
moinulmoin merged 3 commits intomoinulmoin:mainfrom
tomchapin:feature/recording-indicator
Jan 29, 2026
Merged

feat: add recording indicator visibility and position settings#51
moinulmoin merged 3 commits intomoinulmoin:mainfrom
tomchapin:feature/recording-indicator

Conversation

@tomchapin
Copy link
Copy Markdown
Contributor

Summary

  • Add dropdown to control recording indicator visibility: Never, Always, or When Recording
  • Add dropdown to configure indicator position: Top, Center, or Bottom of screen
  • Position dropdown is hidden when visibility is set to "never"
  • Indicator position updates immediately when changed

Implementation Details

  • New PillIndicatorMode and PillIndicatorPosition types
  • Migrates from legacy show_pill_indicator boolean setting
  • Optimistic UI updates for responsive dropdown behavior
  • Recreates pill window on position change for reliable repositioning
  • Comprehensive test coverage for both frontend and backend

Test plan

  • Frontend tests pass (137 tests)
  • Production build succeeds
  • Manual testing of indicator visibility modes
  • Manual testing of indicator position changes
  • Verified position updates immediately when pill is visible

🤖 Generated with Claude Code

tomchapin and others added 2 commits January 11, 2026 00:39
…ng options

Replace boolean show_pill_indicator toggle with a dropdown that provides three modes:
- Never: pill is always hidden
- Always: pill is shown on startup and stays visible
- When Recording: pill only appears during recording (default)

Windows 11 fixes:
- Move pill position above the taskbar to prevent overlay issues where the pill
  would lose focus when clicking the taskbar or system tray icon
- Add subtle outline (ring-1 ring-white/30) to improve pill visibility

Also fixes window management to properly handle orphaned/stale webview windows
by closing them before creating new ones and ensuring mutex guards are dropped
before async await points.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add a new dropdown setting to configure where the recording indicator
appears on screen: top, center, or bottom. Position dropdown is hidden
when indicator visibility is set to "never".

Implementation details:
- Add PillIndicatorPosition type and setting field
- Recreate pill window when position changes for immediate visual feedback
- Make settings updates truly optimistic to fix dropdown responsiveness
- Add fallback in get_pill_window for reliable window access
- Add unit tests for position calculation and mode migration logic
- Add frontend tests for RecordingPill and GeneralSettings indicator options

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add comprehensive logging throughout the pill visibility flow to help
diagnose issues with the recording indicator appearing/hiding:

- Log pill_indicator_mode resolution (stored vs legacy vs default)
- Log should_hide_pill decisions with caller location
- Log RecordingConfig pill settings when loaded
- Log start_recording pill visibility decisions
- Log mode changes in save_settings
- Log startup pill mode resolution

Also makes resolve_pill_indicator_mode pub(crate) for reuse.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@moinulmoin moinulmoin merged commit 0424aef into moinulmoin:main Jan 29, 2026
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.

2 participants