Releases: Nine-Minds/alga-psa
v0.0.13
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
v0.0.12
ALGA PSA v. 0.0.12
RELEASE NOTES
🚀 New Features
Invoice System Enhancements
-
Invoice Preview System: Introduced a new preview capability, enabling users to view invoice details for billing cycles before finalizing.
-
Non-Persistent Invoice Calculations: Added previewInvoice action, which calculates invoice data without affecting the database.
-
Improved Invoice Workflow: Renamed the "Generate" action to "Finalize" to reflect the invoice lifecycle process better.
-
UI Updates: Integrated a preview button and modal interface within the AutomaticInvoices component.
-
Error Handling: Enhanced error handling for billing plan operations to improve user experience.
-
PDF Generation: Implemented PDF export functionality using Puppeteer for high-quality, server-rendered invoices.
-
Download Option: Added an easy PDF download option in the invoice actions menu.
-
Metadata Storage: Enabled metadata handling in the storage service to support structured document management.
-
Bulk Invoice Downloads: Introduced ZIP generation service and batch selection functionality for downloading multiple invoices simultaneously.
-
Background Job System: Implemented PostgreSQL-based background job processing with pg-boss to handle ZIP generation and invoice processing tasks efficiently.
Product and License Management
-
New Service Types: Introduced Product and License service types in the service catalog for expanded offerings.
-
Product Tracking: Added SKU and inventory count management for product-based services.
-
License Management: Enabled support for various license terms (monthly, annual, perpetual) with seat limits for greater flexibility.
-
Billing Engine Updates: Extended the billing system to handle charges for product and license services.
-
Service Catalog Filters: Added filtering options to the catalog manager for streamlined service selection.
-
Service Form Enhancements: Updated the quick-add service form to capture product and license-specific details.
Job Monitoring System
-
Comprehensive Monitoring: Developed a robust job monitoring system to track job status and lifecycle events.
-
Status Updates: Introduced job lifecycle status types (pending, processing, completed, failed, active, queued) for better visibility.
-
Dashboard Integration: Added a job monitoring dashboard with real-time metrics and status updates every 5 seconds.
-
System Menu Integration: Created a dedicated system menu section for job monitoring.
Time Management
-
Ad-Hoc Time Entries: Enabled ad-hoc time entry creation with automatic time population for increased flexibility.
-
Work Item Integration: Seamlessly integrated ad hoc time entries with existing work item selection systems.
-
Time Entry Enhancements: Added a time and date selection component for more intuitive scheduling.
-
Drawer Integration: Integrated TicketDetails, TaskEdit, and EntryEdit components within a unified drawer interface.
🔨 Improvements
Configuration Updates
-
Environment Configuration: Added dotenv support with override options, ensuring .env files take precedence over system variables.
-
Helm Configuration: Updated Helm charts to improve environment file handling and streamline the build process.
System Improvements
-
File Handling: Updated Content-Disposition header to use the original filename for better consistency.
-
Job Scheduler: Moved InvoiceZipJobHandler registration to initializeApp for cleaner architecture.
-
Template Rendering: Added semantic class names and section identifiers to improve template rendering logic.
-
List Calculations: Enhanced row calculation logic for better handling of grouped elements and aggregation rows.
UI/UX Enhancements
-
Sticky Column Feature: Made the left column of the timesheet component sticky for easier navigation.
-
Form Enhancements: Improved form layouts, interactions, and field organization for a more intuitive user experience.
-
Save Button Behavior: Enhanced Save button functionality to provide better user experience.
-
Styling Updates: Standardized component spacing and styling for a cohesive look and feel.
🐞 Bug Fixes
-
Invoice Rendering: Resolved rendering issues and eliminated loops during invoice generation.
-
Data Handling: Fixed section identification and data processing errors in billing components.
-
Company Picker: Corrected company picker functionality to improve selection accuracy.
-
Ad-Hoc Item Filtering: Fixed filtering logic for ad-hoc items and work item ID updates.
-
UI Fixes: Resolved misaligned UI elements, empty form issues, and dropdown width inconsistencies.
-
Time Entry Fixes: Corrected auto-population of start and end times for ad-hoc entries.
Full Changelog: v0.0.11...v0.0.12
v0.0.11
ALGA PSA v. 0.0.11
RELEASE NOTES
New Features
Enhanced TemplateRenderer
-
Dynamic Invoice Fetching: TemplateRenderer now accepts invoiceId instead of invoiceData and dynamically fetches invoice details.
-
Improved List Rendering: Added support for grouped lists with aggregation and better rendering logic.
-
Error Handling: Enhanced error handling and loading states during data fetching.
-
Date Parsing Fix: Resolved issues with getBasicInvoiceViewModel to handle both string and Date objects.
-
Price Calculation Update: Adjusted total_price calculation in the Invoice model to exclude tax amounts.
-
Updated Templates: created new migration for new standard and detailed templates.
-
Styling Updates: Introduced new CSS classes for grouped list styling.
Invoice Management Enhancements
-
Discount Support: Added percentage and fixed-amount discounts for invoices, applicable to line items or the entire invoice.
-
Manual Line Items: Users can now add, edit, and remove manual line items in invoices.
-
Navigation Improvements: Replaced action buttons with dropdown menus, URL-based state management, and browser navigation support.
-
Editing Manual Invoices: Added functionality to edit manually created invoices, with proper validation and error handling.
Billing Features
-
Date Conflict Resolution: Implemented conflict detection for overlapping billing cycles with enhanced validation and error handling.
-
Improved Billing Plan Management: Added a robust BillingPlanDialog component for editing plans, introduced constants for plan types, and improved UI with formatted display values.
Timesheet Approval Changes
-
New Features:
-
Added ability to view and manage approved timesheets.
-
Implemented timesheet approval reversal functionality.
-
Updated UI to display approved timesheet statuses with reversal options.
-
Billing Plan Integration:
-
Added service category change handling for billing plans.
-
Improved time entry queries for accurate billing calculations.
-
Error Handling:
-
Enhanced invoice generation error handling.
-
Added safety checks for invoiced entries before reversal.
-
Improved billing calculation logging with company names.
Project Management
-
Added Editable Start and End Dates for Project Phases and Tasks:
-
Start and end dates for project phases are now editable.
-
Phases are ordered by their end date in the project list for better organization.
-
Tasks now support editable start and end dates, providing more flexibility in scheduling.
-
Enhanced user interface for date editing with real-time validation.
Improvements
Time Entry Enhancements
-
Validation & Usability Improvements:
-
Smart Error Handling: Errors now only display during save attempts and clear when making changes
-
Precise Duration Tracking: Uses actual time differences for duration calculations
-
Billable Time Enforcement: Maintains billable state during invalid entries with 1-minute minimum duration
-
Consistent UI: Updated visual style to match other components
-
Validation Timing: Improved feedback timing with validation on save
-
Component Architecture Improvements:
-
Split TimeEntryDialog into: Dedicated edit form component, Read-only view component and Loading skeletons
-
Performance Boost: Implemented memoization and useCallback optimizations
-
Created dedicated utility files
-
Extracted types to separate definitions
-
Enhanced UIStateContext for better state management
-
Flexible Time Handling:
-
Adaptive Time Entry: Supports both manual input and picker-based entry
-
Immutable Updates: Type-safe state management for reliability
Work Item Picker Enhancements
-
Collapsible Filters: Improved filtering options with the addition of:
-
'Assigned to' dropdown
-
'Assigned to me' switch
-
Client dropdown
-
Date range filters
-
Reset filters functionality.
Automation Updates
-
Latest UI Automation Updates:
-
Migrated from direct Puppeteer commands to higher-level helper functions.
-
Added helpers like type(), click(), select(), and wait_for_navigation().
-
Enhanced error handling and server resource cleanup.
-
Improved type support for automation tasks.
-
Simplified integration by removing Anthropic client and consolidating LLM providers.
Bug Fixes
-
Invoice Template Cloning: Resolved issues with cloning invoice templates.
-
Resolved unused fields in billing configuration.
-
Corrected labels for invoice types.
-
Adjusted width for work item picker inside parent container.
-
Various UI and functionality fixes in billing plans and billing dashboard.
Full Changelog: v0.0.10...v0.0.11
v0.0.10
ALGA PSA v. 0.0.10
RELEASE NOTES
New Features
AI Automated Testing
-
Enhanced Select Accessibility and Testing Support:
-
Improved ARIA attributes and roles for select components.
-
Introduced a new PuppeteerHelper class for select interaction utilities.
-
Refactored UI automation tools to handle Radix UI select components better.
-
Added a code execution dialog in the automation UI for direct script testing.
Diff Tracking for UI State Changes
-
Integrated jsondiffpatch to track and report UI state changes after Puppeteer actions.
-
Added computed diffs between old and new UI states after script execution.
-
Improved error handling to return diffs even when scripts fail.
-
Increased post-action wait time to 200ms for more reliable state capture.
JSONPath Filtering and Enhanced UI State Tracking
-
Added JSONPath filtering to UI state queries for better performance and smaller payloads.
-
Enhanced UI reflection system with new component types and improved state tracking.
-
Improved error handling and logging in automation scripts.
Tool Calling Improvements
-
Transitioned to manual tool calling for better functionality across models.
-
Removed redundant selector waiting since state changes are now tracked.
UI Components Enhancements
-
Added helperText support to UI components for better user feedback and accessibility.
-
Implemented error state feedback in the QuickAddTicket dialog using helperText.
-
Optimized CustomSelect performance with useMemo for options processing.
-
Integrated jsondiffpatch for future state diffing optimizations.
-
Refactored Reflection UI for Tickets
-
Removed parent-child relationships through React context.
-
Consolidated UI component registration logic and improved type safety.
-
Standardized data-automation-id attributes for better automated testing.
Project Management
-
Implemented Project Manager and Contact fields for projects using assigned_to and contact_name_id fields with corresponding UI support.
-
Made project details editable in a drawer.
-
Added status changes for projects.
-
Added client and contact information to the top of the project page.
-
Added notifications for projects and project tasks.
-
Ensured project task notifications are sent to all expected recipients.
-
Added JSONPath filtering to UI state queries for better performance and smaller payloads.
-
Converted project pages to client components with loading states.
-
Enhanced BackNav component with href support.
-
Ensured projects are ordered by end date.
Dashboard Functionality
-
Made dashboard tiles clickable and linked them to their respective pages.
-
Added proper href links to Quick Start tiles for client creation, asset configuration, and team member invitations.
UI Improvements
Drawer and Focus Management:
-
Adjusted drawer width and synchronized fade and slide animations.
-
Improved focus management and ensured proper unmounting of components.
DataTable component:
- Added width property to DataTable and adjusted column widths on multiple pages.
Bug Fixes
-
Resolved rendering glitches in the AI QA system.
-
Fixed project phase number display.
-
Removed redundant profile tab from the settings page.
-
Fixed rendering issues and merge conflicts related to the company picker, ticket screen, and datatable components.
Full Changelog: v0.0.9...v0.0.10
v0.0.9
ALGA PSA v. 0.0.9
RELEASE NOTES
New Features
Billing System
-
Added support for early invoice generation with warnings
-
Introduced billing cycle reversal functionality.
-
Extended invoice schema with billing period tracking.
-
Added new tables for invoice templates, annotations, and time/usage linking.
-
Enhanced billing cycle UI with status indicators and actions.
-
Comprehensive error handling for invoice generation and hard delete for invoices with proper cleanup.
Projects Management
-
Enabled drag-and-drop task reordering, allowing users to visually manage task order with greater flexibility:
-
Tasks maintain their order through WBS codes with visual indicators showing drop positions.
-
Added reorderTasksInStatus server action and removed the unique constraint on WBS codes.
-
Enabled editing of separate checklist items by clicking directly on them, improving task card usability.
-
Added 'Not assigned' option to the task assignment dropdown and set it as the default for new tasks.
-
Removed confirmation dialog for appearing for closing project task without changes.
Ad-Hoc Schedule Entries
-
Introduced ad-hoc schedule entries that can be added without a specific work item:
-
Made work_item_id nullable in the database schema.
-
Added ad_hoc as a valid work_item_type.
-
Updated UI components to handle ad-hoc entries and enhanced validation logic.
-
Improved logging and error handling.
Advanced Ticket Filtering
-
Added advanced filtering options for ticket categories, improving flexibility and precision in ticket management:
-
Introduced Exclude functionality to filter out specific categories.
-
Added "No Category" option for tickets without categorization.
-
Implemented unified clear selection behavior across dropdown.
-
Replaced CategoryPicker implementation with TreeSelect for better accessibility.
-
Added proper indentation for nested items in the TreeSelect component, based on hierarchy level.
-
Enhanced dropdown arrow visibility, alignment, and hover interactions.
-
Improved multi-select state handling and maintained backward compatibility.
-
Addressed text overlap issues and ensured proper spacing for nested items.
-
Added truncation for long text items and improved visual feedback during interactions.
-
Added reset filters button on the ticketing dashboard to provide a single-click reset option.
-
Added a company picker to the set of filters, enhancing flexibility in ticket management.
Hierarchical UI Reflection System
-
Implemented parent-child relationships between UI components.
-
Updated UIStateContext to handle component hierarchy and refactored component registration to support nested structures.
-
Added hooks for child component registration and typing support for hierarchical relationships.
-
Improved documentation with hierarchy examples.
LLM Streaming and Tool Execution Logic
-
Updated type definitions for accumulatedInput to handle undefined values.
-
Enhanced handling for multiple tool calls and stream disconnections.
-
Fix JSON parsing and empty input handling in tool execution
-
Update system prompts and standardize prompt references
-
Remove welcome message from initial chat state
-
Add check for tool index > 0 in base OpenAI client
-
Enhance tool definitions with clearer descriptions
-
Add guidelines for tool execution flow in system message
Improvements
UI Reflection Enhancements
-
Added sophisticated JSONPath filtering to UI state queries, improving performance and reducing response payload sizes.
-
Introduced new component types: Container, Card, DataTable.
-
Enhanced UI state tracking for forms and dialogs, better type safety, and automated ID generation with UUID.
-
Improved error handling for state queries.
-
Documentation updates for new filtering capabilities.
UI/UX Enhancements
-
Set the title field to be auto-focused on project task when the form loads, reducing the need for an extra click.
-
Adjusted font sizes and made the entire project task card clickable.
Bug Fixes
-
Fixed issues with duplicate headers on confirmation dialogs
-
Removed duplicate FSM state.
-
Addressed text overlap and spacing issues in hierarchical selection components.
-
Improved project handling after TreeSelect changes.
-
Refined subcategory handling.
**
Full Changelog: v0.0.8...v0.0.9
v0.0.8
ALGA PSA v0.0.8
RELEASE NOTES
New Features
AI-Driven Browser Automation and LLM Integration:
We introduced a powerful AI-driven browser automation tool leveraging Puppeteer and a Next.js frontend. This comprehensive update includes:
Core Features
-
Multi-Provider LLM Support: Modular client architecture supporting Anthropic, OpenAI, and custom OpenAI providers with error handling, response streaming, and timeout safety.
-
Data-Automation-ID System: Consistent UI state and DOM automation IDs for testing and LLM interactions, implemented across core UI components and documented in ui_automation_ids.md.
-
UI Reflection System: Real-time JSON description of UI state for automated testing and LLM-driven interactions, including WebSocket-based broadcasting, component metadata tracking, and stable component ID guidelines.
-
Tools for Enhanced Interaction:
-
get_ui_state: Efficient page analysis.
-
execute_puppeteer_script: Direct browser interaction.
-
Increased HTTP header size for larger payloads.
-
Chat Interface: Implemented a real-time chat interface using SSE, a live browser feed with WebSocket support, and enhanced log displays with structured entries and timestamps to streamline troubleshooting.
Code and Deployment
-
Dockerized AI automation service replacing Postgres container.
-
Improved error handling, string formatting, and type safety in chat services.
-
Enhanced startup and shutdown logging for detailed server status.
Scheduling System:
-
Added ability to schedule multiple agents:
-
Updated technician assignment logic to use assigned_user_ids instead of user_id.
-
Removed unnecessary useEffect cleanup in TechnicianDispatchDashboard.
-
Added console logs for debugging recurrence pattern generation.
Tickets Management:
-
Implemented ticket deletion functionalilty:
-
Added deleteTicket action to ticketActions.
-
Implemented dropdown menu with delete option in TicketingDashboard.
-
Enabled ticket deletion directly from the dashboard with an audit trail, tracked via the TICKET_DELETED event, ensuring accountability.
-
Added a confirmation dialog for ticket deletion.
-
Removed contact requirement from QuickAddTicket
Improvements
Billing System:
-
Enhanced UI and service management with new features:
-
Added plan type selection options, including Fixed, Hourly, Usage-based, and Bucket-based billing structures.
-
Improved end date handling for ongoing or fixed-duration plans.
-
Added confirmation dialogs for deletion operations.
-
Consistent error propagation and validation.
-
Improved error handling in billing plan actions.
-
Implemented technical updates for better maintainability and user experience.
Client Management:
- Implemented automatic application of default tax settings for newly created companies, ensuring compliance and streamlining setup processes.
Bug Fixes
-
Resolved Puppeteer issues on macOS.
-
Refactored CompanyPicker component for better dropdown positioning and event handling.
-
Fixed issues with the first item selection in various interfaces.
-
Fixed schedule migrations and entry assignee logic.
-
Addressed portaling issue in CompanyPicker where clicks went through the dropdown.
-
Added stability improvements and streamlined CSS selector usage in AI automation tools.
-
Corrected redis state resets on password changes.
Documentation
-
Updated and reorganized setup guides for clarity and usability:
-
Detailed instructions for both Community and Enterprise Editions.
-
New sections for getting started, configuration, and deployment.
-
Documentation links standardized for consistency.
-
Documented usage and best practices for automation IDs in ui_automation_ids.md.
Full Changelog: v0.0.7...v0.0.8
v0.0.7
Major Updates:
Rich Text Document System
- Implemented rich text document storage and versioning system
- Added BlockNote editor integration
- Created document_content and document_block_content tables
- Enhanced content organization and management
- Added document selector for company notes
- Improved UI for document editing
Timezone Management
- Added timezone support for clients
- Created new TimezonePicker component with search and grouping
- Updated CompanyDetails and UserProfile components
Interaction Types System
- Implemented system-wide interaction types
- Added support for tenant-specific custom types
- Updated UI to distinguish between system and custom types
Event System & Notifications
- Implemented Redis-based event system
- Added comprehensive email notification system
- Created database-driven email templates
- Implemented notification preferences
- Updated ticket actions to send emails
Hocuspocus Security Enhancements
- Added DOCKER_SECRETS_PATH and LOCAL_SECRETS_PATH
- Implemented secure secret management
- Enhanced hocuspocus password handling
- Updated Docker configurations
Build Configuration Update
- Updated build configuration and Docker setup
- Updated documentation and helm charts
Minor Updates:
Content Column Adjustment
- Left content column around for compatibility
Datatable Pagination
- Fixed pagination issues in datatable
- Merged pagination improvements
Datatable Fix
- Fixed pagination implementation in datatable
Ticket Contact Update
- Merged client contact change functionality
UI Improvements
- Added save and cancel buttons for better UX
Ticket Editing
- Enabled contact and company editing on existing tickets
v0.0.6
ALGA PSA v. 0.0.6
RELEASE NOTES
New Features
Docker and Configuration Management:
-
Migrated sensitive data to Docker secrets for enhanced security.
-
Split docker-compose into base, Community Edition (CE), and Enterprise Edition (EE) configurations.
-
Added health checks and improved environment validation.
-
Enhanced database security with improved Row Level Security (RLS).
-
Improved service startup sequences and environment validation.
-
Streamlined the setup process with improved secrets management.
-
Introduced centralized secrets management with
getSecret
utility. -
Improved environment configuration validation and added detailed startup logging.
-
Added proto generation scripts for Enterprise Edition.
Timesheet Comments:
-
Added visual indicators for comments requiring changes.
-
Improved comment UI with distinct styling for approver vs. employee comments.
-
Optimized comment loading using parallel fetching with Promise.all.
-
Added specialized UI for the "Changes Requested" status.
-
Improved real-time updates for comment refresh logic.
Team Management:
-
Improved team creation flow with required manager selection.
-
Added confirmation dialog for team deletion.
-
Implemented cascading delete for team members.
-
Updated button labels for clarity (e.g., "Save" renamed to "Rename").
-
Added cancel option to team creation form.
Improvements
Ticketing Settings:
-
Improved inline editing behavior in TicketingSettings:
-
Fixed cursor focus and input field positioning issues.
-
Added keyboard support (Enter to save, Escape to cancel).
-
Prevented table row click events using stopPropagation.
-
Improved error handling for failed updates.
-
Switched Ticket Settings tabs to use getCurrentUser instead of useSession for consistency.
Time Periods:
-
Updated "Add Entry" button in the Time Entry UI:
-
Added a Plus icon for better clarity.
-
Disabled the button while editing unsaved entries.
-
Converted TimeTrackingPage to a client component for improved loading states.
-
Added loading skeletons and improved error handling for time periods.
-
Cleaned up unnecessary UI-only properties before saving TimeEntry data.
-
Improved performance monitoring with Profiler.
Time Entry:
-
Enabled inline editing for time entry dialog.
-
Added real-time validation for start/end times.
-
Implemented delete functionality for time entries.
-
Improved time slot suggestions based on existing entries.
-
Added visual feedback for unsaved changes.
-
Enhanced accessibility with better button labels and icons.
-
Added automatic data refresh after saves and deletes.
Documentation
Setup Guides:
- Added a new Complete Setup Guide for both CE (Community Edition) and EE (Enterprise Edition), replacing the previous Quick Start video guide.
Secrets Management:
- Introduced detailed documentation for centralized secrets management and the getSecret utility.
Structure and Organization:
-
Updated documentation to reflect the CE/EE project structure split.
-
Reorganized content into clear categories for improved readability.
-
Cleaned up outdated or redundant sections.
Workflow System:
-
Added comprehensive workflow.md documentation detailing the Enterprise Edition Workflow System.
-
Updated overview.md to integrate the Workflow System with improved modularity and formatting.
Link Updates:
- Ensured consistency across all documentation links.
Performance
-
Refactored timesheet comment fetching for better performance.
-
Optimized state updates in Time Entry dialog.
-
Reduced code duplication and unnecessary data fetching.
-
Eliminated Protocol Buffers in workflow management.
Bug Fixes
-
Fixed compilation issue with team list types.
-
Fixed cursor focus and position issues in Ticketing Settings inline edits.
-
Prevented dropdown shrinking to placeholder width.
-
Resolved date formatting issues in timesheet comments.
-
Fixed duplicate key issues across multiple components that use DataTable by ensuring unique keys for table rows.
-
Resolved nested button issue causing hydration errors.
-
Fixed
npm run
command.
Full Changelog: v0.0.5...v0.0.6
v0.0.5
ALGA PSA v. 0.0.5
RELEASE NOTES
New Features
Enterprise Workflow System with Visual Graph Editor:
-
Preview of workflow system for MSP business process automation
-
Visual graph editor
-
Component library for workflow nodes (thinking, action, classifier, etc.)
-
Dark theme styling for workflow editor
-
Documentation for enterprise edition workflow system
Invoice Templates:
-
Added standard invoice templates and improved template management.
-
Introduced template cloning, editing UI with DSL support, and visual indicators for selection.
-
Made standard templates immutable, with enhanced support for customizations.
-
Enhanced template selection with visual indicators.
Billing:
-
Added tax region auto-population for tickets based on company defaults.
-
Added tax-exempt handling for manual invoices.
-
Added credit balance field for company and implemented credit balance calculation logic.
-
Implemented manual invoice generation, including tax calculations and transaction recording.
-
Enhanced invoice generation with multi-type support (manual, automatic, prepayment).
Project Task Management:
-
Enabled multi-agent task assignments, enhancing collaboration.
-
Ensured proper filtering of agents available for assigning.
-
Updated project task card UI to display the count of additional assigned agents.
-
Added search and filtering options for linking existing tickets to project tasks.
Password Management:
-
Enabled self-service password changes for users and admin-level controls for all accounts.
-
Added password validation, strength requirements, and improved authentication flows.
Time Periods:
-
Added automated end-of-period settings and period creation scheduling by integrating a new job handler in app initialization.
-
Added "No End Date" option for time periods.
Improvements
General UI:
-
Implemented full navigation for the menu.
-
Refined auto-scrolling behavior.
-
Added visual effects to drag-and-drop operations.
-
Updated the task creation form for maintainability.
-
Enhanced checklist items to use a textarea component with auto-growing capability for dynamic height for better flexibility.
-
Enhanced user picker component to filter out clients.
Work Items:
-
Enhanced work item picker UI with options to handle inactive project visibility.
-
Replaced infinite scroll with paginated navigation.
-
Added detailed display for tickets and project tasks.
-
Extended work item interface with specific fields for tickets and tasks.
-
Improved database queries to fetch related project and phase information.
-
Implemented dedicated rendering logic for different work item types.
-
Optimized state management for work item listing.
Time Periods:
-
Improved time period overlap detection logic.
-
Improved edit and delete functionality for time periods.
-
Added checks to prevent modification of periods with existing timesheets to prevent data loss.
-
Improved period boundary calculations for week/month/year frequencies.
Billing:
-
Standardized monetary fields to integer cents.
-
Improved handling of null/undefined values in form inputs.
Performance
-
Resolved rendering loops in datatables by stabilizing cell IDs.
-
Refactored TreeSelect component to make it reusable.
Bug Fixes
-
Fixed permissions display on user roles page.
-
Fixed date formatting consistency using UTC.
-
Fixed issue with cell id stability in datatables which was causing infinite rendering loops.
-
Corrected tax region handling and calculation rounding.
-
Fixed handling of compound last names fetched from client full name.
v0.0.4
ALGA PSA v. 0.0.4
RELEASE NOTES
Job Scheduling System
Background Processing with pg-boss
We’ve introduced a robust scheduling system for managing background tasks:
-
Flexible job scheduling: tasks can be scheduled to run immediately, at a specific time, or on a recurring basis.
-
Automated processes: key operations, such as invoice generation, are now automated and monitored for reliability.
-
Advanced queue management: includes comprehensive tools for managing and monitoring job queues.
-
Multi-tenant support: ensures task isolation and reliability in multi-tenant environments.
-
Future-ready: establishes a strong foundation for automating additional background tasks across the platform.
Billing System
Credit Balance Tracking and Validation
A new system has been implemented to maintain accurate credit balances and transaction histories:
-
Enhanced transaction details: a balance_after field now provides greater clarity for each transaction.
-
Robust validation: automated checks ensure all credit actions are consistent and error-free.
-
Scheduled jobs: periodic validation tasks keep credit balances accurate over time.
-
Simplified calculations: added tools streamline balance calculations for better efficiency.
-
Bug fix: resolved an issue where credits were applied before tax calculations, ensuring accurate billing.
Billing Cycle Management
A smarter system for managing billing cycles and tracking invoices:
-
Historical tracking: billing cycles now include effective dates for improved traceability.
-
Invoice linking: invoices are directly associated with their respective billing cycles and source records.
-
Multi-tenant support: seamless management of billing cycles across different users or organizations.
-
Optimized performance: enhanced database indexing and unique constraints prevent overlapping billing periods.
-
Improved accuracy: addressed tax rounding discrepancies and enhanced usage/invoice state tracking.
Streamlined Billing Cycle Creation
Automated processes simplify the creation and management of billing cycles:
-
Automated nightly jobs: billing cycles are generated based on predefined schedules.
-
Precise period management: handles billing period start and end dates with high accuracy.
-
Flexible billing periods: supports a variety of billing frequencies, including weekly and monthly cycles.
-
Enhanced dashboard UI: improved visibility and usability for managing billing cycles.
-
Edge case resolutions: addressed complex scenarios in billing period calculations.
Contacts Management
Attach Documents to Contacts
Users can now upload and associate documents directly with individual contacts for improved organization:
-
Document linking: seamlessly upload and link files from the contact view page.
-
Comprehensive management: a dedicated interface simplifies document organization for contact-related files.
Project Management
Move Tasks Between Projects
Tasks can now be seamlessly transferred between projects:
-
Workflow consistency: phases and statuses are automatically aligned in the destination project.
-
Preserved attributes: tasks retain all associated attributes during the transfer process.
-
Automated validation: integrated tests ensure the integrity of task transitions and proper status alignment.
Full Changelog: v0.0.3...v0.0.4