Repository navigation
Compare output: diff two runs of a command - #361
Draft
raiseCatError wants to merge 26 commits into
Draft
raiseCatError wants to merge 26 commits into
raiseCatError wants to merge 26 commits into
Conversation
- Actions → Compare output… and /compare [N [M]] (numbers as /copy shows them). The previous run of exactly the same command is suggested; any other completed block can be chosen. Bare /compare goes straight to the latest output and its previous run. - Faithful by default: a Myers line diff over the stored output, bounded (outputs too different to align are said to be so instead of shown as a misleading diff). Changed, added and removed lines, three lines of context, unchanged regions collapsed; A is always the older run. - Side by side at 140 columns or wider, unified otherwise; n/N between changes; w ignores whitespace, labelled wherever the result is shown or copied; both sides named by command, time and exit code. - c copies a unified diff (feedback inside the panel). r opens the comparison report in the same review as Copy as Report: wrapped, redacted, exactly the text Enter copies. - Output a detached session could not keep is flagged on its record (outputIncomplete) and said in comparisons; missing output is said, never guessed.
This was referenced Oct 10, 2026
…reviewed, safe text The plain diff copy now strips control and invisible characters like a report does and says when it looks sensitive and is not redacted. The comparison report cleans the diff before sizing its fence (hidden characters and Unicode line separators could close it) and writes each side's label as safe inline code.
This was referenced Oct 10, 2026
# Conflicts: # src/ui/ReportReview.ts
This branch has not been deployed
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.
Stacked on #360. Refs #352. Part of #359.
/compare,/compare N,/compare N M.cunified diff;rcomparison report through the shared report review (wrapped, redacted, exact text).outputIncompleteand comparisons say so.Tests:
tests/compareOutput.test.ts(randomized reconstruction, counts, hunks, headers, normalization, unaligned, 5000-line timing, panel keys and layouts, hostile text, report review),tests/compareOutputLive.test.ts(real PTY: /compare, copy diff, bare /compare, missing numbers).Review gate
Stabilization evidence — 2026-10-12
Published head:
032365e2ffa9fd42563ae93e66fd487b41e66841. Serialized macOSnpm run verifypassed on this exact head with no failures or skips. Applicable latest-head Ubuntu/macOS shards, Quality, Node 22 compatibility and aggregate CI passed: https://github.com/raiseCatError/notMyShell/actions/runs/38239217178.Settled fullscreen handoff now restores terminal modes/full geometry/raw input while journal IO is pending. Initial saves still serialize and acknowledge only after durability; shutdown restores input before waiting for persistence. Ordinary startup retains its durable initial journal identity barrier. Held-save regressions cover both boundaries, acknowledgement and shutdown; real detached-output, fullscreen, vim/less lifecycle cases passed. The isolated tmux bridge fixture now resolves an installed host binary while retaining its private socket directory.
The unpublished broader startup candidate failed canonical duplicate-journal acceptance and was corrected before publication. The earlier
15644abdUbuntu fullscreen failure passed unchanged-head retry, but its precise historical blocking phase remains unestablished. Complete evidence and dispositions are recorded in #359.Report/comparison security fixes redact source fragments before generated Markdown, preserve exact review approval, reject unrenderable review geometry, and use iterative delimiter sizing for bounded hostile output. Direct diff copying remains sanitized and explicitly unredacted.
The full workflow gate remains pending both final sibling heads' canonical/CI and final Linux/Fish 3.7 acceptance. Ghostty/Terminal.app physical QA has not occurred. The PR remains draft; no master/release merge, tag or release. Refs #359, #363, #356.