gestion_table_tournante_libre/test
Mathieu Benoit 8d03d5ba41 [FIX] electron: lock liveness only when certain, retries on every write
A lock judged by its pid alone took a reused pid for a live session after a
reboot, and the event stayed locked. The lock now records the process start
time; a session is dead only when that is certain — no process with the pid,
or two known start times that differ — and alive only when they match.
Otherwise liveness is unknown and the session is not taken over, so two
sessions never write at once (§ 8.8). The pause-and-retry on EPERM, EBUSY
and EACCES that guarded only the rename now guards appends, moves and
deletes too, through one helper.
Checked: 1538 node, 26 node-long tests; the macOS start time is read in UTC.

--- FR ---

[FIX] electron : vie du verrou sûre, réessais sur chaque écriture

Un verrou jugé sur son seul pid prenait un pid réattribué pour une séance
vivante après un redémarrage, et l'événement restait verrouillé. Le verrou
inscrit désormais l'heure de démarrage du processus ; une séance n'est morte
que si c'est certain — aucun processus de ce pid, ou deux heures connues qui
diffèrent — et vivante que si elles concordent. Sinon sa vie est inconnue
et la séance n'est pas reprise : deux séances n'écrivent jamais ensemble
(§ 8.8). La pause et les réessais sur EPERM, EBUSY et EACCES, qui ne
gardaient que le renommage, gardent aussi ajouts, déplacements et
suppressions, par une seule aide.
Vérifié : 1538 node, 26 node-long ; l'heure de démarrage macOS se lit en UTC.

Assisted-by: Claude Opus 5.5
2026-10-07 02:00:36 -04:00
..
fixtures/csv [ADD] csv: columns by header, closed exclu values, mandatory preview 2026-10-06 13:12:28 -04:00
arborescence.test.js [ADD] tests: per-module coverage, 100 % branch floors, layer guards 2026-10-06 20:41:34 -04:00
chargements.js [ADD] tests: budget reporter, one import parser, key-order guard 2026-10-06 04:23:13 -04:00
chargements.test.js [ADD] tests: budget reporter, one import parser, key-order guard 2026-10-06 04:23:13 -04:00
chromium.js [ADD] install: Node 26 and system packages, per family and under Nix 2026-10-06 05:52:05 -04:00
chromium.test.js [ADD] install: Node 26 and system packages, per family and under Nix 2026-10-06 05:52:05 -04:00
construction.long.test.js [ADD] skeleton: Capacitor web app that shows its dated version 2026-10-05 13:13:13 -04:00
contrat_fichiers.js [ADD] storage: file-system interface, failing test double, contract 2026-10-06 13:12:25 -04:00
coquille.test.js [ADD] electron: confined file system, atomic writes, lock, bridge 2026-10-06 17:34:31 -04:00
electron_factice.js [ADD] electron: confined file system, atomic writes, lock, bridge 2026-10-06 17:34:31 -04:00
fichiers_electron.long.test.js [FIX] electron: lock liveness only when certain, retries on every write 2026-10-07 02:00:36 -04:00
fichiers_electron.test.js [FIX] electron: lock liveness only when certain, retries on every write 2026-10-07 02:00:36 -04:00
fichiers_simules.js [FIX] storage, session: strict UTF-8, lost journal, lock, exclusions 2026-10-07 01:20:42 -04:00
fichiers_simules.test.js [FIX] storage, session: strict UTF-8, lost journal, lock, exclusions 2026-10-07 01:20:42 -04:00
fils.test.js [IMP] tests: watched series adapts to the core count, threads below 4 2026-10-06 04:54:01 -04:00
installation.test.js [ADD] run: make and ./run.sh, Electron start check, container matrix 2026-10-06 05:52:17 -04:00
lanceur.js [ADD] skeleton: Capacitor web app that shows its dated version 2026-10-05 13:13:13 -04:00
licence.test.js [ADD] scripts: Windows install and run through PowerShell 5.1 2026-10-06 05:51:31 -04:00
livrable.test.js [ADD] tests: budget reporter, one import parser, key-order guard 2026-10-06 04:23:13 -04:00
machine.js [IMP] tests: watched series adapts to the core count, threads below 4 2026-10-06 04:54:01 -04:00
machine.test.js [IMP] tests: watched series adapts to the core count, threads below 4 2026-10-06 04:54:01 -04:00
projets.test.js [ADD] skeleton: Capacitor web app that shows its dated version 2026-10-05 13:13:13 -04:00
rapporteur.js [IMP] tests: watched series adapts to the core count, threads below 4 2026-10-06 04:54:01 -04:00
rapporteur.test.js [IMP] tests: watched series adapts to the core count, threads below 4 2026-10-06 04:54:01 -04:00
version_voisine.js [ADD] electron: own shell, portable Windows exe built under podman 2026-10-05 13:13:32 -04:00