UAT results: tests 1-3,6 pass (bitmap, long names, batch exec, regression). Tests 4-5 (Update All UAT) deferred to after Phase 12. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
5.1 KiB
phase, plan, subsystem, tags, dependency_graph, tech_stack, key_files, decisions, metrics
| phase | plan | subsystem | tags | dependency_graph | tech_stack | key_files | decisions | metrics | |||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 11-update-all-callback-limits | 02 | update-all-button |
|
|
|
|
|
|
Phase 11 Plan 02: Update All Button & Deployment — Summary
One-liner: Added "Update All :latest" inline keyboard button to container list, deployed all Phase 11 workflows, and verified bitmap encoding works end-to-end.
Overview
Added the BATCH-05 inline keyboard entry point for update-all functionality. The container list now shows an "Update All :latest" button that routes through the existing update-all confirmation flow. Deployed all three modified workflows (main, batch-ui, status) and ran UAT.
What Was Done
Task 1: Add Update All Button and Wire Callback Routing
Commit: 81f64ad
-
n8n-status.json — Build Container List & Build Paginated List: Added "Update All :latest" button row with
uall:startcallback_data (10 bytes). Button appears on every page of the container list, after navigation and before Select Multiple. -
n8n-workflow.json — Parse Callback Data: Added
uall:startexact-match parser returningisUpdateAllStart: true. -
n8n-workflow.json — Route Callback: Added
updateallstartrule checkingisUpdateAllStartflag. -
n8n-workflow.json — Answer Update All Start: New Telegram answerCallbackQuery node with "Checking for updates..." text.
-
n8n-workflow.json — Check Available Updates: Fixed dual-origin support with try/catch — reads chatId/messageId from Keyword Router (text command) or Parse Callback Data (inline button).
-
Wiring: Route Callback [updateallstart] → Answer Update All Start → Get All Containers For Update All → Check Available Updates → existing confirmation flow.
Task 2: Deploy All Workflows
All 3 modified workflows deployed to n8n with HTTP 200:
- Main workflow (172 nodes)
- Batch UI sub-workflow (17 nodes)
- Status sub-workflow (11 nodes)
Task 3: User Acceptance Testing
| Test | Description | Result |
|---|---|---|
| 1 | Batch selection 5+ containers (BATCH-06) | PASS |
| 2 | Long container names 20+ chars (BATCH-07) | PASS |
| 3 | Batch execution (stop confirmation, start) | PASS |
| 4 | Update All from keyboard (BATCH-05) | DEFERRED (Phase 12) |
| 5 | Update All from text (BATCH-04) | DEFERRED (Phase 12) |
| 6 | Regression: single container actions | PASS |
Note: Tests 4-5 deferred — Update All functionality depends on Unraid UI sync behavior being addressed in Phase 12.
Bug Fixes During Execution
Three bugs found and fixed in the batch stop bitmap resolution flow (from Plan 11-01):
-
Parse Callback Data missing bitmap in return (commit
66617f3): bstop parser detected bitmap but didn't includebitmaporisBitmapBatchStopfields in the return object. -
Wrong wiring for Is Bitmap Batch Stop (commit
66617f3): Node was on expired branch [0] instead of not-expired branch [1]. Build Batch Stop Expired handler was disconnected. -
Bitmap node references using $json instead of $("Parse Callback Data") (commit
241bd60): Is Bitmap Batch Stop and Resolve Batch Stop Names checked$json.bitmapwhich contained the Telegram API response, not the parsed callback data.
Success Criteria
- Container list keyboard shows "Update All :latest" button
- Batch selection works with 5+ containers (no callback limit)
- Containers with long names selectable in batch mode
- All existing bot functionality unaffected (regression test pass)
- Update All button triggers confirmation (deferred to Phase 12)
- "update all" text command triggers confirmation (deferred to Phase 12)
Files Modified
n8n-status.json— Container Status sub-workflow (11 nodes, unchanged count)n8n-workflow.json— Main workflow (172 nodes, +1 Answer Update All Start)
Commits
81f64ad— feat(11-02): add Update All button and wire callback routing66617f3— fix(11-01): fix batch stop bitmap resolution wiring and parser return241bd60— fix(11-01): fix bitmap node references to use Parse Callback Data
Self-Check: PASSED
Bitmap encoding verified end-to-end via user testing. Batch stop confirmation works with bitmap-encoded callbacks. Update All button deployed but UAT deferred.