Skip to content

v0.0.13

Latest
Compare
Choose a tag to compare
@NatalliaBukhtsik NatalliaBukhtsik released this 04 Feb 19:14
· 30 commits to main since this release
a06dfa7

ALGA PSA v. 0.0.13

RELEASE NOTES

🚀 New Features

Billing & Invoicing System

  • Company-Specific Invoice Templates: Added per-company template selection with fallback to system-wide defaults.

  • Automated Invoice Email Delivery: Implemented a prioritized billing contact system for invoice PDF emails—with fallback from billing contact to company billing/primary emails—and temporary file handling for attachments.

  • Invoice Finalization Workflow: Introduced a finalized_at timestamp and audit logging to enforce data integrity by preventing modifications of finalized invoices.

  • Service Pricing on Invoice Detail Lines: Auto-populated service pricing details on invoice breakdowns for more accurate billing.

Time Management

  • Temporal API Integration: Replaced date-fns with the modern, timezone-aware Temporal API for more reliable date handling.

  • Bulk Time Period Configuration: Enabled simultaneous creation of multiple time period settings by refactoring the automatic time period creation logic.

  • Semi-Monthly Period Handling: Implemented precise calculations for periods ending on the 15th and at month-end, including handling of overlapping periods, month boundaries, and leap years.

  • Ticket-Based Time Entries & Enhanced Time Entry Creation: Added the ability to create time entries directly from tickets — with timer synchronization — and integrated a dedicated dialog that pre-populates start/end times, resets after saving, and applies improved rounding to duration formatting.

  • Time Entry Deletion: Introduced confirmation dialogs (via a dedicated ConfirmationDialog component) and toast notifications for a smoother deletion experience.

  • Component Reorganization: Reorganized time management components into dedicated subdirectories (e.g., separating schedule components from time entry and approval components) and standardized import paths for better code maintainability.

Work Item Management

  • Introduced a WorkItemDetailsDrawer for consistent work item viewing and editing.

  • Enhanced the WorkItemCard (formerly TicketCard) with click-to-detail functionality for a cohesive management experience within the Technician Dispatch Dashboard.

  • Introduced comprehensive user loading states and robust error handling.

  • Implemented conditional rendering based on user availability with added debug logging to aid troubleshooting.

  • Enhanced the Technician Dispatch Dashboard to accommodate new work item types for a more cohesive management experience.

Infrastructure & Security

  • Secret Management: Switched to an async/await pattern with filesystem caching for secret loading, reducing redundant checks.

  • Job Scheduler Fallback: Introduced a DummyJobScheduler to allow for graceful degradation when the primary job scheduler isn’t available.

  • Build & Deployment Improvements: Enhanced Docker and environment configuration (e.g., updating APP_ENV settings and removing automatic .env deletion) and improved error handling during event bus and subscriber initialization.

🔨 Improvements

Job Processing & Monitoring

  • Detailed Job Progress Tracking: Added comprehensive status updates for PDF generation and email delivery, including human-readable context (invoice numbers, company names).

  • Consolidated Email Service & Job Handling: Unified email handling with templating, improved error recovery, and enhanced job status updates.

  • Job Monitor UI Improvements: Updated job monitor colors and status visibility to make tracking easier at a glance.

  • TypeScript Configuration Standardization: Created a shared base TS config (with @/ and @ee/ path aliases) and cleaned up unnecessary options across the codebase.

  • Error Handling Enhancements: Added null safety checks and try-catch wrappers (notably around event bus and job scheduler initialization) to prevent cascading failures.

  • Template Validation: Enhanced invoice template management by adding a template name input, loading states, optional parsing, and validation before saving.

  • Time Calculations & Rounding Fixes: Corrected billable hour totals and floating point rounding errors, ensuring precise and accurate time entry calculations.

  • Enhanced Scheduling & User Assignment:

  • Added date range filtering and refresh logic to the Technician Dispatch Dashboard.

  • Introduced new interface fields (additional_user_ids and assigned_user_ids) to support more flexible work item assignments.

  • Replaced the MultiUserPicker with a single UserPicker that auto-assigns the current user by default in new schedule entries.

  • Refactored Calendar & Dispatch UI Components:

  • Extracted calendar styling into a dedicated CalendarStyleProvider component.

  • Updated work item type labels to include expanded displays and a dedicated color scheme (especially for ad-hoc work items).

Work Item Management & Scheduling Enhancements

  • Improved Work Item Selection UX:

  • Replaced the existing WorkItemPicker with an AddWorkItemDialog to offer a more intuitive, dialog-based selection flow.

  • Adjusted modal layering (with updated z-index settings) to ensure dialogs display correctly.

  • Consistent Work Item Type Visibility & Theming:

  • Applied design system variables to create color-coded badges that clearly indicate work item type and billable status.

  • Standardized hover states across time entry components and improved UI consistency between card and table views.

  • Simplified Schedule Entry User Assignment:

  • Replaced the MultiUserPicker component with a single UserPicker, which now auto-assigns the current user by default, streamlining agent scheduling.

  • Optimized Work Item Queries and User Assignment:

  • Refactored complex SQL joins using efficient subquery aggregation to reduce redundant data processing.

  • Centralized user fetching in the UI to avoid duplicate constructions of user lists.

  • Simplified ad-hoc work item assignments by leveraging existing schedule entries.

  • Enhanced Scheduling & User Assignment Features:

  • Added date range filtering and refresh logic to the Technician Dispatch Dashboard.

  • Introduced new fields (additional_user_ids and assigned_user_ids) to work item interfaces.

  • Improved error handling with toast notifications to support better feedback during scheduling operations.

  • Refactored Calendar & Dispatch UI Components:

  • Extracted calendar styling into a dedicated CalendarStyleProvider component.

  • Improved work item type labeling with an expanded display for ad-hoc work items through dedicated color schemes.

🐞 Bug Fixes

  • Invoice UI Errors: Fixed issues with invoice error message display and preview label inconsistencies.

  • Time Entry Calculation Issues: Resolved bugs related to total and billable time calculations and ensured correct floating point formatting.

  • Company Billing Updates: Improved handling of null/empty billing email fields during company updates.

General UX Polish: Various fixes including improved confirmation dialogs and updated UI elements for a more intuitive user experience.

Full Changelog: v0.0.12...v0.0.13