Skip to content

Add Console asset development mode - #1415

Merged
JacobStephens2 merged 3 commits into
mainfrom
issue-1397
Oct 26, 2026
Merged

JacobStephens2 merged 3 commits into
mainfrom
issue-1397

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 26, 2026 •

Copy link
Copy Markdown
Owner

Summary

debug + THIRDSHIFT_CONSOLE_ASSETS=<dir>
  /assets/* → confined disk reads (missing → 404)
  existing observer → /events → CSS swap / script reload
release or no variable → embedded assets

Custom Theme assets retain their existing handling. CSP is unchanged. Askama templates and Rust still require a build. Development instructions are in console/README.md.

Closes #1397

Test seams: the Console binary's /assets/* and /events HTTP routes; open Console pages in Playwright.

Evidence

  • Before: the HTTP regression returned embedded CSS with the variable set; the browser regression timed out after an edit. Spec's exact Account reproducer also failed: Inbox updated while Account opened zero streams.
    After: disk serving and confinement tests pass; CSS (including imported Theme CSS) swaps without navigation, stale responses cannot win, and scripts reload across Inbox, Logs, Account and Console log using one stream per tab. The Account reproducer now passes.
  • cargo test --release --test console assets::: 2 passed; release ignores the variable, retains embedded bytes after disk edits, and sends no asset events.
  • cargo clippy --all-targets -- -D warnings: passed.
  • /usr/bin/time -p scripts/affected-tests main: full Rust suite passed (cargo test fallback); 1443.06 seconds wall time, including compilation.
  • npm test --prefix console: all 98 browser tests passed (68.88 seconds), including console/tests/assets.test.cjs.

Merge Danger

Door: two-way

No persistent format or migration. Removing the variable restores embedded asset serving; release builds ignore it.

Blast Radius: Console

Shared stylesheet refresh and stream readiness also serve normal Console pages, covered by existing Theme and live-update tests.

Review coverage

Reviewed against main (7b406d18): Standards 0 findings; Spec 1 finding, fixed and reproduced passing. Both reviewers read all 12 changed files, including the correction. No unread changed files or generated-output exclusions.

Unaddressed findings

Standards

None.

Spec

None.

Security

None.

Built with codex codex-cli 0.164.0 · gpt-6.1-sol · xhigh

Security review outcome

No unaddressed introduced findings.

@JacobStephens2
JacobStephens2 merged commit 06f08b4 into main Oct 26, 2026
18 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-1397 branch October 26, 2026 23:38
@JacobStephens2 JacobStephens2 mentioned this pull request Oct 27, 2026
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.

Console development mode: serve assets from disk and reload open pages on change

1 participant