Skip to content

Follow stored media paths only on this computer or the project's share - #2304

Merged
skylartaylor merged 5 commits into
storytold:mainfrom
skylartaylor:open-original
Oct 17, 2026
Merged

skylartaylor merged 5 commits into
storytold:mainfrom
skylartaylor:open-original

Conversation

@skylartaylor

Copy link
Copy Markdown
Contributor

Follow stored media paths only on this computer or the project's share

  • Media pool, relink scan, watch and interchange follow stored media paths only on this computer or
    the project's share.
  • Scratch and autosave folders are used only inside the project folder, or when the user chose them
    in preferences. Before this, the project file chose them, and autosave created, wrote and rotated
    files at any path.
  • Edit Original opens only regular files with a media extension.

Dependency

craft-libs is merged (storytold/craft-libs#169) and this branch already pins craft-docpath to
the merged rev, 82a24b006eefa036b43c09a67fb9a3fbd17ffe63 — that is main after the merge, so it
includes resolve_absolute and the Windows colon refusal, not just the older 12281d07. No
dependency change is needed before merging; Cargo.toml and Cargo.lock are already updated and
carry no reference to a fork.

Credit

All commits on this branch are authored by @aiongg, who did the design and the implementation
across every app in this family. I have only opened the pull request, because they were unreachable
and the team was ready to build. Thank you for the work, and for the care taken over the test
coverage in particular.

Testing

cargo xtask ci on the branch, plus the regression tests added in these commits, which fail
without the change. Please re-run the full gate on a current toolchain before merging.


Opened on @aiongg's behalf. Happy to hand this over, or close it in favour of their own PR, as soon
as they are back.

aiongg and others added 5 commits October 16, 2026 16:22
…nsion

A folder or bundle, a link to another kind of file, or a file whose extension
the importer doesn't take is refused with a message instead of being handed to
the system's default app.
…er or when chosen

Project Auto Save and Video Previews folders named in a project file are used
only when they are inside the project's own folder or were chosen in Project
Settings > Scratch Disks on this computer (remembered in the preference
autoSave.scratchFolders). Other folders fall back to the default location,
with a log line and a message when the project opens. Network-share and
device paths are refused for these folders.
…roject's share

Media and proxy paths read from a project file, a project template or an
interchange file are opened only when they name a local file or a file on
the network share the document itself is on (craft-docpath); a relative
path is taken from the document's folder. Other paths count as missing:
the item renders the offline slate with the reason, the open says how many
were not opened, and Link Media lists them. This covers the open-time
scan, rendering and proxies, the growing-files look and interchange
import. Files imported or linked in this session are opened as given.

The Scratch Disks folders use the same check, and Captured Audio and Video
(voice-over takes, pasted images, the default proxy folder) and Audio
Previews follow the rule Auto Save and Video Previews already follow.
craft-libs#169 is merged, so the fork pin is no longer needed. Pinned to
storytold/craft-libs 82a24b006eefa036b43c09a67fb9a3fbd17ffe63 (main after the merge) rather than the older 12281d07,
which predates resolve_absolute and the Windows colon refusal.
@skylartaylor
skylartaylor merged commit 38ac719 into storytold:main Oct 17, 2026
2 checks passed
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