Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(4226): implement transparent app icons for improved dark/light mode handling #13597

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

vinnyhoward
Copy link
Contributor

@vinnyhoward vinnyhoward commented Feb 18, 2025

Description

Issue: Our app icons were stuck in dark mode and ignored light mode settings in TestFlight builds (while working correctly locally). The build process was stripping the light mode icons during compilation.

Solution: Implement transparent background app icons that leverage iOS system defaults:

  • Light mode: System automatically applies white background
  • Dark mode: System automatically applies gradient black background
    This matches our brand color schemes perfectly and simplifies our icon management.

Additional Changes:

  • Removed legacy CFBundleIcons dictionary from Info.plist
  • Kept only the modern CFBundleIconName entry
  • Simplified asset catalog configuration to use transparent icons

Risk Assessment:

  • Primary risk is potential App Store rejection due to transparent app icons
  • However, many apps successfully use this approach
  • Fallback backgrounds are consistent with our brand guidelines
  • Simplifies our icon management and build process

Testing:

  • Verified icons display correctly in development
  • Confirmed proper light/dark mode behavior locally

Next Steps:

  • Monitor App Store review process
  • Have backup solution with explicit backgrounds if needed
  • Document this approach for future reference

Related issues

Fixes: #4226

Manual testing steps

  1. Install a fresh app
  2. Hold down on the home screen until the apps jiggle, indicating that the icons can be moved/deleted/edited
  3. Click on the "Edit" button at the top right or left depending on the device, and click "Customize"
  4. A bottom sheet should appear allowing you to toggle light, dark, and tint
  5. Confirm that those still work

Screenshots/Recordings

TestFlight Build

ScreenRecording_02-20-2025.12-04-18_1.MP4

Before

NA

After

NA

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

@vinnyhoward vinnyhoward added No E2E Smoke Needed If the PR does not need E2E smoke test run team-wallet-ux labels Feb 18, 2025
@vinnyhoward vinnyhoward requested a review from a team as a code owner February 18, 2025 22:10
Copy link
Contributor

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbot metamaskbot requested a review from a team as a code owner February 18, 2025 23:13
@vinnyhoward vinnyhoward force-pushed the fix-4226-dark-mode-bug branch from 19be86a to 5262c29 Compare February 19, 2025 20:16
@vinnyhoward vinnyhoward force-pushed the fix-4226-dark-mode-bug branch from 4f66a8f to 2d2e796 Compare February 20, 2025 00:10
@@ -12,19 +12,6 @@
<string>$(EXECUTABLE_NAME)</string>
<key>CFBundleIconName</key>
<string>AppIcon</string>
<key>CFBundleIcons</key>
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removing this because it is not needed and was introduced in this recent PR so that we can pass the release build pipeline for TestFlight.

Removing the tint fields in the Contents.json is sufficient to get the builds passing

@vinnyhoward vinnyhoward force-pushed the fix-4226-dark-mode-bug branch from 965aedd to 2d43483 Compare February 20, 2025 18:37
@vinnyhoward vinnyhoward added Run Smoke E2E Triggers smoke e2e on Bitrise and removed No E2E Smoke Needed If the PR does not need E2E smoke test run labels Feb 20, 2025
Copy link
Contributor

https://bitrise.io/ Bitrise

🔄🔄🔄 pr_smoke_e2e_pipeline started on Bitrise...🔄🔄🔄

Commit hash: 2d43483
Build link: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/3451cfe8-ccb5-48b6-b4ae-7a503c04d014

Note

  • This comment will auto-update when build completes
  • You can kick off another pr_smoke_e2e_pipeline on Bitrise by removing and re-applying the Run Smoke E2E label on the pull request

@vinnyhoward vinnyhoward changed the title fix(4226): remove legacy icon configuration from info.plist fix(4226): update app icons to be transparent Feb 20, 2025
@vinnyhoward vinnyhoward changed the title fix(4226): update app icons to be transparent fix(4226): implement transparent app icons for improved dark/light mode handling Feb 20, 2025
@vinnyhoward vinnyhoward added Run Smoke E2E Triggers smoke e2e on Bitrise and removed Run Smoke E2E Triggers smoke e2e on Bitrise labels Feb 20, 2025
Copy link
Contributor

github-actions bot commented Feb 20, 2025

https://bitrise.io/ Bitrise

❌❌❌ pr_smoke_e2e_pipeline failed on Bitrise! ❌❌❌

Commit hash: 5411506
Build link: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/65a7100a-78da-4a8c-970a-aeffeb5b70e0

Note

  • You can kick off another pr_smoke_e2e_pipeline on Bitrise by removing and re-applying the Run Smoke E2E label on the pull request

Tip

  • Check the documentation if you have any doubts on how to understand the failure on bitrise

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Run Smoke E2E Triggers smoke e2e on Bitrise team-wallet-ux
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants