Lucas Berger
07aeace1fd
fix(16): resolve 3 UAT issues — update flow, batch cancel, text commands
...
- 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 >
2026-02-09 12:28:21 -05:00
Lucas Berger
216f3a406a
fix(16): repair broken connections, auth credentials, and dead code across 4 workflows
...
Phase 16 plans 16-02 through 16-05 introduced three classes of defects:
1. Connection keys used node IDs instead of node names (33 broken links
across n8n-workflow.json, n8n-batch-ui.json, n8n-actions.json)
2. GraphQL HTTP nodes used $env.UNRAID_API_KEY manual headers instead of
Header Auth credential, causing CSRF/UNAUTHENTICATED errors (20 nodes)
3. Duplicate node name "Execute Batch Update" (serial vs parallel paths)
Also fixes Build Cancel Return Submenu using $input.item.json instead of
$('Prepare Cancel From Confirm').item.json after GraphQL query chain.
Removes 12 dead/orphan nodes (6 pre-migration dead code chains,
6 unused utility templates). Node count: 193 -> 181.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-09 11:29:40 -05:00
Lucas Berger
6caa0f171f
feat(16-03): replace 5-step Docker update with single updateContainer GraphQL mutation
...
- Replace Docker API container lookup with GraphQL containers query
- Add GraphQL Response Normalizer and Container ID Registry update
- Replace 5-step update flow (stop/remove/create/start) with single updateContainer mutation
- 60-second timeout for large image pulls (was 600s for docker pull)
- ImageId comparison determines update success (not digest comparison)
- Preserve all 15 messaging nodes (Format/Check/Send/Return)
- Remove Docker socket proxy dependencies (zero references)
- Remove Execute Command node (docker pull eliminated)
- Reduce from 34 to 29 nodes (~15% reduction)
2026-02-09 10:23:29 -05:00
Lucas Berger
c2c2ce7092
fix(12-02): Update All flow — 9 bug fixes from UAT
...
Fixes discovered during BATCH-04/BATCH-05 UAT testing:
- Convert confirmation to HTTP Request (editMessageText for inline kb,
sendMessage for text command) with dynamic endpoint selection
- Fix data chain breaks: use named node refs ($('Parse Callback Data'),
$('Get Update All Data')) instead of $json after API calls
- Add infrastructure container exclusion (n8n, socket-proxy) by image
and container name to prevent bot self-destruction during updates
- Add batch responseMode to update sub-workflow (skip Telegram messages)
- Reorder infra check before :latest filter so sha256-digest images
appear in skipped list
- Add onError:continueRegularOutput to Answer Update All Start for
expired callback queries
- Show "Back to List" button in batch summary for update-all flow
- Add Prepare Update All Batch fallback in Prepare Batch Loop
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-08 18:56:44 -05:00
Lucas Berger
1c632d039a
feat(10.2-02): add structured error returns to all 7 sub-workflows
...
- Added correlationId field to all sub-workflow trigger schemas
- Added success: true/false fields to return paths
- Added error objects to failure paths with workflow, node, message, httpCode, rawResponse
- Implemented correlationId pass-through for error correlation
- Preserved backward compatibility (existing return fields unchanged)
Modified sub-workflows:
- n8n-actions.json: 3 Format Result nodes with full error objects
- n8n-update.json: Pull/Create/Start error paths with error objects
- n8n-logs.json: Added correlationId pass-through
- n8n-batch-ui.json: Added correlationId to trigger
- n8n-status.json: Added correlationId to trigger
- n8n-confirmation.json: Added correlationId pass-through to stop action
- n8n-matching.json: Added correlationId to trigger
All sub-workflows now return structured error objects on failures for main workflow error ring buffer capture.
2026-02-08 18:56:44 -05:00
Lucas Berger
ff532aa99e
refactor(10.1-01): rename sub-workflows to shorter pattern
...
- n8n-container-update.json -> n8n-update.json
- n8n-container-actions.json -> n8n-actions.json
- n8n-container-logs.json -> n8n-logs.json
Workflow IDs remain unchanged (n8n assigns on import).
Main workflow Execute Workflow nodes reference by ID, not filename.
2026-02-04 20:26:34 -05:00