Skip to content

Releases: Nine-Minds/alga-psa

v0.0.13

04 Feb 19:14
a06dfa7
Compare
Choose a tag to compare

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

28 Jan 17:53
Compare
Choose a tag to compare

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

21 Jan 17:28
Compare
Choose a tag to compare

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

14 Jan 19:24
Compare
Choose a tag to compare

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

07 Jan 19:26
b5f5ffa
Compare
Choose a tag to compare

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

02 Jan 17:10
Compare
Choose a tag to compare

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

26 Dec 17:22
Compare
Choose a tag to compare

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

17 Dec 19:06
Compare
Choose a tag to compare

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

10 Dec 16:17
f717d28
Compare
Choose a tag to compare

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

03 Dec 18:44
cd687ae
Compare
Choose a tag to compare

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