- Updated ControlPrinter to utilize getReferenceId for cleaner ID retrieval of current jobs and filament stocks.
- Refactored actions in ControlPrinter to use useMemo for better performance and dependency management.
- Enhanced ObjectForm to manage fetch states and updates more effectively, ensuring real-time data consistency during asynchronous operations.
- Improved handling of object data updates during fetch to prevent race conditions and ensure accurate state representation.
- Updated SlicerIntegration to check for printerId and connection status before proceeding with uploads.
- Refactored object ID handling in ApiServerContext to normalize IDs to lowercase, ensuring consistency across updates and subscriptions.
- Improved pending uploads state management in SlicerIntegration to handle non-array values gracefully.
- Added ElipsisText component for better text handling within TimeDisplay.
- Updated Flex container styles to ensure proper alignment and responsiveness.
- Enhanced conditional rendering for date and time display, improving overall user experience.
- Added CancelSubJob component for handling sub job cancellation with user confirmation.
- Updated PrinterQueue and PrinterQueueItem components to support cancellation actions and display appropriate controls based on user permissions.
- Enhanced ObjectDisplay component to trigger data updates via onData callback, improving state management.
- Introduced new styles for printer queue steps in App.css to improve layout consistency.
- Introduced utility functions for managing group value tokens and matching logic, improving the handling of null and omitted references.
- Refactored selection path building to streamline the process of generating value filters and path keys based on object properties.
- Updated comparison logic in tree structure manipulation to utilize new group value matching, enhancing accuracy in node handling.
- Added support for expanded keys management during value updates, ensuring consistent state across selections.
- Updated DeployJob to utilize useRef for job state management and improved object hydration logic.
- Introduced utility functions for managing object property references and hydration in object forms.
- Enhanced NewObjectForm to synchronize form values with fetched object data, ensuring real-time updates.
- Added new properties to Job and SubJob models for better data representation and filtering capabilities.
- Updated ControlPrinter to conditionally manage hyperlink visibility based on slicer integration, improving user experience.
- Refactored ObjectInfo to handle hyperlink display logic more flexibly, ensuring consistent behavior across components.
- Modified PrinterQueue to accept a showHyperlink prop, allowing for better control over hyperlink rendering in queue items.
- Enhanced SpotlightTooltip to prevent action rendering on slicer routes, optimizing performance and user interaction.
- Introduced separate session management for the slicer application, ensuring that slicer sessions do not interfere with standard authentication.
- Added utility functions for managing slicer authentication sessions, including retrieval, setting, and clearing of session data.
- Updated AuthProvider to handle slicer-specific authentication logic, improving user experience and session integrity.
- Enhanced ApiServerContext to manage socket connections based on the slicer authentication token, ensuring proper connection handling.
- Replaced NotificationProvider with ActionsProvider in App.jsx to improve context management.
- Introduced default actions in ActionsContext to streamline state handling for current objects and actions.
- Improved error logging in ApiServerContext by consolidating error response handling and ensuring robust error reporting.
- Introduced functionality to dynamically update the favicon based on live activity status.
- Added CSS styles for the live activity favicon to enhance visual representation.
- Refactored LiveActivities component to capture and apply favicon updates, improving user experience with real-time notifications.
- Implemented utility functions for favicon management, ensuring efficient handling of favicon updates and restoration.
- Refactored SpotlightTooltip component to improve action handling and data rendering.
- Introduced new utility functions for value checking and nested property access.
- Updated rendering logic to utilize ObjectCard for better display of spotlight data.
- Added CSS styles for spotlight tooltip to ensure a transparent background.
- Introduced EMPTY_DEFAULT_VALUES constant to standardize default values.
- Added serializeDefaultValues function for safe serialization of default values.
- Updated NewObjectForm to use a ref for defaultValues, ensuring consistent access during form initialization and validation.
- Adjusted useEffect dependencies to reflect changes in default values handling.
- Introduced a new option to download document templates in Word (docx) format in the NewDocumentJob component.
- Updated the EmailTemplate model to include 'docx' as a selectable format for email templates, enhancing document handling capabilities.
- Deleted gcode-preview entry from bun.lock to streamline dependencies.
- Cleaned up related references to gcode-preview in the lock file, ensuring a more efficient package management.
- Updated vite.config.js to optimize React chunking for antd imports, preventing issues with hooks.
- Added new LiveActivities component to manage and display real-time activity notifications in the dashboard.
- Refactored DashboardNavigation component to include LiveActivities, improving user interaction with activity notifications.
- Introduced new CSS styles for dashboard navigation activities, enhancing visual feedback and responsiveness.
- Deleted the gcode-preview package from package.json and pnpm-lock.yaml.
- Removed references to gcode-preview in vite.config.js.
- Introduced new GCodePreview component and related files for G-code visualization.
- Added GCodeViewer components including Bed, HotEnd, and SegmentMesh for rendering.
- Implemented color modes and feature types for enhanced G-code rendering.
- Added GCodeLegend for displaying feature information and toggling visibility.
- Established GCodeScene for managing the 3D rendering context and controls.
- Introduced PrinterGCodeFilePanel component to display G-code file information and loading progress.
- Updated ControlPrinter component to include GCode File section with collapsible panel for G-code file management.
- Enhanced GCodePreview component to support following the current sub-job layer during G-code visualization.
- Added logic to handle G-code position updates and improve user experience during file loading and display.
- Added subscription to object updates for printers, allowing real-time updates of pending slicer uploads.
- Introduced a reference to prevent redundant updates when new data is received.
- Updated the ApiServerContext to manage object update subscriptions, improving data consistency and responsiveness in the SlicerIntegration component.
- Introduced a mechanism to handle pending login token requests using a Map for improved request management.
- Added a utility function to extract the slicer app key from the URL, enhancing authentication handling for the slicer route.
- Updated state management to track slicer authentication status, preventing unauthorized modal display during slicer authentication.
- Refactored logic to streamline the handling of authentication tokens and session management, improving overall user experience.
- Changed the backend URL in the development configuration for the API.
- Integrated a new utility function `bindStringIds` to enhance socket communication by automatically stringifying IDs.
- Added a new file `stringIds.js` containing functions for handling and converting IDs, improving data consistency across the application.
- Adjusted the loader width from 35px to 26px and stroke width from 7px to 5px for improved visual consistency.
- Corrected the HTML element ID from "rooot" to "root" to ensure proper functionality.
- Added a new inline CSS style for a preload loader to enhance user experience during loading times.
- Introduced an SVG-based loader animation for visual feedback while the application is loading.
- Removed the obsolete preload.css file as its styles have been integrated into index.html.
- Removed transition effects from body and adaptive splitter panels to enhance performance and responsiveness.
- Cleaned up unnecessary CSS rules related to the dashboard sidebar, simplifying the layout and improving maintainability.
- Updated CSS for dashboard tabs to improve layout and overflow handling, ensuring better visibility and usability.
- Replaced Typography's Text component with a custom ElipsisText component for improved text overflow management.
- Simplified tab selection logic in NavigationTabsContext, enhancing scrolling behavior when selecting tabs.
- Introduced a new utility function to scroll tabs into view, improving user experience during navigation.
- Introduced key handling improvements in ActionsContext to manage control key states more effectively.
- Added keyboard navigation functionality in NavigationTabsContext, allowing users to cycle through tabs using Ctrl+Tab and select tabs with number keys.
- Implemented cleanup for key event listeners to ensure proper state management and prevent memory leaks.
- Updated state handling in DashboardTabPanes to ensure null safety for tab state properties.
- Introduced a new utility function to determine if a location belongs to a leaving tab, enhancing tab navigation logic.
- Refactored location comparison logic to improve accuracy when checking for equality between tab states.
- Enhanced NavigationTabsContext to manage same-path query cleanup, improving tab restoration behavior.
- Introduced NavigationTabIdContext to improve tab identification and management within the Dashboard.
- Updated TableStateProvider to utilize the new context for better handling of tab-specific state, particularly in Electron environments.
- Enhanced ObjectListViewProvider to integrate persisted view handling based on the new context, improving user experience across different navigation scenarios.
- Refactored various components to streamline state management and improve overall performance.
- Removed unused state references and optimized scrolling logic in DashboardTabs for improved performance.
- Updated ObjectDisplay to utilize action context for navigation, enhancing user interaction with object details.
- Introduced new utility functions for handling tab entries and navigation, streamlining tab management and improving user experience.
- Added `htmlId` prop to `DashboardTabItem` for better accessibility and unique identification of tab items.
- Adjusted scrolling logic to account for offset, enhancing the user experience when navigating through tabs.
- Added unique IDs to dashboard tab items for improved accessibility and interaction.
- Implemented handleSelectTab function to manage tab selection and ensure proper scrolling behavior when tabs are selected, enhancing user experience.
- Removed unnecessary CSS rules from App.css to streamline styles.
- Refactored DashboardTabs component to improve readability and maintainability by restructuring imports and simplifying the tab addition logic.
- Enhanced the handleAddTab function to ensure proper scrolling behavior when new tabs are added.
- Updated DashboardLayout to utilize Electron context for dynamic spacing adjustments.
- Enhanced About and Settings components to include icon keys for improved navigation clarity.
- Refined DashboardOverviewPage to generate dynamic icon keys based on page names.
- Improved DashboardTabs to support sidebar icons, enhancing visual consistency.
- Expanded NavigationTabsContext to manage icon keys for tabs, streamlining tab interactions.
- Updated sidebarIconMap to utilize component references for better performance and maintainability.
- Adjusted the top positioning of the dashboard tab pane for better alignment.
- Updated the flex gap in the main content layout to enhance spacing consistency.
- Modified mouse enter delay for dashboard tab items to improve interaction responsiveness.
- Adjusted hover background color for inactive dashboard tab items to improve visibility.
- Refined color transition for dashboard tab close button, enhancing user interaction and visual consistency.
- Updated hover styles for inactive dashboard tab items to enhance visual clarity and user interaction.
- Adjusted background and border properties for both light and dark modes, ensuring consistent appearance across themes.
- Introduced a new store for managing active tab states, improving the responsiveness of tab interactions.
- Updated DashboardTabPanes and DashboardTabPreview components to utilize the new active state management, enhancing user experience.
- Enhanced CSS styles for dashboard tab previews and panes, ensuring better layout handling and visual consistency across themes.
- Improved tab preview capture logic to support dynamic theme changes, refining the overall rendering process.
- Adjusted various components to streamline the integration of tab previews and active state management.
- Added isolation and improved z-index management in CSS for active and inactive dashboard tab panes, enhancing visual clarity.
- Updated styles for inactive tabs to improve layout handling and visibility transitions.
- Modified tab preview capture styles to ensure consistent display and layout during rendering, improving user experience.
- Introduced @zumer/snapdom for enhanced tab preview capture, replacing html2canvas-pro for improved performance and reliability.
- Refactored DashboardTabPanes and DashboardTabs components to utilize the new tab preview logic, streamlining the rendering process.
- Updated CSS styles for dashboard tab previews, enhancing visual feedback and layout consistency.
- Removed deprecated preview capture logic and associated worker, simplifying the codebase.
- Enhanced NavigationTabsContext to manage tab previews and capturing state more effectively.
- Introduced a new DashboardTabPreview component for displaying tab previews, improving user interaction and visual feedback.
- Implemented tab preview capture logic using html2canvas-pro, allowing for dynamic rendering of tab content.
- Enhanced CSS styles for dashboard tab panes and previews, ensuring better layout management and visual consistency.
- Updated NavigationTabsContext to manage tab pane registration and preview capture layout, streamlining the tab interaction process.
- Refactored DashboardTabPanes and DashboardTabs components to integrate preview functionality and improve overall code structure.
- Introduced a new hook for managing delayed visibility of navigation elements, improving fade transitions.
- Updated CSS transitions for smoother visibility changes, ensuring better user experience during interactions.
- Refactored NavigationFade component to accept a className prop for enhanced styling flexibility.
- Adjusted logic for rendering window titles and dashboard items based on Electron context, improving overall navigation behavior.
- Updated various dashboard components to ensure consistent styling, including setting height to 100% for better layout management.
- Reformatted import statements for improved readability.
- Adjusted master filter formatting in ObjectTable components for enhanced clarity and consistency across the codebase.
- Improved overall code structure for better maintainability and visual alignment.
- Changed pointer events for dashboard tab elements to improve user interaction, ensuring that the close button is responsive while maintaining a consistent experience across the dashboard.
- Adjusted CSS properties to refine the visual behavior of tab elements during user interactions.
- Modified the opacity transition timing for dashboard elements to enhance visual responsiveness during interactions.
- Adjusted CSS to ensure smoother appearance and disappearance of elements, contributing to a more polished user experience.
- Adjusted CSS styles for dashboard elements, including margin and positioning tweaks for improved layout and visual consistency.
- Updated tab masking logic to enhance scrolling behavior and visual integration.
- Removed unnecessary divider components to streamline the dashboard navigation structure.
- Implemented new logic for handling tab scrolling, ensuring better responsiveness and user interaction.
- Added new CSS styles for dashboard menu container and tabs, improving visual alignment and spacing.
- Introduced logic to manage scroll edge fades for better user experience during tab navigation.
- Adjusted padding and margin properties for dashboard elements to enhance overall aesthetics and usability.
- Reformatted component code for improved readability and consistency.
- Modified the bottom positioning of dashboard tab corner elements for better visual alignment.
- Updated CSS styles to ensure consistent spacing across left and right corner elements, enhancing overall aesthetics.