PhotoStructure turns on and begins syncing. The About page should work.
Current Behavior
Sync does not happen when I turn on PhotoStructure. It actually appears that nothing happens. Furthermore, the āAboutā page opens with an āInternal Server Errorā and none of the information Iām expecting.
I think Iāve isolated the correct warning in the sync log file, but I canāt find any place in my settings where Iāve given a URI with ātwo slashesā
{"ts":1666109594231,"l":"warn","ctx":"Error","msg":"onError(): Error: [UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters (\"//\")\nError: [UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters (\"//\")\n at /tmp/.mount_PhotosScHrDD/resources/app.asar/sync.js:9:565077\n at new y (/tmp/.mount_PhotosScHrDD/resources/app.asar/sync.js:9:565212)\n at new w (/tmp/.mount_PhotosScHrDD/resources/app.asar/sync.js:9:567175)\n at Function.from (/tmp/.mount_PhotosScHrDD/resources/app.asar/sync.js:9:566392)\n at Object.t.nativePath2pslib (/tmp/.mount_PhotosScHrDD/resources/app.asar/sync.js:9:573585)","meta":{"event":"nonFatal","message":"unhandledRejection"}}
Steps to Reproduce
Have a working PhotoStructure library on a Dropbox Account on a different computer.
Get a new computer, install PopOS 22.04,
sync Dropbox to a local folder. Get the current PhotoStructure for Desktops AppImage
Open photostructure; enter usual settings.
Iām wondering if this has something to do with the .photostructure/uid.json or .photostructure/.library-uid.json files in my library which was created by another computer. But Iām afraid to delete the files because I donāt fully understand what they do.
PhotoStructure edition: Photostructure for Desktop. 1.1.0 (I think Iām reading that correctly from the logs; but canāt tell for sure because the About page doesnāt work)
I suspect the issue is with the Dropbox mountpoint not being parsed correctly. Iāve never run Pop!_OS before, but either way, getting some logs to look at should shake out some clues as to whatās going awry.
Make sure you have backups of your photos and videos.
I suggest using PhotoStructure for Node instead of the desktop versionāitās proven to be more stable for more people. The setup should be quite quick if youāre comfortable with the terminal.
Switch to the alpha branch: git checkout alpha (there are several URI improvements in the v2.1 branch).
Thanks! I knew I had read about uuids somewhere in the docs, but I couldnāt find it earlier today.
If Iām understanding the link you provided correctly, the .uuid file that gets generated by the tool is different than the one in ā[library dir]/.photostructure/.uuidā.
It seems like Dropbox is syncing over a .uuid file that is different now that Iām on a different physical hard drive. Which means I probably need to follow this solution:
Ah! Thereās a difference between volume UUIDs and that āuid.jsonā file you found.
The .uuid file, most of the time, should only be found in the root directory of a given volume. PhotoStructure tries to make the contents of the .uuid file match the hardware UUID of the device, just to make it stable, but if for whatever reason it canāt extract the hardware UUID, it will generate a random UUID. If a .uuid file is present, PhotoStructure always uses the value in there instead of the hardware UUID.
The uid.json file is used for licensingāif a bunch of other system metadata changes (say, you move the library on an external drive to another computer), it may allow your PLUS license to stay active.
If for any reason you find your PLUS license isnāt active, though, just visit the about page and click the first linkāanother license will be added to your library, so your library can use your PLUS license on both computers.
Rebuild seems to have fixed the issue! Iām also moving off of bidirectional backups, as the doc you linked to suggests. Thank you for your prompt attention! Cheers!
I wanted to follow up on something I noticed. Not sure if this is expected behavior or not. I had made some changes to the Library Settings at .photostructure/settings.toml (specifically, I set assetSubdirectoryDatestampFormat = 'y/y-MM'). When I rebuilt the library, it seems like it wiped the TOML file and restored to defaults. (to 'y/y-MM-dd').
I suppose that maybe makes sense that a ārebuildā would totally start from scratch and probably avoids some issues. However, my first expectation would have been that it would use the settings I had adjusted.
Either way, I fixed the issue by copying all the photos to a separate directory and re-imported them after I had restored my version of the TOML file.
PhotoStructure rewrites both the system and library settings.toml files only when it determines that they are from an older version of PhotoStructure, and it should try to migrate your prior settings to the new setting names or newer formatsā¦ Otherwise, it should leave those files alone.
In version 2.1 I changed the settings for automatic organization: assetSubdirectoryDatestampFormat was replaced with assetPathnameFormat. Thereās code that should translate your assetSubdirectoryDatestampFormat value into assetPathnameFormat format, and then re-save the settings.toml. If it didnāt do that, please tell me and I can look into it.
If you open your libraryās settings.toml, you should see these comments:
assetSubdirectoryDatestampFormat
Deprecated as of version 2.1: please use assetPathnameFormat instead.
If this setting is provided, and assetPathnameFormat is not provided, we will give assetPathnameFormat the value of this setting + ā/BASEā.
assetPathnameFormat
If you opt into āautomatic organizationā (see the setting ācopyAssetsToLibraryā), they will be copied into <originals directory>/<result of assetPathnameFormat>.
See the originalsDir system setting for what your is (it defaults to your library root directory).
Please encode this path with forward-slashes, even if youāre on Windows.
If any patterns resolve to including forward-slashes, know that will be interpreted as subdirectories.
If you want to add a static path, escape the pathname with single quotes (like āāphotosā/y/MM/ddā).
The result of this will always be interpreted as a relative path from your PhotoStructure originals directory.
Use token āBASEā as a shorthand for the original basename (āphoto.jpgā for ā/path/to/photo.jpgā).
Use token āNAMEā as a shorthand for the original filename, without the file extension (āphotoā for ā/path/to/photo.jpgā).
Use token āPARENTā as a shorthand for the original fileās parent directory name (ātoā for ā/path/to/photo.jpgā).
Use token āGRANDPARENTā as a shorthand for the original fileās grandparent directory name (āpathā for ā/path/to/photo.jpgā).
Use token āEXTā for the filenameās extension without the ā.ā prefix (like ājpgā for ā/path/to/photo.jpgā).
Use token āISOā as a shorthand for āyyyy-MM-ddāTāHH:mm:ss.SSSZZā.
You can escape other static text by wrapping with single quotes.