[PR #18] [MERGED] Revert "Add client-side cross-node task_handle decoder" (PR #17) #17

Closed
opened 2026-10-26 22:28:57 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/Comfy-Org/comfy-remote-nodes/pull/18
Author: @Kosinkadink
Created: 5/17/2026
Status: ✅ Merged
Merged: 5/17/2026
Merged by: @Kosinkadink

Base: main ← Head: revert/task-handle-decoder


📝 Commits (1)

  • 22e0742 Revert "Add client-side cross-node task_handle decoder" (PR #17)

📊 Changes

4 files changed (+6 additions, -616 deletions)

View changed files

📝 client.py (+0 -14)
➖ notes/run_task_handle_decoder.py (+0 -392)
📝 protocol.py (+1 -53)
📝 serialization.py (+5 -157)

📄 Description

Reverts #17. Matching server-side revert in comfy-rnp-server.

Why

The task_handle envelope was overcooked for what the RNP/1 prototype actually needs. The goal of the prototype is to move the existing ComfyUI partner nodes to execute server-side without changing what they do — and the upstream Tripo / Kling task chaining already works fine over a plain str:

  • Tripo uses IO.Custom("MODEL_TASK_ID") / IO.Custom("RIG_TASK_ID") / IO.Custom("RETARGET_TASK_ID") sockets, which is purely a client-side graph-validation mechanism. The value on the noodle is just a string — already covered by Capability.IO_OPAQUE, which preserves the type string for connection validity and round-trips the value untouched.
  • Kling uses plain IO.String for video_id — covered trivially by the existing string handling.

The TaskHandle dataclass + vendor / parent_chain / origin_node_id machinery were forward-looking infrastructure for future cascading-replay semantics that the upstream partner nodes don't have. Out of scope for "move execution server-side, change nothing else".

What this removes

  • Capability.IO_TASK_HANDLE
  • "task_handle" from HEAVY_TYPES
  • TaskHandle dataclass
  • decode_task_handle_envelope / encode_task_handle / _validate_task_handle_ref
  • The task_handle entry in the decode_envelope dispatcher
  • The Capability.IO_TASK_HANDLE advertisement in CLIENT_CAPABILITIES
  • notes/run_task_handle_decoder.py smoke test

Amp-Thread-ID: https://ampcode.com/threads/T-019e3431-c416-742b-973c-e262ab13f2ff


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/Comfy-Org/comfy-remote-nodes/pull/18 **Author:** [@Kosinkadink](https://github.com/Kosinkadink) **Created:** 5/17/2026 **Status:** ✅ Merged **Merged:** 5/17/2026 **Merged by:** [@Kosinkadink](https://github.com/Kosinkadink) **Base:** `main` ← **Head:** `revert/task-handle-decoder` --- ### 📝 Commits (1) - [`22e0742`](https://github.com/Comfy-Org/comfy-remote-nodes/commit/22e0742d47962e39d071c17ff1714fd219582e7e) Revert "Add client-side cross-node task_handle decoder" (PR #17) ### 📊 Changes **4 files changed** (+6 additions, -616 deletions) <details> <summary>View changed files</summary> 📝 `client.py` (+0 -14) ➖ `notes/run_task_handle_decoder.py` (+0 -392) 📝 `protocol.py` (+1 -53) 📝 `serialization.py` (+5 -157) </details> ### 📄 Description Reverts [#17](https://github.com/Comfy-Org/comfy-remote-nodes/pull/17). Matching server-side revert in [comfy-rnp-server](https://github.com/Comfy-Org/comfy-rnp-server/pulls). ## Why The `task_handle` envelope was overcooked for what the RNP/1 prototype actually needs. The goal of the prototype is to move the existing ComfyUI partner nodes to execute server-side **without changing what they do** — and the upstream Tripo / Kling task chaining already works fine over a plain `str`: - **Tripo** uses `IO.Custom("MODEL_TASK_ID")` / `IO.Custom("RIG_TASK_ID")` / `IO.Custom("RETARGET_TASK_ID")` sockets, which is purely a client-side graph-validation mechanism. The value on the noodle is just a string — already covered by `Capability.IO_OPAQUE`, which preserves the type string for connection validity and round-trips the value untouched. - **Kling** uses plain `IO.String` for `video_id` — covered trivially by the existing string handling. The `TaskHandle` dataclass + `vendor` / `parent_chain` / `origin_node_id` machinery were forward-looking infrastructure for future cascading-replay semantics that the upstream partner nodes don't have. Out of scope for "move execution server-side, change nothing else". ## What this removes - `Capability.IO_TASK_HANDLE` - `"task_handle"` from `HEAVY_TYPES` - `TaskHandle` dataclass - `decode_task_handle_envelope` / `encode_task_handle` / `_validate_task_handle_ref` - The `task_handle` entry in the `decode_envelope` dispatcher - The `Capability.IO_TASK_HANDLE` advertisement in `CLIENT_CAPABILITIES` - `notes/run_task_handle_decoder.py` smoke test Amp-Thread-ID: https://ampcode.com/threads/T-019e3431-c416-742b-973c-e262ab13f2ff --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-26 22:28:57 +00:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Comfy-Org/comfy-remote-nodes#17
No description provided.