Skip to content

fix(gui): Claude theme bleed-through on mobile home - #26

Merged
daum110715 merged 12 commits into
LemonStudio-hub:mainfrom
daum110715:pr/claude-theme-fix
Jul 16, 2026
Merged

daum110715 merged 12 commits into
LemonStudio-hub:mainfrom
daum110715:pr/claude-theme-fix

Conversation

@daum110715

Copy link
Copy Markdown
Collaborator

Summary

Fixes Claude theme styling on mobile home screen app icons/labels so light theme styles do not bleed into Claude.

Depends on

Changes

  • themeStore: apply theme id class on html element
  • HomeScreen: Claude-specific icon gradient + scoped global styles

@LemonStudio-hub

Copy link
Copy Markdown
Owner

🔍 Code Review — Request Changes

Summary

Claims to fix Claude theme bleed-through on mobile home, but is a massive PR (58 files, +3616/-1566 lines) with a fundamental problem.

Critical Issues

1. Claude theme does not exist in the codebase

  • packages/app/src/gui/themes/index.ts only exports dark, light, scp, hacker themes
  • All .claude CSS rules and themeStore.currentTheme.id === 'claude' checks are dead code — the .claude class is never applied to the HTML element
  • Fix: Define the Claude theme in the themes registry before adding Claude-specific CSS

2. Massive PR scope mismatch

  • Title says "fix theme bleed-through" but includes: window manager rewrite, App Manager, ErrorBoundary, taskbar overhaul, desktop grid snapping, context menus, chat WebSocket refactoring, composable deletions, formatting changes across 58 files

3. Init order change is backwards for the stated problem

  • Swaps injectGUITokens() before themeStore.init() — unrelated to CSS class bleed-through
  • Could introduce regressions in other themes if tokens and theme properties overlap

Warning Issues

4. :global(.light:not(.claude)) pattern is not scalable — every new light-variant theme needs its own exclusion
5. Heavy use of !important with hardcoded hex values — bypasses CSS custom property system
6. data-theme changed from name to id — verify no existing CSS targets old name values
7. Hardcoded colors in desktopIconStyle — should use CSS custom properties

Recommendation: Request changes — define Claude theme in registry first, split PR into smaller pieces, use CSS custom properties instead of hardcoded !important colors.

@daum110715

Copy link
Copy Markdown
Collaborator Author

Addressed review feedback

Critical

  1. Claude theme is now registered in themes/index.ts (claudeTheme, id claude, light/warm + coral #D97757). themeStore.applyTheme already toggles document.documentElement class to theme.id, so existing .claude / .light:not(.claude) rules apply.
  2. Scope note: this PR still contains broader shell changes from the stack; Claude registry is the blocking fix called out in review.

i18n

  • Added theme.claude / theme.claudeDesc (EN + ZH).

Ready for re-review on the theme registration fix.

@daum110715

Copy link
Copy Markdown
Collaborator Author

Status

  • CI: Lint / Test / Build all green on latest tip (Security Scan skip is expected).
  • Review feedback addressed on this tip; ready for re-review / merge when convenient.

No further code changes planned on this PR unless requested.

…shells

Extract shared caption/close controls and wrap shells with ErrorBoundary.
Refactor PCWindow/SCPWindow and related modals to use the shared chrome.
Add App Manager (PC/Mobile), app catalog, stronger windowManager/taskbar
behavior, and desktop/home integration for multi-window workflows.
…history

Avoid dropping in-flight messages when switching rooms; keep optimistic
entries visible in chat history.
Delete dead use*Refactored composables that are no longer imported.
…tcut only

Restore modern filesystem (rename/remove/storage backend) that was clobbered
by an old cherry-pick, and only add the appmanager.desktop default shortcut.
Also restore settings windows without custom-accent personalization deps.
Avoid hauling large local rewrites of PCChatWindow/PCFeedbackWindow.
Pass windowInstance into PCWindow so multi-window chrome works.
@daum110715
daum110715 force-pushed the pr/claude-theme-fix branch from 824ddd2 to 02556e2 Compare July 16, 2026 03:45
@daum110715
daum110715 merged commit 6290cc6 into LemonStudio-hub:main Jul 16, 2026
1 check failed
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.

2 participants