- Add tabindex attributes to input fields for better keyboard navigation
- Introduce ESLint configuration for improved code quality and consistency
- Update package.json to include linting scripts and dependencies
- Add tests for desktop tab navigation in POS flow
- Introduced `repairText` and `containsSuspiciousEncoding` utilities for handling corrupted text encodings.
- Added unit tests (`encoding-repair.spec.js`) to validate encoding repair and encoding marker detection.
- Integrated encoding check into unit test workflows (`text:check-encoding` and `text:fix-encoding` scripts).
- Replaced corrupted strings across multiple components and locales with proper UTF-8 encodings.
- Introduced unit tests for edge gateway workflow helpers, including workflow step resolution, incident action mapping, relay health row formatting, and workspace state merging.
- Added new components for advanced operations, configuration panel, context panel, fleet rail, and health summary.
- Enhanced gateway management UI with support for advanced actions, fallback operations, relay health visualization, and device binding features.
- Introduced live smoke tests for Edge Gateways, verifying gateway routes and destructive-action prevention.
- Added e2e scenarios for deep-link navigation, unavailable gateway recovery, token rotation, and background page refresh.
- Refactored test helpers for streamlined functional validation in gateway scenarios.
- Updated `EdgeGatewayTerminal.vue` with test IDs for enhanced testability.
- Added and configured Husky pre-commit hooks for automated test file formatting and validation.
- Introduced `run-vitest-unit-batches.mjs` script for running unit tests in batches with configurable batch size.
- Updated `package.json` to replace `test:unit` command with the batch runner and added `test:unit:single` for direct execution.
- Tweaked GitHub workflows (`tests.yml`, `code_quality.yml`) to use updated actions and support batch testing.
- Minor formatting improvements in Vue components and workflows for consistent style.
- Migrate postinstall script to `postinstall-sync-playwright-root-links.mjs` for streamlined path resolution.
- Replace `axios` v1.15.0 with v1.13.5 and downgrade `vite` from v8.0.5 to v7.1.11.
- Update testing code for consistent formatting and enhanced readability (e.g., `poll` and `catch` calls).
- Remove unused or redundant dependency flags and align `package-lock.json` with new configuration.
Deleted the entire `ws` library and its associated files. This likely reflects a move away from the WebSocket library, possibly signaling an alternate implementation or unused/legacy code cleanup.
- Introduced i18n key usage validation with `tests/e2e/i18n.views.spec.ts` for deterministic locale coverage.
- Added `viewI18nKeyScanner` utility to scan and validate view translation keys.
- Created `PosDepartmentStep1` unit tests for duplicate warnings and booking selection flow.
- Enhanced POS mobile popup with `SelectOrderBookingPopupProps` and new header close options.
- Updated e2e tests with scenarios to verify booking selections, duplicate handling, and locale alignment.
- Added new `test:e2e:i18n:views` npm script for targeted i18n test execution.
- Introduced `PosDesktopOrderBookingSelectorModal.vue` to streamline booking selection for desktop POS.
- Added `orderBookingDisplay.js` utility for handling booking display and reference value normalization.
- Created unit test `select-vehicle-form-pos.spec.js` to validate booking selection flow and registration matching.
- Implemented `run-playwright-ci-parallel.mjs` script to optimize Playwright CI with parallel testing.
- Updated styles and responsiveness for enhanced booking modal UX.
- Improved structure and layout in `PosDesktopOrderWorkspace.vue` with refined column handling and responsiveness.
- Added `resolveNormalizedPhoneNumber` utility in `POSDepartmentProcess.vue` for consistent phone number normalization across customer records.
- Updated e2e tests to validate layout changes and phone handling behavior.
- Upgraded Playwright to version 1.58.2 and adjusted related configurations.
- Ensured consistent formatting and added `postinstall` script for syncing Playwright root links.
- Strengthened POS customer rule tests with edge case validations for phone number objects.
- Introduced `.prettierrc.json` to enforce consistent code formatting across the project.
- Updated unit and e2e test files to address formatting issues, improve readability, and ensure alignment with the new Prettier configuration.
- Replaced repetitive department module URL logic with `buildDepartmentModulePath` utility in `DepartmentModulesDisplay.vue`.
- Enhanced layouts and responsive behavior across components, including `PosDepartmentStep1MobileTransactionHistory.vue` and `DepartmentDailyReport.vue`.
- Removed unused `SuperuserInvoicingLocalStore.vue` and refactored to `SuperuserInvoicingLocalStore.ts`.
- Updated media query handling and card layout adjustments in `DepartmentDailyReport.vue`.
- Added new Playwright configurations (`playwright.prod.config.ts` and `playwright.live.config.ts`) for e2e release workflows.
- Extended e2e and unit test coverage for mobile POS and department modules.
- Implemented `departmentDailyReportComplaintCustomers.js` module for handling customer complaint data, including search, normalization, and API integration.
- Added `EdgeGatewayTerminal.vue` for root shell access with session approval, dynamic status handling, and user feedback.
- Developed `mobilePos.js` for simulating mobile POS fixtures and workflows in e2e tests.
- Introduced relevant e2e and unit tests to ensure functionality and error handling across modules.
- Remove `playwright.config.js` to clean up configuration.
- Add new E2E test suites (`admin-pos-orders`, `admin-module-goals`, `admin-module-pos-mobile-order-flow`) to structure Admin module tests.
- Introduce reusable authentication and data seeding utilities in `fixtures` for streamlined test flows and maintainability.
- Add `AutoTableExportService` for dynamic Excel export button generation and visible row extraction.
- Integrate auto-export initialization in `main.js` for legacy non-paginated tables.
- Extend `PaginationDisplay.vue` with support for paginated Excel export.
- Add export functionality to vehicle views and dependencies, including full-table export handling.
- Add tests for `TableExcelExportService.js`, export workflows, and normalization logic.
- Enhance localization with `download_excel` translation key.
- Delete outdated tests for `useSelfServeLogic` composable, step navigation, and validation related to the Self-Serve module.
- These tests have been deprecated in favor of newer, streamlined testing strategies and refactored logic.
- Locked versions for `axios`, `sweetalert2`, and `vite` to specific releases.
- Updated multiple Babel helper and plugin packages to newer versions for enhanced functionality.
- Upgraded various esbuild packages and enforced Node.js version >=18 requirement.
- Added missing MIT licenses for dependencies in `package-lock.json` for clarity.
- Added `wdio.conf.js` for configuring WebdriverIO.
- Introduced `test/specs/sample.spec.js` for initial test case setup to validate home page loading.
- Updated `vite.config.js` to include SCSS preprocessor configuration for improving CSS handling.
- Added required dependencies for WebdriverIO and related services in `package-lock.json`.
- Implemented QR code scanning and detection using `vue-qrcode-reader` in `LoginQR.vue`.
- Added token extraction and application logic for seamless login flow.
- Enhanced error handling for scanning issues and invalid QR codes.
- Updated `LoginForm.vue` to include a QR code login button.
- Added session handling updates with SweetAlert integration and improved error notifications.
- Bumped dependencies with `@vueuse/integrations` and `vue-qrcode-reader` support.
- Introduce `ScannerInstructions.vue` for user guidance during scanning.
- Add `GenericButton.vue` as a flexible button component with default, disabled, and white styles.
- Implement `ScannerCamera.vue` to handle camera activation and video frame capture.
- Update `LoginQR.vue` with scanner, instructions, and button integrations.
- Add `tesseract.js` dependency in `package.json` and `package-lock.json` for future OCR capabilities.
- Integrate `vite-plugin-pwa` with automatic updates and manifest configuration for PWA support.
- Create `PWADownload.vue` component to guide users on installing the app.
- Add `/download` route in `router.js` for accessing the PWA download page.
- Improve responsive layout handling in `DefaultPageWrapper.vue` for better mobile adaptation.
- Update dependencies in `package.json` and `package-lock.json` to reflect PWA integration.
- Integrate `InvoicingBillingPeriodInvoiceProgressBar` for improved visual feedback during invoicing processes.
- Implement reusable date selection components with `PaginationDisplayTemplateDate` and `PaginationDisplayTemplateDates` for enhanced flexibility in date filtering.
- Add `NavigationMenuSuperUser` to improve navigation structure for superuser dashboard.
- Refactor related components with helper methods for better maintainability.
- Include `vue-toast-notification` to provide dynamic notifications.
- Update translations and adjust UI components to align with new functionality.
- General fixes to maintain code modularity and reusability.
Integrated @vueuse/head to manage the document head dynamically. Configured a favicon by including it in the head setup. Updated dependencies to include @vueuse/head and related packages.
Introduced Microsoft authentication integration using MSAL for token handling and calendar operations. Added Entra ID configuration module to manage tenant, client ID, and secret settings, along with enabling integration control.
Introduced a new `CalendarController` for managing calendar functionality, including event creation, updates, and custom function execution. Integrated `timeGrid` and `list` views from FullCalendar, allowing more flexible calendar displays. Updated `Calendar.vue` to utilize the new controller and enhanced calendar interaction.
Introduced DepartmentVariables object for managing department-specific variables. Enhanced the time bookings user interface with a new calendar using FullCalendar and added routing for department modules setup. Updated admin menus and permissions for better module accessibility.
This commit introduces new dependencies including `dayspan-vuetify`, `bulma-block-list`, `vue-cal`, and `@event-calendar/core` for enhanced calendar functionality and styling options. Additionally, several supporting libraries such as `svelte`, `css-tree`, and `clsx` were added for improved performance and compatibility.
Replaced the direct access of `department_id.value` with `getDepartment()` for better encapsulation in `POSDepartmentProcess.vue`. Updated multiple dependencies in `package-lock.json`, including Babel, Vue Flow, and others, to improve functionality and maintain up-to-date libraries.
Introduced customer suggestion functionality for unregistered vehicles based on `reg_1`. Enabled multiple invoice selection with toggle option in order tables. Updated visual styles and handling of errors with automatic clearing.
Introduced new views and components for guest dashboard, including GuestHome, guest-specific menus, and booking pages for washes. Enhanced the forms system with reCAPTCHA support, calendar integration, and better field handling. Adjusted router configuration and updated requests to separate authenticated and unauthenticated flows.
Integrated infinite scroll for license plate scans using visibility detection. Refactored layout to use tables and enhanced tabs with dynamic visibility and compact mode. Made minor refinements, including handling required customer attributes and deactivating UI components for better user experience.
Introduced Department POS functionality with navigation, orders, and order detail views. Set up routing and middleware for POS operations. Added base styles, assets, and updated package dependencies to support these changes.