Skip to content

feat(web): show Chromeria as the product name in the web UI - #14

Merged
lukemaj merged 1 commit into
mainfrom
feat/chromeria-web-branding
Sep 25, 2026
Merged

lukemaj merged 1 commit into
mainfrom
feat/chromeria-web-branding

Conversation

@lukemaj

@lukemaj lukemaj commented Sep 25, 2026

Copy link
Copy Markdown

Inside Chromeria the web UI still showed "T3 Code": the sidebar wordmark (T3 glyph + "Code"), the setup screen, the assistant author heading, and a few labels. This drives those spots from APP_BASE_NAME (injected desktop branding, browser fallback now "Chromeria") and swaps the T3 glyph for the Chromeria obelisk icon.

Spots changed (all upstream files)

  • apps/web/src/branding.ts: browser fallback for APP_BASE_NAME is "Chromeria" (desktop already injects it).
  • apps/web/src/components/T3Wordmark.tsx: renders /chromeria-mark.png instead of the T3 glyph. Same props, so every caller follows: sidebar, setup screen, and the "t3-code" work-entry icon in the timeline.
  • apps/web/src/components/sidebar/SidebarChrome.tsx: sidebar wordmark text Code -> {APP_BASE_NAME}.
  • apps/web/src/components/onboarding/WelcomeWizard.tsx: title Set up {APP_BASE_NAME}, wordmark text and aria label.
  • apps/web/src/components/chat/MessagesTimeline.tsx: assistant author heading.
  • apps/web/src/components/settings/IntegrationsSettings.tsx: in-app link target label.
  • apps/web/src/components/settings/ThemePreviewCircles.tsx: default theme card label.
  • apps/web/src/lib/bootError.ts: splash error "Chromeria could not load."
  • apps/web/index.html: splash title, aria label and logo alt text.
  • Tests: apps/web/src/branding.test.ts, apps/web/src/bootstrap.test.ts expectations.

New fork-only file: apps/web/public/chromeria-mark.png (128px, from assets/chromeria/chromeria-icon-1024.png).

Not changed: about 50 help and prose strings that name T3 Code (settings descriptions, restart notices, the npx t3 pairing hints, which describe the upstream CLI server). Converting them all would spread the fork across many upstream lines; they can follow in a separate pass if wanted.

Proof (local; fork CI cannot run)

  • pnpm exec vp run -r typecheck: exit 0
  • pnpm exec vp lint: exit 0 (existing warnings only)
  • pnpm exec vp fmt --check: clean
  • vp test run on branding, bootstrap, IntegrationsSettings (+logic), MessagesTimeline (+logic): 211 passed; the same files pass on main (with the prior expectations).
  • No visual check in a running client (no packaged build per planner instruction, and no browser run was authorized).

Model and harness: Claude Opus 5.5 (1M context), Claude Code.

🤖 Generated with Claude Code

The sidebar wordmark, setup screen, assistant author heading, link-target
and theme labels, splash screen and boot error still said "T3 Code".
They now read APP_BASE_NAME, whose browser fallback is "Chromeria", and the
T3 glyph renders the Chromeria obelisk icon.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@lukemaj
lukemaj merged commit 9fb0ea4 into main Sep 25, 2026
@lukemaj
lukemaj deleted the feat/chromeria-web-branding branch September 25, 2026 12:16
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M labels Sep 25, 2026
lukemaj added a commit that referenced this pull request Sep 25, 2026
Refs #6.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
lukemaj added a commit that referenced this pull request Sep 25, 2026
* docs(fork): rebase routine, stack check and fork CI

Fork stays a small topic-commit stack on upstream main: docs/fork.md
describes the model, scripts/fork-rebase.sh absorbs upstream updates with
per-file conflict reports and proof-gated pushes, scripts/fork-check.sh
enforces the model, and .github/workflows/fork.yml runs it on every PR.
No upstream-owned files are modified.

Refs #6

* fix(fork): fork-rebase listing must survive head closing the pipe

* test(fork): focused tests for the rebase routine safety rules

fork-check.sh and fork-rebase.sh are driven against throwaway git
fixtures: new-file pass, unallowlisted-edit fail, allowlist pass,
merge-commit fail, missing-doc fail, no-proof push refusal and
no-main push refusal.

Refs #6

* docs(fork): list maintenance tests and fix formatter whitespace

Refs #6

* fix(fork): run proof in a subshell cleared of ELECTRON_RUN_AS_NODE

* docs(fork): Chromeria install, squash-plus-absorption model and GitHub-hosted CI

Document building, installing and updating the Chromeria desktop app,
land absorptions on main with --force-with-lease after proof, allowlist
every fork edit of upstream files, remap the PR and main CI workflows
from Blacksmith to GitHub-hosted runners, and run the routine's proof in
a host-neutral environment.

Refs #6.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* ci(fork): check the PR head, not GitHub's merge ref

Refs #6.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* docs(fork): allowlist the #14 web branding edits

Refs #6.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

* fix(server): remove unused threads toolkit export

* fix(web): provide branding in bundled dev fixture

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant