Skip to content

fw/shell/normal: show a dialog when a quick launch app is not installed#1719

Open
ericmigi wants to merge 1 commit into
coredevices:mainfrom
ericmigi:firm-3347-quick-launch-offload
Open

fw/shell/normal: show a dialog when a quick launch app is not installed#1719
ericmigi wants to merge 1 commit into
coredevices:mainfrom
ericmigi:firm-3347-quick-launch-offload

Conversation

@ericmigi

Copy link
Copy Markdown
Collaborator

Quick launch preferences store the app UUID. When the phone offloads an app to stay under the locker sync limit, it deletes the app's BlobDB record from the watch, so the UUID no longer resolves to an install id. All quick launch paths treated this as "nothing assigned": a long press opened the Quick Launch setup menu with the shortcut showing as unassigned, a single click asserted in app_manager_put_launch_app_event() and rebooted the watch, and combos silently did nothing.

An enabled quick launch preference always has a valid UUID (enforced by prefs normalization), so a failed lookup on an enabled button means the app is missing from the watch, not unassigned. Show a dialog telling the user to re-add the app from the phone instead of pretending the button is unassigned.

Fixes FIRM-3347
Fixes FIRM-2825

Quick launch preferences store the app UUID. When the phone offloads an
app to stay under the locker sync limit, it deletes the app's BlobDB
record from the watch, so the UUID no longer resolves to an install id.
All quick launch paths treated this as "nothing assigned": a long press
opened the Quick Launch setup menu with the shortcut showing as
unassigned, a single click asserted in app_manager_put_launch_app_event()
and rebooted the watch, and combos silently did nothing.

An enabled quick launch preference always has a valid UUID (enforced by
prefs normalization), so a failed lookup on an enabled button means the
app is missing from the watch, not unassigned. Show a dialog telling the
user to re-add the app from the phone instead of pretending the button
is unassigned.

Fixes FIRM-3347
Fixes FIRM-2825

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Signed-off-by: Eric Migicovsky <eric@repebble.com>
@ericmigi
ericmigi requested review from gmarull and jplexer as code owners July 16, 2026 00:15
@jplexer

jplexer commented Jul 16, 2026

Copy link
Copy Markdown
Member

mhh the correct way would be for a quick launch app to not get offloaded (cc: @sjp4 )

@sjp4

sjp4 commented Jul 16, 2026

Copy link
Copy Markdown
Member

mhh the correct way would be for a quick launch app to not get offloaded (cc: @sjp4 )

i'm guessing this is most likely to happen when the user uninstalled the app. The hitting-the-locker-sync-limit case is very unlikely (unless you are eric)

Copy link
Copy Markdown
Collaborator Author

the dialog is still bad and could be updated easily with this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants