Skip to content

feat(mobile): add theme-inspired app icons - #10367

Open
StiensWout wants to merge 4 commits into
pingdotgg:mainfrom
StiensWout:t3code/investigate-customizable-mobile-icons
Open

feat(mobile): add theme-inspired app icons#10367
StiensWout wants to merge 4 commits into
pingdotgg:mainfrom
StiensWout:t3code/investigate-customizable-mobile-icons

Conversation

@StiensWout

@StiensWout StiensWout commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

What Changed

Mobile now offers six app icons in Settings → Appearance: T3 Code, T3 Chat, Grove, Ocean, Ember, and Iris. The three-column picker changes the launcher icon through native iOS and Android APIs; choosing T3 Code restores the primary icon.

iOS uses the existing production Icon Composer project. The five alternatives derive from that project with different background colors, preserving its vector layers, translucency, and shadows. The Expo plugin adds each .icon project to the application resources and alternate-icon build settings. Android uses adaptive PNG layers.

Why

People can personalize their home screen independently of their in-app theme. The OS owns the selection, including when settings reopen or the app resumes. The picker handles failed changes without claiming success.

Icon Composer proof

These are actual iOS exports from Apple's Icon Composer 1.6 on the Mac, in order: T3 Code, T3 Chat, Grove, Ocean, Ember, and Iris. The same exports are the iOS settings previews.

T3 Code exported from Icon Composer T3 Chat exported from Icon Composer Grove exported from Icon Composer Ocean exported from Icon Composer Ember exported from Icon Composer Iris exported from Icon Composer

Reproduce on macOS with node apps/mobile/scripts/export-ios-app-icons.cjs. It derives the projects from assets/prod/app-icon.icon and exports their Default iOS rendition through Icon Composer's ictool.

  • Production Expo configuration resolves to ../../assets/prod/app-icon.icon.
  • An in-memory check against the generated Xcode project confirmed all five alternate .icon resources and their names in both build configurations. Applying the plugin twice did not duplicate them.
  • Metro resolves the six .ios.png previews on iOS and the Android PNG previews on Android.
  • Nine focused tests pass, including preservation of the source project's layers, effects, and vector assets. Targeted lint and formatting pass.

No new app build or installation was performed for the Icon Composer correction.

Android artwork

Android retains the original adaptive artwork below. These are artwork previews, not device screenshots. The launcher supplies its icon mask and themed tint; Apple’s glass rendering is iOS-only.

Android T3 Code icon artwork Android T3 Chat icon artwork Android Grove icon artwork Android Ocean icon artwork Android Ember icon artwork Android Iris icon artwork

Earlier iPhone interaction proof

The following screenshot and recording demonstrate the picker and home-screen changes in the earlier PNG-based build. They predate the Icon Composer correction; the current iOS artwork is shown above.

Earlier iPhone build showing the app icon picker

https://pub-b182a4071edc4521829926b34990540b.r2.dev/files/e85894b8-4ab3-4bb3-a4c2-460d44d9b488/mobile-app-icons.mp4

The earlier signed Release build was installed on an iPhone 15 Pro Max. Android device behavior has not been verified. The final Icon Composer integration still needs a native build before device verification.

Implemented with GPT-6 in Codex. Initial icon proposals by Claude Fable 5.1 in Claude Code.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:XL 500-999 changed lines (additions + deletions). labels Sep 6, 2026
@macroscopeapp

macroscopeapp Bot commented Sep 6, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Not approved

Macroscope's review found this PR not approvable — This PR introduces a new mobile app-icon customization workflow with Settings UI, native iOS/Android modules, manifest/build plugins, and generated assets. It also changes the packaged production default icon, so the cross-platform integration and default behavior require human review.

Not approved because:

  • Monthly spending limit reached (workspace setting). Approvability relies on correctness review in order to determine eligibility

Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more.

@StiensWout
StiensWout force-pushed the t3code/investigate-customizable-mobile-icons branch from fe8e710 to 5496074 Compare September 6, 2026 17:35
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:trusted PR 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