After a little bit of sleuthing, I’m gonna say this isn’t a permissions issue but rather a file path coding issue in Blocs where different methodologies are used in different parts of the app.
Each time you open a project, Blocs reads all of the project’s embedded assets and linked assets from disk wherever they may be, and it makes a working copy of every asset in structured paths below the following path…
~/Library/Application Support/Blocs 4/tempAssetStorage/
Blocs appears to wipe this path clean every time you close a project, then it reconstructs temp copies of each and every asset when a project is re-opened.
On my machine, I have 1) a test account where the home folder is under /Users on the default volume as it should be, and 2) my primary account which has its home folder relocated on another volume with the advanced sys pref setting pointing to the new location, plus a symlink from /Users to the new location.
Under both users, Blocs correctly locates all of each projects’ assets and generates copies below the tempAssetStorage folder. I have tested using one project under my primary user and a second project on an external volume accessible to both users. My primary user behaves identically when opening either project and the test user behaves properly on the shared project. If Blocs has permission to access and read the assets with no issue under either user, then it must be using a different coding methodology when it generates, stores and uses previews of those assets within the UI settings and the asset manager window.
So my bet is that Bloc’s code has evolved overtime to have slightly different file path or URL construction methodologies in different parts of the app. It definitely happens, especially when Apple changes frameworks over time and their suggested uses of file paths and URLs… New frameworks may not even support file paths, so a dev is forced to mix file path handling and URL handling within an app. This is a part of Mac app development that is definitely not fun, so no blame on Bloc’s devs. I’m just hoping to help point out an issue that might be easily resolved and might eliminate potential problems elsewhere.