Repository navigation
Serve the localhost Console Inbox with Focus - #850
Merged
Merged
Conversation
The copied executable could fail to spawn with ETXTBSY when a concurrent test child inherited fs::copy's write handle. Copy in a separate cp process, as the existing replacement-test helper does, and wait for it to finish before launching the Console. Validated the exact failure with a forced inherited-writer reproduction before the fix and its passing result after it; cargo test, cargo fmt --check, and cargo clippy --all-targets -- -D warnings pass.
This was referenced Oct 19, 2026
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.
Summary
Serve this machine's Inbox on localhost, using the same blocking observations, groups and words as
status.The binary embeds compile-time HTML templates, the versioned libraries and Latin WOFF2 fonts. The header names the machine and links to configured Consoles. Replacing the binary re-executes the Console with its original arguments. Sign-in and live updates remain with the later Tickets.
Closes #817
Evidence
consolewas treated as an invalid Issue URL. The nested-Run test then caught escaped HTML being displayed as text.After:
cargo test --test consolepasses all four HTTP/CLI tests, including grouping/order parity withstatus --json, escaped titles, nested Runs, Ticket plans, local assets and executing a replacement binary./unpairedroute passed the parity test.After: the unchanged reproduction makes the actual parity test reject that route. The retained
parity_rejects_a_route_registered_without_a_cli_pairregression passes.cargo test(full suite passed, two existing ignored probes);cargo fmt --check;cargo clippy --all-targets -- -D warnings;cd console && npm test(4 passed);cd site && npm test(20 passed).cargo package --locked --offlinealso compiled the packaged sources without Node/npm.Test seams
thirdshift consolebinary over HTTP, with isolated User config and fixture Command records; the CLI startup/refusal and binary-replacement behavior.thirdshift setupandcargo package --listtests extended for the Console defaults and embedded files.Review coverage
Reviewed against
issue-776on origin, pinned to87ca83bd306e764f4787222fb7df239a2eb2b36e. Standards and Spec each read 33 changed files and confirmed four vendored-output exclusions. Standards' duplicated dark palette and Spec's incomplete parity check are addressed.Both axes intentionally left these vendored outputs unread as source, after byte-for-byte checks against the documented upstream versions, font metadata inspection and browser resource/font checks:
src/console/assets/vendor/htmx-2.0.7.min.jssrc/console/assets/vendor/idiomorph-0.7.4.min.jssrc/console/assets/fonts/ibm-plex-sans-latin.woff2src/console/assets/fonts/ibm-plex-mono-latin.woff2Both axes left
src/setup.rsunread: the final five-line change completes an existing test fixture with the Console defaults after the review passes. Its focused test and the full suite pass. No other changed file is unread.Unaddressed findings
Standards
None.
Spec
No confirmed finding remains unaddressed. A fold-restoration concern was withdrawn: #776's Implementation Decisions explicitly place “what's folded” in per-browser local storage. console.js:6 restores that choice; fresh visits open Needs you. This follows an existing plan decision and needs no new Day shift decision.
Merge Danger
Door: two-way
Blast Radius: Console
Adds an explicitly requested, localhost-only reader. Existing Commands keep their blocking execution model; shared Ticket wording is reused by the page and CLI. Setup now completes the Console defaults in the User config.
Built with codex · gpt-6.1-sol · high