Skip to content

feat(desktop): follow a local theme file independently of servers - #17883

Draft
not-compromised wants to merge 2 commits into
pingdotgg:mainfrom
not-compromised:feat/desktop-local-theme
Draft

not-compromised wants to merge 2 commits into
pingdotgg:mainfrom
not-compromised:feat/desktop-local-theme

Conversation

@not-compromised

Copy link
Copy Markdown

Problem

Desktop clients with their local environment disabled cannot follow a desktop palette independently of the server.

Change

Set T3CODE_DESKTOP_THEME_FILE to load a T3 palette JSON file and follow atomic replacements. Missing or invalid files preserve the last valid palette. Saved preferences stay intact; a manual selection wins until the file changes or the app restarts. Linux URL launches retain the option.

Scope and approval

Focused configuration of the established JSON theme capability: selecting a desktop-local source for the existing palette format and appearance controls. It is opt-in, changes no product defaults, and adds no server protocol or system-theme dependency.

Verification

Focused tests cover native file loading, IPC ordering, startup precedence, manual controls, rollback, previews, and unchanged server loading. Two startup regressions and desktop recoloring tests fail with their fixes removed. Scoped typechecks, formatting, and lint completed.

A packaged Linux AppImage followed generated dark/light palettes with its local environment disabled, retained the last valid palette after invalid input, and loaded the latest palette after reopening. Other platforms and automatic release updates were not verified.

Before: option disabled

After: local dark palette

After: local light palette after reopening

Written by GPT-6.1 in Codex

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XL 500-999 changed lines (additions + deletions). labels Oct 10, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XL 500-999 changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant