Skip to content

Fix desktop service timeout while running extension actions #267

@IgorWarzocha

Description

@IgorWarzocha

Problem

While running an extension command from the composer, Howcode can show this inline error:

Timed out waiting for desktop service method piThreads.handleDesktopAction.

The screenshot showed this while /review was being run from the composer. The extension/action appears to be long-running enough that the desktop service request timeout fires before the extension flow has actually finished.

Why this matters

Extension actions can legitimately take a while, especially review-style commands or native tools that do substantial work. Timing out the desktop service call makes the extension look broken even if the underlying action may still be running or recoverable.

We should revisit why this path has a timeout at all, and whether piThreads.handleDesktopAction should be modeled as a long-running action instead of a short request/response RPC.

Expected behavior

  • Running an extension command should not fail just because the action takes longer than a generic desktop service timeout.
  • Long-running extension/native actions should surface progress/running state and complete/fail based on the actual action result.
  • If a timeout remains necessary for transport safety, it should not be applied blindly to user-visible long-running extension actions.

Notes / likely areas to inspect

  • piThreads.handleDesktopAction
  • desktop service request timeout handling
  • extension command execution from composer
  • native extension / /review action flow

Acceptance criteria

  • Extension actions that take longer than the current desktop service timeout no longer show Timed out waiting for desktop service method piThreads.handleDesktopAction as the primary failure.
  • The timeout policy for long-running desktop actions is explicit and documented in code.
  • Running extension/native actions still have a clear failure path for genuinely stuck or disconnected desktop service calls.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:composerComposer UI and controlsarea:extensionsExtensions integration and displayarea:runtimeLive runtime and session lifecyclepriority:p1Important, next-tier prioritytype:bugBroken behavior

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions