ssbg04
cb484051e3
feat(backend): FCM push notifications via firebase-admin
...
- fcmService.js: Firebase Admin SDK wrapper with sendToUser/sendToAll
- notificationController: hook FCM fire-and-forget in createNotification
- registerFcmToken endpoint: POST /api/notifications/fcm-token
- schema.js: add fcm_tokens table
- routes/notifications.js: register /fcm-token route
2026-08-18 13:53:00 +08:00
ssbg04
e94eaa63bf
fix(android): remove automatic battery optimization ignore request
2026-08-18 13:45:46 +08:00
ssbg04
fa8b101b34
fix(android): guard setExactAndAllowWhileIdle with canScheduleExactAlarms() check
...
SecurityException crash on Android 12+ when SCHEDULE_EXACT_ALARM special
access not user-granted. Now checks canScheduleExactAlarms() and falls back
to setAndAllowWhileIdle() (inexact, no special permission needed). Both
schedule() and cancel() wrapped in try/catch to prevent future alarm crashes.
2026-08-18 13:37:05 +08:00
ssbg04
281a782b93
fix(android): remove startForegroundService from BootReceiver (crash on boot)
...
ForegroundService requires a live Flutter engine and cannot be cold-started
from a BroadcastReceiver. flutter_foreground_task handles boot-restart
internally via autoRunOnBoot=true. BootReceiver now only reschedules
the AlarmManager chain.
2026-08-18 13:25:49 +08:00
ssbg04
648280ab45
fix(android): add AlarmManager 2-min background notification polling
...
- AlarmScheduler.kt: schedules setExactAndAllowWhileIdle every 2 min
- AlarmReceiver.kt: reads FlutterSharedPreferences, polls LAN backend, posts native notifications, self-chains next alarm
- MainActivity.kt: schedule alarm on app open
- BootReceiver.kt: schedule alarm on device reboot
- AndroidManifest.xml: register AlarmReceiver
2026-08-18 13:19:11 +08:00
ssbg04
4306a19d7b
fix(android): add BootReceiver.kt (force-add past gitignore)
2026-08-18 13:03:02 +08:00
ssbg04
1f02eb1f26
fix(android): enable push notifications in background/killed state
2026-08-18 13:02:37 +08:00
ssbg04
9aa6e6df2b
feat: add dynamic hardware vibration patterns and fix realtime reports compliance data
2026-08-18 12:32:36 +08:00
ssbg04
4487f2872f
feat: implement Android Foreground Service for real-time LAN background notifications
2026-08-18 11:29:24 +08:00
ssbg04
f4cb43b29f
style: remove background and border from Archives filter button
2026-08-18 10:45:34 +08:00
ssbg04
078c395126
feat: enhance Settings suffix dropdown, Users modal stepper and email autocomplete, and Archives header options
2026-08-18 10:43:09 +08:00
ssbg04
db42cf3050
fix: resolve Sheetifye Excel viewer integration, Riverpod autoDispose type bounds, and Dashboard initState error
2026-08-18 10:30:34 +08:00
ssbg04
93f419f6d1
feat(archives): add context menus, multi-select operations, print list controls, and fix grid view
2026-08-18 10:08:48 +08:00
ssbg04
9e4ed42806
feat(ui): fullscreen preview modal, button refinements, and notification slide fix
2026-08-18 09:46:43 +08:00
ssbg04
006587cb23
feat(archives): convert status dropdown to chips and modernize filter modal
2026-08-17 00:10:03 +08:00
ssbg04
74f4dfff33
fix(documents): responsive filter modal with scrollable section and fixed buttons
2026-08-16 23:23:08 +08:00
ssbg04
14607c15c4
fix(students): dynamic database filter options with cascading resets and clean dropdowns
2026-08-16 23:16:12 +08:00
ssbg04
a7f0b6a66a
feat(students): dynamic database filter options with cascading resets and clean dropdowns
2026-08-16 02:16:44 +08:00
ssbg04
57e0c201f8
feat: scope dashboard KPIs to teacher students and restrict teacher actions on documents screen
2026-08-16 02:05:01 +08:00
ssbg04
b57bcffa41
update: 4Ps default color
2026-08-16 01:44:00 +08:00
ssbg04
65c989d747
fix: enrollments tab in student screen dropdowns
2026-08-16 01:05:03 +08:00
ssbg04
314337c443
fix: add ctrl+f search shortcut and format search tooltips with italicized hotkeys across dashboard, students, documents, archives, and users screens
2026-08-14 00:14:33 +08:00
ssbg04
77ee87a6f8
fix(ui): isolate drag and drop bulk import to students screen and update users screen filter header style
2026-08-13 14:32:45 +08:00
ssbg04
98495e91eb
fix(ocr): improve SF9 OCR parser with orientation fallback and update settings screen edge fade
2026-08-13 12:14:50 +08:00
ssbg04
e5b02614cc
fix: resolve Excel extraction for JHS and SHS SF10 form parsing
2026-08-12 17:19:57 +08:00
ssbg04
acba1b4eb0
fix: resolve OCR parser middle name and extension extraction for bulk add and add student
2026-08-12 16:35:25 +08:00
ssbg04
01605bc8fd
fix: remove duplicate variable declaration in documents_screen.dart
2026-08-12 14:03:39 +08:00
ssbg04
1169347893
style: enhance chip text colors contrast and saturation in dark theme
2026-08-12 14:02:23 +08:00
ssbg04
38a0920c05
fix(backend): enhance OCR name parser for compound first names and identical first/last names
2026-08-12 10:10:03 +08:00
ssbg04
214b25092c
fix(backend): replace xlsx with exceljs and fix security audit vulnerabilities
2026-08-12 09:24:44 +08:00
ssbg04
e268569eac
fix: dark theme color palatte
2026-08-08 23:46:26 +08:00
ssbg04
b5e651dfb2
feat(frontend): complete phase 5 UX polish, skeleton loaders, and accessibility labels
2026-08-08 23:22:39 +08:00
ssbg04
ff00bc4e1b
fix(frontend): resolve bracket matching error in documents_screen RefreshIndicator
2026-08-08 23:08:22 +08:00
ssbg04
5a0eb25ad2
feat(frontend): complete phase 4 platform-specific optimizations and accessibility updates
2026-08-08 23:06:48 +08:00
ssbg04
c98fbb6a6e
feat(frontend): complete phase 3 screen decomposition and phase 4 platform optimizations
2026-08-08 22:42:40 +08:00
ssbg04
6f2d8865c9
feat(frontend): extract shared UI components and complete SnackBar to dialog migration
2026-08-08 21:51:03 +08:00
ssbg04
2eeb1a153f
feat(frontend): implement phase 1 foundation design improvements and theme extensions
2026-08-08 21:25:09 +08:00
ssbg04
911c03d61e
feat(frontend): multi/single OCR enrollment review and upload for add student screen
2026-08-08 01:45:28 +08:00
ssbg04
88c470d924
feat(frontend): apply dark theme colors across all reports screen widgets
2026-08-08 01:32:21 +08:00
ssbg04
a723eed805
fix(frontend): drag and drop now works on students and documents screens
...
- documents: drops accepted on all tabs and inside student folders (was gated to All Documents tab), overlay hint shows anywhere, route guard prevents double modals
- students: added drop zone that opens Bulk OCR Import with the dropped files preloaded
- bulk import dialog: accepts preloadedFiles to seed the queue on open
2026-08-08 01:21:06 +08:00
ssbg04
c5998468b7
feat: archives file menu, copy (1) naming, excel to pdf, and OCR enrollment validation
...
- archives: per-file menu (preview/print/download) via icon, right-click, long-press
- documents: copy renames to "name (1).ext" with incrementing collision handling
- documents: convert xls/xlsx/csv to multi-sheet PDF saved in student folder (excel kept)
- students: OCR enrollment scan is review-only with 7-12 grade gate and manual validation modal
- add student: linear OCR progress, SF9/SF10 grade 7-12 validation with auto-fill enrollment
2026-08-08 00:57:04 +08:00
ssbg04
2ac3a791ce
fix(frontend): improve custom back-button navigation for documents, students, and archives screens
2026-08-07 21:31:54 +08:00
ssbg04
2e182f8301
feat(frontend): add back button prevention and update student multi-select menu design
2026-08-07 20:59:00 +08:00
ssbg04
ec50f31b21
feat(students): update multi select menu design to match document screen
2026-08-07 20:47:02 +08:00
ssbg04
e68ae49f28
feat(frontend): update dashboard, document, student, archives, and users screens per AGENTS.md
2026-08-07 20:36:55 +08:00
ssbg04
8e32bbe5e1
feat(frontend): green window title bar, login pre-fill, monochrome multi-select, responsive enrollments, and 15 limit archive pagination
2026-08-07 19:57:30 +08:00
ssbg04
a03f85604e
feat(students/documents): add ocr scan, enrollment log format, select all, and dark theme updates
2026-08-07 18:15:48 +08:00
ssbg04
4c69b0f063
feat(frontend): apply dark theme to documents, archives, and reports screens
2026-08-07 16:25:01 +08:00
ssbg04
db463ddb6d
fix and add student screen dark theme
2026-08-06 21:22:53 +08:00
ssbg04
82114783f5
fix(students): restore container child and missing parenthesis in mobile list view
2026-08-06 20:07:23 +08:00