mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-25 02:32:47 +00:00
* fix(acp): terminate the provider when close requests never return Archive and delete wait on ACPAgentSession.close(). cancel() and unstable_closeSession() had no timeout. The ACP SDK does not reject a pending request when the provider never answers, so close() never reached terminateProcess. The agent was already marked archived and the provider process stayed alive. Both calls now use the same 2s withTimeout as probe close. The existing catch blocks still continue into terminateProcess. Example: - Input: archive an ACP session whose cancel and closeSession never settle - Before: close() waits forever and the provider process stays alive - After: both calls time out and terminateProcess runs * test(acp): archive close terminates a real provider that never answers session/close Spawn a real ACP provider process over stdio that advertises session close and never replies to it, then close the session the way archive does. Without the request bound, close() never returns and the provider keeps running. Co-authored-by: Ouyang Xingyuan <galaxyroaming@qq.com> * test(acp): move the close wait and provider cleanup into helpers Clear the race timer once close settles, and dispose the provider process and temp directory in afterEach. --------- Co-authored-by: Ouyang Xingyuan <galaxyroaming@qq.com> Co-authored-by: paseo-bot[bot] <266920839+paseo-bot[bot]@users.noreply.github.com>