Skip to content

feat: Polished processing UI with floating tooltips and success feedback - #8

Merged
r3dbars merged 2 commits into
mainfrom
feature/floating-tooltips
Jan 4, 2026
Merged

r3dbars merged 2 commits into
mainfrom
feature/floating-tooltips

Conversation

@r3dbars

@r3dbars r3dbars commented Jan 3, 2026 •

Copy link
Copy Markdown
Owner

Summary

  • Custom floating tooltips for panel buttons (works with non-activating panels)
  • Polished processing state UI - always expanded (200x44), no more text truncation
  • Success feedback view - clear messaging when transcription completes
    • "Transcription saved" + "No action items found" for no-task completions
    • "X task(s) added" with animated checkmark for task completions
  • Bug fix - success view now properly displays (was being skipped due to immediate idle transition)

Changes

File Description
AuroraProcessingView.swift New - always-expanded processing view with progress-based aurora
AuroraSuccessView.swift Redesigned - 200x44 with clear text messaging
FloatingPanelController.swift Fixed state transition bug for success states
LawsComponents.swift Added FloatingTooltipModifier for custom tooltips

Test plan

  • Record a short clip and stop
  • Verify processing view shows full text (no truncation)
  • Verify success view appears with "Transcription saved" message
  • Hover over panel buttons to see floating tooltips (1s delay)

🤖 Generated with Claude Code

justinbetker and others added 2 commits January 3, 2026 11:18
- Add FloatingTooltipModifier for tooltips on non-activating panels
- Show tooltips after 1 second hover delay
- Add tooltips: Record, Transcripts, Stop, Tasks
- Configure NSInitialToolTipDelay for consistent timing
- Enable mouse moved events on floating panel window

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- AuroraProcessingView: Always expanded (200x44), no more collapsed state
  - Full status text always visible (no more truncation)
  - Progress-based aurora intensity (dim → normal → bright)
  - Warning text for long-running steps

- AuroraSuccessView: Expanded with clear messaging
  - Shows "Transcription saved" + "No action items found" for transcriptSaved
  - Shows "X task(s) added" for completed with tasks
  - Animated checkmark with spring bounce

- Fixed bug where success view never displayed
  - FloatingPanelController was immediately transitioning to idle
  - Now stays in processing state so success view can render

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@r3dbars r3dbars changed the title feat: Add custom floating tooltips to panel buttons feat: Polished processing UI with floating tooltips and success feedback Jan 4, 2026
@r3dbars
r3dbars merged commit 5c412e9 into main Jan 4, 2026
@r3dbars
r3dbars deleted the feature/floating-tooltips branch January 4, 2026 02:14
r3dbars added a commit that referenced this pull request Mar 18, 2026
…ack (#8)

* feat: Add custom floating tooltips to panel buttons

- Add FloatingTooltipModifier for tooltips on non-activating panels
- Show tooltips after 1 second hover delay
- Add tooltips: Record, Transcripts, Stop, Tasks
- Configure NSInitialToolTipDelay for consistent timing
- Enable mouse moved events on floating panel window

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* feat: Add polished processing state UI with success feedback

- AuroraProcessingView: Always expanded (200x44), no more collapsed state
  - Full status text always visible (no more truncation)
  - Progress-based aurora intensity (dim → normal → bright)
  - Warning text for long-running steps

- AuroraSuccessView: Expanded with clear messaging
  - Shows "Transcription saved" + "No action items found" for transcriptSaved
  - Shows "X task(s) added" for completed with tasks
  - Animated checkmark with spring bounce

- Fixed bug where success view never displayed
  - FloatingPanelController was immediately transitioning to idle
  - Now stays in processing state so success view can render

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: justinbetker <Justin.betker@jamf.com>
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
r3dbars pushed a commit that referenced this pull request Apr 5, 2026
… notifications

Post-extraction regression: TranscriptedApp constructed TranscriptionTaskManager
without passing a TranscriptNotifier, so saved-transcript notifications never
fired at all — not just the Show in Finder action. The category identifier for
TRANSCRIPT_SAVED / SHOW_IN_FINDER was still registered in NotificationCoordinator
but nothing was tagging delivered notifications with it.

Add TranscriptedNotificationsAdapter in Transcripted/Services/ as the embedder-
side concrete conformer for TranscriptedCore's TranscriptNotifier protocol. It
wraps UNUserNotificationCenter and sets content.categoryIdentifier =
"TRANSCRIPT_SAVED" plus userInfo["fileURL"] so AppDelegate.handleNotificationResponse
can resolve the path back to a URL when the user taps Show in Finder.

Wire the adapter into TranscriptionTaskManager via the existing notifier: init
parameter in TranscriptedApp.setupApp(). Zero TranscriptedCore edits — reuses
the adapter pattern established by ParakeetEngineAdapter.

Verified: xcodebuild ... build SUCCEEDED, swift test 5/5 passing.

Part of Task #8 Phase 2.3 (item 3).
r3dbars pushed a commit that referenced this pull request Apr 5, 2026
…raft consumer

Lane A's extraction moved 64 files from Transcripted/Core/ and Transcripted/Services/
into Sources/TranscriptedCore/, but the folder-level CLAUDE.md files still listed
the moved files as if they lived in the app target. Any agent reading those files
would be directed to paths that no longer exist.

- Root CLAUDE.md: rewrite Architecture + Folder Map + Key Entry Points to point
  at Sources/TranscriptedCore/ for the pipeline code and Transcripted/Services/
  for the embedder adapters. Add FluidAudio 0.7.9 SPM note, add Core-as-library
  critical rule, add a Cross-Repo Dependency section explaining that Draft
  consumes TranscriptedCore through the same Package.swift.
- Transcripted/Core/CLAUDE.md: replace the stale 48-file index with the actual
  11 files that live there post-extraction (coordinators + UI helpers only).
  Add a "Where everything else went" mapping table and a dedicated section on
  TranscriptNotifier wiring (the categoryIdentifier fix just landed).
- Transcripted/Services/CLAUDE.md: replace the 16-file ML-services index with
  the actual 3 files (ParakeetEngineAdapter, TranscriptedNotificationsAdapter,
  MeetingDetector). Add a reference table pointing at where each moved service
  now lives under Sources/TranscriptedCore/.
- README.md: add a brief Architecture section mentioning TranscriptedCore and
  the Draft consumer so the cross-repo relationship is visible from the
  user-facing docs surface, not just from CLAUDE.md.

Part of Task #8 Phase 2.3 (item 5, Transcripted-side docs).
r3dbars added a commit that referenced this pull request Apr 7, 2026
Code reviewed: pure Python stdlib eval runner, correct Levenshtein impl, proper retry logic, well-designed LLM judge prompt. Standalone evals/ directory.
r3dbars added a commit that referenced this pull request Apr 7, 2026
Code reviewed: pure Python stdlib eval runner, correct Levenshtein impl, proper retry logic, well-designed LLM judge prompt. Standalone evals/ directory.
r3dbars added a commit that referenced this pull request Jul 4, 2026
…guard

docs: FIX_ROADMAP #8 (link/merge floor + per-utterance unmerge) already resolved
claude Bot pushed a commit that referenced this pull request Sep 23, 2026
…query [skip ci]

Review item #8. The #1743 failure (the hotkey ended the session before
the microphone opened) is not a dictation_start_failed, so the start
rate query never saw it. It reaches PostHog as
reliability_failure_observed with failure_kind microphone_not_ready,
which only dictation sends (checked live: 7 events in the last 30 days).

Adds a stopped_before_mic_ready column, filters the extra event down to
that failure kind so it adds no empty trigger rows, and notes it. Ran
the new SQL against the live project; self-test and taxonomy check pass.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QEji7nWg5mSyPSXzn3eb85
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