Skip to content

fix(web): make project icons the default - #9457

Merged
maria-rcks merged 2 commits into
pingdotgg:mainfrom
maria-rcks:t3code/make-icons-default
Sep 3, 2026
Merged

fix(web): make project icons the default#9457
maria-rcks merged 2 commits into
pingdotgg:mainfrom
maria-rcks:t3code/make-icons-default

Conversation

@maria-rcks

@maria-rcksmaria-rcks commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

Automatic project fallbacks now use deterministic colored Lucide icons, while detected or uploaded images and saved emoji or icon overrides are unchanged. The picker opens on Icons, preserves each saved mode, and still supports Lucide search and color plus curated or pasted emoji selection. Verified with web typecheck, targeted lint, a production build, and browser e2e at desktop and 390px in light and dark; the three targeted tests are currently blocked before execution by Vite+ 0.3's undefined.config runner failure. Built by gpt-5.6-sol in T3 Code through the Codex harness.

evidence

before: automatic emoji fallback

automatic project fallback rendered as an emoji on the base commit

after: automatic Lucide fallback

automatic project fallback rendered as a colored Lucide icon on this branch

before: picker defaults to emoji

project icon picker defaulting to emoji on the base commit

after: picker defaults to icons

project icon picker defaulting to Lucide icons on this branch

browser e2e: icon search, green selection, save and reopen, custom emoji save and reopen, then reset

browser e2e for the icon and emoji selector


Note

Low Risk
UI-only default change for automatic icons and picker state; no auth, data, or API behavior changes.

Overview
Automatic project icon fallbacks no longer map classified names to emojis. selectProjectIcon now returns { kind: "lucide", icon } only, and the emoji lookup table was removed. Name-based classification and stable generic icons are unchanged; saved emoji/Lucide overrides and uploaded favicons are unaffected.

The Choose project icon dialog defaults to Icons (Lucide + color) for new/automatic projects, puts the Icons toggle before Emoji, and updates the helper copy. Tests and user docs were updated to match icon-first behavior and ProjectFavicon fallback expectations (icon component + color class instead of emoji props).

Reviewed by Cursor Bugbot for commit eac0186. Bugbot is set up for automated code reviews on this repo. Configure here.

Note

Make Lucide project icons the default instead of emojis

  • Changes selectProjectIcon in projectIconModel.ts to return Lucide icon selections for classified and generic project names, removing the PROJECT_ICON_EMOJIS lookup table.
  • Updates ProjectIconPickerDialog in ProjectIconPickerDialog.tsx to open in Icons mode by default (unless an emoji override exists), reorder mode toggles to show Icons first, and revise the description text.
  • Updates tests and project-settings.md to expect icon-based fallbacks.
  • Behavioral Change: existing projects without an explicit emoji override will now display a Lucide icon instead of an automatically-assigned emoji.

Macroscope summarized eac0186.

@github-actionsgithub-actionsBot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:M 30-99 changed lines (additions + deletions). labels Sep 3, 2026
@macroscopeapp

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This PR changes the default project icon experience from emoji to Lucide icons, affecting automatic fallbacks and the initial icon-picker mode across existing user flows. The change is localized and tested, but product-default changes require human review.

Notes:

  • No code objects were reviewed. Approvability was decided on eligibility alone.

You can add or adjust custom eligibility rules. Learn more.

@maria-rcks
maria-rcks merged commit 4e89d74 into pingdotgg:mainSep 3, 2026
26 checks passed
github-actionsBot added a commit to omarcresp/t3code-flake that referenced this pull request Sep 3, 2026
## What's Changed
* fix(web): send cited messages with Cmd+Enter by @extoci in pingdotgg/t3code#9307
* fix(web): preserve explicit preview navigation URLs by @nateEc in pingdotgg/t3code#8902
* fix(web): prevent loading ssh environments from overriding navigation by @flamboh in pingdotgg/t3code#9168
* fix(mobile): skip unsupported shared settings targets by @Lucenx9 in pingdotgg/t3code#9381
* fix(web): avoid duplicate Antigravity install status by @RakshithBhat03 in pingdotgg/t3code#9419
* fix(composer): mute fast icon when collapsed by @maria-rcks in pingdotgg/t3code#9451
* fix(web): unify skeleton loading animations on one pulse by @maria-rcks in pingdotgg/t3code#9448
* fix(web): prioritize authored pull requests by @maria-rcks in pingdotgg/t3code#9453
* fix(web): make project icons the default by @maria-rcks in pingdotgg/t3code#9457
* fix(server): reuse pr state when settling threads by @maria-rcks in pingdotgg/t3code#9459
* fix(web): keep agent images collapsed by @maria-rcks in pingdotgg/t3code#9460
* fix(web): banner buttons no longer expand the resting composer by @juliusmarminge in pingdotgg/t3code#9452
* fix(web): stop clipping the traits chevron on long Codex effort labels by @zortos293 in pingdotgg/t3code#9433
**Full Changelog**: pingdotgg/t3code@v0.0.39-nightly.20260903.1270...v0.0.39-nightly.20260903.1272
Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.39-nightly.20260903.1272
sheehanmunim added a commit to munimtechnologies/mtcode that referenced this pull request Sep 4, 2026
…ity ACP, browser import, settings reorg, limits tab)
Brings the fork up to upstream/main fee2e0f. Highlights: Google Antigravity
via the official ACP agent (pingdotgg#9348) + model manifest refreshes, browser-cookie
import (Chrome/Edge/Brave/Firefox, pingdotgg#7255/pingdotgg#7260/pingdotgg#7261), settings page reorg
(pingdotgg#9354), Codex/Claude subscription Limits tab (pingdotgg#9507, pingdotgg#9534), context
compaction command (pingdotgg#9293), async Codex questions (pingdotgg#9512), full-access
OpenCode threads skip approvals (pingdotgg#9282), project icons default (pingdotgg#9457).
Unification decisions (keep-both unless noted):
- BrowserImport: upstream implementation wins (Linux libsecret, Windows DPAPI
unwrap, writeCookies); fork's Safari engine ported in (jar definition,
candidate path, profile listing, running check, count skip, import branch,
FullDiskAccess wizard step + SafariCookies kept, domain widened only for
dotted hosts).
- Antigravity: upstream ACP provider/adapter/driver/textgen win; fork branding
ported (providerDisabledMessage), AntigravitySettings unified (fork fields +
upstream auth fields; enabled stays default-on).
- contracts/model: Antigravity defaults follow upstream's manifest model.
- ClaudeAdapter compact_boundary: fork's resolve helper kept, renamed to
upstream's compactedUsage to match downstream.
- Claude capabilities probe: fork's timeout races kept; upstream's raw usage
fetch added under the same timeout so stalled usage still degrades.
- Codex provider: upstream's withCodexAppServerClient + enriched rate-limits
probe win (fork title branding already inside buildCodexInitializeParams).
- ProviderCommandReactor: fork goal-continuation + correction-aware first-turn
kept; upstream compact-command exclusion added.
- OpenCodeAdapter ask path: fork's pendingGate/acceptingRequests gate kept;
upstream full-access autoReply + terminal guard + emitUnsafe added.
- makeManagedServerProvider: fork probe-timeout protection kept; upstream
usage-limits reconciliation applied to the checked snapshot.
- Manager.ts preview CDP: fork reuse-if-attached + detach resilience kept;
upstream wcDebugger hardening applied.
- mobile threadSyncPhase pill dropped (upstream ThreadDetail redesign covers
loading/sync presentation); outbox deliveryMode + goal handling kept.
- Usage: fork client-version projection kept; upstream pricing()/refreshRates
adopted on both clients.
- Settings: fork sections (MT Teams+badge, voice, notifications, account
sign-in) kept; upstream reorg (ids, submenus, behaviour section) adopted.
- README: fork copy kept; Antigravity added to provider lists.
- Cursor skill test macOS /var-vs-/private/var path failure is pre-existing
upstream breakage, unrelated to this merge.
Fork guard script OK.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:M30-99 changed lines (additions + deletions).vouch:trustedPR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@maria-rcks