syncthing / syncthing-macos Goto Github PK
View Code? Open in Web Editor NEWOfficial frugal and native macOS Syncthing application bundle
Home Page: https://syncthing.net
License: MIT License
Official frugal and native macOS Syncthing application bundle
Home Page: https://syncthing.net
License: MIT License
It would be cool if certain Syncthing functions could be accessible from the syncthing-osx dropdown menu - basic things from the front page of the GUI, such as
Pause All (implemented)
Rescan All (implemented)
Add Folder
Recent Changes
Add New Device
And also other things like:
Settings
Restart
Since this is best syncthing client wrapper for osx i think it should be in caskroom. Its used by more and more people.
Ive never made cask (https://github.com/caskroom/homebrew-cask/blob/master/doc/development/adding_a_cask.md) but i guess there is nobody who has experience with that (or uses caskroom) i will have to make it somehow.
Putting it here just for lovely someone who made cask before and could do it more easily :))
It not reasonable to disable gatekeeper for my whole machine to install a single application. Any idea when package signing will be fixed?
Try to update from 0.14.49-1 to 0.14.52
on Sierra 10.12.6
com.apple.xpc.launchd[1] (com.apple.imfoundation.IMRemoteURLConnectionAgent): Unknown key for integer: _DirtyJetsamMemoryLimit
Message:
Update Error!
An error occurred while extracting the archive. ...
hello..
i am interested to used this app.
so if i paid to apple for account so can u help me to published on store with apples security rule ?
Thanks
Currently syncthing daemon HTTP REST calls are handbrewed, we should map them to native objects which is more convienent using https://github.com/RestKit/RestKit
Hi, what makes this project targets macOS 10.10 and above? Can I help to make this work on 10.9?
I copied the API key from the browser and hit test but nothing happens. The test button stays red. I have set a username and password for the GUI but have already tried removing them to see if this solves the problem but it does not. Do I have to enable some settings for the connection to work?
Currently all code is manually tested. We should start writing unit-tests to ensure stability when adding new functionality, refactoring and fixing bugs and ensuring they don't come back. Probably use Apple supported XCTest or something else.
Probably because the call and response is synchronous the icon is "clicked blue color" (in dark mode) for several seconds when rescan call is not answered. Maybe we should put the call in the background and grayout the rescan button when it is already busy.
For a long time I got annoyed by manual editing the Sparkle Framework appcast.xml for the auto-updater. So I created a github releases to sparkle appcast.xml translator. By automaticly generating the appcast.xml we could also track HTTP GET on the appcast.xml and redirect the dmg downloads to github. With this information we can track the amount of in-use installs and upgrade downloads.
Currently it is not possible to control the syncthing subprocess with start/stop/restart actions. Also we must sure we don't lose track of the subprocess.
Currently when the status is syncing
or paused
it is not shown. The only implemented status is error
or normal
and is derived from the ping endpoint. Fetching the global state needs to be investigated.
We ask Syncthing for events using a request that times out after 30s. But the Syncthing default event timeout is 60s. This results in repeated errors on the console every 30s:
2018-07-28 22:03:30.474584+0200 Syncthing[48816:2865526] NSURLConnection finished with error - code -1001
2018-07-28 22:04:01.540378+0200 Syncthing[48816:2865522] NSURLConnection finished with error - code -1001
I'm a visually impaired user who is trying this thing out. I went to my extras and tried to paste in the very long APK key that was given to me under syncthing's advanced area under the web interface. With voiceover on I cannot paste it in. Can someone test this with voiceover? You can invoke voiceover with command plus f5 from anywhere.Once I get this working I know I'll be able to test for more issues in regard to accessibility and functionality.
Thanks.
The UI should allow reprioritizing the syncthing process so that it does not interfere with UI responsiveness.
Also should support setting the maximum number of threads to spawn with the GOMAXPROCS environment variable
The contribution link doesn't work on the github page https://github.com/syncthing/syncthing-macos
Its just a little annoyance but when copying the API key (ive done this several times already) the preferences window does not have copy/paste shortcuts enabled. Luckily rightclick works.
The app starts, and sync thing runs. But the tray app is useless: it shows an error sign and I can only click on "Open", "About" and "Quit Syncthing". "Folders" and "Preferences..." aren't clickable - or nothing happens when clicking...
Ps. I'm using the most recent release und macOS Sierra. It's the same issue on my Mac Pro and on my Mac mini.
see the attached screenshot
any remedy for this issue? I had QsyncthingTray.app installed before and it was working perfectly.
So, this is totally my ignorance of github, but it was actually difficult for me to find out where to download the actual dmg for this project. Somehow I couldn't find that link to "releases" in the "code" tab. It was like one of those things front and center in the fridge you would love to eat if you could only see it. I actually looked at this project a few weeks ago and gave up after 5 minutes of clicking around.
Anyway, for the blind like me, I would recommend including this link
https://github.com/xor-gate/syncthing-macosx/releases
On the main github page, and somewhere on the "shiny front page" as well. No worries either way, but it might help more of those with my mental deficiency find this amazing bundle.
I would also consider opening up the wiki; I or someone else could add a brief tutorial on how to configure the firewall and port forward in apple land, which also wasn't initially obvious to me when I switched here from windows/linux.
Cheers,
Jack
When the API key is invalid the user is not informed. This is a followup of issue #46.
So we should probably move the current Sparkle Update feed to the auto-generated appcast.xml. And create some graph of the HTTP GET requests. The go script currently build during CI build should be easy to add (https://github.com/syncthing/syncthing-macos/blob/develop/script/ghreleases2appcast.go)
Info.plist:
<key>SUFeedURL</key>
<string>https://xor-gate.github.io/syncthing-macosx/appcast.xml</string>
To:
<key>SUFeedURL</key>
<string>https://upgrades.syncthing.net/syncthing-macos/appcast.xml</string>
Also tracking the download counter of the latest release (e.g with telegraf) is nice to see the amount of downloads.
> curl -s https://api.github.com/repos/syncthing/syncthing-macos/releases/latest | grep download_count
"download_count": 4066,
telegraf.conf
[[inputs.tail]]
files = ["/Users/jerry/src/github.com/xor-gate/syncthing-macosx/script/log/upgrades.xor-gate.org.access.log"]
pipe = false
watch_method = "inotify"
data_format = "grok"
from_beginning = false
grok_patterns = ["%{COMMON_LOG_FORMAT}"]
[[inputs.http]]
username = "xor-gate"
password = "---OBVUSCATED---"
urls = ["https://api.github.com/repos/syncthing/syncthing-macos/releases/latest"]
data_format = "json"
This is a followup of #27 to make sure Gatekeeper will stay happy when syncthing executable upgrades itself. The problem is that the signature of the application bundle changes after distribution and Gatekeeper will not allow that.
The solution is:
During start of the bundle we need to check if the syncthing executable doesn't exist. E.g copy it (see configuration doc):
/Applications/Syncthing.app/Contents/Resources/syncthing/syncthing -> $HOME/Library/Application Support/Syncthing/syncthing
One little annoyance again. I have syncthing-macosx set to start on login which also starts browser every single time (with the webclient). I think this should be either turned off completely or there should be some setting to turn it off.
I guess its there for first time user but after that its annoying.
From what i undestand this tray app is also spawning its own syncthing instance. Is it possible to run it with homebrewed version?
Or what is the advantage of including syncthing in the app?
Currently for Objective-C dependencies I manual copy the dependencies in the 3thparty folder. We only use Sparkle framework but in the future we possible need some more 3thparty code. So I need to investage usefullness of cocoapods.
Hello..
i am using this Syncthing for Mac and Windows.
but it is some confusing to user friendly compare to dropbox.
we have faced below isssue.
Hi
If I understand correctly, a few bugs have been fixed since the last release. Is there any chance of a new stable release sometime soon? Thanks heaps
Vincent
I would like to be able to see that my Syncthing folder is syncing with an animated icon, like in most sync apps. Is that possible with this app?
Currently, clicking "Preferences..." in the tray menu opens a preference window. If I switch away from it and click again, another preferences window opens. What should happen instead is that the existing window should gain focus.
This can happen naturally when for example opening preferences, realizing I need to copy the API key and cmd-tabbing to a full screen browser, realizing it's not possible to cmd-tab back to the preferences window, clicking "preferences..." again to get there.
Notifications where user intervention is necessary should be implemented for the following cases:
Enhancement is based on: https://forum.syncthing.net/t/syncthing-for-macos/2745/22
Ever since upgrading this week, I'm seeing this on two different MacBookPros, which are in the same SyncThing cluster.
Everything is synced, all four devices show "Up to date."
"CPU usage" in the Web UI shows very low, 2% or less.
Actual CPU via 'top' in the terminal is 60-80%.
Starting/stopping Syncthing doesn't change anything.
Happy to provide any logs that might help resolve this.
The Folders menu within syncthing-macosx used to sort folders alphabetically, but that's no longer the case after the 0.14.48 update, my folders are now sorted pretty much randomly
For folder icon status we should only support OS X 10.10 or higher:
https://developer.apple.com/library/mac/documentation/General/Conceptual/ExtensibilityPG/Finder.html
"The only necessary configuration is to set the api key which can be found in the web interface."
We are interested in automating the api configuration step. Can you please advice on how this can be done?
This might not concernt syncthing-macosx
I would like to change gui. For that i need $config_dir/gui.
It does not seem that its application support on osx - where config.xml is located.
How can i get to the right place please?
Again, sorry for spamming the issues.
We should add and enable the syncthing-inotify executable which is the same as #14.
For the advanced preferences window the following features are missing :
I just finished installing xcode (only had CLI tool installed) and then ran make debug
. Sorry i'm newb at this, haven't built an osx app before...
Referenced from: /Applications/Xcode.app/Contents/Developer/Library/PrivateFrameworks/SimulatorKit.framework/Versions/A/SimulatorKit
Reason: image not found, NSBundlePath=/Applications/Xcode.app/Contents/PlugIns/IDEInterfaceBuilderCocoaTouchIntegration.framework, NSLocalizedDescription=The bundle “IDEInterfaceBuilderCocoaTouchIntegration” couldn’t be loaded because it is damaged or missing necessary resources.}}}
2017-11-17 12:51:25.367 ibtoold[20016:12914856] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Error getting value for parameter key 'name' of extension 'Xcode.InterfaceBuilderKit.AppleTVIntegration.Singletons' in plug-in 'com.apple.dt.IDE.IDEInterfaceBuilderAppleTVIntegration''
*** First throw call stack:
(
0 CoreFoundation 0x00007fffa199b2cb __exceptionPreprocess + 171
1 libobjc.A.dylib 0x00007fffb67b148d objc_exception_throw + 48
2 DVTFoundation 0x0000000106f104dd -[DVTExtensionParameter valueForKey:error:] + 0
3 IDEInterfaceBuilderKit 0x000000010669dab5 -[IBScopedSingletonRegistry init] + 722
4 IDEInterfaceBuilderKit 0x000000010669d7c9 __43+[IBScopedSingletonRegistry sharedInstance]_block_invoke + 41
5 libdispatch.dylib 0x00007fffb70618fc _dispatch_client_callout + 8
6 libdispatch.dylib 0x00007fffb70618b9 dispatch_once_f + 38
7 IDEInterfaceBuilderKit 0x000000010669d79d +[IBScopedSingletonRegistry sharedInstance] + 45
8 IDEInterfaceBuilderKit 0x00000001064b6175 -[IBInterfaceBuilderPlugin init] + 146
9 IDEInterfaceBuilderKit 0x00000001064b60c9 +[IBInterfaceBuilderPlugin ide_initializeWithOptions:error:] + 34
10 IDEFoundation 0x0000000107838cd2 _IDEInitializeOnePlugInAndPrerequisites + 2324
11 IDEFoundation 0x00000001078385d9 _IDEInitializeOnePlugInAndPrerequisites + 539
12 IDEFoundation 0x00000001078385d9 _IDEInitializeOnePlugInAndPrerequisites + 539
13 IDEFoundation 0x0000000107836cce _IDEInitializePlugIns + 1604
14 IDEFoundation 0x0000000107836085 IDEInitialize + 8547
15 ibtoold 0x00000001061ad535 ibtoold + 70965
16 ibtoold 0x00000001061ac6b0 ibtoold + 67248
17 libdyld.dylib 0x00007fffb7097235 start + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException
Command /Applications/Xcode.app/Contents/Developer/usr/bin/ibtool failed with exit code 6. The tool may have crashed. Please file a bug report at http://bugreport.apple.com with the above output and attach any crash logs for ibtool, ibtoold, Xcode, and Interface Builder Cocoa Touch Tool created around the time of this failure. These logs can be found in ~/Library/Logs/DiagnosticReports or /Library/Logs/DiagnosticReports.
** BUILD FAILED **
The following build commands failed:
CompileXIB syncthing/UI/STPreferencesWindow/STPreferencesAdvancedViewController.xib
CompileXIB syncthing/UI/STPreferencesWindow/STPreferencesInfoViewController.xib
CompileXIB syncthing/UI/STPreferencesWindow/STPreferencesDevicesViewController.xib
CompileXIB syncthing/UI/STPreferencesWindow/STPreferencesFoldersViewController.xib
CompileXIB syncthing/UI/STAboutWindowController.xib
CompileXIB syncthing/STPreferencesGeneralViewController.xib
CompileXIB syncthing/Base.lproj/STApplication.xib
(7 failures)
make: *** [debug] Error 65
Currently the folders submenu uses the id
instead of the new label
.
https://github.com/xor-gate/syncthing-macosx/blob/v0.14.4/syncthing/STApplication.m#L112
While major refactoring the code I disabled running syncthing executable. The offending line is here:
I new release must be created and a option is added to enable/disable starting of the executable (for people who like to run their own instance).
Discussion point: should it be acceptable to add new code/classes as Swift, and/or refactor existing ones into Swift? I personally have a slight preference for Swift and think that's the direction the environment is moving in. I'm also OK with Objective-C if that's where we want to remain for good reasons.
MacOS High Sierra, latest brew install, 90% of my Console messages are Syncthing activity. I'm guessing this is steadily chewing through my SSD, and prevents me from using the Console to review messages from every other application. I see no way of disabling this, or even reducing the extreme verbosity.
Thanks for this great tool.
Hello!
I installed syncthing-macosx 0.14.8-2 on OSX 10.12.1, and then let the user interface update syncthing to 0.14.11.
The tray icon always appears as "not connected" (stating "not connected" when hovering the mouse over it too), even when syncthing is working perfectly well, showing all the computers and folders correctly in the web browser. I even have out port forwarding / firewall stuff configured, verified by direct (non-relay) connections to the world outside my lan.
I also have trouble restarting syncthing from within the UI sometimes, but I think that may be a separate issue.
This bundled program is amazing, by the way. Very glad it's here and so simple!
Cheers,
Jack
When I open the preferences "Start at login" is ticked for me.
Expected: "Start at login" is unticked
Observation: "Start at login" is ticked.
Also I suspect it's not changing whether Syncthing is launched at login, but I haven't rebooted yet. I assume I should see a Lingon message because it monitors login items, but I didn't.
0.14.8-2
Hi,
First off, thank you so much for this application. For people who are not as binary savvy such as myself, this made it wonderfully easy to install.
Unfortunately, for reasons having nothing to do with your program, I need to uninstall it. Naturally I suspect one uninstalls the application from the application directory. However, if one were to install from binary syncthing appears to create a few dot files/folders. Not sure if your installation via dmg does the same, but it'd be great to know.
Thanks again!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.