diff --git a/gui/default/index.html b/gui/default/index.html index 8954de040..d27e5cd57 100644 --- a/gui/default/index.html +++ b/gui/default/index.html @@ -631,7 +631,7 @@ Versions - + Rescan diff --git a/gui/default/syncthing/core/syncthingController.js b/gui/default/syncthing/core/syncthingController.js index 92793dae0..8b6280723 100644 --- a/gui/default/syncthing/core/syncthingController.js +++ b/gui/default/syncthing/core/syncthingController.js @@ -1067,7 +1067,7 @@ angular.module('syncthing.core') if (status == 'paused') { return 'default'; } - if (status === 'syncing' || status === 'sync-preparing' || status === 'scanning' || status === 'cleaning') { + if (status === 'syncing' || status === 'sync-preparing' || status === 'scanning' || status === 'cleaning' || status === 'starting') { return 'primary'; } if (status === 'unknown') { @@ -1265,6 +1265,7 @@ angular.module('syncthing.core') case 'scan-waiting': case 'sync-preparing': case 'sync-waiting': + case 'starting': return 'fa-hourglass-half'; case 'cleaning': return 'fa-recycle'; @@ -1300,6 +1301,8 @@ angular.module('syncthing.core') return $translate.instant('Failed Items'); case 'idle': return $translate.instant('Up to Date'); + case 'starting': + return $translate.instant('Starting'); case 'localadditions': return $translate.instant('Local Additions'); case 'localunencrypted': diff --git a/lib/model/folder.go b/lib/model/folder.go index c0310330a..23d3a6897 100644 --- a/lib/model/folder.go +++ b/lib/model/folder.go @@ -153,6 +153,8 @@ func (f *folder) Serve(ctx context.Context) error { f.sl.DebugContext(ctx, "Folder starting") defer f.sl.DebugContext(ctx, "Folder exiting") + f.setState(FolderStarting) + defer func() { f.scanTimer.Stop() f.versionCleanupTimer.Stop() diff --git a/lib/model/folderstate.go b/lib/model/folderstate.go index 60f3fef5c..4c2f87b00 100644 --- a/lib/model/folderstate.go +++ b/lib/model/folderstate.go @@ -19,6 +19,7 @@ type folderState int const ( FolderIdle folderState = iota + FolderStarting FolderScanning FolderScanWaiting FolderSyncWaiting @@ -33,6 +34,8 @@ func (s folderState) String() string { switch s { case FolderIdle: return "idle" + case FolderStarting: + return "starting" case FolderScanning: return "scanning" case FolderScanWaiting: