Skip to content

Latest commit

 

History

History
executable file
·
46 lines (30 loc) · 2.62 KB

trustedPaths.md

File metadata and controls

executable file
·
46 lines (30 loc) · 2.62 KB
permalink layout mainAnchor title subtitle
trustedPaths.html
default
trustedPaths
Trusted Paths
How to handle paths with Apple sandbox

Starting from OSX Lion applications run in the so called sandbox that is an isolated and secure environment.
Applications accessing to file system (reading file, listing a folder) need explicitly that user gives permission to application.
User gives his permission to access to a file (or folder) selecting it from a file panel or dragging path to application.
VisualDiffer prompts a file panel when it can't access to a file due to permission error, after user selection the path is stored as trusted so next time it isn't necessary to re-prompt.

VisualDiffer can be used to compare files using other applications (Dreamweaver, SourceTree and so on), for example to compare a remote file version with the local one.

Applications like Dreamweaver save to temporary file the remote version and then pass the generated full path to VisualDiffer but this path isn't trusted so VisualDiffer shows the file panel every time.

This behaviour generates a very frustrating user experience because the user must select the file from the panel again and again.

Trusted paths resolve this problem, applications save files always on their own specific temporary folders, for example SourceTree can generate the following path

/var/folders/mr/5dfd6w717cj5j374q24fdxsh0000gn/T/2PhpDQ_UnifiedDiff.m

but trusting it works only once because the path component 5dfd6w717cj5j374q24fdxsh0000gn/T/ is randomly generated and changes every time.

We can trust /var/folders that is the root used by SourceTree to saves temporary files.

Trusting /var/folders ensures every path generated inside it (at any deeper subfolder level) doesn't require any additional user permission and the file panel prompts no longer appears

You can add (drag&drop is supported) and/or remove paths manually from the VisualDiffer Preference panel.
The paths colored in red no longer exist.