Repository navigation
fix: eleven bugs from review, from lost settings to recording the mic - #11
Merged
Merged
Conversation
- A hotkey that can't be registered (macOS without Accessibility, no shortcuts portal, a key another app holds) no longer stops settings, first-run setup included, from being saved. The error still shows. - An error partway through a recording keeps what was recorded, if the encoder can finish the file, and says it stopped early. - Recordings check for a name clash with their own extension, so they no longer overwrite earlier ones. The naming preview puts the shared random generator back, so Secure pixelation stays unpredictable. - Scanning a QR code whose text starts with non-ASCII no longer crashes. - Ctrl+Z or Ctrl+Y mid-drag waits for the drag to end instead of corrupting the annotations or panicking. - Opening a file uses ShellExecuteW instead of cmd /C start, so an & in its name can't break it or run a command. - The corner preview stays out of the next capture: excluded from capture on Windows and macOS, and closed first on Linux, where the capture waits 500ms for it to go. - macOS: region recording works in pixels on Retina screens, and overlays use each screen's own scale. - macOS and Wayland: monitors at different scales no longer overlap, so a crop can't contain the other monitor's pixels. - Linux: "What's playing" records the default sink's monitor through pw-record (or parec), never the microphone. - Linux and macOS: launching snapr again shows the running one's window.
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.
Fixes the eleven bugs from the code review, each with the smallest change that fixes it.
apply_settingskeeps the first hotkey error, saves anyway, then shows it.png; the naming preview reseeded the shared RNGNaming::path_with_extension; the preview saves and restores the RNG stateis_linkusesstr::getcmd /C starton the raw pathShellExecuteWWDA_EXCLUDEFROMCAPTUREon Windows,sharingType = noneon macOS; on Linux it closes and the capture waits 500ms for it to gocapture::untanglelays them out again, only when they overlap at different scalespw-recordwithstream.capture.sink, falling back toparec @DEFAULT_MONITOR@; never the micTesting
cargo clippy --all-targets --lockedis clean;cargo test --lockedpasses (187). The recording round trip still passes.cargo test --lockedpasses (197). The only warnings were already there.Follow-up
Reviewed with sol-loop: 4 rounds with gpt-6.1-sol on high. Sol verdict: approved