Skip to content

feat: fix dynamic option loaders, add device proxy control, and implement missing task parameters#6

Open
ZainUrRehmanKhan wants to merge 4 commits into
masterfrom
fix/node-loaders-and-vpn-defaults
Open

feat: fix dynamic option loaders, add device proxy control, and implement missing task parameters#6
ZainUrRehmanKhan wants to merge 4 commits into
masterfrom
fix/node-loaders-and-vpn-defaults

Conversation

@ZainUrRehmanKhan

@ZainUrRehmanKhan ZainUrRehmanKhan commented Jun 25, 2026

Copy link
Copy Markdown
Collaborator

Overview

This pull request resolves critical dynamic loading issues, implements device level network proxy operations, adds robust stream buffer handling for task execution, and introduces missing configuration parameters for task creation.

Key Changes

1. Dynamic Option Loader Enhancements

  • Graceful Failure Fallback: Modified the app loader method inside Mobilerun.node.ts to gracefully catch errors and return an empty list ([]). This prevents n8n from throwing crash or validation alerts when credentials are not yet saved.
  • Property Mappings: Updated the app list query to map using bundleId and platform properties instead of deprecated fields.

2. Device Proxy Control Operations

  • Connect Proxy: Added the Connect Proxy operation to device resources supporting SOCKS5 credentials, name based preconfigured proxies, and smart IP toggling.
  • Disconnect Proxy: Added the Disconnect Proxy operation to disconnect active proxies on target devices.

3. Task Execution & SSE Enhancements

  • Stream Buffer Remainder Parsing: Updated the event stream listener inside RunTaskAndWait.behavior.ts to parse any remaining data in the buffer when the stream closes, preventing drops of final task status updates if the stream lacks trailing double newlines.

4. Task Creation Parameter Options

  • Six Optional Fields: Added six missing optional parameters under the task creation properties:
    • Accessibility (accessibility) - Enables Android accessibility actions.
    • Agent ID (agentId) - Runs specific agent configurations.
    • Continue on Failure (continueOnFailure) - Enables recovery workflows.
    • Memory Namespace (memoryNamespace) - Configures memory namespace settings.
    • Stealth (stealth) - Mimics human touch interactions.
    • Subagent Model Name or ID (subagentModel) - Selects subagent LLM models.
  • Payload Routing: Forwarded these fields in the request body of runTask and runTaskAndWait operations.

5. Code Quality & Formatting

  • Lint Compliance: Alphabetically sorted the options collections and operations inside the properties files to fully comply with strict n8n community node linter constraints.
  • Canvas Usability: Changed the trigger node subtitle display from undefined: undefined to a static, readable description: Task Event Trigger.
  • Ignored Files: Configured .gitignore to exclude openapi_spec.txt, .npm-cache, and local log files.

@ZainUrRehmanKhan ZainUrRehmanKhan changed the title fix: resolve MobileRun node dynamic loaders and update VPN defaults fix: resolve node dynamic loaders and add device proxy support Jun 28, 2026
@ZainUrRehmanKhan ZainUrRehmanKhan changed the title fix: resolve node dynamic loaders and add device proxy support feat: fix dynamic option loaders, add device proxy control, and implement missing task parameters Jun 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant