containers: an expired token could never be replaced
Some checks failed
CI / Native — ubuntu-latest (push) Failing after 8m1s
CI / WASM — Web (push) Failing after 7m13s
CI / Formatting (push) Failing after 1m10s
CI / Native — macos-latest (push) Has been cancelled
CI / Native — windows-latest (push) Has been cancelled

Credentials were seeded only when the container's copy was MISSING. So when a
session expired, the file still existed, the copy was skipped, and restarting
changed nothing -- the one recovery path a human has, re-logging in on the host,
could not reach the containers at all.

Now re-seeds whenever the host's copy is newer. Newer-wins rather than
always-copy, because a container refreshes its own token mid-run and that copy
may legitimately be the fresher of the two.

Found when both sessions expired: host credentials at 16:30, containers holding
14:20 and 14:24.
This commit is contained in:
MechaCat02
2026-08-29 16:31:53 +02:00
parent d1685d67c9
commit 1b1a4dfcd3
3 changed files with 36 additions and 4 deletions

12
Cargo.lock generated
View File

@@ -4618,6 +4618,18 @@ dependencies = [
"tracing-subscriber",
]
[[package]]
name = "sylpheed-export"
version = "0.1.0"
dependencies = [
"anyhow",
"clap",
"image",
"serde",
"serde_json",
"sylpheed-formats",
]
[[package]]
name = "sylpheed-formats"
version = "0.1.0"