mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-24 17:56:50 -06:00
craft-docpath follows a network path only on the share the document is on, and its caller contract asks for a document opened from a mapped drive to be passed by its UNC path. fileio::document_path passed the drive path as given, so a document opened as Z:\jobs\doc.vectorcraft treated a link stored as \\server\share\img\logo.png, on the share behind Z:, as on another computer: the image was missing, and document.open, links.check and links.info gave refused: "the path is on another computer". On Windows, when a stored path is refused as on another computer and the document is on a drive, document_path now reads the final path of the document's folder (std::fs::canonicalize). When that names a share (\\?\UNC\server\share\...), the path is checked again against the document's path on that share. Links on other computers stay refused, and paths that were followed resolve as before. Opening a document, Link Info, links.check and the linked-file watch all use it. Other systems are unchanged. Docs: docs/mcp.md, docs/target-app-parity.md.