diff --git a/docs/event-producer-consumer.md b/docs/event-producer-consumer.md index a4989de8ce..3ce41e4fba 100644 --- a/docs/event-producer-consumer.md +++ b/docs/event-producer-consumer.md @@ -103,7 +103,7 @@ This matrix shows which packages dispatch each harness-owned event and which pac | `internal/service` | - | `gateway` | | `internal/status` | - | [`agent`](../packages/core/agent), `inspector`, `translator`, [`web`](../packages/web/web) | | `internal/update` | - | [`app-boot`](../packages/boot/app-boot) | -| `loader/volatile-update` | - | [`cua`](../packages/experimental/cua), [`llm-deepseek`](../packages/llm/llm-deepseek), [`llm-pi-ai`](../packages/llm/llm-pi-ai), [`plugin-market`](../packages/boot/plugin-market), `product-analytics`, `speech-to-text` | +| `loader/volatile-update` | - | [`llm-deepseek`](../packages/llm/llm-deepseek), [`llm-pi-ai`](../packages/llm/llm-pi-ai), [`plugin-market`](../packages/boot/plugin-market), `product-analytics`, `speech-to-text` | | `slots/changed` | `ui-renderer` (`emit`) | - | diff --git a/docs/event-producer-consumer.zh.md b/docs/event-producer-consumer.zh.md index 1b30db518a..0398a6eb73 100644 --- a/docs/event-producer-consumer.zh.md +++ b/docs/event-producer-consumer.zh.md @@ -105,7 +105,7 @@ | `internal/service` | - | `gateway` | | `internal/status` | - | [`agent`](../packages/core/agent), `inspector`, `translator`, [`web`](../packages/web/web) | | `internal/update` | - | [`app-boot`](../packages/boot/app-boot) | -| `loader/volatile-update` | - | [`cua`](../packages/experimental/cua), [`llm-deepseek`](../packages/llm/llm-deepseek), [`llm-pi-ai`](../packages/llm/llm-pi-ai), [`plugin-market`](../packages/boot/plugin-market), `product-analytics`, `speech-to-text` | +| `loader/volatile-update` | - | [`llm-deepseek`](../packages/llm/llm-deepseek), [`llm-pi-ai`](../packages/llm/llm-pi-ai), [`plugin-market`](../packages/boot/plugin-market), `product-analytics`, `speech-to-text` | | `slots/changed` | `ui-renderer` (`emit`) | - | diff --git a/packages/experimental/cua-macos/tests/provider-lifecycle.spec.ts b/packages/experimental/cua-macos/tests/provider-lifecycle.spec.ts index 9665dfdced..950cd98d8f 100644 --- a/packages/experimental/cua-macos/tests/provider-lifecycle.spec.ts +++ b/packages/experimental/cua-macos/tests/provider-lifecycle.spec.ts @@ -707,7 +707,9 @@ it('stores revocation without entering the HMR configuration queue', async () => release.resolve(undefined) await blocked const entry = [...f.ctx.loader.entries()].find(entry => entry.options.id === 'cua')! + const stopping = entry.fiber! await entry.update({ disabled: true }) + await stopping.dispose() await entry.update({ disabled: false }) await f.ctx.loader.await() expect((await f.ctx.cuaAccess.applications()).allowedApps).toEqual([]) diff --git a/packages/experimental/cua/src/permission-store.ts b/packages/experimental/cua/src/permission-store.ts index 8d1d5bbfc3..d4d3bc752a 100644 --- a/packages/experimental/cua/src/permission-store.ts +++ b/packages/experimental/cua/src/permission-store.ts @@ -101,7 +101,7 @@ export class CuaPermissionStore { signal.throwIfAborted() return operation({ state: this.memory, save: (next) => { this.memory = next; return Promise.resolve() } }) } - const pending = this.tail.then(run, run) + const pending = this.tail.then(run) this.tail = pending.then(() => {}, () => {}) return pending } diff --git a/packages/experimental/cua/tests/access.spec.ts b/packages/experimental/cua/tests/access.spec.ts index 3faf63eea2..fe395ea805 100644 --- a/packages/experimental/cua/tests/access.spec.ts +++ b/packages/experimental/cua/tests/access.spec.ts @@ -438,7 +438,7 @@ it('does not reactivate old handles when stored permission was revoked and later await f.access.select(f.agent, f.client, handle, identity, signal) await f.save([]) await f.save([{ id: identity.id, name: identity.name, executablePath: identity.executablePath }]) - await expect(f.access.select(f.agent, f.client, handle, identity, signal)).rejects.toThrow('APP_ACCESS_REVOKED') + await expect(f.access.select(f.agent, f.client, handle, identity, signal)).rejects.toThrow('APP_ACCESS_DENIED') expect(f.client.disposed).toBe(true) const replacement = new NativeClient(f.ctx, nativeConfig, unusedConnector) await f.access.select(f.agent, replacement, handle, identity, signal)