Emit a dedicated 'update_status_ready' event when a LineConnection becomes ready, and stop sending isReady in the 'line_output' payload. On the server side, normalize incoming run_all_dpelp data and filter lineIds to only include lines that are already ready; also bail out early if no eligible lines or station isn't configured to send wiki. On the frontend, initialize line state with isReady, stop deriving readiness from line_output, and listen for the new 'update_status_ready' event to update line readiness in the UI.
Reset latestScenario when a line disconnects and surface AI-detected issues in the UI. Backend: clear config.latestScenario on disconnect. Frontend: initialize latestScenario in App state, import useEffect and add isShowIssue state in CardLine with an effect that checks line.latestScenario.detectAI.issue (array) to toggle the badge. UI: reorganize feature badges layout and render a red "Issue" pill when an AI-detected issue exists.
Backend: Add debounceSendSummaryReport to LineConnection and snapshotting to debounce sendReportSummary (10 min) to avoid duplicate summary emails; adapt sendReportSummary to accept a snapshot and use snapshot data when available. Reset physicalTest and listFeatureTested on line disconnect and add initConfig helper. Improve PoE/SFP parsing (filter names with '/' and match 'unknown') and adjust report HTML (tested/missing counts, column counts). Add PS_INCOMPATIBLE log rule. Comment out automatic wiki/email send in socket provider. Physical test service: suppress getFormReport call on completion and include PoE/SFP breakdown in the HTML report counts. Frontend: fix terminal open logic to check userOpenCLI instead of userEmailOpenCLI and display device MAC in the terminal modal.
Append a CLEAR_TERMINAL_SCROLL_BACK marker on disconnect and consume it in the frontend to effectively clear terminal scrollback. Backend: add marker on client close and in socket provider, import convertFromKilobytesString and use it to format MEMORY and FLASH values in the report, and compute/list missing ports (separating PoE vs SFP) in the summary HTML. Frontend: emit the marker on line_disconnected and have TerminalXTerm replace the marker with multiple newlines (varying by miniSize) before writing/initializing terminal content to scroll to bottom.
Uncommented code to run scenarios and send reports via email and Zulip in the backend, and commented out the scenario confirmation modal in the frontend. Also adjusted the height of the ScrollArea in the BottomToolBar component for improved UI layout.
Refactored DrawerAPCControl and DrawerSwitchControl components to receive stationId as a prop instead of relying on stationAPI.id. Updated App and BottomToolBar to pass stationId, ensuring correct station context for socket event handling.
Implemented real-time tracking and display of running scenarios for line connections. Backend now emits 'running_scenario' events, and frontend components show the current scenario being executed. Also improved switch port status parsing and ensured terminal scrolls to bottom on open.
Added custom scroll styling for the terminal viewport and improved connection status management by introducing a 'connecting' state in socket event handlers. Enhanced ModalHistory layout for better readability and adjusted key generation in App.tsx for grid columns.
Introduces a 'connecting' state to lines during connection attempts, updating both backend and frontend to emit and handle a new 'line_connecting' event. UI now displays a connecting animation, and disables actions for longer durations to improve user feedback. Also adds a POE indicator for switch ports in DrawerControl.
Enhanced CardLine layout and added user CLI usage indicator. Updated info_line font size for better readability. Improved DrawerControl to show 'DISCONNECTED' status when switch is unavailable. Fixed ModalTerminal issue mapping to handle undefined values. Commented out overflowX style in App for layout flexibility.
Commented out the debug log in LineConnection's write method for cleaner output. Updated App.tsx to close CLI only for lines in the currently active station tab, improving accuracy when switching tabs.
Updated log file naming to include station name and IP, and refactored appendLog to use new format. Enhanced frontend output buffering for lines to reduce UI update frequency. Improved connection retry logic for switch connections and adjusted socket.io provider timeouts. Updated DrawerLogs format description and removed unnecessary state changes in TerminalXTerm.
Introduces baud rate configuration and detection for line connections in both backend and frontend. Backend now supports setting and checking baud rates via socket events, and frontend provides UI controls for users to select or input baud rates. Real-time updates are handled through new socket events, improving line management and visibility.
Added 'Config interface' filter option and refactored port filtering logic in DrawerControl. Improved UI layout with fieldsets and adjusted heights in App and BottomToolBar for better visual consistency.