Git Product home page Git Product logo

syncthing-macos's Introduction

Syncthing for macOS

Syncthing forum Downloads Latest release license

Introduction

syncthing-macos project is a frugal native macOS Syncthing tray application bundle. It bundles its own Syncthing instance and wraps Syncthing background process, making it behave more like a native macOS application and less like a command-line utility with a web browser interface.

Features include:

  • Open the Syncthing WebGUI from the tray in your system preferred browser.
  • Optionally starts on login, so you don't need to set up Syncthing as a service.
  • Tray icon syncthing status indicator.
  • Retina ready icons for the Application bundle and status tray.
  • Automatic updates (using Sparkle pushed from github releases).
  • Open shared folders in Finder.
  • Logfile written to ~/Library/Application Support/Syncthing/syncthing.log, use Finder -> Go -> Go to Folder to open it.

Screenshot

screenshot.png

Installation

NOTICE: This is the official Syncthing macOS application bundle. Please make sure you have no other syncthing instances or wrappers running or else this application will not work!

Currently, OS X 10.13 or higher is necessary. syncthing-macos is packaged as a disk image as an application bundled with the syncthing binary.

To install just download the dmg, mount it and drag and drop the application to install. The only necessary configuration is to set the API key and URL when provisioning a remote syncthing instance, the local instance is auto-configured. The syncthing-macos application bundle disables the auto-updater of syncthing as it has its own update mechanism using Sparkle.

The latest version is available at Github Releases, or it can also be installed using homebrew brew install --cask syncthing

Why

All cross-platform approaches are not able to use all the native facilities Apple macOS provides. Including auto-updates, vector icon set (retina-ready) and creating an application bundle. GUIs are designed with XCode and everything is coded in a mix of Objective-C and Swift which is "the native approach".

Goal

The goal of this project is to keep the native macOS Syncthing tray lean but usable. No graphs, no advanced configuration windows. It just provides a very simple wrapper, so users are not aware syncthing ships as a commandline application. It strives to have a usability of good-by-default and should always follow the Apple Human Interface Guidelines to feel as much as a native application as possible.

Known bugs

See the issue tracker (bug tag filtered) for the current status.

Contributions

Contributions and issue reports are welcome.

License

MIT

FAQ: Frequently asked questions

macOS version support

  • From release v1.27.7 macOS 11 or probably higher is required (see issue #218)
  • Last v1.27.6-1 release is compatible with macOS 10.13 (see issue #217)
  • From release v1.20.0-1 macOS 10.13 or higher is required
  • Until release v1.19.2-1 macOS 10.12 is required (see issue #177)
  • From release v1.14.0-1 macOS 10.12 is required
  • Until release v1.13.1-1 macOS 10.11 or higher is supported (see issue #148 why)

Auto-update must be manually disabled for unsupported OS versions.

Preferences

syncthing-macos is designed to run its own syncthing instance and automatically detect the API key. The preferences window is used to point to a local running instance, a remote instance is not supported. It is possible to run your own instance and point to it for advanced/development purposes. You should only change the settings if you know what you are doing.

Setting extra syncthing commandline parameters is a hidden feature. You need to write these using the application defaults configuration. The only current limitation the parameters cannot contain spaces!. In the example below the audit log is enabled:

defaults write com.github.xor-gate.syncthing-macosx Arguments '--audit --auditfile=/Users/JohnDoe/staudit.log'

Default IP address change

When the default IP address is changed from 127.0.0.1 to a routable one like e.g 192.168.1.102 the tray application preferences need to be set also. Or else the API cannot be accessed and will stay 'Offline'. If you broke the configuration you can manually edit the file under the ~/Library/Application Support/Syncthing/config.xml using Finder with Go -> Go to folder. And restart the syncthing service from the tray.

Resolve xattr sync from macOS Ventura 13.0 to < 13.0 devices (problem with com.apple.provenance metadata)

When using the xattr synchronisation feature it fails when syncing from macOS 13.0 to macOS < 13.0. When using this feature one must stop Syncthing and manually edit the configuration XML file located at /Users/<user>/Library/Application Support/Syncthing/config.xml. Or the location when running an Syncthing daemon instance not managed the application bundle). Manually editing the configuration file is necessary because the web UI doesn't support xattr filter management just yet (release v1.22.1-1).

Per shared folder the xattrFilter must be configured as follows:

<folder id="..." ...>
  <xattrFilter>
    ...
    <entry match="com.apple.provenance" permit="false"/>
    <entry match="*" permit="true"/>
  </xattrFilter>
</folder>

NOTE: see the com.apple.provenance xattrFilter entry.

See also #185 and the forum post for more information.

Uninstallation

On Mac OS X you drop the application from the Application folder to your Trash. But there are some user specific files are kept elsewhere, which are located under $HOME/Library/Application Support/Syncthing. The files in this folder are the configuration, encryption/profile files and the database cache. For more information see docs.syncthing.net/users/config.html.

Disable automatic update checker

By default the Syncthing macOS application checks automatically for updates. To disable (or re-enable) the auto update check one must set the Sparkle updater parameter from the commandline:

defaults write com.github.xor-gate.syncthing-macosx SUEnableAutomaticChecks 0

This setting is un-adviced and therefor only available from the commandline. When your system is not supported anymore and don't want to get notified of unsupported updates disabling then is recommended.

Prerequisites for building/using everything in this repository

Before compiling git submodules needs to be present:

git submodule update --init
  • Xcode, for the Objective-C/Swift compiler
  • Python 3, for the update-release.py script
  • Cocoapods for updating Objective-C/Swift 3th party dependencies
  • Golang, only needed for Sparkle Github releases to Appcast XML tool

Using XCode

The new syncthing.xcworkspace must be used when coding in XCode.

Compiling from Terminal

Build with XCode or run:

make debug

It will automaticly download syncthing universal binary and add it to the Application Bundle.

For release builds signing the application build and creating an distributable DMG:

make release-dmg

The script will select the first available Developer ID and sign the app with it. To specify the signing identity, use SYNCTHING_APP_CODE_SIGN_IDENTITY environment variable:

SYNCTHING_APP_CODE_SIGN_IDENTITY="Mac Developer: [email protected] (XB59MXU8EC)" make release-dmg

Design and useful information

Settings

The Syncthing settings use the NSDefaults facility. From the commandline all settings can be shown with:

jerry@Jerrys-iMac ~ % defaults read com.github.xor-gate.syncthing-macosx
{
    ApiKey = rR7YrEDLKhNETJZKgySmnYPZvebY9qgk;
    Executable = "/Applications/Syncthing.app/Contents/Resources/syncthing/syncthing";
    SUEnableAutomaticChecks = 1;
    SUHasLaunchedBefore = 1;
    SULastCheckTime = "2021-01-08 12:05:53 +0000";
    SUSendProfileInfo = 0;
    StartAtLogin = 1;
    URI = "http://127.0.0.1:8384";
}

Override Syncthing Daeomon Executable property (power-users only)

If you want to use the nice GUI but have your own executable located outside the Syncthing.app bundle, then the Executable configuration parameter can be manually overwritten with the defaults commandline tool using builtin Terminal or iTerm2. The last arguments should be changed to the syncthing daemon golang application.

defaults write com.github.xor-gate.syncthing-macosx Executable /Users/jerry/develop/Syncthing/exe/syncthing

To restore it back to the bundle path just use delete of the property. It will automatically reset it back.

defaults delete com.github.xor-gate.syncthing-macosx Executable

Dependency management

CocoaPods is used for dependency management. It can be installed with Homebrew package manager. For more information about CocoaPods read the CocoaPods Guides.

Versioning scheme

It uses the shipped syncthing executable version appended with a -<bundle index> number. So for Syncthing 0.14.28 with first build/package it is versioned as 0.14.28-1. Currently there is no need for having a separate version for syncthing-macos. As it also keeps the wrapper tightly coupled with the syncthing releases.

Compilation and packaging process

  • Xcode builds all sources
  • Syncthing resource is fetched with syncthing/Scripts/syncthing-resource.sh
  • Fancy DMG disk image is generated with syncthing/Scripts/create-dmg.sh
    • The version part of the DMG name is fetched from syncthing/Info.plist, key CFBundleShortVersionString
  • Both the app bundle and the DMG are signed with the first available Developer ID certificate, if found (or the one specified through SYNCTHING_APP_CODE_SIGN_IDENTITY environment variable)

syncthing/syncthing-macos will only ship stable releases and no release candidates of the Syncthing Service (daemon).

Apple Application Notarize

After the dmg is created it must be send to Apple to be notarized. It can be checked with spctl if the app is correctly verified by Apple for distribution:

spctl -a -t exec -vvv /Volumes/Syncthing/Syncthing.app
/Volumes/Syncthing/Syncthing.app: accepted
source=Notarized Developer ID
origin=Developer ID Application: Jakob Borg (LQE5SYM783)

When it is not correctly notarized the following output is seen (note the source):

spctl -a -t exec -vvv /Volumes/Syncthing/Syncthing.app
/Volumes/Syncthing/Syncthing.app: accepted
source=Developer ID
origin=Developer ID Application: Jakob Borg (LQE5SYM783)

See also the Apple Developer documentation at https://developer.apple.com/documentation/xcode/notarizing_macos_software_before_distribution

Release management

To update the bundled syncthing the make release-update must be run from the main folder which does basicly these steps automatically:

  • Update syncthing/Scripts/syncthing-resource.sh, SYNCTHING_VERSION
  • Update syncthing/Info.plist
    • CFBundleShortVersionString (e.g 0.14.50-dev or 0.14.50-1)
    • CFBundleVersion (e.g 145000 or 145001)
  • When the code is git pushed the Syncthing build server automatically builds debug and release targets
  • Manually download the release .dmg from build.syncthing.net which is correctly signed and notarized
  • Manually create a github release with tag v<major>.<minor>.<patch>-<bundle index>
  • Run deployment of appcast.xml. Which turns github releases JSON into a Sparkle appcast.xml file. (See also Sparkle documentation)

syncthing-macos's People

Contributors

calmh avatar dependabot[bot] avatar drasbeck avatar jakob avatar justinclift avatar kant avatar kawarimidoll avatar kmutahar avatar mstansberry avatar virusman avatar xor-gate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

syncthing-macos's Issues

Rescan all delays the gui response for a few seconds

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.

Advanced preferences - Syncthing executable

For the advanced preferences window the following features are missing :

  • Enable/disable syncthing executable background process (use user-supplied executable)
  • Show and select syncthing executable
  • Start/stop syncthing executable

There should be only one preferences window

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.

screen shot 2018-07-30 at 12 10 13

Activity doesn't update the status icon

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.

Nothing happens when I click on 'preferences'

I've installed the app, and its showing up in the status bar:
unspecified

Selecting 'open' brings up syncthing in the browser. But 'preferences' does nothing.
Possibly related: its not listing folders either.

Suggestion: confusing client and server communication compare to Dropbox

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.

  • after set default folder not able to change that folder location.
  • not given Default Storage location like "/Syncthin" or "C:/Syncthing"
  • On Every New Folder Share get request on client to add allow folder.
    -For Mac required to copy paste Secrate key

New stable release sometime soon?

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

Is there a way to automate api configuration step?

"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?

Add recent file changes submenu

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

Preferences windows will not open (due to missing default settings)

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.
bildschirmfoto 2016-10-16 um 15 39 54

Two instances of syncthing in Activity monitor

After updating tp the latest version, I see two syncthing processes. The previous version showed only one executable running. Haven't noticed any problems with that, but thought I should mention.

image

Update unable to complete

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. ...

Make releases easier to find

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

Cannot toggle "start at login"

When I open the preferences "Start at login" is ticked for me.

  • I untick it
  • I press the close button on the window.
  • I reopen the preferences

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

Syncthing executable background process CPU consumption

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

Automatic browser open when started

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.

Syncthing upgrade corrupts application bundle signature

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

Ensure application stability with unit tests

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.

cmd+c / cmd+v not working

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.

system logs are very verbose and cannot be disabled

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.

Tracking upgrades using upgrades.syncthing.net instead of github.io pages

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"

HTTPS connection doesn't work with self signed certificate

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?

Use with already installed syncthing

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?

make debug failed .. library not loaded CoreSimulator

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

Event requests timeout

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

Fix package signing

It not reasonable to disable gatekeeper for my whole machine to install a single application. Any idea when package signing will be fixed?

Feature Request: Add uninstall directions to readme.md

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!

inability to paste in the API key

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.

Tray icon always shows "not connected" even when working

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

Allow Swift?

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.

Generate appcast.xml and track upgrades

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.

Very High Idle CPU Usage when API key is invalid

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.