[EPAC-1930]: redesign home status card for past debates#479
Merged
riddim-developer-bot[bot] merged 2 commits intoMay 18, 2026
Conversation
|
Symphony expected a reviewer-bot review for the current autonomous PR head within the configured SLA window, but none was found.
|
There was a problem hiding this comment.
ReviewAutonomousPR
- Verdict:
request_changes - Reviewer boundary:
review_only - Acceptance criteria coverage: covered=5, missing=1, unclear=2
Summary
The PR removes the primary stale sitting-calendar status copy, but the kept Home status card still renders cache-focused offline copy, so the Home screen can still show caching language in a supported state.
Actionable findings
- required / required_autonomous_fix — Home status card still shows cache-language when offline (
ios/epac/Views/Home/HomeFeedView.swift:148)- The redesigned Home card still renders
offlineCacheTextinsidetodaySectionwhenever!networkMonitor.isConnected, and that text comes fromhome.today.offline/home.today.offlineCache: "Offline — showing cached Parliament data" and "Offline — showing cached data from %@". This violates the issue's requirement that no live-status or caching copy appears on the Home screen/status card. Replace these strings and/or the offline row with past-debates wording that does not describe caching. - Actionability:
required_autonomous_fix
- The redesigned Home card still renders
Acceptance criteria coverage
- missing — The status card no longer displays copy implying live data, caching step, or upcoming-calendar awareness.
- The offline state in the status card still displays localized cache copy via
offlineCacheText. - Actionability:
required_autonomous_fix - Evidence: ios/epac/Views/Home/HomeFeedView.swift:148 and ios/epac/en.lproj/Localizable.strings:389
- The offline state in the status card still displays localized cache copy via
- covered — Replacement copy honestly describes browsing past parliamentary debates, or the card is removed; choice named in PR description.
- The card is kept with
Past debates/Browse previous sittings, and the PR body names that choice. - Actionability:
none - Evidence: ios/epac/Views/Home/HomeFeedView.swift:214
- The card is kept with
- covered — If the card is kept, it must not show a loading/spinner state on cold launch.
- The card now renders static content and no status-card ProgressView was added.
- Actionability:
none - Evidence: ios/epac/Views/Home/HomeFeedView.swift:203
- covered — If the card is removed, layout reflows cleanly.
- Not applicable because the card was kept.
- Actionability:
none
- covered — Required grep over Swift files returns zero matches.
- Static review of the PR head found no matching Swift results for the required pattern.
- Actionability:
none - Evidence:
git grep -n -i -E 'cached yet|sitting calendar|live.*status|not cached' 7382b916 -- 'ios/epac/*.swift' 'ios/epac/**/*.swift'returned no matches.
- unclear —
make buildpasses with zero new warnings.- The PR body reports
cd ios && make buildsucceeded with only an existing SwiftData warning; I did not rerun the full build in this review pass. - Actionability:
none
- The PR body reports
- covered — Snapshot or screenshot tests covering Home are updated.
- The PR body states there is no existing Home feed card snapshot coverage to update.
- Actionability:
none
- unclear — External validation: human spot-check after TestFlight deploy.
- This remains a post-merge/release validation gate and is not required before code review approval once code issues are fixed.
- Actionability:
external_gate
There was a problem hiding this comment.
ReviewAutonomousPR
- Verdict:
request_changes - Reviewer boundary:
review_only - Acceptance criteria coverage: covered=4, missing=2, unclear=2
Summary
The prior cache/offline issue is fixed, but the kept Home status card still contains visible current-day copy that conflicts with the past-debates-only redesign.
Actionable findings
- required / required_autonomous_fix — Home status card still says “More from today” (
ios/epac/Views/Home/HomeFeedView.swift:183)- The redesigned status card is kept as a static past-debates entry point, but its CTA still renders
home.today.more, which is localized as “More from today” / “Plus d'aujourd'hui”. That still implies current-day/live recency rather than the app's current past-debates capability. Replace this visible copy with neutral past-debates wording such as “More debates” or “Browse debates”. - Actionability:
required_autonomous_fix
- The redesigned status card is kept as a static past-debates entry point, but its CTA still renders
Acceptance criteria coverage
- missing — The status card no longer displays copy implying live data, caching step, or upcoming-calendar awareness.
- Cache and calendar placeholder copy is gone, but the card still displays “More from today”, which implies current-day status/content on a past-debates-only surface.
- Actionability:
required_autonomous_fix - Evidence: ios/epac/Views/Home/HomeFeedView.swift:183; ios/epac/en.lproj/Localizable.strings:394; ios/epac/fr.lproj/Localizable.strings:396
- missing — Replacement copy honestly describes browsing past parliamentary debates, or the card is removed; choice named in PR description.
- The title/subtitle satisfy this, but the same kept card still includes the “More from today” CTA.
- Actionability:
required_autonomous_fix - Evidence: ios/epac/Views/Home/HomeFeedView.swift:183
- covered — If the card is kept, it must not show a loading/spinner state on cold launch.
- The card renders static content and no status-card spinner/loading state remains.
- Actionability:
none - Evidence: ios/epac/Views/Home/HomeFeedView.swift:143
- covered — If the card is removed, layout reflows cleanly with no blank gaps or misaligned sibling views.
- Not applicable because the card is kept.
- Actionability:
none
- covered — Required Swift grep returns zero matches.
- The required grep pattern over Swift files returned no matches at the PR head.
- Actionability:
none - Evidence:
git grep -n -i -E 'cached yet|sitting calendar|live.*status|not cached' c30a6fa81d977298d240c48a69c87722529b26f7 -- 'ios/epac/*.swift' 'ios/epac/**/*.swift'exited with no output.
- unclear — make build passes with zero new warnings.
- The PR body reports
cd ios && make buildsucceeded with only an existing SwiftData warning; I did not rerun the full build in this review pass. - Actionability:
none
- The PR body reports
- covered — Snapshot or screenshot tests covering Home are updated.
- The PR body states existing snapshot coverage does not include the Home feed card.
- Actionability:
none
- unclear — External validation: human spot-check after TestFlight deploy.
- This remains a post-merge/release human validation gate and is not a reason to block code review once code findings are fixed.
- Actionability:
external_gate
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.
Why
EPAC-1919 removed live parliament status surfaces, but the Home screen still showed stale calendar/cache copy that implied live data might arrive. This updates the card to describe what the app can honestly do now: browse past parliamentary debates.
What changed
Trade-offs not taken
I kept the card rather than removing it because it still provides a clear route into the Parliament tab and avoids leaving the top of Home without a primary debates affordance. I removed the card-specific offline row instead of replacing it because the card is now static navigation, and the existing pull-to-refresh toast still handles offline refresh feedback outside the card.
Test plan
grep -r -i 'cached yet\|sitting calendar\|live.*status\|not cached' ios/epac/ --include="*.swift"produced no matches.SCRIPT_INPUT_FILE_COUNT=3 SCRIPT_INPUT_FILE_0=ios/epac/Views/Home/HomeFeedView.swift SCRIPT_INPUT_FILE_1=ios/epac/en.lproj/Localizable.strings SCRIPT_INPUT_FILE_2=ios/epac/fr.lproj/Localizable.strings swiftlint --strict --config .swiftlint.yml --use-script-input-filespassed with 0 violations for the changed Swift file. A plain full-treeswiftlint --strictrun after local builds is polluted by generated/vendored files underios/.build/SourcePackages; CI SwiftLint had passed before this fix and will rerun on the pushed head.python3 scripts/localization/check_localizations.py --github-warningspassed coverage for changed keys; it still reports the pre-existing missingonboarding.welcome.titlekey in English/French.cd ios && make buildsucceeded. The build still emits the existing SwiftData macro warning about redundantSendableconformance forSchemaV5.RecordedVote; this PR does not touch that model.Reviewer-Boundary: review-only
Resolves EPAC-1930
Release-Note: Updated the Home screen debate card to point clearly to past parliamentary debates.