2026-09-03
-
Rejected Visa Passport Return & Dedicated Red Dot Indicator:
- Database Persistence (
is_visa_request_rejected): Added columnis_visa_request_rejected(BOOLEAN NOT NULL DEFAULT FALSE) tovisa_requestsvia Flyway migrationV79__add_is_visa_request_rejected.sql. - Rejection Finalization Flagging (
VisaService.finalizeVisaRequest): Finalizing a rejected visa application specifically setsis_visa_request_rejected = true, transitionsstatustopassport_collected, and recordscompleted_attimestamp. - Dedicated Red Dot UI Indicator: Replaced green checkmarks with a distinctive red dot indicator (
bg-red-600 ring-2 ring-red-200) acrossTaskListView,AdminTaskTable,TaskDetailDrawer, andServicesPanelwheneveris_visa_request_rejectedis true, cleanly distinguishing passport returns on rejected applications from approved ones.
- Database Persistence (
-
Task Detail Drawer Parallel Loading State:
- Anti-Flicker Resolution: Added
isDrawerLoadingstate inTaskDetailDrawer.tsxutilizingPromise.allSettledacross customer dossier, document checklists, and invoices. - Polished Loading Spinner: Replaced transient state jumps (e.g. “Issue Invoice” briefly showing before switching to “View Invoice”) with a smooth gold loading spinner until all data is settled.
- Anti-Flicker Resolution: Added
-
Document Checklist Multi-Service Fallback Resolution:
- Service Type Scoping (
DocumentChecklistRepository): Updated repository fallback resolution tofindFirstByServiceTypeAndCountryIsNullAndVisaTypeIsNullAndIsActiveTrue(ServiceType.VISA). - NonUniqueResultException Fix: Resolved the Hibernate exception triggered when generic checklists for FLIGHT and TOUR shared null country/visaType columns with the VISA global fallback.
- Service Type Scoping (
Last updated on