dorfteich/apps
Claude Fable 5 48d4c60af7 Trash: checkbox multi-select with bulk restore and purge (#128)
Each trash row gets a checkbox, a toolbar above the list offers
"select all" (native indeterminate for partial selections) and the two
bulk actions; bulk purge confirms with the selection count (pluralized).
Processing is sequential on purpose — purge promotes leftover children
(#107), so concurrent tree mutations would race. Failures don't strand
the rest: the loop keeps going, failed pages stay selected for a retry,
and an alert banner reports the count. Single-row actions run through
the same path, which also fixes their previously unhandled rejection.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Fb2VzvcoBPHkjh8bZ6PzQn
2026-07-16 12:03:35 +02:00
..
api Give the zip-bomb rejection test headroom against loaded runners 2026-07-15 13:45:47 +02:00
backup Backup mirror to BASEL: rsync of the sets after every successful run (#84) 2026-07-12 12:20:32 +02:00
collab Deflake the collab restore-listener DB test (poll for the PRE_RESTORE row) 2026-07-12 11:23:18 +02:00
web Trash: checkbox multi-select with bulk restore and purge (#128) 2026-07-16 12:03:35 +02:00