The progression log lives at one path and the next migration writes over it. Restarting therefore erased everything known about the run before — which steps passed, which modules were missing, how long each took — and that is exactly what someone looks for after having had to restart. Both answers that discard the progression now copy it aside first, named after the origin database and the moment of the copy, so two attempts on the same database do not cover each other and a file moved out of its folder still says what it is. Partial replays keep the log, so they archive nothing. It lands under private/, not beside the original: reinstalling wipes .venv.erplibre/ and would take the history with it. Two copies in the same second overwrote each other in silence — undoing the very loss this prevents. The second one is numbered now, and the test that had skipped that case asserts it. Checked on the real 51 KB log from the VM: 18 states copied unchanged, the name carries the database and the timestamp, and a log with no state at all is not archived. 12 tests. --- FR --- Le journal de progression vit à un seul endroit et la migration suivante écrit par-dessus. Recommencer effaçait donc tout ce qu'on savait de la tentative précédente — quels paliers étaient passés, quels modules manquaient, combien de temps chacun avait pris — soit exactement ce qu'on cherche après avoir dû recommencer. Les deux réponses qui jettent la progression la copient désormais d'abord, sous un nom portant la base d'origine et l'instant de la copie, pour que deux tentatives sur la même base ne se recouvrent pas et qu'un fichier sorti de son dossier se décrive encore. Une reprise partielle garde le journal, donc n'archive rien. La copie va sous private/, pas à côté de l'originale : une réinstallation efface .venv.erplibre/ et emporterait l'historique avec elle. Deux copies dans la même seconde s'écrasaient en silence — annulant la perte même qu'on évite. La seconde est numérotée, et le test qui sautait ce cas l'affirme. Vérifié sur le vrai journal de 51 Ko de la VM : 18 états copiés à l'identique, le nom porte la base et l'horodatage, et un journal sans aucun état n'est pas archivé. 12 tests. Assisted-by: Claude Opus 5 |
||
|---|---|---|
| .. | ||
| database_manager.py | ||
| kdbx_manager.py | ||
| logo_ascii.txt | ||
| migration_form.py | ||
| migration_stats.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.