Merged
Conversation
- Remove dependency overrides from package.json - Remove prepublishOnly script, add validate script instead - Add pairedItem linkage to all returnData.push() calls - Replace helpers.request() with helpers.httpRequestWithAuthentication() - Update LLMWhispererApi credentials to use unstract-key header - Add build:dev script for fast development builds - Update workflows to use validate script for comprehensive checks - Update package-lock.json All blocking issues from n8n cloud review have been addressed.
- Add dedicated 'audit' script for security checks with high severity threshold - Remove audit from 'validate' script to allow independent execution - Update package-lock.json to reflect current dependency tree
- Add npm audit step after validation - Set continue-on-error to true for visibility without blocking PRs - Audit failures will be visible in CI but won't fail the workflow
- Remove test property from all three credential classes: - LLMWhispererApi - UnstractApi - UnstractHITLApi - Remove unused ICredentialTestRequest import - httpbin tests did not actually validate credentials (would pass with any value) - Following n8n recommendation to remove rather than use fake validation endpoints Addresses n8n community node review feedback.
- Fix UnstractApi to use {{$credentials.apiKey}} instead of literal 'apiKey'
- Fix UnstractHITLApi to use {{$credentials.HITLKey}} instead of literal 'apiKey'
- Previous implementation sent literal string "Bearer apiKey" instead of actual token
- This bug was introduced in PR #17 along with httpbin tests
These authenticate blocks are required for httpRequestWithAuthentication to work correctly.
- Add explicit Authorization header to Unstract node POST request - Add explicit Authorization header to status polling GET requests - Extract apiKey from credentials to use in headers - Works around known n8n bug where httpRequestWithAuthentication doesn't properly add auth headers when formData is present (Issue #18271) - Still uses httpRequestWithAuthentication to satisfy n8n review requirements - Restores working pattern from commit 845c15c while keeping httpRequestWithAuthentication This fixes 'Bad request' errors caused by missing Authorization headers.
This commit addresses multiple issues found during n8n Cloud review: **Unstract node:** - Add HTTP 422 handling for status polling (API uses 422 to indicate "still executing") - Use helpers.httpRequest() for status checks with manual Authorization header - Add comprehensive logging with request/response details **UnstractHitlPush node:** - Implement manual multipart/form-data construction (n8n Cloud requirement) - Add HTTP 422 handling for status polling - Fix response parsing to handle already-parsed JSON from httpRequestWithAuthentication - Add comprehensive logging for debugging **LLMWhisperer node:** - Fix response parsing issues (httpRequestWithAuthentication returns parsed JSON, not strings) - Remove incorrect HTTP status check that was comparing job status to HTTP status code - Add proper validation for required whisper_hash field - Add comprehensive logging throughout the workflow **Credentials:** - Remove trailing whitespace for code quality All nodes now properly handle: 1. Response parsing from httpRequestWithAuthentication 2. Status polling with appropriate error handling 3. Manual multipart form construction where required for n8n Cloud
Resolved conflicts by keeping our improved implementations which include: - Manual multipart/form-data construction for n8n Cloud compatibility - HTTP 422 handling for async status polling - Improved response parsing for httpRequestWithAuthentication - Enhanced logging with prefixed messages Conflicts resolved in: - nodes/LlmWhisperer/LlmWhisperer.node.ts - nodes/Unstract/Unstract.node.ts - nodes/UnstractHitlPush/UnstractHitlPush.node.ts Kept our version (--ours) as it contains the complete set of n8n Cloud fixes.
Removed debug logging statements that were added for troubleshooting: - LlmWhisperer: removed 6 logger statements - Unstract: removed 15 logger statements - UnstractHitlPush: removed 10 logger statements All nodes now have clean code without debug-level logging.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR resolves n8n Cloud compatibility issues across all Unstract nodes based on review feedback.
Changes
Unstract node
helpers.httpRequest()for status checks with manual Authorization headerUnstractHitlPush node
LLMWhisperer node
Credentials
Test Plan
Notes
All nodes now comply with n8n Cloud requirements:
Ready for n8n Cloud approval.