Fixes a confirmed correctness bug from #2.
Fixed
"Update all" now updates exactly what the notification showed. Reported by @famewolf: he tapped "Update all" on a notification that listed only searxng, but it updated all five containers a later check had since written to the pending list. The button carried no reference to which notification it came from — it just re-read the global pending file at click time.
Each "Updates Available" notification now snapshots its exact container set, keyed by a short token in the button's callback data (update_all:<token>). Clicking it updates that snapshot's containers and removes only their names from pending (leaving any others). Snapshots are capped FIFO (last 20). If a snapshot is gone (evicted, or the bot restarted), you get a clear "this notification is stale, run /check" message instead of silently updating the wrong set.
Verified end-to-end: with [searxng] snapshotted and the pending list later overwritten with five containers, "Update all" updates only searxng.
Still open
- Slow SIGTERM response (the bot blocks in Telegram's long-poll on shutdown). This is a tradeoff between poll frequency and shutdown speed rather than a clear-cut bug — deferred pending a decision on the right balance.
Upgrade
docker pull amayer1983/docksentry:latest
docker compose up -d