Commit Graph

73980 Commits

Author SHA1 Message Date
Vincent Koc
6876ae752a fix(macos): recheck scheduled task cancellation 2026-07-31 03:53:42 +08:00
Vincent Koc
6c8363f7b9 fix(macos): cancel stale store refresh work 2026-07-31 03:53:42 +08:00
Vincent Koc
50a3c4df8a fix(macos): stop periodic work on cancellation 2026-07-31 03:53:42 +08:00
joshavant
12b9e7c683 test(msteams): satisfy async lint 2026-07-30 14:20:11 -05:00
joshavant
834559d043 fix(msteams): settle stopped stream replacements 2026-07-30 14:20:11 -05:00
joshavant
c659c21672 fix(msteams): preserve acknowledged stream settlement 2026-07-30 14:20:11 -05:00
Vincent Koc
b907309b35 perf(macos): reuse Tailscale discovery session (#116465)
* fix(macos): reuse tailscale discovery session

* test(macos): stabilize voice ears expiry assertion
2026-07-31 02:51:23 +08:00
Pavan Kumar Gondhi
18b733577f fix(gateway): gate plugin node routes on approved capabilities (#115980) 2026-07-31 00:17:15 +05:30
Vincent Koc
e92e02ad7d fix(agents): index retained subagent descendant reads (#116449) 2026-07-31 02:36:20 +08:00
Vincent Koc
544b9d5e9f test(voice-call): avoid unbound session mock 2026-07-31 02:35:51 +08:00
Vincent Koc
5d51b93a77 test(voice-call): isolate media lifecycle coverage 2026-07-31 02:35:51 +08:00
Vincent Koc
30abc2d653 test(voice-call): await duplicate start cleanup 2026-07-31 02:35:51 +08:00
Vincent Koc
c047d57fba test(voice-call): cover duplicate media starts 2026-07-31 02:35:51 +08:00
Vincent Koc
c3f1efa10a fix(voice-call): reject duplicate media starts 2026-07-31 02:35:51 +08:00
keshavbotagent
4dc90937a0 fix(session): isolate memory flush lifecycle from parent recovery (#116198)
* fix(session): isolate memory flush lifecycle

* fix(session): fence newly introduced recovery cycles

* test(qa): prove memory flush preserves parent lifecycle

* test(session): align recovery fixtures with internal state
2026-07-30 11:31:23 -07:00
Josh Avant
ce67ffb70e feat(agents): add tool-free isolated completion (#114343)
* feat: add isolated pure-inference completion

* fix(google): block ambient system prompt writes

* docs: refresh generated map
2026-07-30 13:24:45 -05:00
Yuval Dinodia
3ffd3864ea fix: keep reply text in session transcript when media is attached (#116225)
Preserve assistant reply text alongside stable attachment names across the shared transcript mirror path. Add direct formatter, real SQLite persistence, outbound delivery, and gateway fallback matching coverage.
2026-07-31 02:14:57 +08:00
Peter Steinberger
7f7534253f fix(onboard): preflight TTY before reset (#116491) 2026-07-30 11:01:02 -07:00
Vincent Koc
3b355879b8 test(infra): run exec allowlist suite on Windows (#116492) 2026-07-31 01:46:19 +08:00
Vincent Koc
8a12343efe fix(ios): stabilize Apple UI validation across runtimes (#116487)
* test(ios): align source guards with current contracts

* test(ios): stabilize cross-version UI automation

* test(ios): harden typography boundary audit

* test(ios): synchronize deterministic UI launches
2026-07-31 01:30:46 +08:00
Vincent Koc
7b581eccc1 test(openai): cover GPT-Live delegation output bounds 2026-07-31 01:30:23 +08:00
Vincent Koc
ef4cebb263 fix(openai): bound GPT-Live delegation output 2026-07-31 01:30:23 +08:00
Peter Steinberger
1bca61b509 fix(docker): honor legacy apt package argument (#116466) 2026-07-30 10:09:56 -07:00
Vincent Koc
26f107071e test(agents): run exec preflight suite on Windows (#116469) 2026-07-31 00:57:04 +08:00
Vincent Koc
17ef4a26f1 test(openai): settle roundtrip failures without rejection 2026-07-31 00:42:04 +08:00
Vincent Koc
5f0c49b65d test(openai): clear roundtrip timeout on early failure 2026-07-31 00:42:04 +08:00
Vincent Koc
786d40d607 test(openai): observe roundtrip failures during streaming 2026-07-31 00:42:04 +08:00
Vincent Koc
969758d0d5 test(openai): satisfy live smoke lint guards 2026-07-31 00:42:04 +08:00
Vincent Koc
62e83c13c5 docs(voice): document live audio roundtrip smoke 2026-07-31 00:42:04 +08:00
Vincent Koc
ee7425d8fa test(openai): cover live audio smoke controls 2026-07-31 00:42:04 +08:00
Vincent Koc
b559705aab test(openai): add live realtime audio roundtrip 2026-07-31 00:42:04 +08:00
Vincent Koc
0822e8d39e fix(qa): preserve missing Ollama cache telemetry (#116424) 2026-07-30 16:37:54 +00:00
Omar Shahine
9bebf7ac43 fix(imessage): bold approval prompt labels in poll mode (#116221)
* fix(imessage): bold approval prompt labels in poll mode

#113193 added bold headers and labels to the approval reaction prompt, but
iMessage only shows that copy when tapbacks own the controls. On any
poll-capable bridge the details message is built from `manualFallbackPayload`,
the legacy unstyled builder, so every label (`Title:`, `Tool:`, `Host:`,
`CWD:`, `Full id:`, ...) reaches Messages as flat text. Native polls are the
default on a bridge-v2 host, so in practice #85954 still reproduced after it
was closed.

Add `nativeControlsPayload` to `ApprovalReactionPendingContent`: the same rich
copy as `reactionPayload` minus the tapback hint, for channels whose native
controls already own the decision surface. iMessage poll mode now renders it,
so both control paths deliver identical styled copy.

`imsg poll send --question` has no attributed-body channel, so the poll
question keeps the marker-free rendering of that same text; otherwise the
balloon would show literal asterisks.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011Byq7UrC7ZpMHxoFXcddsa

* refactor(plugin-sdk): carry native-controls prompt copy as text

The iMessage poll path reads exactly one thing from the native-controls
payload: its text. Replace the ReplyPayload field with nativeControlsText so
buildApprovalReactionPendingContent stops running the metadata/session-key
builder for fields no caller reads, and the '?? ""' sentinel goes away.

Relative to main the SDK change stays additive: neither field exists in any
release; nativeControlsPayload only ever existed on this branch.

* refactor(plugin-sdk): expose native-controls prompt text as a builder, not a type field

ClawSweeper flagged that requiring a new member on the shipped
ApprovalReactionPendingContent type is source-incompatible for external
producers that hand-construct it. The hint-free copy does not need to ride
the type at all: export buildApprovalNativeControlsPromptText and let the
iMessage handler call it at payload-build time.

ApprovalReactionPendingContent is now byte-identical to the shipped shape;
the SDK change is a single additive function export. Signal/WhatsApp test
fixtures revert to their original form.

---------

Co-authored-by: Omar Shahine <10343873+omarshahine@users.noreply.github.com>
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-30 09:23:47 -07:00
Vincent Koc
668721bcfc fix(macos): coalesce tailscale status checks (#116321) 2026-07-31 00:19:51 +08:00
Vincent Koc
85466bd89e test(mxc): run Windows-only suites in CI (#116451) 2026-07-31 00:10:22 +08:00
Peter Steinberger
d962a3d9c1 fix(ios): avoid duplicate URLs in shared drafts (#116430)
* fix(ios): deduplicate shared URLs

* test(ios): prove share provider extraction
2026-07-30 09:09:35 -07:00
Vincent Koc
9e8cc6fe8a fix(macos): avoid identity reads during menu rendering (#116435)
* fix(macos): avoid identity reads during menu rendering

* chore(i18n): refresh native source inventory
2026-07-30 23:56:19 +08:00
Omar Shahine
6f9da38401 feat(agents): rename model- and user-facing scheduler strings to automations (#114852)
* fix(agents): teach canonical automations tool in fallback guidance and reuse the identity source

Review follow-ups: the structured-list fallback still taught models the cron
tool; the cron-scope test echoed its own stub; MCP serve allowlist and voice
confirmation hardcoded the name instead of the canonical constant.

* fix(mcp): place automations identity import outside the header comment

* feat(agents): rename model- and user-facing scheduler strings to automations

Rewrites every string the model or user sees that names the feature:
tool label and terminal presentation, display-summary preset, subagents
catalog description, heartbeat guidance, subagent prompt, session labels
(Cron: -> Automation:), default job name, unattended-run preamble, delivery
awareness text, task-ledger progress summary, failure alerts, auto-disable
notification, model preflight diagnostics, validation errors, and the
shipped workspace AGENTS.md template. Adds a system-prompt backstop rule on
the automations tool line: the feature is called automations, never cron.

Cron stays only where it names the schedule syntax ({kind:"cron"}, cron
expressions), config keys (cron.triggers.enabled), RPC method names, and
session-key namespaces. Test fixtures with legacy labels are kept as
stored-data coverage. Part of RFC openclaw/rfcs#50 Phase 1 (PR B).

* docs(templates): keep workspace template on the live docs anchor until the docs PR renames it

* fix(cron): rename remaining failure-notification producers and stale test expectations

Codex review follow-ups: the per-run failure notification (server-cron-
notifications) and the doctor legacy-notify advisory still said Cron job;
failure-alert and incomplete-turn suites still asserted the old wording.

* chore(plugin-sdk): re-emit plugin-state test runtime dts

CI's extension-boundary runner holds stale tsgo incremental state whose
cached plugin-state-test-runtime.d.ts predates the keyed-store re-exports;
the freshness stamp validates it and reruns reuse the same sticky disk.
Touching the module forces incremental emit to regenerate the declaration.
Fresh builds of this head (local exact CI command and a forced Testbox
rebuild) both emit the exports correctly.

* fix(agents): rename residual model- and operator-facing cron prose

Found in combined dev-gateway E2E: fallback tool line still told models the
scheduler tool is cron; heartbeat scratch description, cron model preflight
rejection, doctor and Claw prose still said cron jobs.

* fix(agents): finish model-facing scheduler strings flagged in review

Loop work-order prompts, subagents tool description, cron-tool write errors,
and the headless exec denial label now say automations; loop builders covered
by prompt assertions; snapshots regenerated.

* chore(agents): refresh generated baselines and live docs anchor after rebase onto main

* fix(agents): rename new main-side cron tool error expectations to automations

* fix(gateway): rename main-side cron notification test expectations to automations

* chore(agents): apply review moves - automations commands in workspace template, drop unrelated sdk comment

---------

Co-authored-by: Omar Shahine <10343873+omarshahine@users.noreply.github.com>
2026-07-30 08:54:55 -07:00
Vincent Koc
3cf98a8708 test(ios): cover auth cleanup during gateway forget (#116425) 2026-07-30 15:46:59 +00:00
Vincent Koc
e96b9d2cd0 improve(ui): verify llama.cpp model setup 2026-07-30 23:41:58 +08:00
Vincent Koc
0090549188 fix(agents): refresh Claude live system prompts (#116292)
Co-authored-by: William Faris Chesnutt <farischesnutt@gmail.com>
2026-07-30 23:40:40 +08:00
Dallin Romney
c06191e6fb fix(ci): pass OpenAI credentials to Matrix live frontier (#116434) 2026-07-30 23:40:06 +08:00
Vincent Koc
90a22b4f50 chore(test): run browser copilot E2E in CI (#116407)
* test(browser): run copilot E2E in CI

* test(browser): stabilize copilot E2E synchronization

* test(browser): wake extension workers deterministically

* test(ci): route browser copilot command changes
2026-07-30 23:20:34 +08:00
Vincent Koc
6959a3e390 fix(macos): avoid repeated endpoint source reads (#116421) 2026-07-30 23:19:06 +08:00
Vincent Koc
9cfe4ebf08 fix(talk): preserve consult errors during cleanup 2026-07-30 23:17:38 +08:00
Vincent Koc
8668ac4e6a test(talk): cover talkback queue saturation 2026-07-30 23:17:38 +08:00
Vincent Koc
46d51bb3a4 fix(talk): bound pending talkback work 2026-07-30 23:17:38 +08:00
Vincent Koc
183db47e97 fix(ui): preserve schema-backed settings edits (#116282)
* fix(ui): harden schema-backed settings controls

Co-authored-by: wangmiao0668000666 <wang.miao86@xydigit.com>

* test(ui): match config secret label in Chromium

* chore(ui): remove release-owned changelog entry

* test(agents): mock incremental registry persistence

---------

Co-authored-by: wangmiao0668000666 <wang.miao86@xydigit.com>
2026-07-30 23:08:53 +08:00
Vincent Koc
ca1328dddb Merge pull request #116285 from openclaw/fix/control-ui-session-dedupe
* origin/fix/control-ui-session-dedupe:
  chore: leave release notes to release flow
  fix(ui): deduplicate gateway-native session hosts
2026-07-30 22:53:53 +08:00
Shakker
ea82059e02 fix: satisfy ClickClack lint checks (#115484) 2026-07-30 15:42:18 +01:00