Repository navigation
fix(mobile): make the app icon full-bleed so iOS masks it cleanly - #37074
Merged
AmoabaKelvin merged 2 commits intoNov 4, 2026
Merged
Conversation
icon.png shipped its own rounded corners, transparent corners and a bright bevel. iOS applies its own corner mask on top, so the bevel showed as a sharp light outline, most visibly on Spotlight's search results. Replace the bevel and corners with the icon's existing vertical gradient, extended to a square opaque 1024x1024 RGB image. The logo is unchanged. Verified by pixel checks (no alpha channel; rows outside the logo are uniform; no logo-region pixel moved by more than 6/255) and a simulated iOS mask. Not yet checked on a device. Fixes stablyai#26834
tianlrz
force-pushed
the
tianlrz/fix-mobile-icon-full-bleed
branch
from
November 1, 2026 16:47
7123f14 to
9ecdedf
Compare
Collaborator
|
Merged main into this branch so CI runs against current main; no change to the icon. Checked it in an iOS 27 simulator with both icons built into real app bundles: the old one shows the light rim, this one is clean. |
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.
ELI5
The app icon had rounded corners and a shiny rim drawn into the image. iOS rounds icons itself, so the rim showed as a sharp outline. The icon is now a plain square, and iOS handles the rounding and edge effects.
What Changed
Before: on iOS, the icon has a heavy, sharp light outline next to other apps, most visibly in Spotlight.
After: the background runs cleanly to iOS's mask, with no baked-in outline.
Only
mobile/assets/icon.pngchanges. The ~24px bevel and transparent corners are replaced by the icon's existing vertical gradient, giving a square, opaque 1024×1024 PNG. The logo is unchanged.Why
Apple's app icon guidelines cover both parts of this:
For bitmap icons, the system tries to separate foreground from background and applies Liquid Glass to large, simple foreground shapes, but not to thin lines. So the logo's thin stroke may not receive it. On device, the system edge is present (see Visual Proof).
I edited the existing artwork rather than re-rendering from
resources/logo.svgto keep the logo's look. An Icon Composer file would give more control but is a larger change. The Android adaptive icon is untouched, and #23872's alternate icons are separate files.Linked Issue
Fixes #26834
Visual Proof
On an iPhone 15 Pro Max (iOS 26.6.2). "Orca" is the current App Store build; "Orca Dev" is this PR's icon in a local build.
Spotlight, before and after side by side. The current icon has a thick light rim; the new one gets only the thin system edge, like other apps:
Home screen before, with the thick rim next to other apps:
Home screen after, matching the edges of neighboring apps:
On an iPhone XS Max (iOS 18), which adds no system edge, the baked-in rim is even more visible. "Orca" is the current build, "Orca Dev" is this PR:
Simulated iOS corner mask, before (left) and after (right):
Maintainer check: both icons built into real app bundles (Expo's own flattening onto white, then
actool) on an iOS 27 simulator home screen. Old on the left, this PR on the right:Testing
Checked by script on the output PNG:
mobile/app.jsonis the only reference found to this file.Tested on physical devices with a local Release build: iPhone 15 Pro Max (iOS 26.6.2), where the system draws a thin edge on the new icon, and iPhone XS Max (iOS 18), where the new icon is flat like system icons. The old rim is gone on both (see Visual Proof). Lint, typecheck, tests and build were not run because no code changed.
No automated test added: this is a single binary asset.
Risk
Only the iOS home-screen icon changes. Android takes both its adaptive and legacy launcher icons from
adaptive-icon.png, and the splash usessplash-icon.png; neither file changes. If the new art looked wrong, users would see it only after the next iOS binary release, and a plain revert restores the old PNG.Level: Low
AI Disclosure
Made with Claude Opus 5.5.
Review
Agent skill upstream boundary
Notes
Ensure no issues in: Security, Cross-platform support (Linux, Windows, Mac), Remote SSH, Mobile, general backwards compatibility, performance
Desktop, SSH and runtime behavior are unaffected. The new icon appears after the next mobile native build.
Checklist
N/Awith reasonpnpm lint,pnpm typecheck,pnpm test, andpnpm buildpass (or CI will cover; local preferred)