07aeace1fd
- Fix update sub-workflow: remove unsupported GraphQL filter arg, fix node reference (Format Pull Error → Format Update Error), fix field case (data.image → data.Image) - Fix batch cancel: connect Route Callback output 20 (batchcancel) to Prepare Batch UI Input (was empty connection array) - Fix text commands: change .item.json to .first().json for paired item breakage after GraphQL chain expansion; convert Send Batch Confirmation from Telegram node to HTTP Request to fix double-serialized reply_markup Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
110 lines
5.4 KiB
Markdown
110 lines
5.4 KiB
Markdown
---
|
|
status: diagnosed
|
|
phase: 16-api-migration
|
|
source: 16-01-SUMMARY.md, 16-02-SUMMARY.md, 16-03-SUMMARY.md, 16-04-SUMMARY.md, 16-05-SUMMARY.md, 16-06-SUMMARY.md
|
|
started: 2026-02-09T16:00:00Z
|
|
updated: 2026-02-09T16:20:00Z
|
|
---
|
|
|
|
## Current Test
|
|
<!-- OVERWRITE each test - shows where we are -->
|
|
|
|
[testing complete]
|
|
|
|
## Tests
|
|
|
|
### 1. View Container List
|
|
expected: Send a status/list command to the bot. You see a list of containers with names and states (running/stopped). Response completes within a few seconds.
|
|
result: pass
|
|
|
|
### 2. View Container Status Submenu
|
|
expected: Tap a container from the list. You see a detail submenu showing the container's name, state, and action buttons (Start/Stop/Restart/Update).
|
|
result: pass
|
|
|
|
### 3. Start a Stopped Container
|
|
expected: From a stopped container's submenu, tap Start. You see a success message confirming the container was started.
|
|
result: pass
|
|
|
|
### 4. Stop a Running Container
|
|
expected: From a running container's submenu, tap Stop. You see a success message confirming the container was stopped.
|
|
result: pass
|
|
|
|
### 5. Restart a Container
|
|
expected: From a container's submenu, tap Restart. You see a success message confirming the container was restarted (internally this is a stop + start sequence).
|
|
result: pass
|
|
|
|
### 6. Start an Already-Running Container
|
|
expected: From an already-running container's submenu, tap Start. You see a message like "already started" (NOT an error). This is idempotent behavior.
|
|
result: pass
|
|
note: UI correctly hides Start button when container is already running — no idempotent case possible via UI
|
|
|
|
### 7. Update a Single Container
|
|
expected: From a container's submenu, tap Update. The bot begins updating the container. You see a result message indicating success (updated) or "already up to date" if no update was available.
|
|
result: issue
|
|
reported: "This does not work. It gets past the confirmation window but then there are execution errors on the main flow and container update flows"
|
|
severity: blocker
|
|
|
|
### 8. Batch Container Selection UI
|
|
expected: Trigger the batch selection flow (e.g. batch/update-all command). You see an inline keyboard listing containers with checkboxes. You can toggle containers on/off and navigate pages if many containers exist.
|
|
result: issue
|
|
reported: "Batch selection works, but the cancel button on the batch confirmation does not work"
|
|
severity: major
|
|
|
|
### 9. Text Command: Action on Container
|
|
expected: Send a text command like "start plex" or "stop sonarr". The bot performs the action and returns a success/error message — same behavior as the inline keyboard path.
|
|
result: issue
|
|
reported: "Start and stop text commands do not work, and additionally batch text command confirmation dialog has no actionable buttons to proceed"
|
|
severity: blocker
|
|
|
|
## Summary
|
|
|
|
total: 9
|
|
passed: 6
|
|
issues: 3
|
|
pending: 0
|
|
skipped: 0
|
|
|
|
## Gaps
|
|
|
|
- truth: "User can update a single container via inline keyboard and see success/up-to-date message"
|
|
status: fixed
|
|
reason: "User reported: This does not work. It gets past the confirmation window but then there are execution errors on the main flow and container update flows"
|
|
severity: blocker
|
|
test: 7
|
|
root_cause: "3 bugs in n8n-update.json: (1) Query Single Container used unsupported filter argument, (2) Return Error referenced nonexistent Format Pull Error node, (3) Capture Pre-Update State had case mismatch data.image vs data.Image"
|
|
artifacts:
|
|
- path: "n8n-update.json"
|
|
issue: "GraphQL filter argument not supported by Unraid API; node reference and field case bugs"
|
|
missing:
|
|
- "Remove filter from GraphQL query, filter client-side in normalizer"
|
|
- "Fix node reference to Format Update Error"
|
|
- "Fix field case to data.Image"
|
|
debug_session: ".planning/debug/update-flow-errors.md"
|
|
|
|
- truth: "Cancel button on batch confirmation returns user to previous state"
|
|
status: fixed
|
|
reason: "User reported: Batch selection works, but the cancel button on the batch confirmation does not work"
|
|
severity: major
|
|
test: 8
|
|
root_cause: "Route Callback switch node output index 20 (batchcancel) wired to empty connection array [] — dead end. All other batch outputs (14-19) correctly connected to Prepare Batch UI Input."
|
|
artifacts:
|
|
- path: "n8n-workflow.json"
|
|
issue: "Route Callback output 20 (batchcancel) had empty connection array"
|
|
missing:
|
|
- "Connect output 20 to Prepare Batch UI Input matching other batch outputs"
|
|
debug_session: ".planning/debug/batch-cancel-broken.md"
|
|
|
|
- truth: "Text commands (start/stop) perform actions and batch text command shows actionable confirmation"
|
|
status: fixed
|
|
reason: "User reported: Start and stop text commands do not work, and additionally batch text command confirmation dialog has no actionable buttons to proceed"
|
|
severity: blocker
|
|
test: 9
|
|
root_cause: "Two bugs: (1) Phase 16-06 GraphQL chain expansion breaks paired item tracking — $('NodeName').item.json fails after Execute Match sub-workflow. (2) Send Batch Confirmation Telegram node double-serializes reply_markup, Telegram silently ignores malformed buttons."
|
|
artifacts:
|
|
- path: "n8n-workflow.json"
|
|
issue: "Prepare Text Action Input and Prepare Batch Execution use .item.json which fails after paired item break; Send Batch Confirmation uses Telegram node that double-serializes reply_markup"
|
|
missing:
|
|
- "Change .item.json to .first().json in Prepare Text Action Input and Prepare Batch Execution"
|
|
- "Convert Send Batch Confirmation from Telegram node to HTTP Request node"
|
|
debug_session: ".planning/debug/text-commands-broken.md"
|