Claude/diff workflow improvements#2
Merged
Conversation
Diff workflow: - Copy diff as a git-style unified patch (toolbar / Edit menu / Ctrl+Shift+C), via a pure, size-guarded LCS util and the main-process clipboard. - Explicit "No differences" state instead of a bare +0/-0. - Content-based syntax detection when a file has no known extension, so paste-mode diffs and files like Dockerfile are highlighted, not plaintext. - Focus re-diff now follows partial-paste files too and coalesces multiple on-disk changes into one notice. Unsaved-work guards: - Replacing an active comparison (drop new files, or open one into a loaded slot) confirms first; a saved comparison replaces without the prompt. - The snippet editor confirms before Cancel/x discards a dirty draft. Tests: +unit coverage (unifiedDiff, diffStore guards, useSnippetDraft) and 4 new e2e specs (copy-diff, diff-overwrite, snippet-discard); all 20 e2e pass. Docs: compact user-facing README; DEVELOPMENT_PLAN updated.
E2E (Playwright + the app's own Electron, all offline): 24 new tests across 8 specs — in-view diff search, the format-hint banner, Base64/JSON/Encrypt tools, full snippet CRUD, view toggles (split/ignore-ws/swap), menu-bar actions, config backup+restore round-trip, and — heavily guarded — the two-identity sharing flow: key export, add-trusted, recipient picker, sealed share, import, plus trusted-key rename/remove and own-key/garbage rejection. Shared menu-navigation + dialog-stub helpers live in e2e/fixtures.mjs. Full suite: 44 passing. CI: new `e2e` job runs the suite under Xvfb on every push/PR to main and uploads the HTML report + per-failure traces (with screenshots) as artifacts; each app-fixture test is traced, kept only on failure.
E2E is the behavioural source of truth, so it runs on pull requests to main (the merge gate) rather than on post-merge pushes. Mark the `e2e` job as a required status check in main's branch-protection rule to actually block a merge when it is red.
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.
No description provided.