From 0332b134719da28474663de71d2b1c6509044d12 Mon Sep 17 00:00:00 2001 From: Cabbagec Date: Thu, 23 Jul 2026 14:13:46 +0000 Subject: [PATCH] docs: clarify Telegram filtering and confirmations --- docs/telegram-ux.md | 35 +++++++++++++++++++++++------------ docs/testing.md | 2 +- 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/docs/telegram-ux.md b/docs/telegram-ux.md index 32afe6b..f487566 100644 --- a/docs/telegram-ux.md +++ b/docs/telegram-ux.md @@ -40,7 +40,9 @@ selections separately. The list is stable-sorted and paged: ```text Which cached resource do you want to archive? (page 1/3) -filters: `documentary`, `2025` +Send a message to filter resources by name. +Active filters: `documentary`, `2025` +Send another message to narrow the results further. 1. `10.0 GB` Resource A — cache-1 2. `840 MB` Resource B — cache-2 @@ -50,11 +52,13 @@ filters: `documentary`, `2025` [ Remove filters ] [ Cancel ] ``` -Size is selected-complete logical content, not total torrent size. New messages -add literal, case-insensitive filters and narrow the current results; Remove -filters resets the chain. If no item remains, the message explains whether no -source is online, no selected-complete data exists, or filters eliminated all -results. +Size is selected-complete logical content, not total torrent size. Every +filterable page explicitly says that a new message applies a filter. New +messages add literal, case-insensitive filters and narrow the current results; +Remove filters resets the chain. The one-entry tree is filterable by path or +display name in the same way. If no item remains, the message explains whether +no source is online, no selected-complete data exists, or filters eliminated +all results. ### 2. Select source replica and target @@ -144,13 +148,20 @@ and host-only paths. `Clear Finished` hides only green successful jobs and leaves a 30-day default tombstone. Orange Cleanup Required is not clearable as finished. -`Remove One` first replaces buttons with current-page job numbers and Cancel. -A successful green row hides immediately. A queued job confirmation deletes -only its queue record/reservation. An active, failed-with-residue, or cancelling -job requires a second confirmation and begins/continues compensation; its row +`Remove One` pauses status auto-refresh, retains the current page’s numbered +job rows, and replaces the buttons with current-page job numbers and Cancel. +A successful green row hides immediately. Other confirmation pages identify +the resource, operation, source/target or cache node, state, overall progress, +and only then the internal job ID. A queued job confirmation deletes only its +queue record/reservation. An active, failed-with-residue, or cancelling job +requires a second confirmation and begins/continues compensation; its row remains until safe cleanup is known. A committed job can only retry staging -cleanup. No history action deletes a cache placement; that is exclusively Evict -Cache. +cleanup. No history action deletes a cache placement; that is exclusively +Evict Cache. + +Archive Control messages use Telegram HTML formatting with all dynamic resource +names, paths, node IDs, filter strings, progress details, and failure reasons +escaped before rendering. ## Restart and rate-limit behavior diff --git a/docs/testing.md b/docs/testing.md index 8916cc4..4603a34 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -10,7 +10,7 @@ Compose provide runtimes/build tools and write generated files as UID/GID The initial happy-path pass is tracked by executable capability rather than by declaring an unfinished phase complete: -As of 2026-07-23, the full control/bot suite passes 102 tests, the full client +As of 2026-07-23, the full control/bot suite passes 103 tests, the full client suite passes 60 tests, and a clean five-project Compose run passes automatic 2×2 route creation plus archive → covered eviction → unarchive with SHA-256 verification at both materialized targets.