Skip to content
Snippets Groups Projects
  1. Oct 15, 2024
  2. Oct 07, 2024
  3. Sep 09, 2024
  4. Sep 03, 2024
  5. Aug 29, 2024
  6. Jul 29, 2024
  7. Jul 26, 2024
  8. Jul 18, 2024
    • Pierre-Alain Loizeau's avatar
      Switch from PySide2 to PySide6 to follow Debian 12 changes · 86742af7
      Pierre-Alain Loizeau authored
      - Bump ECS core to version 0.3.0 (Python 3.11 compatibility)
      - Bump pytest, coverage and pytest-cov to most recent versions
      - Upgrade package management to Poetry 1.8.2 + related fixes
      - Change dependency from Pyside2 v5.15 to Pyside6 v6.4
      - Change all Pyside2 imports to Pyside6 ones
      - Update Readme about QT6/Pyside6 dependencies and commands to regenerate the GUI base classes from the UI files
      - Regenerate the GUI base classes from the UI files
      - Rename UI files folder to QT6
      - Remove outdated GUI emulator
      - Remove all type ignore linked to missing stubs in Pyside2
      - Import only necessary classes/namespaces from QtCore
      - Change module/class path for enums from main Qt class where necessary (ItemFlag, MatchFlag, TimeSpec)
      - Change module/class path for enums from QMessageBox class where necessary (ButtonRole, Icon)
      - Fix copy-paste typos in EcaGui::reconnectPartition (self.csca_name => pca_name)
      - Use sig_connect/sig_disconnect for all instances of AgentStateUpdateWatcher (fixes a spurious crash/race-condition at ECA GUI close)
      - [CI] Switch official version to Python 3.11 (Deb 12) + cleanup other jobs
        - Remove Python 3.7 test
        - Add Python 3.11 test and move coverage to it
        - Change dedicated Debian 10 runner to dedicated Debian 12 one
        - Replace Python 3.9 optional test with 3.12 one
      86742af7
  9. Jun 05, 2024
  10. May 31, 2024
  11. Apr 30, 2024
    • Pierre-Alain Loizeau's avatar
      PCA decoupling · 219ea5ac
      Pierre-Alain Loizeau authored
      - In CscaMain, CentralScaPartAgent, GuiAgent, Eca, Pca and Sca, add new commands to be backported
        - get_agent_type_returning the class name
      - In Eca, add
        - new command to list_known_pcas
        - internal method fill_agent_types_list to populate the list used in the new command
      - In Pca,
        - add gui_id member + setter command to ensure only one GUI interacts with the agent
      - In Sca, backport changes to set_gui_agent_id from Csca/Pca decoupling
      - In EcaGui,
        - fix some typo in variable naming
        - keep track of connected PCAs by name and use it instead of the list of PCA processes
        - add support for PCA reconnection/disconnection
        - attempt auto-reconnection of PCAs only if reconnecting an ECA which is in Active state
      219ea5ac
    • Pierre-Alain Loizeau's avatar
      ECA decoupling · e66f247c
      Pierre-Alain Loizeau authored
      - In Eca, add gui_id member + setter command to ensure only one GUI interacts with the agent
      - In Eca and Pca, add new command to be backported
        - rem_tracker_agent removing a ping tracker agent
      - In EcaGui
        - Add Force ECA Reconnect checkbox
        - Implemente ECA reconnection/disconnection
        - add call to rem_tracker_agent when disconnecting the ECA to avoid some ping commands timeout
        - add protection flag to avoid some watchers crash due to stashed calls during closing popup
      e66f247c
    • Pierre-Alain Loizeau's avatar
      CSCA decoupling · baec3e97
      Pierre-Alain Loizeau authored
      - Add template Widget for the CSCA tabs
        - Owns its associated CSCA process object
        - Provide same functionalities as the CSCA blocks in EcaGui (Start/Term process, UI interactions)
        - On QT side of CscaCtrlTabTemplateWidget, add Reconnect button, ForceReconnect checkbox and Disconnect button
        - Provide Reconnect/disconnect functionalities (+tracking of connection state)
      - In GuiTools.AgentStateUpdateWatcher, add sig_connect and sig_disconnect wrapper methods to hold all info in instance
      - In CscaMain, add new command to be backported: rem_tracker_agent removing a ping tracker agent
      - In CscaMain, add gui_id member + setter command to ensure only one GUI interacts with the agent
      - In EcaGui
        - in closeEvent method, use these wrappers for the CSCA watchers
        - store CSCAs processes in a dict instead of members specific to each CSCA
        - add a generic create_csca_tab method using this widget
        - add a reconnectCsca method
        - Use only CscaCtrlTabWidget for all CSCAs (remove static tabs & corresponding methods blocks)
        - Add popup when closing the GUI to choose between Cancel/Close & Disconnect agents/Close & Terminate agents
      baec3e97
  12. Mar 12, 2024
    • Pierre-Alain Loizeau's avatar
      Add possibility to dis-reconnect SCA from GUI + cleaner reconnect handling · a712e843
      Pierre-Alain Loizeau authored
      - Sca: Add command set_gui_agent_id
      - Sca: set master to ECA constant on startup
      - SCA GUI (QT): add disconnect button & ForceReconnect checkbox + fix layout size
      - ScaGui: keep track of whether an agent is currently attached (started or connected) with a flag
      - ScaGui: handle reconnected agents in termSca method
      - ScaGui: add disconnectSca method
      - ScaGui: fill the reconnectSca method (was only halfway implemented and not functional before)
      - ScaGui: add popup when closing the GUI in case an agent is still attached to ask user what should be done with it (disconnect or terminate)
      - ScaGui: add 10 ms delta to wait in sendCommand to avoid race condition with TO detection
      - EcaGui: add 10 ms delta to wait in sendCommand to avoid race condition with TO detection
      a712e843
  13. Mar 01, 2024
    • Pierre-Alain Loizeau's avatar
    • Pierre-Alain Loizeau's avatar
      Decouple the agent from the GUI in the SCA control GUI · f686614f
      Pierre-Alain Loizeau authored
      - Sca:make the Sca agent class callable as a poetry script
        - make it publish its state on startup
        - [TEMP]: overload get_combined_state to avoid crash if no subagent present when getting first status update
        - [TEMP]: add add_tracker_agent command to be backported to CmdCoreAgent
        - Add command to set On/Off the mCBM "user popup transitions" mode
        - For user popups, remove usage of QT Signal and replace it by request commands to GUI agent + setter commands to receive result
        - Use the new names conventions constants for the ECA agent ID
      - GuiAgent:
        - Add commands to trigger transition popups in GUI and send result back to attached SCA agent
        - Fix value of the top ID to match mCBM convention through constant usage
      - GuiTools: add new AgentPropertiesWatcher class to monitor all properties reported by a decoupled agent (ping + contact + master + state + conf tag)
      - In SCA GUI, decouple the SCA agent from the GUI
        - Replace internal uses of the SCA agent by GUI agent commands
        - Replace direct access to SCA agent properties by accessor commands emission or usage of new AgentPropertiesWatcher class
        - Add interface to reconnect to running bkgd SCA agent (using user selected name)
        - Connect transition popup methods to GuiAgent signals if running in mCBM popup mode
        - Send result to Sca agent through setter commands once popups return
        - Send request to master to add GUI as tracker when no ping received yet if not ECA
        - Clean disconnect of Watchers signals when closing
        - Add sendCommand method to hop through the GuiAgent and to minimize copy/paste from EcaPcaGui
      - SCA GUI:
        - Add GuiAgent start button
        - Add Agent Start/Reconnect buttons
        - Add line with current status of connection to Sca agent
        - Improve line with current status of connection to ECA and Master
      f686614f
    • Pierre-Alain Loizeau's avatar
      Decouple the agent from the GUI in the ECA-PCA control GUI · 9c398587
      Pierre-Alain Loizeau authored
      - Introduce new GuiAgent based only on an EcsCoreAgent
      - Add new convention constant for GUI agents names
      - make the Eca agent class callable as a poetry script
        - make it publish its state on startup
        - improve timeout logging and fix memory management of reply in test_send_any (to be backported/renamed)
      - In GuiTools SubAgentsListWatcher, remove local "copied over sendCommand" part of sendRequest method
        - Add handle to sendCommand method of the overlaying GUI/Core agent as mandatory init parameter
        - Introduce SendFctHandle protocol class to properly handle mypy check of parameters in calls to it
        - GuiTools: fix flakeheaven errors/warnings
      - In ECA GUI, decouple the ECA agent from the GUI
        - Replace internal uses of the ECA agent by GUI agent
        - Replace direct access to ECA agent properties by accessor commands emission
        - Improve the sendCommand method to hop through the ECA for all other targets
        - Explicitely add/remove all CSCAs and PCAs as followed agent by GUI agent (not automatic as not top or master)
        - Add interface to reconnect to running bkgd ECA agent (easy as unique name = singleton)
        - Provide handle to sendCommand method to PCA tab widget to avoid copy/clone of it (passed to further lower layers)
        - disconnect the signal of each Watcher before terminating them (seem to fix 99% of the segfault occurences)
        - protect accesses to id_part_cscas with a threading lock
        - in PCA termination without cleanup by PCA, have CSCA take ownership/master of part CSCAs before terminating them
        - send add_tracker_agent with self ID as arg to ECA, CSCAs and PCA upon creation to get ping monitoring
        - improve timeout logging and fix memory management of replay in sendCommand
        - for Other/Free agents ctrl, send request to add GUI as tracker when no ping received yet
        - fix empty current state field in OtherAgent Tab (left on purpose nefore as redundant but was confusing in the end)
        - give own ID as tracker ID when asking main CSCAs to start the part CSCAs
      - In PCA Tab widget, decouple from ECA agent
        - Replace all usage of ECA agent by more generic GUI/Core agent
        - Add handle to sendCommand method of the overlaying GUI/Core agent as mandatory init parameter
        - Remove local sendCommand and replace by calls to handle of high one
        - disconnect the signal of each Watcher before terminating them (seem to fix 99% of the segfault occurences)
        - fix TOP ID to mCBM convention when removing an SCA from the partition
        - Provide sendCommand handle to ScaStatusWidget (see under) + send request to add GUI as tracker when no ping received yet
        - fix empty current state field in ScaCtrl Tab (left on purpose nefore as redundant but was confusing in the end)
      - CentralScaMainAgent:
        - rename term_part_sca method with signal to kill_part_sca and add real term_part_sca with commands to subagent
        - in start_part_sca, send add_tracker_agent command to newly created agent if optional tracker ID provided
        - fix cleanup of reply when optionally setting tracker for new Part CSCA
      - ScaStatusWidget:
        - Use sendCommand handle from top GUI to minimize copy-paste
        - send request to add GUI as tracker when no ping received yet
        - clean disconnect of Watcher signal  when closing
      9c398587
  14. Feb 28, 2024
  15. Dec 15, 2023
  16. Nov 10, 2023
    • Pierre-Alain Loizeau's avatar
      PCA control part 2 · aa9679ae
      Pierre-Alain Loizeau authored
      - Bump lock file and readme to EcsCore v0.2.3 for the list_subagents command
      - ECA and PCA GUIs: move refresh calls position out of if/else blocks in method swapping timezones
      - In EcaGui: Use template TabWidget to create one tab for each new PCA
      - In EcaGui: keep track of Part CSCAs to prevent them being added to "free" SCAs lists
      - In EcaGui: Implement PCA merging, STILL LACKING PART CSCAS MERGING!!
      - In EcaGui: fix/cleanup PCA termination
      - In GuiTools: Add new watcher class/QThread to detect changes to the subagent list of an agent
      - In PCA control tab: Use template ScaStatusWidget to create a dynamic list of (C)SCAs and manage the attached watchers
      - In PCA: set itself as master for all subagents declared at creation of instance
      - In project settings, add flake and mypy exclusions for the new UI Widgets Python files
      - In example config JSON file, add tags for empty and test SCA demo partition cases
      aa9679ae
    • Pierre-Alain Loizeau's avatar
      Bump dep. to EcsCore v0.2.2 + Fix trans + List part sca cmd in CSCA main class · 5e08a135
      Pierre-Alain Loizeau authored
      - Bump lock file and readme to EcsCore v0.2.2 + related cleanup
      - Add list_part_sca cmd in CentralScaMainAgent
      - Fix transitions in CentralScaPartAgent to auto-reach clean active state
      5e08a135
    • Pierre-Alain Loizeau's avatar
      Improve/fix SCA related parts in EcaPca GUI · 4d657d52
      Pierre-Alain Loizeau authored
      - SCA selection for PCAat creation
      - unavailable and available SCAs list updates
      - fixes following EcsCore 0.2.1
      - flakeheaven and mypy fixes
      4d657d52
Loading