Skip to content

feat(desktop): let inherited projects set color and icon - #67468

Merged
OutThisLife merged 1 commit into
mainfrom
bb/project-theme-inherited
Jul 19, 2026
Merged

feat(desktop): let inherited projects set color and icon#67468
OutThisLife merged 1 commit into
mainfrom
bb/project-theme-inherited

Conversation

@OutThisLife

Copy link
Copy Markdown
Collaborator

Summary

  • Auto-detected git repos ("inherited" projects) have no projects.db row, so their sidebar menu hid appearance/rename/etc. entirely — they could never be themed.
  • Add Appearance to the auto-project menu. The first color/icon choice adopts the repo as a real project (folder = repo root, name = its label) carrying that look; afterward it themes in place like any explicit project.
  • Both explicit and auto edits now route through one setProjectAppearance helper. For auto projects the picker closes on adopt, so a stale second write can't double-create.

Behavior note for review

Theming an inherited repo converts it into a real project (it then gains rename / delete / set-active). That's the natural way to make the color persist and stay consistent with the single project model — but it is a deliberate behavior change, which is why it's isolated in its own PR.

Part of #66565 (session/project color). Independent of the session-color PR (disjoint files); this one just makes more projects themable.

Test plan

  • Right-click an inherited (repo-glyph) project → Appearance now appears.
  • Pick a color → repo is adopted as a real project and shows the color; menu now offers rename/delete/set-active.
  • Existing explicit projects still theme in place (no adoption, picker stays open).
  • typecheck + eslint clean.

Auto-detected git repos ("inherited" projects) have no projects.db row, so
their menu hid appearance/rename/etc. entirely and they could never be
themed. Add appearance to the auto-project menu: the first color/icon choice
adopts the repo as a real project (folder = repo root, name = its label)
carrying that look, after which it themes in place like any explicit
project. Routes both explicit and auto edits through one setProjectAppearance
helper; the picker closes on adopt so a stale second write can't double-create.
@OutThisLife
OutThisLife enabled auto-merge July 19, 2026 11:39
@OutThisLife
OutThisLife merged commit 1d12d61 into main Jul 19, 2026
23 checks passed
@OutThisLife
OutThisLife deleted the bb/project-theme-inherited branch July 19, 2026 11:41
@alt-glitch alt-glitch added type/feature New feature or request comp/desktop Electron desktop app (apps/desktop/*) P3 Low — cosmetic, nice to have needs-decision Awaiting maintainer decision before any implementation labels Jul 19, 2026
randlee pushed a commit to randlee/hermes-agent that referenced this pull request Aug 11, 2026
…h#67468)

Auto-detected git repos ("inherited" projects) have no projects.db row, so
their menu hid appearance/rename/etc. entirely and they could never be
themed. Add appearance to the auto-project menu: the first color/icon choice
adopts the repo as a real project (folder = repo root, name = its label)
carrying that look, after which it themes in place like any explicit
project. Routes both explicit and auto edits through one setProjectAppearance
helper; the picker closes on adopt so a stale second write can't double-create.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp/desktop Electron desktop app (apps/desktop/*) needs-decision Awaiting maintainer decision before any implementation P3 Low — cosmetic, nice to have type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants