Conversation
added 2 commits
May 27, 2026 00:50
Add a History screen reachable from the home top bar that lists Treeherder APKs whose installer was opened. History entries persist the try metadata, job metadata, artifact URL, and cache-relative path so the screen can show install context and navigate back to the revision search. Record installer launches from both Treeherder search and Treeherder user flows. The History screen resolves each entry against the local Treeherder cache so cached APKs show an Install action immediately, while missing APKs can be downloaded from the stored artifact URL and then installed. Move APK downloads into a files-backed download-cache with legacy cache migration and FileProvider support. Exclude the new download cache from backup/transfer. Harden APK downloads by writing to .part files, preserving an existing final APK with backup files during replacement, restoring backups after interrupted replacements, and ignoring unmanaged backup suffixes. Tests cover history state resolution, installer launch recording, legacy cache migration, and the download replacement/recovery paths.
Add a remove action to History cards and persist deletion through the HistoryRepository so removing an entry drops the card and deletes the corresponding database row. Cancel active History downloads when their entry is removed, clear related APK cache files, and guard late callbacks with per-download generations. Reinserted same-key entries render as an indeterminate in-progress state while the old canceled download is still finishing so the Download button cannot start a competing writer. Tests cover repository-backed deletion, card removal, active-download cancellation, stale callback suppression, managed cache file cleanup, and same-key retry behavior after cancellation completes.
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.
Add a History screen reachable from the home top bar that lists Treeherder APKs whose installer was opened. History entries persist the try metadata, job metadata, artifact URL, and cache-relative path so the screen can show install context and navigate back to the revision search.
Record installer launches from both Treeherder search and Treeherder user flows. The History screen resolves each entry against the local Treeherder cache so cached APKs show an Install action immediately, while missing APKs can be downloaded from the stored artifact URL and then installed.
Move APK downloads into a files-backed download-cache with legacy cache migration and FileProvider support. Exclude the new download cache from backup/transfer.
Harden APK downloads by writing to .part files, preserving an existing final APK with backup files during replacement, restoring backups after interrupted replacements, and ignoring unmanaged backup suffixes.
Tests cover history state resolution, installer launch recording, legacy cache migration, and the download replacement/recovery paths.