You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Restore apollos_demo as the Church slug. Separate a sampled device build and last-seen time from the public US Apple lookup and its checked time.
Show the source version alongside its comparison, with explicit “Behind top seen”, “Top seen”, “Behind source”, “At source”, “Ahead of source”, or “Unverified” status. Remove the ambiguous blanket “Outdated/Current”, unused table metrics, and their BigQuery aggregation so status stays visible.
The public lookup may lag App Store Connect; this PR does not claim to verify the published release or add credentials. Other stores are not checked.
Validation
215 unit tests; Ruff check/format and focused mypy pass.
Proof
Local /apps request traversed query construction with a disposable BigQuery client fixture and real public US Apple lookup. A later malformed v999 Preview event did not replace its valid runtime 106; the invalid-only app is Unverified with its comparison hidden, the SQL no longer requests unused user/event totals, and the status column is labelled. Unmatched iOS lookups also show when they were checked. Screenshot attached below.
Roku status labels don't match the documented vocabulary
app_versions.py:551
The new Roku mapping can still render At source and Ahead of source, while the PR describes the status vocabulary as Behind top seen, Top seen, Behind source, or Unverified. Please either map the non-behind outcomes to the documented statuses or update the user-facing contract and tests to include these additional labels.
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🔵 Needs a closer look
Two moderate issues remain regarding lookup timestamps and the missing status-column header.
Review effort: Lite Findings: None
Previously missed (1)
In code that hasn't changed since last review
Add missing Status table header
templates/app_versions.html:167
The row now renders a separate status cell after the source-freshness cell, but the header row still ends at Source freshness. This leaves the status column unlabeled and shifts the Expo Runtime/Source freshness headings onto the wrong data columns for screen readers and visual table association. Add a Status header after this one.
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🔵 Needs a closer look
Unavailable Apple lookup cases do not display when the lookup was checked.
Review effort: Lite Findings: None
Previously missed (1)
In code that hasn't changed since last review
Record store check time for unavailable iOS lookup results
app_versions.py:616
The checked timestamp is only attached when Apple returns a version. For an iOS bundle with no US result—or when the lookup fails—the table renders Not available without indicating when that lookup was performed, so the new source/checked-time distinction is lost exactly for the unavailable cases. Set store_checked_display for every eligible iOS row whenever the lookup attempt completes (including no-match/error), while keeping the version source as unavailable.
bug-board-fix-apps-stat-0ddf0v—1d082f25
Deployed
Sep 26, 2026 by
redreceipt
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
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.
Summary
apollos_demoas the Church slug. Separate a sampled device build and last-seen time from the public US Apple lookup and its checked time.Validation
Proof
/appsrequest traversed query construction with a disposable BigQuery client fixture and real public US Apple lookup. A later malformedv999Preview event did not replace its valid runtime 106; the invalid-only app is Unverified with its comparison hidden, the SQL no longer requests unused user/event totals, and the status column is labelled. Unmatched iOS lookups also show when they were checked. Screenshot attached below.