Skip to content

v1.11

  • v1.11
  • 6ee535f
  • Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
  • Choose a tag to compare

  • v1.11
  • 6ee535f
  • Choose a tag to compare

  • Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature.
@riddim-developer-bot riddim-developer-bot tagged this 18 May 21:58
## Why

The Parliament calendar inherited UIKit `scrollsToTop` behavior from
HorizonCalendar's internal scroll view, so re-tapping the active
Parliament tab could send users to January 2001. That range is
intentionally configured but not useful for House sitting data, and the
previous Today action was hidden on the legend dot.

## What changed

- Added a calendar-scoped UIKit bridge that finds HorizonCalendar's
internal `CalendarScrollView` by runtime class name and sets only that
scroll view's `scrollsToTop` to `false`.
- Added a prominent Today button below the calendar that scrolls to
today's day using `.centered`; it stays visible from the default state
and disables itself while today is visible.
- Removed the hidden Today tap target from the legend so the Today
button is the canonical action.
- Grouped Order Paper, Committees, and Ontario Debates into one
Parliament toolbar menu, reducing non-principal Parliament toolbar slots
from 5 to 3.
- Consolidated Party, Province, Status, and Cabinet filters into one
Members filter menu with an active-count badge, reducing Members toolbar
controls from up to 6 to 2.
- Added regression coverage for the scoped `scrollsToTop` opt-out and
Members active filter count.
- Added review evidence screenshots under
`docs/review-artifacts/EPAC-1940/` for the requested before/after
toolbar comparisons and fixed Parliament post-retap state.

## Trade-offs not taken

- I did not intercept tab re-selection globally; the fix is scoped to
the calendar scroll view so Home, Members, Accountability, and Search
keep normal scroll-to-top behavior.
- I chose a sticky in-view Today button rather than another toolbar item
because this issue also asks to de-clutter the Parliament toolbar.
- I did not change the calendar date range lower bound; that is
explicitly out of scope.

## Test plan

- `cd ios && xcodebuild test -quiet -project epac.xcodeproj -scheme epac
-destination 'platform=iOS Simulator,name=iPhone 17 Pro'
-only-testing:epacTests/MembersViewModelTests/activeFilterCountIncludesEveryNonDefaultFilter
-only-testing:epacTests/MembersViewModelTests/activeFilterCountIsZeroByDefault
-only-testing:epacTests/CalendarScrollsToTopDisablerTests/disablesOnlyCalendarScrollViewScrollsToTop
-only-testing:epacTests/CalendarScrollsToTopDisablerTests/reportsNoCalendarScrollViewWhenHierarchyDoesNotContainOne`
(pass)
- `swiftlint --strict` (pass, 0 violations)
- `python3 scripts/localization/check_localizations.py
--github-warnings` (pass exit 0; existing warnings for
`onboarding.welcome.title`)
- `cd ios && make build` (pass; existing SwiftData macro
`RecordedVote`/`Sendable` warning)
- `cd ios && make simulator` (pass; installed and launched on simulator
`81896E8A-6231-4D20-956D-01CD486CACD9`)
- `cd ios && make test` (fails outside this change: broad snapshot
mismatches,
`FollowPreferenceAdapterTests.savedMemberNameReflectsPostalCodeStore`
persisted-default expectation,
`AppPreviewRecordingTests.testAppPreviewRecordingSequence`, and
`epacUITests.testAccountabilityTab_BillsListVisible`; changed regression
tests passed inside this run)
- Review evidence capture: baseline and PR simulator builds were
installed on iPhone 17 Pro Max iOS 26.4.1 and captured with `xcrun
simctl io ... screenshot`; artifacts are committed in
`docs/review-artifacts/EPAC-1940/`.
- iPad verification attempt: PR app installed on `EPAC-1940 iPad 26.0`
(`ED697A38-9F0B-445F-A561-97223F9DEAEF`) and fresh iPad simulators
(`0A486EA1-320F-4C83-98CC-998C8BC808E7`,
`CF8374B4-3668-45D1-9ACF-498D76DA32E6`), but local `xcrun simctl launch
... net.dinglebox.cabinetdoor` repeatedly hung and never foregrounded
the app. I did not include a SpringBoard-only frame as app evidence.

## Screenshots (if UI)

| Parliament toolbar before | Parliament toolbar after |
|---|---|
| ![Before Parliament
toolbar](docs/review-artifacts/EPAC-1940/before-iphone-parliament-toolbar.png)
| ![After Parliament
toolbar](docs/review-artifacts/EPAC-1940/after-iphone-parliament-toolbar.png)
|

| Parliament fixed post-retap state | Members toolbar before | Members
toolbar after |
|---|---|---|
| ![After Parliament
retap](docs/review-artifacts/EPAC-1940/after-iphone-parliament-after-retap.png)
| ![Before Members
toolbar](docs/review-artifacts/EPAC-1940/before-iphone-members-toolbar.png)
| ![After Members
toolbar](docs/review-artifacts/EPAC-1940/after-iphone-members-toolbar.png)
|

Reviewer-Boundary: review-only

Resolves EPAC-1940

Release-Note: Added a Today button to the Parliament calendar and
stopped tab re-tap from scrolling to 2001

---------

Co-authored-by: riddim-developer-bot <developer-bot@riddimsoftware.com>
Assets 2
Loading