fix(transcript,hotkeys): bound transcript line width, surface silent hotkey registration failures - #87
Merged
Conversation
…hotkey registration failures Transcript dock rows inlined the speaker label into the text paragraph with no max width, so a maximized/ultra-wide window let a single utterance stretch edge-to-edge, and variable-length speaker names shifted where the text started on every row. Give the speaker its own fixed-width truncated column, cap the row at a readable max width, and truncate long text on one line (full text on hover) instead of wrapping, keeping the wide-short-dock density goal from 6d03a00 intact. Separately, none of the 25 globalShortcut.register() calls in hotkeys.ts checked their return value. Electron returns false rather than throwing when another application has already claimed an accelerator system-wide, so a binding can silently go dead. Reproduced as Ctrl+Shift+L (scroll live suggestions to end) not working during manual testing while its J/K neighbors did - L is a far more commonly claimed global combo. All registrations now go through a helper that logs a warning on failure. Fixes #85, fixes #86 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
max-w-3xl bounded row width but left it hugging the dock's left edge; mx-auto centers it so the readable-width column sits in the middle of the full-width dock instead. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Single-line ellipsis on the transcript text itself was cutting off utterances the candidate needs to actually read back. Truncation belongs on the fixed-width speaker column only; the text wraps as before within the max-w-3xl bound. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
max-w-3xl, centered) instead of stretching edge-to-edge in a maximized/ultra-wide window. Transcript text itself still wraps normally within that bound - only the speaker column truncates, so no words are lost.registerGlobalHotkeys()now checks the return value of everyglobalShortcut.register()call and logs a warning when one fails. Electron returnsfalse(no throw) when another application has already claimed an accelerator system-wide - previously this failed completely silently. Reproduced manually as Ctrl+Shift+L (scroll live suggestions to end) not registering while its J/K neighbors did; L is a much more commonly claimed global combo elsewhere on a system.Closes #85
Closes #86
Test plan
pnpm exec tsc -p tsconfig.electron.json --noEmit- cleanpnpm exec tsc -p tsconfig.app.json --noEmit- cleanpnpm run lint- cleanpnpm run build- renderer builds successfullypnpm run test:main- full suite passes, includingstealth-surface.test.mjswhich parses the compiledhotkeys.jsoutput and pins thathotkey:toggle-transcriptis still registeredLint / type check / tests) green on the latest commitlocalhost:8080) and login flow to reach the transcript/suggestion panels, and there's no Playwright/E2E harness in this repo. Worth a manual pass to visually confirm the transcript row layout and the Ctrl+Shift+L warning log on a machine where the combo is contested.🤖 Generated with Claude Code