docs(live-verify): fold in #637-#668, correct the entries the merge burst falsified - #672
Merged
Merged
Conversation
…urst falsified Closes #660 Bring docs/live-verify.md current across the ten PRs that merged after the last refresh (#634): #637, #639, #644, #645, #662, #663, #664, #666, #668, plus #642 (coverage bump only, per the issue's own conclusion — its default station-id fix needs no live-verify caveat since write_default_config only touches an absent places.toml). Corrected the #630 entry: it told a verifier to expect modal::close_all tearing down with window.close(); #637 changed that call to destroy() after #630 had already merged, so the entry named a call the code no longer makes (exactly the issue's finding). Also added a new #645 entry to the Network panel section for the networkd startup-refresh retry, since that path used to latch "no link manager has answered yet" forever on a transient first-refresh failure (curable only by a shell restart) and now self-heals — swept the rest of the doc for the same class of falsified expectation (inert-until-restart) and found nothing else affected; the wifi-side #609/#634 entries describe a different code path and are unaffected. New entries added: - #637/#639 — the destroy()-not-close() sweep across the five trollshell overlays and the three remaining hytte-ui sites (bar.rs, popup.rs), including #637's WeakRef/toplevels()-count kanshi hot-plug gesture. - #644/#663 — the RefCell-borrow-across-GTK-call sweep (31 sites total across overlays/modal.rs and the rest of the UI, incl. an 8-panel-wide reactive_list.rs helper and the control-center). Both documented with the same "nothing changes" honest pass condition #630 already used. - #664 — mpris Auto chip fix + bare-string artist widening. Needs two live MPRIS players and a shell restart for the new CSS class, both called out. - #666 — new top-level "Claude bridge" section for the keyless loopback shim, nobody has run this service live yet. Carries the PR's flagged riskiest assumption (hive-claude's SessionNotFound classification) with its journal tell. - #668 — new top-level "D-Bus name ownership" section. Documents that recovery going from ~250ms to up to 5 minutes after a squatter exits is the expected cost of the fix, not a regression to file. Left alone: #642 (no doc change needed beyond the coverage line, matching the issue's own recommendation after checking places.toml's write-once behavior); #637's abort_subscription/prompt.rs exclusions and #644/#663's "deliberately not touched" sites (no live-visible behavior, nothing to verify). Gates: markdown-only diff (git diff --stat: 1 file, docs/live-verify.md). nix fmt run twice (1 file reformatted first pass — a prose reflow — 0 changed second pass). Clippy/tests deliberately skipped: nix/package.nix's crane filter excludes markdown, so the packaged derivation is unaffected and a nix build would burn a full workspace recompile for zero signal (the same crane-filter trap #662 already documented). nix build was not run, per instructions. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This was referenced Jul 30, 2026
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.
Closes #660
Scope
#660 was filed when the doc's coverage stopped at #634, expecting only #637/#639/#642 to fold in. Seven more PRs merged in the meantime, so this pass covers all ten: #637, #639, #642, #644, #645, #662, #663, #664, #666, #668.
The correction #660 asked for
The #630 entry told a verifier that
modal::close_alltears down withwindow.close(). #637 changed that call towindow.destroy()after #630 had already merged, so the entry named a call the code no longer makes — confirmed against the currentmodal.rs:1019(panel.window.destroy();). Corrected the entry and added a note explaining the timeline (the entry was true when written, false the moment #637 landed).Other falsified-expectation sweep
Per the task, I looked for other entries the merge burst falsified, particularly around the networkd startup path (#645 changed it from "go inert forever" to "retry unboundedly"). Found no existing entry describing the pre-#645 networkd startup-inertia behavior — it was never previously documented — so this is purely additive: added a new
#645bullet to the "Network panel (link status)" section, explicit that it's a different code path from the #610/#623/#634 backend-choice probe already documented there (the networkdseed_linksfirst-ListLinksretry, notprobe_link_backend's NM-vs-networkd choice). Verified no other entry in the doc references an inert-until-restart networkd expectation.New entries added
close()→destroy()sweep across the five trollshell overlays and the three remaininghytte-uisites (bar.rs,popup.rs). Carries fix(overlays): destroy unrealized layer windows on teardown, not close() (#632) #637's own live-verify gesture (glib::WeakRef/gtk::Window::toplevels()count across repeated kanshi hot-plug cycles for never-opened layer windows) verbatim, since it exists nowhere else.RefCell-borrow-across-GTK-call sweep (31 sites total: fix(overlays): release RefCell borrows before the GTK call that can re-enter them (#631) #644's nine insideoverlays/+modal.rs, fix(ui): release RefCell borrows across GTK calls outside overlays/ (#643) #663's twenty-two outside it, including the 8-panel-widereactive_list.rshelper and the control-center's Plugins tab). Both use the same "nothing changes" honest pass condition fix(modal): drop the PANELS borrow before closing drawer windows (#627) #630's entry already established for this class of latent-hazard fix.hive-claudeclassifying a failed--resumeas the typedSessionNotFound— with its journal tell (does not match any session titlein the stderr tail), since a drift there means every first turn silently 502s.RequestNamefrom ~14,400/hour to 12/hour), not a regression to file.Left alone
write_default_configonly writesplaces.tomlwhen absent, so existing installs (including Annika's) are unaffected either way, and that's already handled by the Departures broken #641 triage comment + Control center places editor incomplete #640 tracking the editor-UI gap.prompt.rs'sabort_subscription, plain write-backs, etc.) — no live-visible behavior, nothing to verify.Gates
git diff --stat→ 1 file,docs/live-verify.md.nix fmtrun twice — 1 file reformatted the first pass (a prose reflow), 0 changed the second.nix/package.nix's crane source filter excludes markdown entirely, so a markdown-only diff produces a bit-identicaltrollshell-workspacederivation — runningnix buildwould burn a full workspace recompile for zero signal (the same crane-filter trap docs: correct claims in CLAUDE.md, CHOOM-INIT.md and the etc/ deployment READMEs (#658, #659) #662's own PR body documents). Not run, per task instructions.