Commit graph

90 commits

Author SHA1 Message Date
RoboClaw
2cc189c873
refactor(update): simplify update execution and finalization (#154160)
* fix(test): retire shared read pools between files

Retire the shared state-read worker singleton with its state database lifecycle after drain. Otherwise a new file can reuse a pool whose cleanup callback belongs to a retired lifecycle and leak a mocked fleet reply into real workspace snapshots.

Extend the native ordered lifecycle regression with three reader generations. It reproduces the exact workspace snapshot failure before the mapping and passes afterward; 20 standalone qualification runs pass. Production behavior and persistent state are unchanged.

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>

* refactor(update): simplify update execution and finalization

Remove unused Git, in-place package, and deferred service-load paths. Keep the existing staged publication, activation, and post-core completion owners while preserving recovery and live-authority checks.

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>

* refactor(update): simplify update execution and finalization

Worked on by:
- @steipete
- @fuller-stack-dev

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>
OpenClaw-Publication: 743c012b-39e8-4ed9-bac5-d815971d0dd3

* test(update): follow staged install and completion owners

Repair the CI fixtures for parent-owned plugin completion and mandatory native package staging. Preserve authority refusal, legacy child publication, original Bun ownership, launcher relocation, and caller environment assertions.

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>

* fix(ui): publish chat rail position and keyboard entry together

Route visibility observation through the existing layout commit so current position, retained virtual markers, and the roving Tab stop are published together. Preserve keyboard exploration inside the rail and existing native Tab assertions.

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>

* fix(ui): preserve dropdown focus while opening

Initialize focus when the popup becomes usable, before animation completion can overwrite newer keyboard or consumer intent. Fence reentrant focus handlers with the existing transition owner and preserve both published distributions.

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>

* refactor(update): simplify update execution and finalization

Worked on by:
- @steipete
- @fuller-stack-dev

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>
OpenClaw-Publication: ba5d7a68-6088-4a5a-904b-756271e7f6a3

* refactor(update): simplify update execution and finalization

Worked on by:
- @steipete
- @fuller-stack-dev

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>
OpenClaw-Publication: 768c6d92-2bf8-49dc-b4ea-3b297caae4c0

* fix(ui): wait for popup readiness before initial focus

Observe the existing popup owner on fresh mounts before assigning initial focus. Preserve cancellation, listener cleanup, warm reopening, and the existing positioning initializer.

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>

* refactor(update): simplify update execution and finalization

Worked on by:
- @steipete
- @fuller-stack-dev

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>
OpenClaw-Publication: 71ac1ff4-5100-45dc-a1c2-669513c2925f

* chore(ci): refresh updater qualification after main repairs

Refresh the unchanged reviewed updater tree after canonical main fixes 7952e08424 and f76d38a4ac landed. The historical Node fixture and unique worker inventory contracts are verified. This is the required fresh push after the known red-main repair, not a rerun to conceal unexplained failures. Prior staging and release-tooling timeout evidence remains in the PR.

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>

Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>

* fix(ui): keep agent-menu initial focus with its dropdown owner

Use standard autofocus for the enabled selection and initialize focus once in the existing dropdown owner. Preserve later keyboard and outside focus, canceled transitions, and native autofocus roving state. Keep both published distributions aligned.

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>

* refactor(update): simplify update execution and finalization

Worked on by:
- @steipete
- @fuller-stack-dev

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>
OpenClaw-Publication: fd1dd065-beee-49b7-ad32-3c67d84c0013

* fix(tooling): retain upstream Node compiler policy in staging fixtures

Apply canonical main 7205715961 (#154509) byte-for-byte. The shared script shim preserves explicit compiler flags and the real staging fixture uses the existing Node shutdown policy.

The prior hosted staging timeouts remain documented; this fixes the independently demonstrated policy gap without claiming that a passing replay establishes their cause. No timeout, retries, production defaults, or assertions are relaxed.

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>

* fix(test): begin Discord starvation timing after audio consumption

The continuous-start notification follows AudioPlayer.play(), while the SDK can still be buffering the resource. Signal fixture readiness from the first real non-silence source packet instead of starting the measurement before playback.

The added readiness assertion fails with zero consumed packets on the original helper. Preserve the real worker/direct-port/encoder path, intentional main-thread starvation, packet and gap assertions, and the existing test timeout. Production voice behavior is unchanged.

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>

* chore: refresh CI after upstream database fixture drainage repair

Canonical main now contains 103115f2f0, which awaits database resource drainage before deleting the manual skill-library fixture. The failed merge-ref job used its parent fd578cb8a6 and retained a reclamation lease after root deletion.

Refresh the required synthetic merge-context checks after that confirmed main repair. No authored source or reviewed tree changes; retain tree 8e29f281f882e327641bd9c4fe343ec0e4ee9153 and the existing scoped proof. The separate sidebar reconnect failure remains under bounded investigation, not claimed fixed by a replay.

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>

---------

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
Co-authored-by: fuller-stack-dev <263060202+fuller-stack-dev@users.noreply.github.com>
2026-09-21 04:24:36 -07:00
Peter Steinberger
87346097ba
fix(ui): reduce sidebar work and preserve fast menu selection (#154285)
* fix(ui): stop redundant sidebar and background session work

* fix(ui): preserve keyboard selection while dropdowns open

* fix(ui): retain menu selection during rapid reopen

* fix(ui): wait for popup activation before initial menu focus

* fix(ui): keep picker focus during fast keyboard navigation

* chore(ui): shrink removed focus assertion budgets
2026-09-20 23:58:08 -07:00
Peter Steinberger
65485f6ade
fix(browser): preserve references across waits and renderer changes (#154215)
* fix(browser): preserve references across waits and renderer changes

Pin and bundle the patched Chrome DevTools MCP 1.8.0 runtime so source and npm installs receive the same identity repair. Verify packaged bytes and exercise real browser waits, cross-origin frames, stale-reference rejection, and recovery.

* fix(browser): declare bundled MCP dependency ownership

* test(browser): remove unused tarball fixture imports

* ci(browser): remove retired MCP download prewarming

* test(browser): pack MCP bundles with portable npm runner
2026-09-20 22:05:49 -07:00
RoboClaw
3d43d2eb46
fix(ui): keep reopened tooltips visible (#152240)
* fix(ui): keep reopened tooltips visible

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>

* fix(ui): keep reopened tooltips visible

Worked on by:
- @steipete

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
OpenClaw-Publication: 2bbda8d7-76b7-4f3b-b314-c4b842075f14

* fix(ui): keep reopened tooltips visible

Worked on by:
- @steipete

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
OpenClaw-Publication: 5fd9c671-e482-441d-9f75-b6a21a9b19b4

* fix(ui): keep reopened tooltips visible

Worked on by:
- @steipete

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
OpenClaw-Publication: 732f4c44-6402-477c-849e-8305ae202312

---------

Co-authored-by: steipete <58493+steipete@users.noreply.github.com>
2026-09-19 00:02:40 -07:00
Shakker
99ed9acfeb
fix: fail test runs when a worker exits unexpectedly (#148408)
Report unexpected test-worker exits as failures after completing worker cleanup.
2026-09-14 19:52:35 +01:00
Peter Steinberger
292e1618d9
fix(gateway): classify opening timeouts and repair lifetime checks (#146508)
* fix(gateway): classify websocket opening timeouts for recovery

* test: close media handles in cloud dispatch policy proof

* fix(test): serialize mock resolution in the Vitest owner
2026-09-12 17:13:42 -07:00
Peter Steinberger
d13f07b1c2
chore(deps): advance cooled dependencies and major upgrades (#146258)
* chore(deps): advance cooled dependencies and major upgrades

* test(logging): migrate failed-sink regression to tslog 5

* test: retain dependency upgrade coverage within lint limits

* fix(deps): preserve compiler launches, Matrix sync and chat metadata

Keep copied script harnesses independent of declaration modules and preserve
Windows executable prefixes after admission. Audit the Matrix sync guard for
42.3, align CI toolchain/cache pins, and refresh session facts after accepted
model-catalog invalidation without relying on picker timing.

* fix(ui): preserve scoped session reconciliation after catalog refresh
2026-09-12 13:28:12 -07:00
Peter Steinberger
b07b7d8bd1
fix(ui): keep reopened select menus visible (#141047)
Retire superseded select animations and listeners through one accepted transition owner. Keep repeated, canceled, and interrupted show/hide calls settled, and reconcile first-render and disabled updates through the same owner.

Preserve both Web Awesome distributions and public declarations. Cover reopening, cancellation, remount, disabled teardown, and existing selection behavior with browser regressions.
2026-09-07 05:34:03 -07:00
Vincent Koc
8e5a3f3638
chore(test): migrate to stable Vitest 5 (#138264)
* build(test): migrate to stable Vitest 5

Co-authored-by: Peter Steinberger <steipete@gmail.com>

* docs(test): document Vitest 5 contracts

* test(test): prove Vitest cache invalidation

* test(test): stabilize report config load proof

* test(test): restore Vitest 5 compatibility

Co-authored-by: Peter Steinberger <steipete@gmail.com>

* test(test): isolate pnpm cache fixture registry

* fix(test): keep pnpm 12 env lock portable

* fix(test): preserve explicit Vitest project roots

* fix(test): preserve nested Vitest project identity

* test(test): expect captured Vitest name prefix

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-09-06 04:17:59 +09:00
Peter Steinberger
57dffbf322
fix(test): preserve Vitest cache generations (#138248) 2026-09-05 00:06:18 -07:00
Peter Steinberger
8c6653a78d
fix(gateway): preserve desktop readiness and worker outcomes (#136297)
Some checks are pending
Native App Locale Refresh / Refresh native ko (push) Blocked by required conditions
Native App Locale Refresh / Refresh native nl (push) Blocked by required conditions
Native App Locale Refresh / Refresh native pl (push) Blocked by required conditions
Native App Locale Refresh / Refresh native pt-BR (push) Blocked by required conditions
Native App Locale Refresh / resolve-base (push) Waiting to run
Native App Locale Refresh / Verify generated PR App permissions (push) Blocked by required conditions
Native App Locale Refresh / Refresh native ar (push) Blocked by required conditions
Native App Locale Refresh / Refresh native de (push) Blocked by required conditions
Native App Locale Refresh / Refresh native es (push) Blocked by required conditions
Native App Locale Refresh / Refresh native fa (push) Blocked by required conditions
Native App Locale Refresh / Refresh native fr (push) Blocked by required conditions
Native App Locale Refresh / Refresh native hi (push) Blocked by required conditions
Native App Locale Refresh / Refresh native id (push) Blocked by required conditions
Native App Locale Refresh / Refresh native it (push) Blocked by required conditions
OpenClaw Stable Main Closeout / Resolve stable release closeout inputs (push) Waiting to run
OpenClaw Stable Main Closeout / Verify stable main closeout (push) Blocked by required conditions
Plugin Init Scaffold Validation / Validate provider scaffold (push) Waiting to run
Plugin NPM Release / preview_plugins_npm (push) Waiting to run
Workflow Sanity / generated-doc-baselines (push) Waiting to run
Native App Locale Refresh / Refresh native ja-JP (push) Blocked by required conditions
Plugin NPM Release / Validate release publish approval (push) Blocked by required conditions
Plugin NPM Release / preview_plugin_pack (push) Blocked by required conditions
Plugin NPM Release / Preflight plugin npm package () (push) Blocked by required conditions
Plugin NPM Release / Trusted publisher OIDC exchange (push) Blocked by required conditions
Plugin NPM Release / publish_plugins_npm (push) Blocked by required conditions
Plugin NPM Release / verify_plugins_npm (push) Blocked by required conditions
Vitest Cache Warm / warm (linux) (push) Waiting to run
Vitest Cache Warm / warm (macos) (push) Waiting to run
Workflow Sanity / no-tabs (push) Waiting to run
Workflow Sanity / actionlint (push) Waiting to run
Cloud session Desktop availability could remain stale after approval, replace an explicitly selected source during placement changes, or lose a dispatched worker to its discovery deadline. Offline Continue on Gateway also needed to retire the exact old owner while retaining cleanup responsibility, and aborted model calls could be reported as ordinary transport failures.

Consolidate Desktop inventory and session updates, retain explicit source/control/popout intent through placement updates, and retire the discovery deadline after dispatch. Move teardown orchestration to its canonical owner, preserve the exact abandonment decision through retries, and keep ordinary reclaim dependent on physical cleanup acknowledgment. Reuse the canonical diagnostic terminal owner and remove the duplicate adapter.

Apply the maintainer-approved, exact-version noVNC 1.7.0 repair: consume ignored extended-clipboard payloads so the following framebuffer message is parsed correctly. Load Desktop-only English with the existing lazy viewer, consolidate package-bin resolution, and register the unchanged retention subprocess with the existing compiled test-fixture owner.

Proof on head 8211f9f3: 57 Desktop unit and 39 real-browser tests; full runtime-change gate plus focused fixture checks; full package/install verification; one real Linux model turn completing five CUA select-all/type cycles with 13 computer results and 20 uninterrupted passive WebVNC observations. Normal reclaim synchronized the exact 300-byte file and completed provider cleanup with no pending reconciliation. Earlier native Windows/macOS, stale-authority and offline-continuation proof retains its original build identity in the PR. The AWS Mac and Dedicated Host remain intentionally retained.

Related: #136018; openclaw/crabbox#1724, openclaw/crabbox#1740, openclaw/crabbox#1743, openclaw/crabbox#1782. No configuration, SQLite schema, or public protocol change. See PR #136297 for dependency provenance, review dispositions, production/test LOC classification, and explicitly unresolved diagnostic follow-ups.
2026-09-03 15:32:01 -07:00
Peter Steinberger
b060c7a110
fix(ui): restore keyboard navigation after switching submenus (#135629)
Keep one active submenu ancestor branch at the dropdown owner and retire it at close start, including slot loss and disconnection. Preserve the earlier hide/reopen animation repair and synchronize the existing Web Awesome 3.12.0 patch hash.

Fixes #135613. Covers the original sibling/back/down failure, nested branches, and close/reopen lifecycle behavior with 21 Chromium owner cases. Logical dependency runtime shrinks by 41 lines per distribution.
2026-09-01 17:22:50 -07:00
Peter Steinberger
9ec9a1fbc9
fix(ui): keep reopened dropdowns dismissible (#135006)
* fix(ui): keep reopened dropdowns dismissible

Repair Web Awesome 3.12.0's dropdown visibility owner so reopening during
hide restores dismissal ownership and fences stale animation completion.
Preserve tooltip-first Escape, native Tab/pointer dismissal, canceled-hide
submenus, and retained-node cleanup/remount behavior.

Consolidate the owner's keyboard submenu handling and cover the lifecycle
with real-browser regressions plus the Control UI catalog flow. Keep the
approved dependency exception exact-versioned; no consumer workaround or
budget/baseline change.

* fix(ui): settle interrupted dropdown and submenu animations

Repair the CI-exposed lifecycle gaps in the approved Web Awesome 3.12.0
patch: native animation completion settles cancellation before start,
and the submenu owner fences visibility and focuses only once. Preserve
public submenu Promise and no-element contracts in both distributions.

Add failing-before browser coverage and verify the three affected Control
UI flows. No dependency version, budget, or baseline changes. The local
startup gzip gate remains explicitly waived (+68 bytes); required CI is
not waived.

Follow-up to #135006; fixes the connected failures behind #134997.

* fix(ui): preserve submenu opening notification order

Restore the upstream event-before-expansion contract in the approved
Web Awesome patch. Embedded appearance controls must observe a closed
submenu during its opening notification to initialize keyboard focus.
Keep the shared appearance consumer and its custom-editor guard intact.

Extend the existing repeated-request browser regression and verify the
sidebar, header, compact, and custom-emoji flows. The local startup-size
gate remains explicitly waived (+92 bytes); required CI is not waived.

Follow-up for #135006 and #134997.

* fix(test): join Windows gateway closure after taskkill

Keep the existing close allowance after Windows taskkill's synchronous
termination sequence, when Node can observe exit and pipe-close events.
Drain naturally exiting children before targeting a dead PID, and retain
failed cleanup when termination or inherited-pipe closure is unverified.

Preserve timeout constants and POSIX deadline/escalation behavior. Add
pre-fix failing regressions for queued natural closure and blocking
termination, with held-pipe and unverified-tree controls.

Bounded CI follow-through for #135006. The UI dependency patch and runtime
Gateway code are unchanged.
2026-09-01 04:49:41 -07:00
Peter Steinberger
c093e85957
perf(qa): run isolated live transports with bounded concurrency (#133616)
* perf(qa): run isolated live transports with bounded concurrency

* fix(qa): separate setup deadlines and join Matrix client cleanup

* fix(qa): preserve SDK boundaries in Matrix cleanup tests

* fix(matrix): keep cached sync events out of live verification

* fix(plugins): preserve approved dependency patches in package artifacts

* fix(qa): bind Matrix recovery proof to synced rooms and account state

* test(qa): supply the gateway mutation callback context

* fix(qa): expose failure causes and repair verification checks

Use public typed SDK contracts in generated provider plugins, preserve complete negative-reply observation evidence, report bounded redacted failures promptly, and align packaging assertions with staging.

* perf(matrix): trim unused QA channel import

* test(qa): preserve request URLs in Matrix fetch fixture

* fix(qa): expose bounded concurrency on isolated live commands

* perf(ui): consolidate repeated chat footer selectors
2026-08-30 22:45:29 -07:00
Peter Steinberger
145b071729
fix(testing): reject invalid profiler CLI options (#132858)
Validate Vitest arguments before config evaluation while preserving awaited
CPU/heap capture, native help, repeated-option errors, and configured runners.
Reuse native checks in the explicitly approved exact-version Vitest patch
instead of duplicating its option catalog or running a second config pass.

Refs #132855 (profiler CLI validation regression).
Follow-up to #132224 (awaited profiling completion ownership).
2026-08-29 16:54:00 -07:00
Peter Steinberger
0f22112947
fix: preserve private hook checks and diagnostics (#132403)
* fix: preserve private hook checks and diagnostics

* fix(test): join graceful Vitest fork shutdown

* test: expose Vitest shutdown fixture dependency
2026-08-29 11:25:36 -07:00
Peter Steinberger
50d229fe47
fix(test): preserve trailing Vitest task updates (#132132)
* fix(test): preserve trailing Vitest task updates

* chore(test): normalize Vitest patch format
2026-08-28 15:04:06 -07:00
Peter Steinberger
f07a1fb502
refactor: centralize bounded file reads in fs-safe (#111104)
* refactor: use fs-safe bounded descriptor reads

* build: update fs-safe to 0.4.2

* build: refresh root npm shrinkwrap

* fix: satisfy bounded read return paths

* fix: update fs-safe integration for latest main

* fix: adopt fs-safe overflow compatibility release

* build: complete fs-safe lockfile update

* build: update fs-safe to 0.4.4

* build: refresh plugin SDK API baseline

* test: follow fs-safe bounded read seam
2026-07-19 01:29:23 -07:00
Peter Steinberger
614e87cce1
chore: update dependencies (#100027) 2026-07-04 14:56:50 -04:00
Peter Steinberger
48ccc50282
chore: update dependencies 2026-05-31 09:07:53 +01:00
Peter Steinberger
cda7c30150
build: refresh dependency pins (#86628)
* build: refresh dependencies

* build: align pi fallback version
2026-05-25 21:55:46 +01:00
Peter Steinberger
c5e8bd08b8
fix(whatsapp): remove baileys logger patch 2026-05-21 22:33:13 +01:00
Peter Steinberger
26e64bda14
fix(whatsapp): update baileys dependency 2026-05-21 22:20:09 +01:00
Peter Steinberger
ec10d12112
chore: update dependencies 2026-05-21 08:28:44 +01:00
Peter Steinberger
6e7bd551f2
chore(deps): update whatsapp baileys 2026-05-20 21:36:39 +01:00
Peter Steinberger
5479b6b32c
build(deps): consume fs-safe 0.2.3 2026-05-14 07:31:40 +01:00
dwc1997
cffae53b43
fix(security): classify broad Windows SIDs as world principals
Carry Windows ACL world-principal classification through @openclaw/fs-safe@0.2.2 so Anonymous Logon, Guests, Interactive, Network, and Local SID/principal variants are treated as world-equivalent in filesystem audit findings.

Also add regression coverage, changelog coverage, a narrow lint cleanup, and a UI test isolation fix needed by the current CI shard.

Co-authored-by: dwc <118101032587@njust.edu.cn>
2026-05-13 15:19:02 -05:00
Peter Steinberger
85f9276624
build(whatsapp): externalize whatsapp plugin 2026-05-13 11:21:17 +01:00
Peter Steinberger
fcc042559f
build(deps): refresh workspace dependencies 2026-05-10 14:00:08 +01:00
Peter Steinberger
0496063264
build(deps): refresh workspace dependency pins 2026-05-10 02:14:40 +01:00
Peter Steinberger
8ee08b2b77
chore: update dependencies 2026-05-04 23:07:09 +01:00
Peter Steinberger
040f533f60
chore: update dependencies 2026-05-01 12:43:17 +01:00
Peter Steinberger
83267e99b0
chore: update dependencies 2026-04-29 22:42:45 +01:00
Peter Steinberger
277cc640b1
fix(acp): wait for claude results before idle completion 2026-04-27 12:12:48 +01:00
Frank Yang
d86527d8c6
fix(whatsapp): harden Baileys media upload hotfix (#65966)
Merged via squash.

Prepared head SHA: b5db59b8fe
Co-authored-by: frankekn <4488090+frankekn@users.noreply.github.com>
Co-authored-by: frankekn <4488090+frankekn@users.noreply.github.com>
Reviewed-by: @frankekn
2026-04-14 21:34:23 +08:00
Peter Steinberger
6c0a01dc90 fix: bundle mac model catalog 2026-01-21 19:58:19 +00:00
Peter Steinberger
74f382f732 fix: default Anthropic API cache TTL to 1h 2026-01-20 15:48:53 +00:00
Michael Behr
003c6c9ae1
add patches/.gitkeep (#1104) 2026-01-17 08:50:50 -06:00
Peter Steinberger
548a32c8d4 chore: drop unused patches 2026-01-16 22:31:21 +00:00
Peter Steinberger
500c75b4f0 fix: align ZAI thinking toggles 2026-01-16 22:26:43 +00:00
Peter Steinberger
b7ba94f0c1 fix: harden antigravity claude support (#968)
Co-authored-by: Max <rdev@users.noreply.github.com>
2026-01-16 02:16:17 +00:00
Peter Steinberger
f87016a5fe fix: handle unsigned tool calls for gemini 3 2026-01-15 00:29:53 +00:00
Peter Steinberger
8f6e67553f chore: drop stale pi-ai patch 2026-01-13 23:59:17 +00:00
Peter Steinberger
0a8be132b9 chore: prep 2026.1.13 release 2026-01-13 23:59:04 +00:00
Peter Steinberger
cb0f6cefa4 Deps: update Pi + Vitest and add Bedrock docs 2026-01-13 06:57:11 +00:00
Peter Steinberger
ca8e2bccab chore: update deps 2026-01-12 09:13:18 +00:00
Peter Steinberger
fb6a809f91 fix: refresh pnpm patch for pi-ai 2026-01-12 09:05:17 +00:00
Peter Steinberger
d8feadb57a fix: strip gemini cli tool ids (#756) 2026-01-12 09:01:19 +00:00
Peter Steinberger
f328cd5246 fix: preserve reasoning on tool-only turns 2026-01-11 11:22:07 +00:00
Peter Steinberger
55da6ca449 fix: keep reasoning for tool-only turns 2026-01-11 11:00:19 +00:00