openclaw/extensions/diffs/src
Peter Steinberger 76b636db6c
refactor: move plugin blob database work off the calling thread (#151175)
* perf(fleet): run registry operations in SQLite workers

* fix(state): preserve readonly admission error context

* test(gateway): retain catalog root failure diagnostics

* fix: preserve uncertain lease outcomes before caller recovery

* fix(state): reject retired read scopes and retain wrapper imports

Reject new admissions to closing or closed selected read scopes while keeping already-admitted readers owned through cleanup. Preserve typed invalidation at plugin discovery boundaries.

Include the retained-read eager dependencies in the canonical PR wrapper inventory.

* test(state): require rejection of retired read scopes

Update the three existing disposable-scope variants to expect the canonical
admission error while preserving active and unrelated source assertions.

* refactor: move plugin blob storage into workers

Move all eight asynchronous BlobStore methods onto the existing shared-state
mutation and retained read owners. Preserve quotas, transactional accounting,
read-source selection, and typed error and cleanup behavior.

* fix(state): keep ordinary reads in the SQLite worker

Use the existing independent readonly worker for ordinary fixed reads while
retaining cached writer custody. Validate captured file identity around opens
and acceptance, and bind previously missing paths when their first file appears.

Keep selected snapshots and native preparation scopes with their existing owners.

* fix: catalog refresh fails when previous discovery finishes

Retain selected plugin registries through awaited preparation and hand construction claims to the completed generation. Preserve stale-publication cleanup and borrowed Gateway-root ownership. Related: #151588, #148290.

* fix(test): retain Telegram suite output on subprocess errors

* test: align Blob worker CI inventories

Include Diffs in the expected database-worker planner group while retaining exact coverage and duplicate checks.

Carry the packaging fixture dependency from canonical main commit 5741b3cbe8 (PR #151967), whose one-line patch matches the original 8b58def37f.

No production or build inputs change; compiled runtime and active-writer evidence retain their original commit bindings.

* fix(state): clarify blob preparation callback contracts

* test(plugins): load Diffs lifecycle fixture through public facade
2026-09-20 16:57:53 -07:00
..
browser.runtime.test.ts
browser.runtime.ts
config.test.ts
config.ts
http.test.ts
http.ts
language-hints.test.ts
language-hints.ts
plugin.test.ts
plugin.ts refactor: move plugin blob database work off the calling thread (#151175) 2026-09-20 16:57:53 -07:00
prompt-guidance.ts
render-target.test.ts
render.preload.test.ts
render.test.ts
render.ts
shiki-curated-languages.ts
store.cleanup.test.ts refactor: move plugin blob database work off the calling thread (#151175) 2026-09-20 16:57:53 -07:00
store.test.ts refactor: move plugin blob database work off the calling thread (#151175) 2026-09-20 16:57:53 -07:00
store.ts refactor: move plugin blob database work off the calling thread (#151175) 2026-09-20 16:57:53 -07:00
test-helpers.ts refactor: move plugin blob database work off the calling thread (#151175) 2026-09-20 16:57:53 -07:00
tool-render-output.test.ts
tool.test.ts refactor: move plugin blob database work off the calling thread (#151175) 2026-09-20 16:57:53 -07:00
tool.ts
types.ts
url.ts
viewer-assets.test.ts
viewer-assets.ts
viewer-client.test.ts
viewer-client.ts
viewer-payload.ts