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-27 19:24:04 +01:00
2026-05-30 11:48:41 +02:00
2026-05-22 03:08:25 +00:00
2026-05-05 18:36:06 -07:00
2026-05-06 00:03:33 -07:00
2026-05-30 23:49:07 +01:00
2026-04-27 00:03:18 -07:00
2026-05-11 07:57:28 +08:00
2026-04-26 22:07:47 -07:00
2026-05-29 22:17:32 +02:00
2026-05-13 13:33:38 +01:00
2026-05-05 17:38:21 +01:00
2026-05-07 18:55:08 -07:00
2026-05-19 20:39:04 -07:00
2026-05-30 20:04:52 +01:00
2026-05-29 20:43:51 +01:00
2026-05-05 18:46:03 -07:00
2026-05-05 16:49:29 -07:00
2026-05-02 06:06:40 +01:00
2026-05-30 21:45:16 +01:00
2026-05-30 21:45:16 +01:00
2026-05-29 22:01:27 +02:00
2026-05-02 07:24:40 +01:00
2026-05-02 05:15:02 +01:00
2026-05-29 22:36:29 +02:00
2026-05-22 08:49:53 +01:00
2026-05-30 11:48:41 +02:00
2026-05-30 20:04:52 +01:00
2026-05-02 07:03:29 +01:00
2026-05-30 11:48:41 +02:00
2026-05-11 15:59:27 -07:00
2026-05-12 00:29:10 +08:00
2026-05-30 00:24:28 +02:00
2026-05-11 07:57:28 +08:00
2026-05-13 13:33:38 +01:00
2026-05-30 00:24:28 +02:00
2026-04-27 03:28:23 +01:00
2026-05-28 20:19:49 +01:00
2026-05-05 18:36:06 -07:00
2026-05-30 11:48:41 +02:00
2026-05-18 18:54:44 +00:00
2026-05-02 08:15:30 +01:00
2026-05-30 20:04:52 +01:00
2026-05-30 20:04:52 +01:00
2026-05-29 22:36:29 +02:00
2026-05-23 13:50:08 +01:00
2026-05-30 21:19:09 +01:00
2026-05-10 22:31:10 +08:00
2026-05-30 11:48:41 +02:00
2026-05-29 21:00:29 +01:00
2026-05-27 19:24:04 +01:00
2026-05-27 19:24:04 +01:00
2026-05-29 04:46:45 +01:00
2026-05-30 00:24:28 +02:00
2026-05-29 11:06:13 +01:00
2026-05-30 11:48:41 +02:00