- Changed the script for controlling the LCD backlight to use the SET_PIN command with the appropriate pin name.
- Updated the BEEPER control script to utilize the SET_PIN command, adjusting the value format for consistency in handling sound output.
- Removed outdated restart functions from ControlPrinter component to streamline code.
- Added new RestartPrinter, RestartPrinterFirmware, and RestartMoonraker components for improved modularity and user interaction.
- Updated Printer model to integrate new restart components into the action menu, enhancing user experience and maintainability.
- Integrated useEffect in UserProfilePopover to close the popover on route changes, enhancing user experience.
- Simplified modal object data handling in ActionsContext to ensure consistent user profile access.
- Updated User model action handling to correctly pass user data to the NewAppPassword component.
- Streamlined dropdown action rendering in UserProfilePopover, improving code clarity and maintainability.
- Integrated useEffect hooks in InvoiceInfo, PaymentInfo, and other components to utilize ActionsContext for managing modal states.
- Removed unused modal states and related code to streamline component logic.
- Added setCurrentObject prop to various components for improved object handling during state changes.
- Enhanced overall code maintainability and readability by consolidating modal logic and reducing redundancy.
- Introduced ModelRoutes to handle dynamic routing for model pages based on object models.
- Created ActionsContext to manage actions and modal states across components, improving action handling and navigation.
- Updated various components to utilize the new buildActionUrl utility for consistent URL generation.
- Refactored existing components to integrate the ActionsProvider, enhancing state management and user interaction.
- Created SoftwareUpdateIcon component using SVG for software update representation.
- Replaced DownloadIcon with SoftwareUpdateIcon in the About component's update actions for better visual context.
- Enhanced AppUpdateProgress modal title with SoftwareUpdateIcon for improved user interface clarity.
- Updated imports and styling in relevant components to accommodate the new icon.
- Removed console.log statements from FilePreview and ObjectForm components for cleaner code.
- Replaced console.log with loglevel in KeyboardShortcut for better logging management.
- Updated ID handling in ObjectForm, ObjectTable, PrinterMiscPanel, PrinterPositionPanel, and PrinterTemperaturePanel components to ensure IDs are consistently converted to lowercase, enhancing data integrity.
- Introduced PrinterControlButtons to encapsulate start, pause, and cancel actions for printers, improving user interaction.
- Updated ControlPrinter component to integrate PrinterControlButtons, enhancing layout with Flex for better alignment.
- Adjusted button states based on printer status and loading state, ensuring appropriate user feedback and action availability.
- Introduced controlLabelStyle and controlInputStyle for consistent styling of control elements in PrinterPositionPanel.
- Replaced Space components with Flex for better alignment and layout management in PrinterPositionPanel.
- Updated input field widths in PrinterTemperaturePanel for enhanced usability and consistency.
- Added an `offline` prop to PrinterTemperaturePanel, PrinterMiscPanel, and PrinterPositionPanel components to manage state when printers are offline.
- Implemented useEffect hooks in each panel to reset relevant data when offline, ensuring accurate display of printer status.
- Updated ControlPrinter component to pass the `offline` state based on the printer's online status, improving user experience during offline scenarios.
- Added TableStateProvider to the App component, encapsulating routing logic to manage table states effectively.
- Removed redundant TableStateProvider from the DashboardLayout component, streamlining the component structure.
- Updated ControlPrinter and ObjectActions components to improve action visibility and navigation button rendering based on slicer integration state.
- Enhanced action filtering in ObjectActions to eliminate unnecessary dividers, improving menu item clarity.
- Removed the default border style from the Thumbnail component to streamline its appearance.
- Updated the Thumbnail component to dynamically set the width in the card styles, enhancing layout flexibility.
- Modified the fetchFileThumbnail function in ApiServerContext to include an optional parameter for handling 404 errors, improving error management during thumbnail fetching.
- Added a thumbnail property to the GCodeFile model, enabling thumbnail support for GCode files.
- Introduced new props to the Users component to enable saving and using filters and sorting in both session and URL.
- This enhancement improves user experience by maintaining filter and sort states across sessions, aligning with recent updates across other dashboard components.
- Simplified the loadPage function call by consolidating parameters into a single line, enhancing code clarity.
- Updated the Splitter component's className to include 'large', ensuring consistent styling across the dashboard components.
- Simplified the rendering of the FilterIcon by removing unnecessary opacity styling, enhancing visual clarity while maintaining the intended design.
- This change contributes to a cleaner and more efficient component structure in the Dashboard.
- Updated filters in multiple models such as AppPassword, AuditLog, Client, Courier, and others to include '_reference' and other relevant fields like 'createdAt' and 'updatedAt'.
- This change improves data handling and consistency across the application, ensuring that all necessary fields are available for filtering.
- Changed the keyboard shortcut hints from 'ALT LEFT' and 'ALT RIGHT' to 'ALT ←' and 'ALT →' respectively, enhancing visual clarity for users.
- This update aligns with the overall goal of improving user experience and accessibility in navigation.
- Integrated KeyboardShortcut component to the EditButtons, allowing users to trigger update and cancel actions using 'ALT + S' and 'ALT + C' respectively during editing.
- Added a shortcut for starting editing with 'ALT + E' when not in editing mode, enhancing user interaction and accessibility.
- Updated button states to ensure actions are only available when not loading or disabled, improving overall workflow efficiency.
- Removed unused state for tracking pressed keys, streamlining the key handling logic.
- Eliminated the sync function for pressed keys, enhancing performance and reducing complexity.
- Maintained existing functionality while improving the overall structure of the component.
- Enhanced various components across the Dashboard, including Invoices, Payments, TaxRecords, and Inventory items, by adding props to save and use filters and sorting in both session and URL.
- This update improves user experience by maintaining state across sessions and enhancing data handling consistency throughout the application.
- Removed unnecessary useContext for ApiServerContext in both FilamentProfiles and PrinterProfiles components.
- Simplified modal state handling by consolidating profile modal logic into a single state variable for new profiles.
- Cleaned up the handleRowAction function in both components, focusing on new profile creation and removing delete functionality for improved clarity.
- Integrated KeyboardShortcut component to allow navigation using 'ALT + LEFT' and 'ALT + RIGHT' key combinations.
- Updated button handlers to trigger navigation actions based on keyboard shortcuts, improving user experience and accessibility.
- Ensured that navigation is only triggered when the buttons are not disabled and the relevant neighbors exist.
- Updated the `parseShortcut` function to utilize a modifier aliases object for better readability and maintainability.
- Introduced `getPressedKey` function to streamline key detection logic.
- Replaced the previous shortcut key set management with a more efficient use of `useMemo` and `useState` for tracking pressed keys.
- Added optional `log` prop to enable logging of key events for debugging purposes.
- Enhanced the overall structure and performance of the KeyboardShortcut component.
- Modified the `disabled` prop for `ObjectTableNavigationButtons` in multiple components, including InvoiceInfo, PaymentInfo, and TaxRecordInfo, to account for both loading states and editing states.
- This change enhances user experience by preventing interactions during loading or editing, ensuring a smoother workflow across the dashboard.
- Integrated ObjectTableNavigationButtons into multiple components including InvoiceInfo, PaymentInfo, TaxRecordInfo, and others to enhance user navigation.
- Each button is configured with appropriate props for object type and ID, ensuring consistent functionality across the dashboard.
- This update improves the overall user experience by providing quick access to related object actions.
- Added props to the Printers component to enable saving and using filters and sorting in both session and URL, improving user experience and state management consistency.
- Introduced TableStateContext to manage table filters and sorting, allowing for persistence across sessions and URL parameters.
- Updated ObjectTable and DashboardBreadcrumb components to utilize the new context for improved filter handling and user experience.
- Refactored DashboardLayout to include TableStateProvider, ensuring consistent state management across the dashboard components.
- Added an `isSkeleton` prop to ObjectCard for conditional rendering of skeleton loaders, improving user experience during data fetching.
- Updated ObjectTable to manage skeleton boundaries, allowing for dynamic loading of pages based on visibility of skeleton cards.
- Refactored scroll handling in ObjectTable to utilize IntersectionObserver for better performance and responsiveness.
- Introduced a new method to dynamically calculate card column span based on container width in ObjectTable, enhancing responsiveness.
- Updated ObjectCard to simplify rendering logic by extracting name and state properties into a separate component.
- Added min-width: 0 to relevant CSS classes in App.css to ensure proper layout handling and prevent overflow issues.
- Added min-height: 0 to Flex components in multiple files to improve layout consistency.
- Updated App.css with new styles for .farmcontrol-splitter and .objectTableCards to enhance visual structure and overflow handling.
- Refactored ObjectTable component to utilize ScrollBox for better scrolling behavior and layout management.
- Introduced a new 'thumbnail' property in the User model to enable thumbnail support for image rendering.
- This enhancement improves the visual representation of user-related images in the application.
- Introduced new 'Part Stock Events' and 'Product Stock Events' sections in PartStockInfo and ProductStockInfo components, respectively.
- Updated state management to include events and modified the UI to display event-related information.
- Added icons and collapsible sections for better organization and user experience.
- Removed unnecessary state and effects related to image loading in ActivityIndicator, replacing them with the new Thumbnail component for better performance and simplicity.
- Updated ObjectCard to conditionally render a Thumbnail based on the presence of a thumbnail property, enhancing the visual representation of objects.
- Introduced a new Thumbnail component to handle image fetching and rendering, including support for blurHash decoding and fallback UI.
- Introduced padding-bottom to .ant-descriptions-row > td within .ant-descriptions-small to enhance spacing and visual consistency in the descriptions component.
- Implemented navigation gestures in mainWindow.js to handle swipe and app-command events for back and forward navigation.
- Enhanced ElectronContext.jsx to manage navigation history through IPC events and added horizontal scroll detection for improved user experience.
- Introduced a debounce mechanism for navigation actions to prevent rapid triggering.
- Added new dependencies for '@codemirror/commands@6.10.4', '@codemirror/language@6.12.1', '@codemirror/state@6.7.1', and '@codemirror/view@6.39.12' in package.json.
- Updated pnpm-lock.yaml to reflect the new versions and ensure compatibility across the project.
- Updated TemplateEditor to use useCallback for handlePreviewMessage, optimizing performance.
- Enhanced TemplatePreview by adding default no-op functions for onTestObjectOpen and onPreviewMessage props.
- Improved error handling in fetchTemplatePDF and fetchTemplatePreview methods to ensure callbacks are only invoked if they are functions.
- Refactored preview loading logic to prevent unnecessary calls when template ID is not available.
- Added new versions for several @codemirror packages, including '@codemirror/state@6.7.1', '@codemirror/view@6.39.12', '@codemirror/language@6.12.1', '@codemirror/commands@6.10.4', and '@codemirror/autocomplete@6.20.0' in both pnpm-lock.yaml and pnpm-workspace.yaml.
- Updated Vite configuration to deduplicate and optimize dependencies for @codemirror packages, ensuring better performance and compatibility.
- Removed the override for 'baseline-browser-mapping' from package.json and added it to pnpm-workspace.yaml for better organization.
- Ensured consistent versioning of 'baseline-browser-mapping' across the project.
- Added an override for the 'baseline-browser-mapping' package to version 2.11.4 in both package.json and pnpm-lock.yaml.
- Updated '@codemirror/state' dependency version to 6.7.1 in pnpm-lock.yaml for improved compatibility.
- Added new versions for several packages, including '@codemirror/commands@6.10.4', '@codemirror/state@6.7.1', '@lezer/common@1.5.2', '@marijn/find-cluster-break@1.0.3', 'acorn@8.17.0', 'baseline-browser-mapping@2.11.5', 'caniuse-lite@1.0.30001806', 'crelt@1.0.7', 'fs-extra@11.4.0', 'jsonfile@6.2.1', and 'lodash@4.18.1'.
- Updated dependencies for existing packages to reflect the latest versions, ensuring compatibility and improved functionality.
- Added new icons for movement and settings in the ControlPrinter component.
- Refactored InfoCollapse components to include better styling and structure.
- Updated PrinterTemperaturePanel, PrinterPositionPanel, PrinterMovementPanel, and PrinterMiscPanel to support a disabled state based on connection status.
- Improved layout and styling in App.css for better visual consistency across components.
- Adjusted the disabled state logic in DocumentSizeInfo and DocumentTemplateInfo components for better clarity during editing.
- Added labelWidth properties to DocumentTemplateInfo for enhanced layout control.
- Updated the labelWidth in DocumentTemplateInfo to improve consistency in UI presentation.
- Added a new 'updatedAt' field to the DocumentSize model for tracking updates, ensuring it is read-only and properly formatted.
- Removed the previous 'updatedAt' field and adjusted the visibility logic for the 'width' field based on the 'infiniteHeight' property, enhancing user experience.
- Added labelWidth properties to NewDocumentPrinter and DocumentPrinterInfo components for better layout control.
- Updated the DocumentPrinter model to change the label from 'Current Document Size' to 'Document Size' for clarity.
- Improved the disabled state handling in DocumentPrinterInfo for better user experience during editing.
- Added a new 'updatedAt' field for tracking the last update timestamp.
- Replaced the existing 'updatedAt' field with 'connectedAt' to accurately reflect the connection time.
- Ensured both fields are read-only and properly formatted for display in the UI.