MotorSignal-App/website/app/api
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
auth/[action] feat(website): standardize dark glass design system, obsidian contrast buttons, and rider account management 2026-09-18 18:35:31 -04:00
clubs/[clubId]/rides feat(group-rides): secure club join moderation and discovery (Phase 3A) (#26) 2026-09-24 12:00:48 -04:00
cms/[slug] feat(ops): add dual speedtest options, support ticket fixes, cms sync, and overview card redesign (#23) 2026-09-22 01:38:54 -04:00
group-rides/[rideId]/join-requests feat(group-rides): secure club join moderation and discovery (Phase 3A) (#26) 2026-09-24 12:00:48 -04:00
motorcycle-image feat(website): standardize dark glass design system, obsidian contrast buttons, and rider account management 2026-09-18 18:35:31 -04:00
ops feat(ops): add dual speedtest options, support ticket fixes, cms sync, and overview card redesign (#23) 2026-09-22 01:38:54 -04:00
version feat(website): expose and verify deployed Git revision (#13) 2026-09-20 18:59:17 -04:00