MotorSignal-App/website/app
Billie Ponder c1aa68ac43
feat(group-rides): secure club join moderation and discovery (Phase 3A) (#26)
* feat(clubs): enable admin group ride governance

* feat(clubs): add secure member ride discovery

* fix(clubs): protect meeting location in ride discovery

* feat(group-rides): secure club join moderation

* test(clubs): update ride discovery expectations

* test(founder-portal): update rides governance expectations

* fix(group-rides): resolve pre-merge findings on join moderation and discovery

- Block participant hard deletes for accepted status and organizer role for all callers

- Support atomic accessUids removal on invitation decline in firestore.rules

- Restrict mutual-block checks to approvals in GroupRideService, allowing decline of blocked requests

- Implement cursor-paginated candidate scanning with block filtering in website discovery API

- Add comprehensive emulator, vitest, and unit tests covering all 5 findings

* fix(discovery): page candidates until 30 eligible rides collected or query exhausted

- Remove artificial 150 candidate scan ceiling in club rides discovery route

- Continue cursor pagination until 30 unblocked eligible rides are collected or upcoming schedule query is exhausted

- Add test verifying pagination continues past 150 blocked rides to collect all 30 eligible rides

---------

Co-authored-by: Developer <dev@example.com>
2026-09-24 12:00:48 -04:00
..
account feat(website): standardize dark glass design system, obsidian contrast buttons, and rider account management 2026-09-18 18:35:31 -04:00
admin feat(ops): add incident management, user administration, support tickets, and website CMS 2026-09-18 18:35:12 -04:00
api feat(group-rides): secure club join moderation and discovery (Phase 3A) (#26) 2026-09-24 12:00:48 -04:00
clubs feat(group-rides): secure club join moderation and discovery (Phase 3A) (#26) 2026-09-24 12:00:48 -04:00
download feat(ops): add dual speedtest options, support ticket fixes, cms sync, and overview card redesign (#23) 2026-09-22 01:38:54 -04:00
features feat(website): standardize dark glass design system, obsidian contrast buttons, and rider account management 2026-09-18 18:35:31 -04:00
forgot-password feat(website): standardize dark glass design system, obsidian contrast buttons, and rider account management 2026-09-18 18:35:31 -04:00
group-rides feat(website): standardize dark glass design system, obsidian contrast buttons, and rider account management 2026-09-18 18:35:31 -04:00
login feat(website): standardize dark glass design system, obsidian contrast buttons, and rider account management 2026-09-18 18:35:31 -04:00
pricing feat(website): standardize dark glass design system, obsidian contrast buttons, and rider account management 2026-09-18 18:35:31 -04:00
privacy feat(ops): add dual speedtest options, support ticket fixes, cms sync, and overview card redesign (#23) 2026-09-22 01:38:54 -04:00
register feat(website): standardize dark glass design system, obsidian contrast buttons, and rider account management 2026-09-18 18:35:31 -04:00
support Improve ride recording and telemetry workflows 2026-09-08 02:13:03 -04:00
terms feat(ops): add dual speedtest options, support ticket fixes, cms sync, and overview card redesign (#23) 2026-09-22 01:38:54 -04:00
verify-email Improve ride recording and telemetry workflows 2026-09-08 02:13:03 -04:00
globals.css fix(website): expand Founder Portal layout width to fill available canvas (#11) 2026-09-20 08:59:43 -04:00
layout.tsx fix(website): expand Founder Portal layout width to fill available canvas (#11) 2026-09-20 08:59:43 -04:00
page.tsx feat(ops): add dual speedtest options, support ticket fixes, cms sync, and overview card redesign (#23) 2026-09-22 01:38:54 -04:00