test(cua): await provider disposal before restoring permission state
This commit is contained in:
1 parent
b788fd3add
commit
39347a3f24
5 files changed
+6
-4
No files matched your search
@@ -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`) | - |
|
||||
<!-- END GENERATED event-producer-consumer:undeclared -->
|
||||
|
||||
|
||||
@@ -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`) | - |
|
||||
<!-- END GENERATED event-producer-consumer:undeclared -->
|
||||
|
||||
|
||||
@@ -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([])
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in new issue
Block a user