test(phase-10): complete UAT - 4 passed, 5 issues
Issues found: 1. Text update sends duplicate messages (sub-workflow + main) 2. Batch update broken - data chain broken after Edit Progress Message 3. Batch actions broken - same data chain issue 4. Logs text command - no fuzzy matching, chatId not preserved 5. Logs refresh - doesn't handle 'message not modified' error Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,132 @@
|
||||
---
|
||||
status: complete
|
||||
phase: 10-workflow-modularization
|
||||
source: [10-01-SUMMARY.md, 10-02-SUMMARY.md, 10-03-SUMMARY.md, 10-04-SUMMARY.md, 10-05-SUMMARY.md, 10-06-SUMMARY.md]
|
||||
started: 2026-02-04T21:30:00Z
|
||||
updated: 2026-02-04T21:45:00Z
|
||||
---
|
||||
|
||||
## Current Test
|
||||
|
||||
[testing complete]
|
||||
|
||||
## Tests
|
||||
|
||||
### 1. Single Container Update (text command)
|
||||
expected: Type "update <container-name>" - bot confirms, executes update via sub-workflow, shows result
|
||||
result: issue
|
||||
reported: "I received two messages on text based update - container is already up to date and then updating right after. Seems odd."
|
||||
severity: major
|
||||
|
||||
### 2. Single Container Update (inline keyboard)
|
||||
expected: Click Update button on container status - confirmation shown, update executes via sub-workflow, shows result
|
||||
result: pass
|
||||
|
||||
### 3. Batch Container Update
|
||||
expected: Select multiple containers in batch mode, choose "Update". All selected containers update via sub-workflow with progress messages.
|
||||
result: issue
|
||||
reported: "Batch updates via text return: Problem in node 'Prepare Batch Update Input' - Cannot read properties of undefined (reading 'id') [line 6]. Batch updates removed from UX."
|
||||
severity: major
|
||||
|
||||
### 4. Single Container Action (text command)
|
||||
expected: Type "start <name>", "stop <name>", or "restart <name>" - action executes via Container Actions sub-workflow, shows success message
|
||||
result: pass
|
||||
|
||||
### 5. Single Container Action (inline keyboard - start/restart)
|
||||
expected: Click Start or Restart button on container status - action executes immediately via sub-workflow, shows result
|
||||
result: pass
|
||||
|
||||
### 6. Confirmed Stop (inline keyboard)
|
||||
expected: Click Stop button on container status - confirmation dialog appears, confirm executes stop via sub-workflow, shows result
|
||||
result: pass
|
||||
|
||||
### 7. Batch Container Actions
|
||||
expected: Select multiple containers in batch mode, choose Start/Stop/Restart. All selected containers execute action via sub-workflow with progress updates.
|
||||
result: issue
|
||||
reported: "Same as test 3 - gets stuck on first container. Error: Problem in node 'Prepare Batch Action Input' - Cannot read properties of undefined (reading 'id') [line 7]"
|
||||
severity: major
|
||||
|
||||
### 8. Container Logs (text command)
|
||||
expected: Type "logs <container-name>" - bot fetches and displays recent container logs (or shows graceful error if logs sub-workflow not deployed)
|
||||
result: issue
|
||||
reported: "Two issues: 1) Fuzzy matching not working - 'logs dup' returns 'Container dup not found'. 2) With exact name, error in Send Logs Response - 'Bad request - please check your parameters'"
|
||||
severity: major
|
||||
|
||||
### 9. Container Logs (inline keyboard)
|
||||
expected: Click Logs button on container status - logs displayed (or graceful error if sub-workflow not deployed)
|
||||
result: issue
|
||||
reported: "Initial logs work. Refresh Logs button returns 'Bad request - message is not modified: specified new message content and reply markup are exactly the same'"
|
||||
severity: minor
|
||||
|
||||
## Summary
|
||||
|
||||
total: 9
|
||||
passed: 4
|
||||
issues: 5
|
||||
pending: 0
|
||||
skipped: 0
|
||||
|
||||
## Gaps
|
||||
|
||||
- truth: "Single text update sends only one result message"
|
||||
status: failed
|
||||
reason: "User reported: Two messages sent - 'already up to date' AND 'Updating...' in race condition"
|
||||
severity: major
|
||||
test: 1
|
||||
root_cause: "Main workflow sends 'Updating...' in parallel with sub-workflow call, but sub-workflow also sends result message"
|
||||
artifacts:
|
||||
- path: "n8n-workflow.json"
|
||||
issue: "Prepare Text Update Input connects to both Send Text Update Started AND Execute Text Update in parallel"
|
||||
missing:
|
||||
- "Remove Send Text Update Started from parallel connection - sub-workflow handles messaging"
|
||||
|
||||
- truth: "Batch update executes via Container Update sub-workflow"
|
||||
status: failed
|
||||
reason: "User reported: Error in Prepare Batch Update Input - Cannot read properties of undefined (reading 'id')"
|
||||
severity: major
|
||||
test: 3
|
||||
root_cause: "Data chain broken - Edit Progress Message outputs Telegram API response, but Prepare Batch Update Input expects batch data from Build Progress Message"
|
||||
artifacts:
|
||||
- path: "n8n-workflow.json"
|
||||
issue: "Prepare Batch Update Input uses $json.container but $json is Telegram response, not batch data"
|
||||
missing:
|
||||
- "Change Prepare Batch Update Input to use $('Build Progress Message').item.json.container instead of $json.container"
|
||||
|
||||
- truth: "Batch actions execute via Container Actions sub-workflow"
|
||||
status: failed
|
||||
reason: "User reported: Same as test 3 - Error in Prepare Batch Action Input - Cannot read properties of undefined (reading 'id')"
|
||||
severity: major
|
||||
test: 7
|
||||
root_cause: "Same as test 3 - data chain broken after Edit Progress Message. Prepare Batch Action Input uses $json.container but receives Telegram response"
|
||||
artifacts:
|
||||
- path: "n8n-workflow.json"
|
||||
issue: "Prepare Batch Action Input uses $json.container but $json is Telegram response"
|
||||
missing:
|
||||
- "Change Prepare Batch Action Input to use $('Build Progress Message').item.json instead of $json"
|
||||
|
||||
- truth: "Container logs text command works with fuzzy matching and displays logs"
|
||||
status: failed
|
||||
reason: "User reported: 1) Fuzzy matching not working - exact name required. 2) Bad request error in Send Logs Response"
|
||||
severity: major
|
||||
test: 8
|
||||
root_cause: "Two issues: (A) Logs flow passes containerQuery directly without fuzzy matching like other commands. (B) Sub-workflow returns {success, message} but not chatId - Send Logs Response uses $json.chatId which is undefined"
|
||||
artifacts:
|
||||
- path: "n8n-workflow.json"
|
||||
issue: "Prepare Text Logs Input passes containerQuery without fuzzy matching; Send Logs Response expects chatId from sub-workflow output"
|
||||
- path: "n8n-container-logs.json"
|
||||
issue: "Format Logs node doesn't return chatId in output"
|
||||
missing:
|
||||
- "Add fuzzy matching to logs text command flow (like update/start/stop)"
|
||||
- "Either: sub-workflow returns chatId, OR Send Logs Response uses $('Prepare Text Logs Input').item.json.chatId"
|
||||
|
||||
- truth: "Refresh Logs button updates logs display"
|
||||
status: failed
|
||||
reason: "User reported: Refresh returns 'message is not modified' error when logs haven't changed"
|
||||
severity: minor
|
||||
test: 9
|
||||
root_cause: "Telegram API rejects editMessage when content is identical. Need to either add timestamp to force difference, or catch this specific error and show 'logs unchanged' message"
|
||||
artifacts:
|
||||
- path: "n8n-workflow.json"
|
||||
issue: "Inline logs refresh doesn't handle 'message not modified' Telegram error"
|
||||
missing:
|
||||
- "Add error handling for 'message is not modified' error - show 'Logs unchanged' or add timestamp to force update"
|
||||
Reference in New Issue
Block a user