Skip to content

feat: compact four-state Repair Panel with real cooperative cancellation - #182

Open
JG2547 wants to merge 2 commits into
mainfrom
feat/compact-four-state-redesign
Open

feat: compact four-state Repair Panel with real cooperative cancellation#182
JG2547 wants to merge 2 commits into
mainfrom
feat/compact-four-state-redesign

Conversation

@JG2547

@JG2547 JG2547 commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator

Operator-authored redesign, applied from a patch against `main` HEAD `6881f490` (the operator's connected GitHub integration returned 403 on branch creation, so this was applied + tested + pushed via CLI).

What changes

  • Compact centered wizard: Checking → Ready to fix Zoom → Fixing Zoom (Step 1–4 + one progress bar) → You're all set / Open Zoom / Done.
  • Dynamic installed version (no hardcoded v5.5.1).
  • Diagnostics, recovery guidance, updater UI, feedback, and support kept via progressive disclosure — no repair functionality removed.
  • Real Cancel fix (not Exit-as-cancel): src/main/fix-cancel.js cooperative broker routes cancellation through the existing quit-app IPC while run-fix is active — no new IPC surface. Cancellation stops only at known-safe stage boundaries and never interrupts the atomic account/profile rebuild (satisfies the repo's existing cancellation requirement).
  • Cancelling… / Fix cancelled states; Exit-during-fix offers Keep running / Cancel fix and exit.

Tests

  • npm test full suite PASS (includes new tools/fix-cancel-smoke.js + tools/compact-shell-smoke.js).
  • node --check clean on all new/changed JS.
  • Full Electron screenshot acceptance still runs in CI/Windows runtime.

Relationship to #181

#181 (feat/repair-panel-redesign) is a prior harness-built single-centered-card redesign. This PR is the operator's independent compact four-state approach with real cooperative cancellation and is likely intended to supersede #181 — maintainers should pick one and close the other rather than merging both.

🤖 Generated with Claude Code

Operator-authored redesign (applied from patch; GitHub integration hit a
403 on branch creation). Compact centered wizard: Checking → Ready to fix
Zoom → Fixing Zoom (Step 1–4 + progress) → You're all set / Open Zoom.
Dynamic installed version (no hardcoded v5.5.1). Diagnostics, recovery,
updater, feedback, support kept via progressive disclosure.

Adds a REAL Cancel fix path (not Exit-as-cancel): src/main/fix-cancel.js
cooperative broker routes cancellation through the existing quit-app IPC
while run-fix is active (no new IPC surface); cancellation stops only at
known-safe stage boundaries and never interrupts the atomic account/profile
rebuild. Cancelling… / Fix cancelled states; Exit-during-fix offers
Keep running / Cancel fix and exit. New smoke suites fix-cancel-smoke +
compact-shell-smoke wired into npm test.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
JG2547 added a commit that referenced this pull request Aug 24, 2026
Applies the operator-specified CODEOWNERS content verbatim.

Two defects fixed:
1. @high-texas (id 124146493) is an empty third-party account, not an org
   member, with no collaborator access anywhere in the estate. GitHub silently
   ignores CODEOWNERS entries for users without write access, so all 9 entries
   naming it have been inert since written. Replaced with @JG2547 (admin).
2. There was no default rule, so any path outside the 9 listed patterns had NO
   code owner at all -- which is why PR #182 has no requested reviewer. Adds
   '* @JG2547 @patricktobias86'.

Does not weaken require_code_owner_review, required_approving_review_count,
require_last_push_approval, or require_extra_approval_for_unattributed_changes.
No access was granted to @high-texas.
@JG2547
JG2547 requested a review from patricktobias86 August 24, 2026 17:54
@JG2547

JG2547 commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator Author

Designated Repair Panel survivor. #181 is superseded by this PR and will be closed once its capture capability is preserved in a separate tooling-only PR.

I verified the supersession against branch contents rather than PR descriptions. This PR independently reaches #181's intended geometry:

#181 (index.html) this PR (compact-shell.js)
.main { justify-content: center; align-items: center } body.compact-shell-enabled > .main { display: flex !important; justify-content: center }
.workspace { max-width: 560px } .workspace { width: min(560px, 100%) }
.repair-panel { align-items: center; justify-content: center } .workspace { align-items: center; justify-content: center }
overflow: hidden — the window never scrolls overflow: hidden !important on both .main and .workspace

Same 560px, same centring, same "only an inner pane scrolls, never the window" rule — reached by injecting CSS over the existing shell instead of editing index.html, which is why the two branches conflict and only one can survive. This one additionally carries the cooperative-cancellation work (src/main/fix-cancel.js, tools/fix-cancel-smoke.js) that #181 does not.

One gap to close before #181 can be closed: tools/repair-panel-capture.js and .audit/repair-panel/ exist only on #181 (.audit/ returns 404 on this branch). A follow-up tooling-only PR will rebuild that harness against this PR's real state machine — checking, ready, fixing stages, cancelling, cancelled, success, failure/retry — and assert stable geometry and honest transitions rather than only capturing images. It will branch cleanly rather than pushing here, since this branch has active uncommitted work.

Tracked as L-08 / L-09 in docs/1132-WINDOWS-LANE.md. On the portfolio board: this PR is Ready / P1; #181 is Blocked / P2.

Not merging this myself — flagging it as the survivor and leaving the merge decision with you.

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.

3 participants