Le filet de fermeture de PyCharm cherchait « /opt/pycharm » dans les lignes de commande. Or le script d'installation est passé en argument à ssh, et il contient ce chemin : le pkill a tué la session ssh qui portait une installation en cours. Elle est morte sans marqueur de sortie, et le tableau de bord a montré un sablier pendant 54 minutes. Exécuter la suite de tests suffisait à déclencher le défaut, puisqu'un test rejoue l'étape. Le filet vise désormais les NOMS de processus, bornés au compte courant. Mesuré dans la VM : par nom, 3 processus réels et aucun faux ; par ligne de commande, 4 — le ssh compris. Un test plante un témoin nommé « sleep » dont la ligne contient le chemin de l'IDE, et les tests bouchonnent pgrep et pkill. --- EN --- PyCharm's closing net looked for "/opt/pycharm" in command lines. But the install script is passed to ssh as an argument, and it contains that path: the pkill killed the ssh session carrying a running install. It died with no exit marker, and the dashboard showed an hourglass for 54 minutes. Running the test suite was enough to trigger it, since one test replays the step. The net now targets process NAMES, scoped to the current account. Measured in the VM: by name, 3 real processes and no false ones; by command line, 4 — the ssh included. A test plants a witness named "sleep" whose command line holds the IDE path, and the tests stub pgrep and pkill. Assisted-by: Claude Opus 5 |
||
|---|---|---|
| .. | ||
| auto_ask.py | ||
| database_manager.py | ||
| kdbx_manager.py | ||
| logo_ascii.txt | ||
| migration_form.py | ||
| migration_stats.py | ||
| migration_status.py | ||
| migration_status_tui.py | ||
| qemu_deploy_form.py | ||
| qemu_install_monitor.py | ||
| README.base.md | ||
| README.fr.md | ||
| README.md | ||
| source_todo.sh | ||
| textual_setup.py | ||
| todo.json | ||
| todo.py | ||
| todo_example.json | ||
| todo_file_browser.py | ||
| todo_i18n.py | ||
| todo_prefs.py | ||
| todo_telemetry.py | ||
| todo_upgrade.py | ||
| version_manager.py | ||
TODO is an assistant robot to use ERPLibre
Execute it with ./script/todo/todo.py or make todo.
For a new project, copy todo_example.json to private/todo/todo_override.json | private/todo/todo_override_private.json and edit it.
The mail/ package is the mail client reachable from Assistant > Mail:
several IMAP/SMTP accounts, a local cache, and a Textual TUI. See
../../doc/EMAIL.md.