synth
151c549494
fix(browser): uploads fail when the browser runs on a remote node ( #115291 )
...
* fix(browser): resolve upload paths on the owning browser node, not the Gateway
When a browser session is proxied to a remote node, the upload action
previously ran resolveExistingUploadPaths on the Gateway, pinning paths
to a filesystem the node cannot see and rejecting node-local files. The
node-side /hooks/file-chooser route already re-resolves paths against
its own filesystem, so skip Gateway-local resolution whenever the
request is proxied and forward the requested paths as-is.
Fixes openclaw/openclaw#115251
* fix(browser): transfer uploads to remote browser nodes
* fix(browser): normalize upload abort errors
---------
Co-authored-by: Vincent Koc <vincentkoc@ieee.org >
2026-07-29 20:31:46 +08:00
Peter Steinberger
e1a00726a3
feat(gateway): add least-privilege voice-node pairing ( #115712 )
...
* feat(gateway): add least-privilege voice-node pairing
* chore: leave voice-node note to release
* fix(gateway): keep bootstrap helpers private
* fix(ci): remove unused Code Mode type export
* fix(ci): remove stale model matrix import
* fix(ci): align QA evidence timeout guard
2026-07-29 04:09:37 -04:00
Peter Steinberger
938749180e
refactor(nodes)!: retire arming leases for durable capability enablement ( #114892 )
...
* refactor(nodes): retire phone control leases
* fix(doctor): clean retired phone control state
* docs(nodes): document durable capability enablement
* docs(changelog): defer node enablement note
* fix(doctor): harden retired phone control cleanup
* fix(doctor): fail closed on unreadable lease state
* fix(doctor): validate retired lease journals
* fix(doctor): preserve deny-shadowed consent
* docs: refresh node authorization map
* fix(doctor): keep retirement helpers private
2026-07-27 23:51:30 -04:00
Peter Steinberger
62c5a8b888
fix(gateway): make scope errors machine-readable across clients ( #111013 )
...
* fix(gateway): consume structured scope errors
* docs(gateway): clarify tools error boundary
* refactor(gateway): unify node admin policy
2026-07-18 17:53:45 -07:00
Peter Steinberger
1d492f5c53
fix(gateway): honor scopes for WebChat session mutations ( #110931 )
...
* fix(gateway): authorize webchat session mutations by scope
* chore: keep gateway release note in PR body
2026-07-18 20:48:39 +01:00
Qiong
8592b87c39
fix(node-pairing): require operator.admin to approve fs.listDir nodes ( #105936 ) ( #106004 )
...
* fix(node-pairing): require operator.admin to approve fs.listDir nodes (#105936 )
* fix(gateway): align node command authorization
---------
Co-authored-by: joshavant <830519+joshavant@users.noreply.github.com >
2026-07-13 16:40:55 -05:00
joshavant
5b20013399
docs(security): clarify computer act authorization
2026-07-10 13:06:53 -05:00
Peter Steinberger
f7d7148cf0
docs: rewrite published docs grounded in current source ( #100142 )
...
Source-grounded rewrite of 529 published docs pages with per-unit information-loss verification: 1,713 factual corrections cited to src/**, generated surfaces regenerated, frontmatter titles preserved for i18n, release notes pages untouched. All docs gates green.
Closes #100141
2026-07-05 00:32:47 -04:00
Agustin Rivera
0d0bddf032
fix(gateway): require admin for device role approvals ( #87146 )
...
* fix(gateway): require admin for device role approvals
* fix(gateway): add trusted-proxy approval proof
2026-05-27 08:08:51 -07:00
Peter Steinberger
517ce3df75
fix: require admin for node device approvals
2026-05-27 13:18:50 +01:00
Super Zheng
01d95b9757
fix(gateway): allow bearer-auth session history reads ( #81815 )
...
Merged via squash.
Prepared head SHA: eb49667324
Co-authored-by: medns <1575008+medns@users.noreply.github.com >
Co-authored-by: odysseus0 <8635094+odysseus0@users.noreply.github.com >
Reviewed-by: @odysseus0
2026-05-21 13:23:17 -07:00
Peter Steinberger
c3f5c20f2c
fix(cli): retry admin device approval after ownership denial
2026-05-04 00:41:55 +01:00
Peter Steinberger
e8f13c625e
fix(cli): request admin scope for admin device approvals
2026-05-03 01:38:24 +01:00