feature/notification-system #7

Merged
hume merged 27 commits from feature/notification-system into main 2026-08-22 13:18:27 +00:00
Owner
No description provided.
hume added 27 commits 2026-08-22 13:18:13 +00:00
- Backend:
  - MobileToken model for FCM/APNs token storage
  - NotificationLog model with types (NEW_BOOKING, BOOKING_UPDATED, BOOKING_CANCELLED, ARRIVAL_SOON, DEPARTURE_SOON, PAYMENT_RECEIVED) and sources (EMAIL, CSV, EXCEL, ICAL, MANUAL, AUTO_SYNC)
  - push_service.py with Firebase Admin SDK integration
  - send_arrival_notifications.py cron script with dry-run support
  - Updated import services (email, CSV, Excel) to log notifications
  - Mobile routes: POST/GET /push/token, GET /notifications (arrivals)
  - Frontend route: GET /imports/notifications (log with filters)

- Frontend:
  - NotificationsView.vue: DataTable with type/source badges, filters, pagination
  - AppMenu.vue: Added Notifications menu item

- Mobile:
  - NotificationsView.vue: Two tabs (Arrivées/Historique), swipe refresh, read state
  - pushNotifications.ts: Capacitor PushNotifications with FCM registration
  - AndroidManifest.xml: FCM permissions, service, notification channel
  - capacitor.config.ts: PushNotifications plugin config

- Dependencies:
  - firebase-admin added to pyproject.toml
  - @capacitor/push-notifications added to mobile

- Migrations:
  - 36ddde1c3047_add_notification_log_table.py
  - 9eecac8cf494_add_mobile_tokens_table.py

- Tests: All 75 backend tests pass
fix: JSON.stringify for API config log readability
Some checks failed
Mobile Frontend / Build Web Assets (push) Has been cancelled
1abea7f1bc
fix: correct mobile notifications endpoint to /api/v1/imports/mobile/notifications
All checks were successful
Mobile Frontend / Build Web Assets (push) Successful in 9m51s
f058760438
fix: add CORS origins for Capacitor HTTP localhost and 10.0.2.2
All checks were successful
Backend / backend (push) Successful in 43s
3073410ea1
fix: add device_id to FCM token registration request
Some checks failed
Mobile Frontend / Build Web Assets (push) Has been cancelled
60cf04921d
fix: add getDeviceId function for stable device identification
All checks were successful
Mobile Frontend / Build Web Assets (push) Successful in 9m51s
cdf4f51ae3
refactor: move scripts to backend/scripts/ and fix imports
All checks were successful
Backend / backend (push) Successful in 41s
f4cee57ae1
fix: add processed_emails dedup table + timezone fix for frontend displays
Some checks failed
Mobile Frontend / Build Web Assets (push) Waiting to run
Backend / backend (push) Has been cancelled
Frontend / frontend (push) Successful in 18s
820a7cfcbf
chore: remove Firebase config files from repo (should be local only)
All checks were successful
Backend / backend (push) Successful in 40s
Mobile Frontend / Build Web Assets (push) Successful in 9m52s
fa2dfdff9e
fix: IMAP dedup + notification dedup + timezone fix
Some checks failed
Mobile Frontend / Build Web Assets (push) Waiting to run
Backend / backend (push) Has been cancelled
838ee8fd6f
chore: remove Firebase config files from repo
All checks were successful
Backend / backend (push) Successful in 39s
Mobile Frontend / Build Web Assets (push) Successful in 9m52s
e78f206780
fix: guest name extraction regex for CREATED emails + dedup notifications
Some checks failed
Mobile Frontend / Build Web Assets (push) Waiting to run
Backend / backend (push) Has been cancelled
32e6a19d47
chore: remove Firebase config files from repo
All checks were successful
Backend / backend (push) Successful in 40s
Mobile Frontend / Build Web Assets (push) Successful in 9m49s
7c64d4f630
fix: cleanup duplicate notifications - keep 1 per booking
Some checks failed
Mobile Frontend / Build Web Assets (push) Waiting to run
Backend / backend (push) Has been cancelled
0ba5b79711
chore: remove Firebase config files from repo (again)
Some checks failed
Backend / backend (push) Successful in 41s
Mobile Frontend / Build Web Assets (push) Has been cancelled
7f45840daf
feat: add is_read filter to notifications API + frontend checkbox filter
Some checks failed
Mobile Frontend / Build Web Assets (push) Waiting to run
Backend / backend (push) Has been cancelled
Frontend / frontend (push) Successful in 18s
a1a4d9d903
chore: remove Firebase config files from repo (final)
All checks were successful
Backend / backend (push) Successful in 38s
Mobile Frontend / Build Web Assets (push) Successful in 9m51s
adb59470ef
feat: is_read filter for notifications API works with test DB
Some checks failed
Mobile Frontend / Build Web Assets (push) Waiting to run
Backend / backend (push) Has been cancelled
f577c84da5
chore: remove Firebase config files from repo
All checks were successful
Backend / backend (push) Successful in 40s
Mobile Frontend / Build Web Assets (push) Successful in 9m47s
6b45a147e3
feat: add departures notifications + Planning tab in mobile app
Some checks failed
Mobile Frontend / Build Web Assets (push) Waiting to run
Backend / backend (push) Has been cancelled
cbcacdc566
chore: remove Firebase config files from repo
All checks were successful
Backend / backend (push) Successful in 40s
Mobile Frontend / Build Web Assets (push) Successful in 9m54s
8bf83ceddf
feat: add Planning tab + dynamic notification badge + API_URL fix
Some checks failed
Backend / backend (push) Successful in 47s
Mobile Frontend / Build Web Assets (push) Has been cancelled
a80a80e6e2
chore: remove Firebase configs from git tracking
Some checks failed
Backend / backend (push) Successful in 45s
Mobile Frontend / Build Web Assets (push) Has been cancelled
50fefc4f45
fix: uniformize DashboardView layout class to view-layout + add top-bar-actions for notification badge
All checks were successful
Mobile Frontend / Build Web Assets (push) Successful in 9m59s
296481e43e
fix: session.py support DATABASE_URL env var for test DB
All checks were successful
Backend / backend (push) Successful in 44s
Mobile Frontend / Build Web Assets (push) Successful in 9m58s
Backend / backend (pull_request) Successful in 47s
Frontend / frontend (pull_request) Successful in 37s
Mobile Frontend / Build Web Assets (pull_request) Successful in 9m54s
f32b85852f
hume merged commit 32aec885f4 into main 2026-08-22 13:18:27 +00:00
hume deleted branch feature/notification-system 2026-08-22 13:18:28 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
hume/sci-rental-manager!7
No description provided.