Skip to content

feat(m8): real-time notifications, operational comms & roadmap verification - #38

Closed
Satelink-Protocol wants to merge 3 commits into
feature/m7-attendee-experiencefrom
feature/m8-realtime-notifications
Closed

Satelink-Protocol wants to merge 3 commits into
feature/m7-attendee-experiencefrom
feature/m8-realtime-notifications

Conversation

@Satelink-Protocol

Copy link
Copy Markdown
Contributor

Summary

Milestone M8 delivers the real-time notifications, operational comms, attendee self-cancellation, quiet hours deferral, staff scoping invariant fix, admin outbox & comms retry mechanism, and DNS / email routing operational runbooks resolving blockers #4 and #7.

Baseline & Chain

Key Deliverables

  1. Attendee Lifecycle & Cancellation:
    • Server-authoritative attendee self-cancellation endpoint (POST /api/me/bookings/:id/cancel & POST /api/bookings/:id/cancel).
    • Transactional seat hold release, ticket invalidation (status = 'cancelled'), and group invite link revocation.
    • Transactional cancellation notice delivered to Telegram (booking_cancelled_by_user).
    • Frontend digital pass cancellation state banner with automatic QR pass suppression.
  2. Organiser Operational Broadcasts:
    • Operational announcements (POST /api/organiser/events/:id/announcements) delivered to attendees with custom title, body, and direct booking pass link.
    • Event staff scoping invariant fix: event staff (including door_staff and assistant) discover and access assigned events via event.view_inventory without exposing sensitive attendee guest lists (event.view_guests).
    • Automated host approval notification (host_approved) delivered when organiser is enabled in admin console.
  3. Quiet Hours & Notification Delivery Engine:
    • Per-user quiet hours configuration in Asia/Kolkata timezone (23:00 to 08:00 default).
    • Deferral mechanism for non-urgent notifications (event_announcement, announcements) during quiet hours, with urgent notifications bypassing deferral.
  4. Admin Outbox & Comms Management:
    • Outbox inspection API (GET /api/admin/notifications) with status filtering and 24h KPI statistics.
    • Manual retry mechanism (POST /api/admin/notifications/:id/retry) with audit logging.
    • Interactive leads management with direct communication links (Telegram t.me, email, telephone).
  5. Operational Runbooks (Blockers M0–M1: platform audit docs + safety rails (migration policy, seed/reset guards, revocable sessions) #4 & SuperProfile as the only ticket checkout (P1) + CI + reconciliation #7):
    • docs/launch/DNS_AND_EMAIL_ROUTING.md providing production Cloudflare DNS and email routing setup for contact@nightlifez.com.
    • docs/arch/REALTIME_NOTIFICATIONS_AND_COMMS.md documenting system architecture.

Verification & Test Evidence

  • Automated Regression Suite: 663 passed, 2 skipped, 0 failed.
  • M8 Specific Test Suite (test/m8-realtime-notifications.test.js): 9/9 passed.
  • Migration Suite (test/migrations.test.js): 8/8 passed.
  • Targeted Playwright E2E Suite: 8/8 passed across desktop and mobile viewports.
  • Lint Check: 150/150 files lint clean.
  • Governance: ENABLE_LIVE_PAYMENTS=false preserved across all environments. No unmerged PRs merged.

@vercel

vercel Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
strangersmeetup Ready Ready Preview Nov 9, 2026 12:34pm UTC

@Satelink-Protocol

Copy link
Copy Markdown
Contributor Author

Superseded by #41 (Consolidate M4–M10), merged into launch-mvp at 771f6e1. This PR's head is an ancestor of that merge. The branch is archived as tag archive/ before deletion.

@Satelink-Protocol
Satelink-Protocol deleted the feature/m8-realtime-notifications branch November 10, 2026 09:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant