v.0.0.9
Jan 7, 2025
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.