I find it great that somebody works on things like this, so I thought I might give it a spin.
Just some feedback on the macOS version. I’m running macOS 10.12.6 (the most current one) as a virtual machine. There is nothing installed except the OS and all available updates, the package manager brew and Syncthing in it’s most current version 0.14.36.
The following are just my very personal observations. Maybe totally wrong, though I try to explain my thoughts…
Downloaded syncthingtray-devel-242-c8b68bc7-static-x86_64-apple-darwin15.tar.xz from https://martchus.no-ip.biz/repo/mac
Seems to be the most current one.
The tar file cannot be uncompressed by double-clicking. A larger part of Mac users would now be lost, I assume.
Unpacked the tar with 'tar xzf syncthingtray*.xz’ Two results:
The latter is an application bundle with a generic icon (no .app/Contents/Resource/.icns-file).
All binaries have executable rights. (755)
Double-Clicking syncthingtray.app fails more or less silently. Since it crashed, macOS fires up the CrashReporter and offers to send some info to Apple. Certainly no need for that.
The console is not much more verbose either:
standard 17:21:09.636279 +0200 opendirectoryd Client: <private>, UID: 0, EUID: 0, GID: 0, EGID: 0 standard 17:21:09.636525 +0200 opendirectoryd Client: <private>, UID: 0, EUID: 0, GID: 20, EGID: 20 standard 17:21:09.637179 +0200 opendirectoryd Client: <private>, UID: 501, EUID: 501, GID: 20, EGID: 20 standard 17:21:09.644230 +0200 CommCenter #I CSIAppInfo.ApplicationActivationObserver: handleLSNotitifcation_sync: Application launched: <private> standard 17:21:09.647897 +0200 taskgated MacOS error: -67062 error 17:21:09.664069 +0200 ReportCrash Failed to start process notifications for pid 1849 (16)
From what I understand:
…- opendirectory: The app (which is a bundle, read: directory) is started by walking synchingtray.app/Contents/MacOS/ and then executing the binary ‘syncthingtray’ with the credentials of the current userid 501.
…- commcenter: The subsystem com.apple.CommCenter is called to register the app with the parameters ‘#I CSIAppInfo.ApplicationActivationObserver: handleLSNotitifcation_sync: Application launched: AppInfo[syncthingtray, , true, 501, 0]’
…- Crash. It crashed when taskgated throws an error. That is the subsystem com.apple.Securityd coughing up a security_exception with error -67062
To enable a little more detailed log (haha, as if the system log isn’t flooding enough data) I’ve turned on to show all private data (sudo log config --mode “private_data:on”) but that didn’t yield much.
Multiple tries all had the same result.
Next was the cli version ‘syncthingctl’ (shouldn’t that be called ‘syncthingtraycli’?).
Calling just the binary fails with:
QFSFileEngine::open: No file name specified Error: Unable to locate Syncthing config file and no API key specified
./syncthingctl -? yields:
Abort trap: 6
./syncthingctl --help shows the help.
The only parameters that sound as if they might be necessary are
I would have expected syncthingcli to try the defaults automatically, but maybe not. So…
./syncthingctl -config-file $HOME/Library/Application\ Support/Syncthing/config.xml
Same error as above.
For now I can’t get this to work at all.
Is the tar really everything that needs to be installed? Are there prerequisites like frameworks necessary? Can I test anything else?