- Introduced MagicWandIcon component using SVG for enhanced visual representation in the TemplateEditor.
- Updated TemplateEditor to include a button for formatting template content, utilizing the new fetchTemplateFormat function from ApiServerContext.
- Enhanced DocumentTemplateDesign to pass necessary props to TemplateEditor for improved functionality.
- Refactored CodeBlockEditor to support an additional value prop for better code handling.
- Removed duplicate 'courier', 'host', and 'owner' properties from visibleColumns in CourierInfo, HostInfo, and SubJobInfo components for cleaner code.
- Enhanced code readability and maintainability by streamlining the visibleColumns structure.
- Simplified fetchTemplatePDF function by consolidating parameters into a single line for better readability.
- Updated userNotifier fetch queries to use nested object syntax for improved clarity and consistency in data retrieval.
- Enhanced overall code maintainability by reducing unnecessary line breaks and optimizing filter structures.
- Updated the download functionality in NewDocumentJob to use a unified downloadTemplate method, supporting multiple file formats (PDF, PNG, JPEG, SVG).
- Improved error handling in ApiServerContext by adding getTemplateErrorFromResponse and triggerFileDownload functions for better response management.
- Refactored fetchTemplatePDF to utilize fetchTemplateDownload for streamlined code and improved maintainability.
- Cleaned up ObjectDisplay component by removing unnecessary line breaks for better readability.
- Adjusted mask-image properties in App.css to change the gradient calculation from 0.8em to 0.5em for better alignment and appearance of skeleton input elements.
- Ensured consistent styling across both standard and webkit-prefixed mask images.
- Updated multiple components including InvoiceInfo, PaymentInfo, TaxRecordInfo, and various stock-related components to use getModelByName for constructing master filters.
- Improved code consistency and readability by replacing hardcoded parent ID references with dynamic model prefixes.
- Cleaned up unnecessary whitespace and optimized component structure for better maintainability.
- Introduced CodeDiffViewer component utilizing @codemirror/merge for visual code diffs.
- Added DiffLabel component to display code change statistics and trigger the CodeDiffViewer modal.
- Updated PropertyChanges component to integrate DiffLabel for code property changes.
- Enhanced styling for code diff display with new CSS classes.
- Updated package.json and lock files to include @codemirror/merge dependency.
- Introduced a new ElipsisText component to manage text overflow and truncation more effectively.
- Replaced instances of the Text component with ElipsisText across various components including AddressDisplay, EmailDisplay, and FileList for consistent text handling.
- Updated styles in multiple components to ensure proper layout and responsiveness when displaying long text.
- Introduced a new ChevronRightIcon component using SVG for better visual representation.
- Replaced the ArrowLeftIcon with ChevronRightIcon in the FilterInput component to enhance the operand display.
- Added the corresponding SVG file for the ChevronRightIcon to the assets/icons directory.
- Added support for wildcard symbols (*, ?) in the FilterInput component, allowing for in-place highlighting.
- Updated the caret positioning logic to handle wildcard spans correctly, ensuring accurate text selection.
- Refactored tokenization and rendering functions to accommodate new wildcard types, enhancing overall functionality.
- Changed operand colors for various comparison symbols in the FilterInput component to enhance visual differentiation.
- Updated colors for symbols such as '..', '<>', '>=', '<=', and '=' to align with a more cohesive color scheme.
- Introduced new SVG icons for comparison operators: Equal, Greater Than, Greater Than or Equal To, Less Than, Less Than or Equal To, and Not Equal.
- Updated FilterInput component to utilize these new icons for better visual representation of operand symbols.
- Enhanced the layout and styling of operand labels within the FilterInput for improved user experience.
- Added @codemirror/commands, @lezer/common, @lezer/highlight, @lezer/lr, and classnames to package.json for enhanced functionality.
- Removed duplicate entries for @codemirror/commands and ensured proper versioning for new dependencies.
- Updated pnpm-lock.yaml to reflect the addition of classnames and maintain consistency across dependencies.
- Introduced a new FieldSelectLabel component to dynamically size select fields based on the longest label, improving layout consistency.
- Updated FilterSidebar to utilize the FieldSelectLabel for better visual alignment of select options.
- Adjusted CSS styles for the filter sidebar field selects to ensure proper width handling.
- Added relative positioning and z-index management to ensure the focus ring is visible above Compact siblings.
- Refactored Popover anchor to prevent wrapping of Compact items, enhancing user interaction and accessibility.
- Cleaned up JSX structure for better readability and maintainability.
- Added a transparent background color to the .simple-date-time-property-filter class for improved visual integration.
- Adjusted padding for the Text component within SimpleDateTimePropertyFilter to enhance layout consistency and spacing.
- Updated FilterInput to include property filter functionality, allowing for more complex filtering expressions.
- Introduced new utility functions to convert between filter expressions and values, improving data handling.
- Modified FilterSidebar to pass property filter configurations to the FilterInput, enhancing the filtering capabilities.
- Improved SimplePropertyFilter to cache options and prevent unnecessary refetching, optimizing performance during interactions.
- Introduced a new FilterInput component to streamline user input for filter values, replacing the standard Input component in FilterSidebar and ObjectTable.
- Updated FilterSidebar and ObjectTable to utilize FilterInput, improving the overall filtering experience and consistency across the dashboard.
- Enhanced expression handling in ColumnFilterDropdown to accommodate the new FilterInput component, ensuring seamless integration with existing functionality.
- Added 'createdAt' and 'updatedAt' fields to various models including Courier, DocumentPrinter, and User for better tracking of records.
- Improved formatting in AuditLog and other models for consistency in code style.
- Updated filters and columns across multiple models to include new date fields, enhancing data management capabilities.
- Introduced useEffectEvent for handling notification fetching based on authentication and connection status.
- Simplified the useEffect dependencies for fetching notifications when the notification center is opened.
- Removed unused token from context to streamline the NotificationProvider component.
- Updated TemplateEditor to display compile error messages with a Popover for better user interaction.
- Introduced a new button with an icon to trigger the Popover, improving the visibility of error details.
- Adjusted the styling of the Alert component for consistent padding in error messages.
- Changed the version of @lezer/common from 1.5.2 to 1.5.0 in both bun.lock and pnpm-lock.yaml files.
- Ensured all references to @lezer/common across dependencies are aligned with the fixed version, improving compatibility and stability.
- Updated fcTemplateLang to accept an autoCompleteObject parameter, improving JavaScript autocompletion capabilities.
- Introduced a new schema.js file defining XML attributes and elements for FarmControl templates, enhancing template editing.
- Modified CodeBlockEditor and ObjectProperty components to pass autoCompleteObject, ensuring consistent autocompletion behavior.
- Updated TemplateEditor to utilize objectData for autocompletion, improving user experience in template editing.
- Changed the version of @lezer/common in package.json to a fixed version (1.5.0) for consistency.
- Updated Vite config to resolve @lezer/common directly from node_modules, ensuring compatibility with CodeMirror parsers and preventing issues with version mismatches.
- Enhanced the fcTemplateLang parser to support XML overlay across Text regions, improving EJS template handling.
- Introduced a new language support for EJS templates with XML integration, allowing for custom scriptlets and improved syntax highlighting.
- Updated CodeBlockEditor and TemplateEditor components to utilize the new fcTemplateLang for EJS language handling.
- Modified DocumentTemplate model to reflect the new language type for content.
- Added necessary grammar and parser files for fcTemplateLang, enhancing the overall template editing experience.
- Added !important to top and bottom properties for the tree switcher line in the SimpleDateTimePropertyFilter component, ensuring consistent rendering across different contexts.
- Adjusted margins and alignment properties for the SimpleDateTimePropertyFilter component to enhance visual consistency.
- Updated styles for tree nodes and switchers to ensure better alignment and spacing within the component.
- Updated Job model to include 'startedAt' and 'finishedAt' in columns and filters, improving data tracking.
- Modified SubJob model to replace specific job and printer IDs with their respective objects in filters, and added 'startedAt' and 'finishedAt' to filters and sorters for better data management.
- Added CSS styles for the SimpleDateTimePropertyFilter component to improve layout and spacing.
- Updated the component to include a more flexible checkbox rendering with indeterminate states.
- Refactored the handleNodeCheck function for better management of checked states and visibility during filtering.
- Introduced SimpleDateTimePropertyFilter component to handle filtering of date and time properties in the dashboard.
- Updated SimplePropertyFilter to integrate the new component, allowing for specialized handling of dateTime and date types.
- Enhanced filtering logic to improve user experience when dealing with date and time selections.
- Enhanced the getOptionKey function to support object types and improve key generation for options.
- Updated local state management to utilize keys for checked values, ensuring consistent behavior during filtering.
- Refactored handleChange and emitChange functions to work with keys, improving clarity and maintainability.
- Adjusted Checkbox component to use generated keys for value handling, enhancing the filtering experience.
- Introduced a new SimplePropertyFilter component for advanced filtering options in the ObjectTable.
- Updated ObjectTable to utilize ColumnFilterDropdown for improved filter management and user experience.
- Enhanced ScrollBox to support additional padding options for better layout control.
- Refactored related components to integrate new filtering logic and maintain consistent styling across the dashboard.
- Added editDisabled state to multiple components, enhancing control over editing actions based on the current state.
- Updated the disabled property in relevant components to utilize the new editDisabled state, ensuring consistent behavior across the dashboard.
- Refactored imports to remove unused getModelByName function calls, streamlining the codebase.
- Updated the isSameActionUrl function to improve readability and maintainability.
- Enhanced comments to clarify the logic behind action URL comparison and visibility control for actions based on the current page state.
- Introduced 'edit', 'cancelEdit', and 'finishEdit' actions across multiple document models, enhancing user interaction during editing processes.
- Updated visibility logic for these actions to ensure they only appear when relevant, improving the user experience.
- Refactored existing visibility functions for consistency across models.
- Updated ObjectTableViewButton component to accept a showEndingDivider prop, allowing for conditional rendering of a divider in the layout.
- Modified multiple dashboard components (Invoices, Payments, TaxRecords, etc.) to utilize the new prop, improving visual separation in the UI.
- Ensured consistent application of the new prop across various components for a cohesive user experience.
- Reformatted the filter logic for clarity in the mergeLoadedPage function.
- Updated the gap property in the Flex component to enhance layout spacing in the sidebar.
- Introduced logic to filter out duplicate items in the table data, logging warnings for omitted rows.
- Added mechanisms for managing data load generation to prevent stale data issues during asynchronous operations.
- Refactored page loading and merging logic to ensure proper handling of loaded pages and skeleton states.
- Improved state management for loading and clearing table pages, enhancing overall performance and user experience.
- Introduced SortSidebarButton to enable sorting in Invoices, Payments, TaxRecords, and Inventory components.
- Integrated useSortSidebarVisibility hook to manage sort sidebar visibility state.
- Updated relevant components to include sorting capabilities, enhancing user experience and data management.
- Reformatted import statements for better clarity and consistency.
- Increased modal width for the Regenerate Secret functionality to enhance user experience.
- Improved the structure of the createElement call for RegenerateAppPasswordSecret for better readability.
- Removed unnecessary initialized state and replaced it with refs for notes ID and type to optimize re-rendering.
- Updated useEffect dependencies to ensure proper data fetching based on changes in notes ID and type.
- Enhanced loading state handling during note fetching for better user experience.
- Added styling for `.ant-drawer-mask` to match the existing `.ant-modal-mask` backdrop filter.
- Updated the positioning of `.electron-body .ant-drawer` to align with modal adjustments, ensuring a cohesive layout across components.
- Adjusted the CEF frame overhang constants to better align with native window dimensions, enhancing the accuracy of window positioning and rendering in the application.
- Increased the width and height values to accommodate changes in window management.
- Introduced separate constants for native and CEF window frame overhangs to accommodate different rendering contexts.
- Updated `getMaximizedWorkAreaFrame` to accept a window parameter, allowing dynamic selection of the appropriate overhang based on the window type.
- Enhanced `isWindowWorkAreaMaximized` and `clampWindowToWorkArea` functions to utilize the updated frame overhang logic, improving accuracy in window positioning.
- Updated `getRunningAppVersion` to retrieve the version from `package.json`, ensuring accurate version representation.
- Modified `getAppVersion` in `rpc.js` to utilize the refactored `getRunningAppVersion`, improving consistency in version reporting.