Wrapped calls to axios, sendMessageToMail, and sendMessageToZulip in try-catch blocks to handle errors individually and log them. This prevents one failure from blocking the execution of subsequent service calls.
Updated LineConnection to track processed scenario IDs and prevent duplicate scenario detection by passing a list of previously detected scenarios to detectScenarioByModel. Modified detectScenarioByModel to skip scenarios already in the list. Added a delay in waitUntilAllReady to ensure readiness before proceeding.
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.
Pass scenarioName from frontend to backend when running scenarios, and include it in log titles, email subjects, and Zulip messages. Also, expand command matching in template utilities and update default '[ENTER]' handling in line_connection. Minor logging improvements included.
Refactored APC, Line, and Switch connection services to reset retry counters after max retries and added retry logic on disconnect events. Enhanced LineConnection to accept a clear line handler and implemented a reconnect method. Wrapped the 'run_all_dpelp' event in socket_io_provider with error handling to prevent crashes during wiki post operations.
Added backend and frontend support for running DPELP scenarios on all lines of a station and aggregating results. Introduced a new socket event 'run_all_dpelp', a helper for formatting line results, and logic to post results to a wiki endpoint. Also updated scenario command delays and improved overlay positioning logic in the UI.
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.
Added console logs for command and scenario execution in line_connection.ts for better traceability. Changed socket_io_provider.ts to save state every 10 seconds instead of 60. Updated DrawerControl.tsx to disable controls and show status messages when APC or switch IPs are unavailable or not connected, improving UI feedback and preventing invalid actions.
Introduces AI-based log analysis to summarize issues and status in network device logs, storing results in the latestScenario.detectAI field. Implements history tracking for line inventory changes using Redis, with backend and socket.io support for retrieving and displaying history. Updates frontend components to show AI analysis results and improve control button states.
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.
Added extra commands in getPorts for better terminal output handling. Updated socket_io_provider to allow empty username/password and relaxed connection validation. Refined DrawerControl port normalization and adjusted port display layout for improved clarity and alignment.
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.
Reduced sleep delay in socket reconnection logic and increased disable timeout in ModalTerminal from 5s to 10s. These changes aim to improve responsiveness and user experience during connection and UI interactions.
Refactored switch port restart logic to use turnPortOff/on methods. Improved socket communication for switch port status and clear line actions. Updated DrawerControl and ModalTerminal to streamline APC and switch controls, added filtering and persistent view options for switch ports, and improved UI consistency. Fixed ticket creation logic and enhanced terminal and toolbar layouts for better usability.
Added socket event handling to update line configuration in real time between frontend and backend. Improved APC outlet control in the terminal modal, including validation and user feedback. Refactored BottomToolBar and related components to share active tab state, and fixed command formatting. Minor bug fixes and UI improvements for terminal and scenario actions.
Backend: Added lineId to ticket creation, improved ticket update logic, and switched ticket update route to POST. Added 'update_ticket' event to socket.io provider. Frontend: Integrated 'motion' for animated bottom toolbar, added expand/collapse functionality, improved ticket creation and update flows, and ensured terminal focus on CLI open. Adjusted delays in ButtonDPELP, improved ticket info copy, and enhanced input handling in ModalTerminal. Updated dependencies to include 'motion'.
Backend changes add a tickets relationship to lines and preload tickets (ordered by updated_at) when fetching stations. The frontend now displays ticket information in CardLine, adds ticket history and management (create, update, close, issue) in ModalTerminal, and introduces new types for tickets. Various UI improvements include consistent button font weights, port name normalization, and enhanced log/tooltips. Obsolete takeover logic was removed from App and ModalTerminal.
Introduces a new TicketsController and Ticket model to support ticket CRUD operations via new /api/ticket routes. Updates line_connection service to improve baud rate command sequence. Adjusts CardLine component to include stationId when emitting set_baud events. Minor improvements to socket_io_provider for safer disconnect handling.
Backend now logs user information during command/script execution and adds retry logic for command sending. Frontend adjusts button/menu sizes, input widths, and scenario button font sizes for better UI consistency. ModalLog now highlights user log entries, and minor style tweaks are applied throughout.