feat(desktop): brand the fork build as Chromeria - #12
Merged
Merged
Conversation
Name the stable desktop build Chromeria with its own bundle id (md.toolbox.chromeria), Electron userData directory and icon set, so it installs and runs beside upstream T3 Code. Threads stay in the shared T3 home (~/.t3 or T3CODE_HOME). Desktop builds no longer embed a GitHub update feed, so the updater can never replace Chromeria with an upstream T3 Code release. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
lukemaj
added a commit
that referenced
this pull request
Sep 25, 2026
The #12 branding points production web favicons at assets/chromeria/, but two brand-assets tests still expected the upstream production icons. Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This was referenced Sep 25, 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.
The fork's desktop build installed as upstream "T3 Code (Alpha)": same name, bundle id, userData directory and update feed, so it could not run beside the upstream app and its updater could replace it with an upstream release.
This names the stable desktop build Chromeria with its own identity and icon, and stops embedding any update feed.
Changes
Chromeria(bundleChromeria.app, window titles, menus, About panel, DMG title, macOS screen-capture prompt). Nightly/dev labels keep their upstream names.md.toolbox.chromeria; artifacts namedChromeria-<version>-<arch>.<ext>.~/Library/Application Support/chromeria(upstream holds a single-instance lock ont3code, so sharing it would stop Chromeria starting while T3 Code runs).assets/chromeria/chromeria-icon-1024.pngis the source; the build derivesicon.icnsandicon.pngfrom it withsips/iconutil(existing pipeline). Committed derived assets: Windows.ico, webfavicon.ico(16/32/48),favicon-16x16.png,favicon-32x32.png,apple-touch-icon180px. Stable web builds use these via theproductionweb brand.createBuildConfigno longer adds a GitHubpublishconfig (it resolved to the upstream release repo). Without it the app ships noapp-update.yml, andDesktopUpdatesreports "no update feed is configured". The mock-update path for local testing is unchanged.T3CODE_HOMEif set, else~/.t3, with state in<home>/userdata(apps/desktop/src/app/DesktopStatePaths.ts). Chromeria reads the same threads as upstream T3 Code.Upstream files edited
apps/desktop/package.json(productName)apps/desktop/src/app/DesktopEnvironment.ts(base name, display name, userData dir names)apps/desktop/src/app/DesktopAppIdentity.test.ts,apps/desktop/src/app/DesktopPreReadyPlatform.test.ts(expectations)scripts/build-desktop-artifact.ts(app id, artifact name, publish feed, stable icons, capture prompt)scripts/build-desktop-artifact.test.ts(expectations)scripts/lib/brand-assets.ts(Chromeria asset paths, production web icons)New fork-only files:
assets/chromeria/*.Proof (local; fork CI cannot run on Blacksmith runners)
pnpm install --frozen-lockfile: okpnpm exec vp run -r typecheck: exit 0pnpm exec vp lint: exit 0 (warnings only, pre-existing)pnpm exec vp fmt --check: onlyGLOSSARY.mdfails, already failing onorigin/main(not touched here)vp test run scripts/build-desktop-artifact.test.ts apps/desktop: 1423 passed, 1 failed. The failure (skips the primary native probe for cross-architecture Windows payloads) fails identically on unmodifiedorigin/main.Known limit: both apps still register the
t3code://URL scheme, so macOS may route OAuth callbacks to either app while both are installed.Model and harness: Claude Opus 5.5 (1M context), Claude Code.
🤖 Generated with Claude Code