# 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.