Vincent Koc
1403b29436
fix(ci): allow unreleased notes in QA packages
2026-07-10 21:29:57 -07:00
xingzhou
e009a41410
fix(agents): repair orphaned queued turns before assembly ( #90759 )
...
* fix(agent): keep orphaned user turns contextual
* test(agent): prove orphan repair targets active prompt
* fix(agent): repair orphaned user behind session metadata
* fix(agent): satisfy orphan repair CI types
* fix(agent): preserve orphan repair state entries
* fix(agent): filter repaired orphan from assembled history
* fix(embedded-agent): repair orphan session entry types
* fix(embedded-agent): remap replayed metadata labels
* fix(embedded-agent): skip dangling replay labels
* fix(agents): repair orphan history before assembly
---------
Co-authored-by: 张贵萍0668001030 <zhang.guiping@xydigit.com >
Co-authored-by: Ayaan Zaidi <hi@obviy.us >
2026-07-11 09:56:40 +05:30
Vincent Koc
bcb10e2a28
fix(release): reuse SHA-pinned root evidence
2026-07-10 21:12:49 -07:00
Vincent Koc
f677d924f9
fix(release): reject untrusted reuse before lookup
2026-07-10 21:08:18 -07:00
Vincent Koc
6b38f68a06
fix(release): revalidate reused evidence before publish
2026-07-10 21:08:18 -07:00
Vincent Koc
50b765617f
fix(testbox): export CI across shell snippets
2026-07-10 21:08:18 -07:00
Vincent Koc
349728abf8
fix(release): support legacy verifier checkouts
2026-07-10 21:08:18 -07:00
Vincent Koc
e0cb3cef93
fix(release): gate evidence reuse on trusted lineage
2026-07-10 21:08:18 -07:00
Vincent Koc
fb4ffe76e6
fix(release): verify from trusted workflow checkout
2026-07-10 21:08:18 -07:00
Vincent Koc
cf3443796c
fix(testbox): sync source on every lease reuse
2026-07-10 21:08:18 -07:00
Vincent Koc
1fa8ec497e
fix(release): resume serialized plugin selections
2026-07-10 21:08:18 -07:00
Vincent Koc
50319d27b0
fix(release): validate reused SHA evidence
2026-07-10 21:08:17 -07:00
Vincent Koc
1bb51a59af
fix(testbox): preserve git command contracts
2026-07-10 21:08:17 -07:00
Vincent Koc
2843773be7
fix(testbox): isolate wrapper git commands
2026-07-10 21:08:17 -07:00
Vincent Koc
947803066b
fix(testbox): isolate git state probes
2026-07-10 21:08:17 -07:00
Vincent Koc
1a384f71db
fix(testbox): keep changed gates synchronized
2026-07-10 21:08:17 -07:00
Vincent Koc
29cfc61b6f
perf(testbox): skip sync for proven clean heads
2026-07-10 21:08:17 -07:00
Vincent Koc
e85a4f0ef2
fix(testbox): force noninteractive remote hydration
2026-07-10 21:08:17 -07:00
Vincent Koc
48704f065a
fix(release): preserve verifier executable mode
2026-07-10 21:08:17 -07:00
Vincent Koc
28f018e520
refactor(release): move CI verifier into scripts
2026-07-10 21:08:17 -07:00
Vincent Koc
883a615516
fix(testbox): rotate stale reusable leases
2026-07-10 21:08:17 -07:00
Vincent Koc
52b18ca42f
feat(release): watch CI transitions compactly
2026-07-10 21:08:17 -07:00
Vincent Koc
6a606f93a3
feat(release): checkpoint candidate workflow state
2026-07-10 21:08:17 -07:00
Vincent Koc
d86b62dea9
perf(release): reuse exact-SHA validation evidence
2026-07-10 21:08:17 -07:00
Vincent Koc
0c9ebe961e
perf(release): share changelog verification snapshots
2026-07-10 21:08:16 -07:00
Ayaan Zaidi
fab69517b3
fix(auto-reply): key command-turn reply operations to the source session
2026-07-11 09:26:25 +05:30
qingminlong
cd7a21787f
fix(computer): reject malformed numeric input before node actions ( #103642 )
2026-07-10 20:50:26 -07:00
Vincent Koc
ad9d142245
style(test): format release workflow guard
2026-07-11 11:45:23 +08:00
Vincent Koc
b0258a5d8b
fix(release): isolate frozen Telegram QA temp roots
2026-07-11 11:45:23 +08:00
Vincent Koc
543b0e7794
fix(ci): support frozen Swift lint targets
2026-07-11 11:45:23 +08:00
Haaai
667a5d9a63
fix(agents): guide node discovery before describe ( #51926 )
...
* fix(agents): guide node discovery before describe
Co-authored-by: Liuhaai <haixiang@iotex.io >
* test(agents): refresh node tool prompt snapshots
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-10 20:45:20 -07:00
Deepak Jain
612e1b94b7
fix(exec): clarify node approval recovery ( #91280 )
...
* fix(exec): clarify node approval recovery
Co-authored-by: Deepak Jain <deepujain@gmail.com >
* chore(pr): keep release notes in PR context
* fix(exec): describe dashboard URL handoff
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-10 20:40:53 -07:00
Sasan
dc097be00d
fix(doctor): follow symlinked launcher when locating sandbox setup scripts ( #90942 )
...
* fix(doctor): follow symlinked launcher when locating sandbox setup scripts
* refactor(doctor): reuse shared package-root resolver for sandbox scripts
resolveSandboxScript hand-rolled its own cwd/argv1/realpath candidate
scan, duplicating openclaw-root discovery. Reuse resolveOpenClawPackageRootSync,
which already follows the symlinked launcher via realpath and handles
node_modules/.bin and version-manager links, then look for scripts/ under
the resolved package root. Resolves the duplicate-discovery review finding.
* fix(doctor): keep searching cwd for sandbox scripts when first package root lacks them
resolveSandboxScript stopped at the first openclaw package root the shared
resolver returned. argv1 candidates resolve before cwd, so an installed/published
root (package.json present, scripts/ dropped by the npm files allowlist) shadowed
a valid source-checkout cwd and made doctor --fix return null.
- add resolveOpenClawPackageRootsSync: all distinct roots in candidate order
- resolveSandboxScript returns the first root that actually contains the script
- resolveOpenClawPackageRootSync now delegates to the plural (behavior unchanged)
- test: source-checkout cwd shadowed by an installed argv1 root without scripts/
2026-07-11 11:36:02 +08:00
Ben Badejo
8a29e8c934
fix(docs): expose top-level docs hubs on mobile ( #100908 )
...
* fix(docs): expose docs hubs on mobile
* docs: refresh docs map
* docs: remove committed proof screenshots
---------
Co-authored-by: Benjamin Badejo <ben@benbadejo.com >
2026-07-10 20:30:35 -07:00
Josh Avant
fbd330b7aa
fix(channels): honor configured read target policies ( #99905 )
...
* fix(channels): enforce configured read targets
* test(channels): align policy checks with boundaries
* fix: bind channel reads to trusted turn context
* test: satisfy gateway lint
* fix: narrow message action channel imports
* fix(feishu): authorize message reads before provider access
* fix(slack): await reaction clear authorization
* fix(channels): align provider action contracts
* fix(matrix): read direct-room account data before sync
* fix(channels): reject unsupported attachment actions early
* fix: restore trusted operator conversation reads
* fix(matrix): authorize pin actions before provider reads
* fix: preserve trusted channel read workflows
* fix(discord): resolve current channel ids consistently
* fix(agents): preserve message action turn capability
* fix(plugins): enforce host-owned read provenance
* fix(channels): harden Teams and Discord read policy
* fix(channels): preserve exact-current action compatibility
* fix(imessage): authorize trusted current chat aliases
* fix(channels): preserve normalized current aliases
* fix(channels): preserve external current target aliases
* fix: reconcile channel policy with current main
* fix(discord): isolate DM read policy
* fix(channels): enforce provider read gates
* fix(gateway): await serialized message action identity tokens
* fix(ci): refresh channel protocol contracts
2026-07-10 22:29:37 -05:00
Vincent Koc
ffc8051cac
test(release): align trusted SHA workflow guard
2026-07-11 11:09:58 +08:00
Vincent Koc
553f543bdf
fix(release): support frozen validation targets
2026-07-11 11:09:58 +08:00
Peter Steinberger
feae1faf06
fix(release): expose Telegram launcher failures safely ( #104099 )
...
* fix(release): expose Telegram launcher failures safely
* test(release): prove namespace launcher diagnostics
2026-07-10 20:03:36 -07:00
Peter Steinberger
4a00b96bbb
docs(changelog): credit final landed fixes
2026-07-10 23:02:55 -04:00
lin-hongkuan
f4732576bd
fix(ios): preserve prefixed share text ( #103453 )
...
* fix(ios): preserve prefixed share text
* fix(ios): harden shared text normalization
---------
Co-authored-by: lin-hongkuan <lin-hongkuan@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-10 20:01:06 -07:00
Peter Steinberger
dba64d574f
chore(release): set version to 2026.7.2
2026-07-11 04:00:49 +01:00
Peter Steinberger
e0862e609a
feat(ui): hide chat avatars in direct sessions ( #104092 )
...
* feat(ui): hide chat avatars in direct sessions
* fix(ui): classify direct threads from full history, not the render window
* fix(ui): classify direct threads by canonical session kind
* fix(ui): match session metadata across equivalent alias keys in the chat thread
* fix(ui): classify unmatched chat sessions by canonical key shape
* fix(ui): keep avatars in global sessions that can aggregate group senders
* docs(ui): note global-alias limitation on chat avatar classification
2026-07-10 20:00:44 -07:00
Peter Steinberger
05ebaf41f6
fix(tool-call-repair): bound serialized stream normalization ( #104100 )
...
* fix(tool-call-repair): bound serialized stream normalization
Co-authored-by: wuqingxuan <wu.qingxuan@xydigit.com >
Co-authored-by: 徐闻涵0668001344 <xu.wenhan1@xydigit.com >
Co-authored-by: qingminlong <qing.minlong@xydigit.com >
Co-authored-by: WangYan <wang.yan29@xydigit.com >
* fix(tool-call-repair): preserve strict scan narrowing
* fix(tool-call-repair): lint serialized name validation
* fix(tool-call-repair): replay split suffix whitespace
* fix(tool-call-repair): cap complete-call whitespace
* test(tool-call-repair): assert bounded whitespace replay
---------
Co-authored-by: wuqingxuan <wu.qingxuan@xydigit.com >
Co-authored-by: 徐闻涵0668001344 <xu.wenhan1@xydigit.com >
Co-authored-by: qingminlong <qing.minlong@xydigit.com >
Co-authored-by: WangYan <wang.yan29@xydigit.com >
2026-07-10 20:00:11 -07:00
Peter Steinberger
04865fe44b
feat(ui): gateway browser panel with annotate-to-prompt and element inspect in the web Control UI ( #104012 )
...
* feat(ui): add gateway browser panel with annotate and inspect modes
* chore(i18n): translate browser panel strings
* fix(ui): address browser panel review findings (stable tab handles, stale view guard, inspect click suppression)
* fix(ui): make the browser panel reload button reload the remote page
* fix(ui): tile the browser dock against the terminal dock and re-probe evaluate per connection
* fix(ui): label page-reported prompt text as untrusted and accept host:port URL entries
* fix(ui): sanitize inspected selector fragments in the annotation prompt
* fix(i18n): retranslate annotation prompt keys so the page-reported provenance label survives localization
* docs: regenerate docs map for the browser panel section
* chore(i18n): reconcile locale bundles with latest main after rebase
* style(ui): format chat-pane imports after rebase
* chore(i18n): refresh locale metadata after rebase
2026-07-10 19:54:47 -07:00
Peter Steinberger
2cc8bb40fd
fix(plugins): quiet trusted discovery warning ( #104097 )
2026-07-10 19:53:03 -07:00
Peter Steinberger
bb26753705
fix(telegram): satisfy lint in transport-close proof test
...
restrict-plus-operands (Buffer + string) and no-promise-executor-return
tripped the lint shards on every PR since #101783 landed; scoped fixes
only, no behavior change.
2026-07-10 19:44:03 -07:00
ly-wang19
780f8d6f62
fix(telegram): clean up split reasoning previews ( #97828 )
...
Co-authored-by: ly-wang19 <ly-wang19@users.noreply.github.com >
2026-07-10 19:43:14 -07:00
NianJiu
df36c821a4
fix(android): require explicit retry after interrupted sends ( #103273 )
...
* fix(android): require retry after interrupted outbox sends
* fix(android): fail ambiguous outbox sends closed
Co-authored-by: NianJiuZst <180004567+NianJiuZst@users.noreply.github.com >
* fix(android): preserve run-id-only acknowledgements
* style(android): format outbox assertion
* fix(android): fail outbox recovery closed
Co-authored-by: NianJiuZst <180004567+NianJiuZst@users.noreply.github.com >
* test(android): prove dropped ack is not replayed
Co-authored-by: NianJiuZst <180004567+NianJiuZst@users.noreply.github.com >
* fix(android): accept terminal outbox acknowledgements
Co-authored-by: NianJiuZst <180004567+NianJiuZst@users.noreply.github.com >
* fix(android): persist rejected outbox retries
Co-authored-by: NianJiuZst <180004567+NianJiuZst@users.noreply.github.com >
* fix(android): require manual retry after transmitted failures
* fix(android): migrate ambiguous outbox rows safely
* test(android): import outbox cancellation type
* fix(android): limit destructive chat cache migration
* fix(android): guard outbox retry transitions
* fix(android): reject malformed chat acknowledgements
* test(android): type migration bind arguments
* test(android): separate migration and replay proof
* fix(android): accept admitted outbox acknowledgements
* fix(android): preserve gateway health after acknowledged outbox failures
* fix(android): stop outbox flush on persistence failure
* fix(android): stop outbox flush when claims fail
* fix(android): enforce durable outbox barriers
* fix(android): coalesce outbox flush requests
* style(android): format outbox assertions
---------
Co-authored-by: NianJiuZst <180004567+NianJiuZst@users.noreply.github.com >
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-07-10 19:41:40 -07:00
sunlit-deng
4d55b116c6
fix(feishu): keep native-card payloads in topic threads ( #102804 )
2026-07-10 19:33:18 -07:00
Peter Steinberger
add44b19f1
improve(ui): replace background tasks rail chips with a quiet status line ( #104074 )
2026-07-10 19:33:06 -07:00