Repository navigation
fix: native Start confirmation, dead code removed, doc leftovers - #104
Merged
Merged
Conversation
The owner's "explicit Start" was a button and a modal in the WebView, so a script in the page could call companion_start with no owner action. Start now asks in an OS dialog drawn outside the WebView: a script can open it but can't answer it. Return and Escape both cancel, so the owner has to click Start. Stop stays unconfirmed. The Vault is checked again after the dialog closes, and after Set up's file panels, in case it locked meanwhile. The dialog is a sheet on the app's own window, and focus changes are ignored while it's open, as with file panels. Also drop what the screens never used: CompanionView's chatgpt and per_run fields, the "per start" limit (60 an hour can't reach 100 in an hour), and the optional markers on fields Rust always sends, with their fallbacks. The fixture's types now have to match. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Two password checks compared a value with a copy of itself and could never fail. The real comparison stays in the native panel, and the strength check stays. - The old credential methods in AppCore are marked test-only. Deleting them is a later change. - A duplicate epoch and generation check, a test-only wrapper and an unused Serialize are gone. can_unlock is test-only, so available_at, which the status uses, gets its own test. - Both native panels take the 20-second reveal time from session's constant. - A shown value can't be Seed Phrase words (ADR-0004), so Value's words branch is gone, with an unused style. - Stale comments now match the code, and the Passphrase panel no longer says "Wallet passphrase". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…limits - The guide says to build the Emergency Reader once while everything works, and that the terminal keeps what the Reader prints. - The security model says clipboard tools, including OS history, aren't obliged to honor the private marks, and that the Reader lacks the app's wiping allocator. - New hand checks: Spotlight clipboard history, a long readout on scaled Windows panels, and the Agent Companion's Start dialog. Co-Authored-By: Claude Opus 5.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.
The fixes from this pass's audit that had to wait for the UI branch to land.
Changes
Security
companion_startdirectly. Start now asks in an OS dialog drawn outside the WebView: a script can open it but can't answer it. Return and Escape both cancel, so the owner has to click Start. Stop stays unconfirmed.Dead code
AppCoreare marked test-only (SIM-1). Deleting them is a later change, as the audit advised.CompanionView'schatgptandper_run, a duplicate epoch and generation check, optional markers on fields Rust always sends, and Value's Seed Phrase words branch. A shown value can't be those words (ADR-0004), and the editor's peek covers only Login passwords and API keys.Wording and docs
No dependency was added. The PR doesn't change any file PR #102 changes outside
companion/.Testing
./scripts/check.shavailable_attest, and clippy on the app crateAll of this used fictional data. The tests cover the dialog's words and that only the Start button counts as a yes.
Not tested:
native_credential/windows.rschanged by one constant, and only CI compiles it. Windows has never been run on a real PC.scripts/verify-companion.shwasn't re-run, because no helper code or verification file changed here.Still open
sedinscripts/verify-companion.sh, left until PR Combine the Agent Companion into this repository as companion/ #102 lands, because that PR changes the file.🤖 Generated with Claude Code