redz1029
3cb980b629
QA hardening: security RLS fixes, Flutter 3.47.5 upgrade, UI/validation fixes
...
Security — enforce write authorization server-side (was UI/RPC-only):
- it_service_requests RLS: block cross-office read/edit + self-approve (QA-015)
- pass_slips RLS: owner can complete but not self-approve (QA-046)
- swap_requests RLS: scope select/update to participants + admin (QA-047)
- storage: tighten it_service_attachments + task_attachments write/delete (QA-027)
- admin_user_management edge function: allow programmers to manage users (QA-016)
Fixes:
- workforce generator "uncovered shifts" false alarms (QA-043/044)
- network-map VLAN + New-location dialog validation, disabled-until-valid (QA-048)
- de-flake time-of-day-dependent dashboard metrics test (QA-045)
Toolchain:
- upgrade to Flutter 3.47.5 / Dart 3.13.4; font_awesome_flutter 11.0.0,
flutter_quill 11.6.0, pdfrx 2.6.5; clear resulting deprecations (QA-002)
analyze clean; 139 tests pass; web build succeeds. Report + evidence in docs/qa/.
Note: also carries the in-progress Brick model cleanup already present in the
working tree. QA-001 (AI keys public in the build) is deferred by owner decision.
Co-Authored-By: claude-flow <ruv@ruv.net >
2026-09-26 11:52:16 +08:00
redz1029
a91c049353
Scrollable Navigation Rail
2026-06-05 09:15:22 +08:00
redz1029
5d0a66bb52
Initial Commit : Network Map
2026-05-21 06:29:14 +08:00
redz1029
e9d1af867a
Notification Screen and tasq_adaptive_list enhancements
2026-05-11 11:34:34 +08:00
redz1029
30b301765b
* Improved Task and Ticket Detail Screen
...
* Made Office assignment searchable in Task and Ticket Creation and Edit Screen
2026-05-10 17:54:03 +08:00
redz1029
4d0d4d5ab3
Attendance DTR and UI Improvement for Offline Rediness
2026-05-09 17:32:07 +08:00
redz1029
ccedf6e5f0
Worklog, anti geo spoofing and UI Polish
2026-05-05 05:51:19 +08:00
redz1029
858520bd8d
Offline rediness
2026-05-03 14:50:14 +08:00
redz1029
783c5eb0be
* Task/Ticket desktop dialogs — widened from 520 → 600dp, and tasks now uses SizedBox(width: 600) instead of ConstrainedBox(maxWidth:) which was the root cause of the "still small" issue (max-only never forced expansion)
...
* Pass Slip + Leave — both dialogs gained an isSheet flag; callers now branch on AppBreakpoints.tablet: bottom sheet on mobile, dialog on desktop
2026-04-30 06:45:51 +08:00
redz1029
48cd3bcd60
Offline Support
2026-04-27 06:20:39 +08:00
redz1029
f223d1f958
iOS PWA and IT Job Checklist for IT Staff view
2026-04-11 07:40:12 +08:00
redz1029
5cb6561924
added ruflo
2026-04-09 19:01:53 +08:00
redz1029
872c2aab87
UI Enhancements in IT Service Request, Announcements, Workforce and notification fixes
2026-03-22 18:00:10 +08:00
redz1029
049ab2c794
Added My Schedule tab in attendance screen
...
Allow 1 Day, Whole Week and Date Range swapping
2026-03-22 11:52:25 +08:00
redz1029
3fb6fd5c93
Announcements and IT Job Checklist
2026-03-21 18:51:04 +08:00
redz1029
d484f62cbd
Implement push notification reminder system with 9 notification types
...
Adds comprehensive push notification reminders using pg_cron + pg_net:
- Shift check-in reminder (15 min before, with countdown banner)
- Shift check-out reminder (hourly, persistent until checkout)
- Overtime idle reminder (15 min without task)
- Overtime checkout reminder (30 min after task completion)
- IT service request event reminder (1 hour before event)
- IT service request evidence reminder (daily)
- Paused task reminder (daily)
- Backlog reminder (15 min before shift end)
- Pass slip expiry reminder (15 min before 1-hour limit, with countdown banner)
Database: Extended scheduled_notifications table to support polymorphic references
(schedule_id, task_id, it_service_request_id, pass_slip_id) with unique constraint
and epoch column for deduplication. Implemented 8 enqueue functions + master dispatcher.
Uses pg_cron every minute to enqueue and pg_net to trigger process_scheduled_notifications
edge function, eliminating need for external cron job. Credentials stored in vault with
GUC fallback for flexibility.
Flutter: Added ShiftCountdownBanner and PassSlipCountdownBanner widgets that display
persistent countdown timers for active shifts and pass slips. Both auto-dismiss when
user completes the action. FCM handler triggers shift countdown on start_15 messages.
navigate_to field in data payload enables flexible routing to any screen.
Edge function: Updated process_scheduled_notifications to handle all 9 types with
appropriate titles, bodies, and routing. Includes pass_slip_id in idempotency tracking.
Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com >
2026-03-20 18:26:48 +08:00
redz1029
74197c525d
Enhanced material design 3 implementation
2026-03-20 15:15:38 +08:00
redz1029
81853c4367
Added programmer role and fixed snackbar not showing
2026-03-16 07:23:20 +08:00
redz1029
6fd3b66251
OTA Updates for adnroid app and web apk uploader
2026-03-15 19:24:34 +08:00
redz1029
9bbaf67fef
A more robust self hosted OTA updates implementation
2026-03-13 07:15:28 +08:00
redz1029
0bd2a94ece
OTA Update attempt
2026-03-11 22:28:38 +08:00
redz1029
0f675d4274
Attendance log now record both check in and out photos and allow IT Staffs, Dispatchers and Admins to view for verification
2026-03-08 18:45:31 +08:00
redz1029
d87b5e73d7
Team Color, image compression for attendance verification, improved wherebouts
2026-03-08 12:23:28 +08:00
redz1029
a8751ca728
Face Recognition with Liveness Detection for Web Support
2026-03-08 10:19:03 +08:00
redz1029
88432551c8
IT Service Request
2026-03-08 07:54:20 +08:00
redz1029
e4391ac465
Minor layout fixes
2026-03-08 04:26:33 +08:00
redz1029
3dbebd4006
Attendance validation involving Location Detection + Facial Recoginition with Liveness Detection
2026-03-07 23:46:43 +08:00
redz1029
c6f536edeb
Initial Commit: Duty Schedule and Attendance Logbook
2026-03-07 10:16:28 +08:00
redz1029
73dc735cce
M3 Overhaul
2026-03-06 20:03:32 +08:00
redz1029
81bc618eee
Used awesome snackbar and fixed gemini_ico.png not found
2026-03-04 06:44:55 +08:00
redz1029
c123c09233
AI Subject, Description and Action taken support
2026-03-04 00:38:35 +08:00
redz1029
b5449f7842
Still some AI integration issues
2026-03-03 23:35:07 +08:00
redz1029
43d2bd4f95
Fixed horizontal scrollbar, limit per page by 10 rows on desktop
...
Fixed duplicate entries in activity logs
2026-03-02 20:11:49 +08:00
redz1029
029e671367
Per channel skeleton
2026-03-01 20:10:38 +08:00
redz1029
c9479f01f0
Implemented per stream subscription recovery with polling fallback
2026-03-01 17:24:04 +08:00
redz1029
e91e7b43d2
A bit of notification turn on reminder
2026-03-01 05:45:23 +08:00
redz1029
d3239d8c76
Skeleton loading
2026-02-28 21:47:24 +08:00
redz1029
eaabc0114c
Proper pagination
2026-02-25 18:25:00 +08:00
redz1029
354b27aad1
Added saving indicator when assigning a task
2026-02-24 21:49:25 +08:00
redz1029
cc6fda0e79
Allow OS notifications
2026-02-23 22:19:23 +08:00
redz1029
0b900d3480
Fixed horizontal scroll
2026-02-23 18:55:56 +08:00
redz1029
5488238051
Geofence test screen
2026-02-19 06:49:21 +08:00
redz1029
372928d8e7
Added User Profile Screen
2026-02-18 21:42:48 +08:00
redz1029
3892a45dba
Teams CRUD
2026-02-17 11:10:02 +08:00
redz1029
7fb465f6c9
Created App Surfaces for Theming
2026-02-17 07:27:42 +08:00
redz1029
5f666ed6ea
Pagination
2026-02-17 06:46:52 +08:00
redz1029
a80f09b9c0
Initial commit for teams module
2026-02-12 06:58:18 +08:00
redz1029
01c6b3537c
Major UI overhaul
2026-02-10 23:11:45 +08:00
redz1029
1f16da8f88
Initial commit
2026-02-09 20:10:42 +08:00