- Add scope label computation for tasks, questions, and conditions based on department, lane, product, and machine type.
- Introduce filters for machine type, lane, and department in Self-Serve pagination.
- Replace `EditableTableColumn` with scoped rendering for improved flexibility.
- Extend API and schema to support machine type integration in department redistribution.
- Optimize UI for task, question, and condition management with machine type-aware workflows.
- Describe architecture, domain models, eligibility rules, API endpoints, runtime status, and lane control.
- Include end-to-end examples for happy paths and failure scenarios.
- Provide PHP and Bash usage samples for integration.
- Add detailed flow diagrams and entity definitions for clarity.
- Add new search endpoints to OpenAPI schema with cache management functionality.
- Extend invoice distribution functionality with `compareVisibility` filter for result categorization.
- Update unit tests and UI components for compare visibility options.
- Make workspaceId and channelId parameters optional with fallback logic across multiple endpoints.
- Replace object schemas with $ref references for bird voice calls, numbers, and related responses.
- Introduce WeatherAPI endpoints (current, forecast, search) and department weather timeline functionality.
- Add WeatherAPI configuration endpoints and corresponding schema updates.
- Refined the `getGoalProgress` function to use new `all?.count` and `all?.target` properties for accurate progress calculation.
- Enhanced department progress display by accessing nested progress details, ensuring correct values are shown per department.
- Updated OpenAPI spec to include detailed progress structures, introducing new schemas like `GoalProgressDetails` and `DepartmentGoalProgress` for comprehensive goal tracking.
- Introduced `ConnectivityIssue.vue` for handling and displaying connectivity problems.
- Added new route for the connectivity issue error page.
- Enhanced accessibility by wrapping table headers in `OrderBookingsTable.vue` with `<thead>` and `<tbody>` tags.
- Included connectivity-related internationalization keys across various locale files.
- Updated components to integrate `ConnectivityIssue` as a fallback display for connection errors.
- Refined hostname handling in `PasskeyAuthService.js` for correct `rpId` assignment based on domain matching.
- Expanded OpenAPI spec with multiple production server URLs and added `g_recaptcha_response` in various API endpoints for enhanced security.
- Updated `LoginForm.vue` to ensure `customer_number` is accurately parsed as an integer for API compliance.
- Added passkey support for secure, passwordless authentication using WebAuthn.
- Implemented passkey management in user profiles, enabling users to add, rename, and delete passkeys.
- Updated authentication forms to support passkey login, including feature detection and login flow.
- Enhanced internationalization files with passkey-related translations for multiple locales.
- Introduced new components and services for handling passkey operations and WebAuthn interactions.
- Introduced endpoints to handle force enable/disable machine actions (`/modules/self-serve/lane/force/machine/enable`, `/disable`).
- Updated OpenAPI spec to document the new endpoints.
- Extended `DepartmentLane.vue` and `departmentLanesTable.vue` with buttons for force enable/disable, including loading states and toast notifications.
- Added corresponding i18n translations for force control actions.
- Created E2E tests to verify translation keys, non-empty values, and source file functionality in `department-lane-force-machine.spec.js`.
- Updated i18n files to include "Dynamic Image ID" translations.
- Extended `SelfServeTasks` and `DepartmentLanes` with columns for dynamic image and button configurations.
- Integrated new OpenAPI endpoint to generate dynamic images for department lanes.
- Enhanced tables, forms, and dashboards to display and manage new attributes.
- Updated OpenAPI schemas to include dynamic button IDs and vehicle type overrides for tasks.
- Refined `isMachineAvailable` type definition in `MyWashStart.vue` to improve type safety.
- Simplified lane selection watcher logic in `MyWashStart.vue` by removing redundant step condition.
- Introduced detailed instructions for test development using WebdriverIO, covering structure, naming conventions, and best practices.
- Added examples for browser interactions, assertions, and handling internationalization (i18n) in tests.
- Documented prerequisites for mobile testing and best practices for maintaining test cases.
Enhance SelfServeTasks capabilities by introducing `services` management
- Added `services` property to `SelfServeTasks` for task-specific service handling.
- Implemented logic to determine and update allowed services dynamically based on active tasks.
- Extended machine availability check (`isMachineAvailable`) to consider services allowed per task.
Expand backend support for lane services
- Added new endpoints to manage lane services (`/modules/self-serve/lane/services/allowed` and `/modules/self-serve/lane/relay/machine/enable`).
- Extended OpenAPI specifications to include service configuration for tasks and validation of lane services.
Modify SelfServe UI components for displaying allowed services
- Updated multiple screens to show allowed services based on active tasks.
- Added tags for visualizing allowed task services in `SelfServeTryModal` and `SelfServeTasksTable`.
Add `i18n-settings-wheel.spec.js` for translation key verification
- Added new test suite to ensure i18n translation parity between English and Danish locale files for `settings_wheel`.
- Implemented checks to validate key presence and exact match across both languages.
- Introduced subuser-specific session data handling, including `getSubuserSessionData`.
- Added `authenticateSubuser` to enable password-based authentication for subusers.
- Updated `SessionUser` to support subuser sessions with fields like `isSubuser` and `subuser` details.
- Adjusted logic for clearing and initializing sessions to differentiate subuser and classic user contexts.
- Enhanced OpenAPI spec to include subuser-specific endpoints and permissions, updating customer-targeting behavior.
Expanded the API specification with endpoints for subuser management, including setup, authentication, and permission grants, as well as account security passkey handling.
- Introduced attachment fetching and downloading logic in `MyWashStart.vue` and `SelfServeTryModal.vue`.
- Enhanced task-related UI to display and handle attachments.
- Added password reset API endpoints (`request`, `validate`, `set`) in `openapi.yaml`.
- Added `SelfServeLaneStatus` and `SelfServeConfig` schemas to improve data handling and API responses.
- Enhanced `/modules/self-serve/lane/command` to support `RESERVE`, `RELEASE`, and `license_plate`.
- Updated `/modules/self-serve/config` endpoints to include request/response schemas for configuration management.
- Introduced `SelfServeVehicleConditions` object and related CRUD operations for managing vehicle-specific conditions.
- Added pagination, table, and detail views for managing vehicle conditions within the Department dashboard.
- Updated routing and navigation to include `selfservevehicleconditions` path and entry points.
- Extended `openapi.yaml` to document new endpoints for vehicle condition management.
- Extended `SelfServeConditionRules` and its UI to support new rule types.
- Updated `openapi.yaml` to document the newly added options.
- Refactored `evaluateCondition` logic to handle nested evaluation with added rule types.
- Renamed `question_condition` to `condition_id` for consistency across `SelfServeConditions`, `SelfServeTasks`, and `SelfServeQuestions`.
- Introduced CRUD operations for `SelfServeConditionRules` with logic for managing condition rules.
- Enhanced existing components to support `condition_id`, including dynamic filtering and table parsing.
- Updated UI elements to reflect changes, including new rule creation options and improved field handling for `condition_id`.
- Introduced `question_condition` field for conditional question handling.
- Enhanced question filtering logic using `department_id` and `product_id`.
- Added default "Ingen" option for `question_condition`.
- Updated `SelfServeQuestionsTable` to include editable `question_condition` column.
- Removed deprecated `image` and `vehicle_type` column handlers.
- Added `question_condition` handling in the backend update logic.