Description
Changing a project's icon in Project Settings (emoji/lucide via the icon picker, or a favicon file) and clicking save has no effect: the project keeps showing no icon (or the previous one).
Steps to reproduce
- Open an existing project in t3code desktop.
- Open Project Settings.
- Pick an icon in the icon picker (or set a favicon image).
- Click save.
- Reopen settings / look at the sidebar — the icon is not applied.
Title renames on the same screen persist fine, so the save path itself works.
Actual behavior
Inspecting orchestration_events after saving shows the emitted project.meta-updated payload contains only title/updatedAt, e.g.:
{"projectId": "...", "title": "SAV clients", "updatedAt": "..."}
The projectIcon / faviconPath fields are never included, so the projection row is never updated. Across the whole local event store, the only icon/favicon write ever persisted was a faviconPath update from an older build — no project.meta-updated event has ever carried projectIcon.
Expected behavior
Saving the icon picker should include projectIcon: {kind: "emoji"|\”lucide", ...} (and/or faviconPath) in the project.meta.update command payload, per the existing schema (ProjectIconOverride, ProjectFaviconPath), and the sidebar should render it.
Environment
- t3code desktop 0.0.40 (AppImage, linux-x64)
- t3 server 0.0.39-nightly.20260904.1279
- Ubuntu 26.04 (LXQt/X11)
Notes
Setting favicon_path directly on the projection row (plus a matching project.meta-updated event) renders correctly, so this looks client-side: the picker selection never makes it into the save payload.
Description
Changing a project's icon in Project Settings (emoji/lucide via the icon picker, or a favicon file) and clicking save has no effect: the project keeps showing no icon (or the previous one).
Steps to reproduce
Title renames on the same screen persist fine, so the save path itself works.
Actual behavior
Inspecting
orchestration_eventsafter saving shows the emittedproject.meta-updatedpayload contains only title/updatedAt, e.g.:{"projectId": "...", "title": "SAV clients", "updatedAt": "..."}The
projectIcon/faviconPathfields are never included, so the projection row is never updated. Across the whole local event store, the only icon/favicon write ever persisted was afaviconPathupdate from an older build — noproject.meta-updatedevent has ever carriedprojectIcon.Expected behavior
Saving the icon picker should include
projectIcon: {kind: "emoji"|\”lucide", ...}(and/orfaviconPath) in theproject.meta.updatecommand payload, per the existing schema (ProjectIconOverride,ProjectFaviconPath), and the sidebar should render it.Environment
Notes
Setting
favicon_pathdirectly on the projection row (plus a matchingproject.meta-updatedevent) renders correctly, so this looks client-side: the picker selection never makes it into the save payload.