- Introduced `useCoordinatedConnection` and `useCoordinatedPolling` hooks to manage data fetching and state synchronization between tabs.
- Refactored `DatasetCompleteManager`, `PlotRealtimeViewer`, and `VariableSelectorWidget` components to utilize SSE and polling for live data updates.
- Added `TabCoordinationDemo` component to visualize tab coordination status and leadership.
- Updated `Dashboard` to leverage coordinated polling for status updates, improving performance and reducing redundant connections.
- Enhanced `TabCoordinator` utility to manage leadership and data broadcasting between tabs effectively.
- Enhanced session ID generation to include browser tab identifiers, allowing multiple instances of the same plot in different tabs.
- Updated PlotManager to manage sessions more effectively, including cleanup of inactive sessions.
- Modified frontend components to handle dynamic session IDs and ensure independent operation across tabs.
- Added new API endpoints for retrieving sessions by plot ID and manual cleanup of inactive sessions.
- Improved error handling and logging for better debugging and user experience.
- Updated dataset_variables.json to include new variables and adjust configurations.
- Modified plot_variables.json to add visualization settings for new variables.
- Enhanced ConfigManager to support expansion of symbolic variables, improving variable management.
- Updated PLCClient to handle additional memory types for variable reading.
- Refactored VariableSelectorWidget to utilize expanded dataset variables for better selection.
- Added new API endpoint to retrieve expanded dataset variables.
- Adjusted system_state.json to reflect changes in active datasets and last update timestamp.
- Updated dataset definitions to use a sampling interval of 0.5 seconds.
- Changed plot definitions to reduce the time window to 25 seconds and added a new plot for "Brix".
- Removed deprecated variable configurations from plot variables.
- Refactored ConfigManager to load datasets and variables from new array format, eliminating legacy save methods.
- Updated PLCDataStreamer and PlotManager to reflect changes in dataset and plot management, removing automatic save calls.
- Enhanced ChartjsPlot component to handle variable configurations and session management more efficiently.
- Improved PlotRealtimeSession to ensure backend commands are verified before applying local state changes.
- Adjusted system state to reflect active datasets and connection status.
- Changed dataset_variables schema from object to array format, adding dataset_id property.
- Updated plc schema by removing cleanup_interval_hours and max_hours properties, and added sampling_interval to udp_config.
- Modified plot_variables schema from object to array format, adding plot_id property.
- Enhanced UI schemas for dataset definitions and variables, improving layout and descriptions.
- Updated PLC configuration UI schema to reflect changes in the underlying schema.
- Improved error handling and logging in the ConfigManager for better diagnostics.
- Added helper methods in PLCClient for reconnection status and connection info.
- Unified API endpoints for configuration management, allowing direct file access and validation against schemas.
- Introduced a validation script for schema compliance checks.