feat(mobile): add theme-inspired app icons - #10367
Open
StiensWout wants to merge 4 commits into
Open
Conversation
Contributor
ApprovabilityVerdict: 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:
Review your spending limits in Billing settings. You can add or adjust custom eligibility rules. Learn more. |
StiensWout
force-pushed
the
t3code/investigate-customizable-mobile-icons
branch
from
September 6, 2026 17:35
fe8e710 to
5496074
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
.iconproject 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.
Reproduce on macOS with
node apps/mobile/scripts/export-ios-app-icons.cjs. It derives the projects fromassets/prod/app-icon.iconand exports their Default iOS rendition through Icon Composer'sictool.../../assets/prod/app-icon.icon..iconresources and their names in both build configurations. Applying the plugin twice did not duplicate them..ios.pngpreviews on iOS and the Android PNG previews on Android.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.
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.
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.