iOS icon indicating copy to clipboard operation
iOS copied to clipboard

Lock Screen widgets invisible but tappable on device; simulator OK

Open DebbyRi71 opened this issue 5 months ago • 3 comments

iOS device model, version and app version

Model Name: iPhone (multiple; reproducible on real devices) Software Version: iOS 18.6 App version: 2025.8 TestFlight builds (Release). Simulator builds render correctly.

Home Assistant Core Version 2025.7

Describe the bug

Lock Screen widgets render as invisible but remain tappable on real devices when installed via TestFlight build. The same widgets render correctly in the iOS Simulator. Some widget families (e.g., gauge, details) display, while others (assist, scripts, actions, open page) are invisible though tappable. Custom icon font is confirmed registered successfully, but text/icons using that font do not appear on device for specific Lock Screen families.

To Reproduce

  1. Build in Release and distribute through TestFlight.
  2. Add multiple Lock Screen widgets:
    • Working: gauge, details
    • Invisible but clickable: assist, scripts, actions, open page

Observe that:

Simulator renders all widgets correctly. On device, some widgets are invisible (no background/foreground drawn) but still respond to taps.

Expected behavior

  • All Lock Screen widget families should render their views and icons when installed via TestFlight, matching Simulator behavior.
  • Custom font icons should appear consistently once CTFontManagerRegisterFontsForURL reports successful registration.

Screenshots Not available (widgets are visually absent; they occupy space and are tappable).

DebbyRi71 avatar Aug 08 '25 06:08 DebbyRi71

Hi @bgoncal just following up on this issue — would you mind taking a look when you get a chance? Let me know if any further info or logs would help. Thanks!

DebbyRi71 avatar Aug 15 '25 13:08 DebbyRi71

No, sorry, currently busy with high priority issues + iOS 26 changes.

Quickly glancing through this issue looks like a full iPhone reboot may fix it, have you tried?

I am currently using those widgets as well, so it may be an issue only in specific circumstances, do you have more physical devices to test on?

bgoncal avatar Aug 15 '25 13:08 bgoncal

Thanks for the quick response! Yes, I've tried a full iPhone reboot multiple times - unfortunately it doesn't resolve the issue. The invisible widgets persist after reboots.

Physical devices tested:

  • Multiple real devices running iOS 18.5, 18.6 as well as 26 (all reproduce the issue)
  • Issue is 100% reproducible on TestFlight and App Store builds
  • Simulator always works perfectly (same codebase)

Extensive troubleshooting already attempted:

  • Device-level fixes tried:
  • Full iPhone reboots (multiple times)
  • Removing and re-adding widgets
  • Force-closing the main app
  • Clearing app data/reinstalling from TestFlight
  • Testing on different real iOS devices

Code-level debugging:

  • Added comprehensive logging throughout widget initialization, font loading, and view rendering
  • Confirmed custom font registration succeeds (Material Design Icons family)
  • Memory profiling showed widget extension hitting 30MB limit due to heavy framework dependencies
  • Added fallback system icons (they render, but custom font icons remain invisible)
  • Tested with different widget configurations and intents

System behavior observed:

  • Some widget families work (gauge, details) while others are invisible (assist, scripts, actions, openpage)
  • Widgets are functionally clickable but visually absent

DebbyRi71 avatar Aug 15 '25 19:08 DebbyRi71