Repository navigation
fix(storage): list apps again when the device boots or the panel reopens - #68
Merged
Merged
Conversation
The Storage panel listed installed apps once per device and never again. A simulator that booted or an Android device that reconnected while the panel was open kept an empty list, and apps installed later stayed missing after reopening the panel. A device that boots, reconnects, or stops now starts over like a newly chosen device and keeps the app picked on it. Each open lists the apps again, and Refresh lists them and rereads the selected app; it is enabled whenever the device is readable, even with no app selected. A listing in flight is reused, a listing for an older device or app is dropped, and listing no longer takes over the busy state of a read.
lauridskern
marked this pull request as ready for review
October 29, 2026 15:00
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.
Storage now reloads installed apps when the selected device boots or reconnects, when the panel reopens, and on Refresh. Refresh works even when no app is selected and also rereads the selected app's storage.
The current selection stays while the app is installed. Concurrent listing requests are deduplicated, results from an older selection are dropped, and listing does not clear an active storage read's busy state.
Tests cover boot, reconnect, reopen, Refresh, selection changes, and late responses. The UI and MCP app suites passed 349 tests. The review run covering Storage, React controls, native storage, and Android startup diagnostics passed all 38 tests.
This PR also includes the shared CI test fix from #65: privacy validation uses the strict telemetry schema instead of searching numeric durations for port digits. A fixed clock reproduces the former false failure.
Existing telemetry names and failure attribution are preserved. Each listing still records one timing sample; docs/telemetry.md records the added listing triggers.