Skip to content

feat(settings): expose the software-encoder preference in the UI#163

Draft
EtienneLescot wants to merge 3 commits into
release/1.8.0from
feat/software-encoder-toggle-ui
Draft

feat(settings): expose the software-encoder preference in the UI#163
EtienneLescot wants to merge 3 commits into
release/1.8.0from
feat/software-encoder-toggle-ui

Conversation

@EtienneLescot

@EtienneLescot EtienneLescot commented Jul 26, 2026

Copy link
Copy Markdown
Collaborator

Scoping PR — no implementation yet. The branch carries a single empty commit so the PR can exist; drop it when the real work starts.

The problem

The preference already exists end to end, but nothing lets a user set it.

  • Declared and defaulted: src/lib/userPreferences.ts:26 and :39
  • Read on capture start: src/hooks/useScreenRecorder.ts:843
  • Threaded to the native helper: src/lib/nativeWindowsRecording.ts:5
  • Honoured by the helper, which falls back to the software MFT encoder
  • Covered by tests: src/lib/userPreferences.test.ts:108-119

But no .tsx file references preferSoftwareEncoder anywhere. The only way to turn it on today is to hand-edit localStorage.

Scope

  • A toggle in the settings surface, wired to the existing preference. No new plumbing — the preference, its persistence and its consumer are all in place.
  • Recording only. This flag does not touch the export encoder.

Semantics worth getting right in the copy

This is an override, not a selector: "use the software encoder even when a hardware one is available". It exists for hosts where the hardware encoder produces corrupt output or fails, which is a real class of driver bug.

That is a different thing from the automatic, hardware-derived encoder choice in the export-encoder PR — the UI wording should not lead a user to think this is how the app normally decides. Expect it to live under an advanced or troubleshooting section rather than in the main recording settings.

@coderabbitai

coderabbitai Bot commented Jul 26, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 9a53b335-3179-4f14-a910-431e447ae1bd

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/software-encoder-toggle-ui

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@EtienneLescot
EtienneLescot force-pushed the feat/software-encoder-toggle-ui branch from f6a8ab9 to 5ee6ca6 Compare July 26, 2026 15:36
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