Skip to content

Claude/diff workflow improvements#2

Merged
mindaugaskasp merged 3 commits into
mainfrom
claude/diff-workflow-improvements
Jul 23, 2026
Merged

Claude/diff workflow improvements#2
mindaugaskasp merged 3 commits into
mainfrom
claude/diff-workflow-improvements

Conversation

@mindaugaskasp

Copy link
Copy Markdown
Owner

No description provided.

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.
@mindaugaskasp
mindaugaskasp merged commit d45036e into main Jul 23, 2026
2 checks passed
@mindaugaskasp
mindaugaskasp deleted the claude/diff-workflow-improvements branch July 23, 2026 11:24
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