81 lines
5.6 KiB
Markdown
81 lines
5.6 KiB
Markdown
# TasQ Release Notes
|
|
|
|
Version: 0.0.1.0
|
|
Date: 2026-04-09
|
|
|
|
## Overview
|
|
|
|
This release brings significant new feature work on top of the initial core: a full Announcements module with push notifications, an IT Job Checklist tab, a My Schedule tab in Attendance, workforce swap improvements, and a more robust realtime notification system. UI consistency has been improved throughout with M3 motion and refined snackbar messaging.
|
|
|
|
## Working Features
|
|
|
|
- **Tickets**: Create, view, and manage tickets. Basic assignment and status updates are functional with server-side querying and provider-driven UI flows. IT service request UI has been improved with better TicketPromotion screens.
|
|
- **Tasks**: Task creation, listing, and updates are implemented. Includes an IT job printout feature for exporting/printing IT job details and work instructions.
|
|
- **IT Job Checklist**: A dedicated IT Job Checklist tab is available on task detail screens. Tracks print history and enforces a reminder cooldown to prevent notification spam. Immediate feedback is shown when sending IT job reminders.
|
|
- **Task Assignment**: IT staff may be assigned to multiple tasks simultaneously; the assignment dialog no longer restricts based on current active work. The dialog shows a loading spinner while saving and displays success/error snackbars.
|
|
- **Announcements**: Full announcements module including banner support, templates, and comments. Push notifications are delivered for new announcements and comment events. Snackbar feedback is shown on announcement events and comment notifications.
|
|
- **Attendance — My Schedule**: A new My Schedule tab in the Attendance screen allows users to view their schedule for 1 Day, a Whole Week, or a custom Date Range.
|
|
- **Notifications**: Notification screen handles announcement notifications and IT job reminders. Notification messages have been improved for clarity.
|
|
- **Realtime Controller**: Per-channel recovery status tracking so the app can independently recover each realtime subscription after a connection drop.
|
|
- **Workforce**: Workforce swap lifecycle improvements including target shift selection and recipient change flows.
|
|
- **User Management**: Admins can create and manage user profiles and roles. Authentication flows and profile providers are in place for role-based access.
|
|
- **Office Management**: Offices can be created and maintained; users and tasks may be scoped by office for filtered views.
|
|
- **Initial Geofencing**: First-pass geofencing (admin creation of geofences, basic detection hooks). Intended for iteration — see roadmap.
|
|
|
|
## Known Limitations
|
|
|
|
- Geofencing lacks advanced triggers, notifications, and full device offline handling.
|
|
- Duty scheduling is functional but will be improved for complex shift patterns and repeats.
|
|
- Reports and events are not yet implemented.
|
|
- Offline support (local caching, queued mutations, background sync) is not yet available.
|
|
|
|
## Roadmap (Planned Features)
|
|
|
|
- **Events**: Event creation, RSVP/attendance tracking, and calendar integrations.
|
|
- **Reports**: Exportable CSV/PDF reports for tickets, tasks, and workforce metrics.
|
|
- **Improved Duty Schedules**: Advanced scheduling, repeating patterns, and approval workflows for duty swaps.
|
|
- **Geofencing (Full Rollout)**: Robust geofence lifecycle, realtime triggers/notifications, user/device-level state, and integration with duties and timekeeping.
|
|
- **Offline Support**: Local caching, queued mutations, and background sync for intermittent connectivity.
|
|
|
|
## Tests and Quality
|
|
|
|
Tests are under `test/` and cover the following areas:
|
|
|
|
| File | Coverage |
|
|
| --- | --- |
|
|
| `announcements_test.dart` | Announcement model parsing, banner logic |
|
|
| `app_time_test.dart` | Time utility functions |
|
|
| `auto_assign_test.dart` | Auto-assignment logic |
|
|
| `dashboard_metrics_provider_test.dart` | Dashboard metrics provider |
|
|
| `geofence_admin_screen_test.dart` | Geofence admin screen rendering |
|
|
| `geofence_test.dart` | Geofence model and detection logic |
|
|
| `it_job_checklist_test.dart` | Task IT job fields, NotificationItem announcement support |
|
|
| `layout_smoke_test.dart` | Screen rendering, dialog interactions |
|
|
| `leave_stream_update_test.dart` | Leave stream update handling |
|
|
| `profile_screen_test.dart` | ProfileScreen fields and save actions |
|
|
| `searchable_multi_select_dropdown_test.dart` | Searchable dropdown widget |
|
|
| `supabase_response_test.dart` | Supabase response parsing |
|
|
| `task_assignment_section_test.dart` | TaskAssignmentSection widget |
|
|
| `tasks_provider_test.dart` | TasksController completion rules, Task.hasIncompleteDetails |
|
|
| `teams_screen_test.dart` | Teams screen rendering |
|
|
| `theme_overhaul_test.dart` | AppTheme M3 tokens, TasQAdaptiveList |
|
|
| `ticket_promotion_integration_test.dart` | Ticket promotion integration flow |
|
|
| `typing_dispose_race_test.dart` | Race condition on controller dispose |
|
|
| `user_management_screen_test.dart` | UserManagementScreen admin actions |
|
|
| `workforce_swap_test.dart` | WorkforceController, swap lifecycle |
|
|
|
|
Run `flutter analyze` and `flutter test` before release to ensure all tests pass.
|
|
|
|
## Developer Notes
|
|
|
|
- Follow the repository's CLAUDE.md / `.github/copilot-instructions.md` guidance for theming, server-side pagination, and provider patterns.
|
|
- Key folders: `lib/providers/`, `lib/routing/`, `lib/screens/`, `test/`.
|
|
- Push notification delivery depends on the Supabase `pg_cron` migration jobs being applied. See `supabase/migrations/` for the relevant migration files.
|
|
- M3 motion tokens are defined in `lib/theme/m3_motion.dart`.
|
|
|
|
## Next Steps
|
|
|
|
- Stabilize geofencing triggers and notification paths.
|
|
- Implement reports with RBAC checks.
|
|
- Add offline sync, prioritize duty schedule improvements, and add event/calendar support.
|