Repository navigation
Fold Done and Resolved below Working in Overview - #2226
Merged
Merged
Conversation
Overview now shows every Inbox section. Done and Resolved render closed there, with or without JavaScript, and open in their own folders. The browser keeps only groups it folded or opened (thirdshift:console:folds), migrating closed groups from the older key, and applies a folder's defaults only on entering it, so a live refresh never undoes a toggle.
Address review: re-folding Done in Overview no longer folds the Done folder. Drop the always-true in_overview predicate and data-overview marker, rename folds.js helpers, and tidy duplicated test pairs.
# Conflicts: # console/README.md # site/index.html
Merged
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 #2212
Summary
Overview now shows Done and Resolved below Working. They render folded, with or without JavaScript, so you can open either in place to see what finished without leaving the page. In their own folders (
/?section=done,/?section=resolved) they open as before.Browser fold choices (
src/console/assets/folds.js, new):InboxPage::opensdropsopenfor Done/Resolved in Overview. The always-truein_overviewpredicate anddata-overviewmarker are gone, anddata-overview-foldedmarks the two groups.console.jsused to store every group's state, defaults included. Choices now live underthirdshift:console:folds. Only closed groups are migrated from the oldthirdshift:console:foldedkey, because old Consoles rendered every group open, so a storedtruewas never a choice.console/README.md,docs/guide.md(and the regeneratedsite/docs/index.html), plus the hand-writtensite/index.html,site/how-it-works/andsite/architecture/.Evidence
Execution evidence
THIRDSHIFT_BINARY=<merge-base build> node --test --test-name-pattern="Overview folds Done and Resolved|re-folding Done in Overview" console/tests/inbox.test.cjscd console && node --test --test-name-pattern='re-folding Done in Overview' tests/inbox.test.cjsgavenot ok 19 … null !== ''.After:
ok 19 - re-folding Done in Overview leaves its own folder open.scripts/affected-tests origin/mainon the merged head:PASS npm test --prefix sitePASS cargo build --lockedPASS npm test --prefix console(all Console browser tests)FAIL cargo test:1898 passed; 24 failed. All 24 failures aresandbox::tests, eachsandbox failed to start: socat is not on PATH. This host has nosocat, and this change does not touchsrc/sandbox.rs.cargo test --test consoleon the merged head:337 passed; 0 failed.cargo test --no-fail-fast --test '*', in two runs): every failure was a sandboxed test that needssocat(sandbox_unavailable/socat is not on PATH), excepttriage_pass::recommendation_only_pass_reserves_without_claiming_or_publishing_and_notifies, which passed when rerun alone.gccin anode:22container. CI's run is authoritative for the sandbox tests.Visual evidence
Overview, 1440×900 desktop (full page):
Overview, 390×844 phone (full page):
After, desktop, Done opened in place by clicking its heading (URL unchanged):
The machine name in the captures is replaced with
console.example.Unaddressed findings
None. The review raised 4 Standards findings and 1 Spec finding, and all were fixed in 1c1963d:
in_overviewpredicate, clashing storage-helper names, unclear names infolds.js, and duplicated test pairs.Security: none. The Security review found no vulnerability introduced by this change. Group names come from a fixed server enum and are auto-escaped. Overview already rendered every group (only with
hidden), so no new data reaches the page.folds.jsreads localStorage only to setopenon server-rendered disclosures, and it merges withObject.fromEntriesand spread, with no recursive writes.Review coverage: both reviewers read every changed file.
site/docs/index.htmlwas excluded as generated output: it was regenerated withnpm run docs --prefix site, andnpm run docs:check --prefix sitepasses. Its source,docs/guide.md, was reviewed instead.Security review outcome
No unaddressed introduced findings.
Merge Danger
Door: two-way
Reverting restores the four-group Overview. The only lasting effect is a new localStorage key,
thirdshift:console:folds; the old key is read, never deleted.Blast Radius: Inbox
folds.js.CI notes
rust-x86 / run (4)(and therust-x86 / complete/testroll-ups that depend on it) failed only intests/console/github.rs::mergeability_changes_wake_ready_rows_independently_of_ci, which this branch does not touch. The test panicked attests/console/github.rs:214becausestatus --jsonshowed nogithub_mergeableyet after acommandsevent: a timing race in GitHub observation, which no change here affects. The same panic at the same line hitissue-2211(run 43597992022), and the test passed onmainafter that branch merged (run 43606697531,cf505b70).Built with claude 2.1.322 · claude-opus-5-5 · high