Zee Zheng
8be581cbf8
fix(browser): allow inbound media uploads
Allow the browser upload tool to resolve OpenClaw-managed inbound media refs such as `media://inbound/<id>` and sandbox-relative `media/inbound/<id>` while preserving the existing upload-root path contract.
Keep upload-root files ahead of sandbox-relative inbound fallback, reject nested absolute inbound media files, and validate raw `media://` paths before URL normalization so traversal-shaped refs cannot resolve to direct media ids.
Verification:
- `OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/run-vitest.mjs extensions/browser/src/browser/paths.test.ts --reporter=verbose`
- `OPENCLAW_VITEST_MAX_WORKERS=1 node scripts/run-vitest.mjs extensions/browser/src/browser/paths.test.ts --reporter=dot`
- `OPENCLAW_HEAVY_CHECK_LOCK_SCOPE=worktree node scripts/run-tsgo.mjs -p test/tsconfig/tsconfig.extensions.test.json --incremental --tsBuildInfoFile .artifacts/tsgo-cache/extensions-test.tsbuildinfo`
- `pnpm lint --threads=8`
- `.agents/skills/autoreview/scripts/autoreview --mode branch --base origin/main`
- `git diff --check`
- GitHub PR checks on be08e6c8a8: dependency-guard, check-lint, check-test-types, check-additional-extension-bundled, checks-fast-contracts-plugins-a, checks-fast-contracts-plugins-b all passed.
Fixes #83544.
Co-authored-by: Zee Zheng <zheng.zuo0@gmail.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-30 23:49:07 +01:00
..
2026-05-11 18:32:46 +01:00
2026-05-22 09:16:36 +01:00
2026-05-22 18:40:20 +01:00
2026-05-13 13:33:38 +01:00
2026-05-23 10:23:34 +01:00
2026-05-30 23:49:07 +01:00
2026-05-11 18:44:54 +01:00
2026-05-13 13:33:38 +01:00
2026-05-13 13:33:38 +01:00
2026-05-22 20:20:10 +01:00
2026-05-22 08:49:53 +01:00
2026-05-29 06:10:42 +01:00
2026-05-30 21:03:41 +01:00
2026-05-11 07:44:13 +08:00
2026-05-04 18:39:25 -05:00
2026-05-27 08:08:51 -07:00
2026-05-06 08:55:00 -07:00
2026-05-06 00:23:48 -07:00
2026-05-27 00:58:09 +01:00
2026-05-30 11:48:41 +02:00
2026-05-10 22:17:42 +08:00
2026-05-22 21:52:01 +01:00
2026-05-10 22:41:38 +08:00
2026-05-13 13:33:38 +01:00
2026-05-26 14:51:11 +01:00
2026-05-30 11:48:41 +02:00
2026-05-26 21:14:47 +01:00
2026-05-30 19:48:52 +01:00
2026-05-29 00:05:54 +01:00
2026-05-18 18:54:44 +00:00
2026-05-27 19:24:04 +01:00
2026-05-30 11:48:41 +02:00
2026-05-16 23:49:18 +01:00
2026-05-07 09:07:18 +01:00
2026-05-22 22:00:21 +00:00
2026-05-06 08:55:00 -07:00
2026-05-24 18:10:02 -07:00
2026-05-30 17:31:53 +01:00
2026-05-28 23:10:27 -07:00
2026-05-17 06:23:30 +01:00
2026-05-25 11:34:12 +03:00
2026-05-13 13:33:38 +01:00
2026-05-13 13:33:38 +01:00
2026-05-25 13:39:56 +00:00
2026-05-30 21:29:39 +01:00
2026-05-10 22:41:39 +08:00
2026-05-30 20:04:52 +01:00
2026-05-27 19:24:04 +01:00
2026-05-13 13:33:38 +01:00
2026-05-09 20:05:07 -04:00
2026-05-26 14:51:11 +01:00
2026-05-29 22:36:29 +02:00
2026-05-23 20:39:59 -07:00
2026-05-13 13:33:38 +01:00
2026-05-10 22:31:10 +08:00
2026-05-13 13:33:38 +01:00