Skip to content

fix(transcode): resolve paths relative to user base path - #3355

Closed
8u6cherhu wants to merge 4 commits into
OpenListTeam:mainfrom
8u6cherhu:fix/transcode-user-base-path
Closed

8u6cherhu wants to merge 4 commits into
OpenListTeam:mainfrom
8u6cherhu:fix/transcode-user-base-path

Conversation

@8u6cherhu

Copy link
Copy Markdown

Problem

POST /api/fs/transcode/play uses the request path directly, while the regular /api/fs/* handlers first resolve it relative to the authenticated user's base_path. For users with a non-root base path, browsing can succeed but transcoding fails during storage lookup with storage not found.

Change

Resolve req.Path once with user.JoinPath and use the canonical VFS path for:

  • access checking and object lookup;
  • reusable-job matching;
  • local-file resolution or signed /d source construction;
  • the queued job path.

This keeps the transcode path consistent with the existing file APIs and does not change worker behavior, storage configuration, encoder settings, or the frontend.

Validation

  • git diff --check passed.
  • Reproduced the failure with a user base path and confirmed the same request succeeds when supplied with the canonical VFS path: the existing worker received the job and ran ffmpeg/NVENC.
  • The patch is limited to server/handles/transcode.go.

GitHub Actions should run the repository's normal checks for the requested upstream ref.

8u6cher added 4 commits November 12, 2026 20:06
- Resolve the request path with the authenticated user base path before storage lookup.
- Reuse the canonical path for source signing and job identity.
- Build the patched fork as an amd64 FFmpeg image.
- Publish pathfix and commit tags to GHCR with a private-value scan.
- Prevent the scanner expression from matching itself.
- Keep the source tree scan unchanged.
- Keep the transcode fix pull request limited to runtime code.
- Leave Docker publishing on the dedicated CI branch.
@jyxjjj jyxjjj closed this Nov 13, 2026
jyxjjj

This comment was marked as outdated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants