nextcloud-desktop.git
5 years agovfs: Disable selective sync if vfs support is available
Christian Kamm [Tue, 8 Jan 2019 08:14:38 +0000 (09:14 +0100)]
vfs: Disable selective sync if vfs support is available

5 years agoWizard: Ensure client cert doesn't get lost #6911
Christian Kamm [Fri, 11 Jan 2019 12:14:30 +0000 (13:14 +0100)]
Wizard: Ensure client cert doesn't get lost #6911

5 years agoWizard: Drop unused function
Christian Kamm [Fri, 11 Jan 2019 11:54:33 +0000 (12:54 +0100)]
Wizard: Drop unused function

5 years agoSync: Display theme in debug log
Markus Goetz [Fri, 11 Jan 2019 10:26:22 +0000 (11:26 +0100)]
Sync: Display theme in debug log

5 years agosqlite: Set exclusive locking_mode to avoid WAL issues #6881
Christian Kamm [Thu, 10 Jan 2019 08:21:48 +0000 (09:21 +0100)]
sqlite: Set exclusive locking_mode to avoid WAL issues #6881

Can be overridden with OWNCLOUD_SQLITE_LOCKING_MODE

5 years agoFix lookup of system wide settings
Dominik Schmidt [Wed, 9 Jan 2019 15:00:33 +0000 (16:00 +0100)]
Fix lookup of system wide settings

5 years agosqlite: Update bundled version to 3.26.0
Olivier Goffart [Tue, 18 Dec 2018 11:18:43 +0000 (12:18 +0100)]
sqlite: Update bundled version to 3.26.0

For OS X and Windows.

5 years agoHttpCredentials: Do not re-enter the event loop
Olivier Goffart [Thu, 29 Nov 2018 11:40:00 +0000 (12:40 +0100)]
HttpCredentials: Do not re-enter the event loop

https://sentry.io/owncloud/desktop-win-and-mac/issues/777907931/
mention a crash in OCC::HttpCredentialsGui::showDialog
One possible explaination is that this is caused by re-entring the event loop.
So don't do that.

5 years agoChunking Move: Fix too many starting slashes in the destination header
Olivier Goffart [Thu, 29 Nov 2018 22:17:34 +0000 (23:17 +0100)]
Chunking Move: Fix too many starting slashes in the destination header

Commit 6ca724f fixed it for the move case. But the upload MOVE did the same

Issue #6904

5 years agoGui: do not show the settings when opening a virtual file
Olivier Goffart [Thu, 29 Nov 2018 12:55:27 +0000 (13:55 +0100)]
Gui: do not show the settings when opening a virtual file

Issue #6764

5 years agoSocketAPI: Overhaul ui for 'available locally' vs 'online only'
Christian Kamm [Thu, 26 Nov 2020 22:06:03 +0000 (23:06 +0100)]
SocketAPI: Overhaul ui for 'available locally' vs 'online only'

For #6815

5 years agoDb: Add wiping of pin state for subtrees
Christian Kamm [Fri, 21 Dec 2018 09:35:07 +0000 (10:35 +0100)]
Db: Add wiping of pin state for subtrees

5 years agovfs: Remove newFilesAreVirtual - use root PinState instead
Christian Kamm [Thu, 20 Dec 2018 10:24:41 +0000 (11:24 +0100)]
vfs: Remove newFilesAreVirtual - use root PinState instead

This unifies how to deal with pin states.

Also enable reading a folders direct pin state vs its effective pin
state.

5 years agoDiscovery: Handle the blacklistFiles from the server capabilities
Olivier Goffart [Thu, 29 Nov 2018 16:00:16 +0000 (17:00 +0100)]
Discovery: Handle the blacklistFiles from the server capabilities

Issue #434

Ideally one could add the blacklist to the exlucde reggexp, but this
is simpler

5 years agoProgress: Virtual file creation needs no transfer progress #6933
Christian Kamm [Thu, 20 Dec 2018 08:45:31 +0000 (09:45 +0100)]
Progress: Virtual file creation needs no transfer progress #6933

Treat virtual file creation as a size-less action, similar to
propagating renames or deletions.

5 years agovfs: Show "new files are virtual" option only with vfs
Christian Kamm [Wed, 19 Dec 2018 13:51:40 +0000 (14:51 +0100)]
vfs: Show "new files are virtual" option only with vfs

If there's no vfs possibility, showing it makes little sense.

5 years agovfs: SocketAPI actions adjust pin state of directories #6815
Christian Kamm [Tue, 27 Nov 2018 09:31:13 +0000 (10:31 +0100)]
vfs: SocketAPI actions adjust pin state of directories #6815

Downloading a folder also sets its pin state; releasing a folder sets
its pin state.

5 years agovfs: Use PinState in sync algorithm #6815
Christian Kamm [Tue, 27 Nov 2018 09:22:23 +0000 (10:22 +0100)]
vfs: Use PinState in sync algorithm #6815

New files are virtual if the file's pin state is OnlineOnly.

5 years agovfs: Introduce PinState db storage #6815
Christian Kamm [Mon, 26 Nov 2018 12:40:51 +0000 (13:40 +0100)]
vfs: Introduce PinState db storage #6815

The idea is to allow folders (and later maybe files?) to be
- pinned to be available locally
- pinned to be online only
- inherit their pin from the parent

Where this pinning only controls the default for new files.
Subfolders may have a different pin state, and contained files
may be hydrated or dehydrated based on user actions.

This value is stored in a new 'flags' table. The idea is to store
data there that doesn't necessarily exist for each metadata entry.
The selective sync state could be migrated to this table.

5 years agoMove test for issue #1329 from t1.pl to new test system
Olivier Goffart [Tue, 18 Dec 2018 11:08:34 +0000 (12:08 +0100)]
Move test for issue #1329 from t1.pl to new test system

5 years agoDiscovery: Set right direction when restoring deleted discovery because it has modifi...
Olivier Goffart [Tue, 18 Dec 2018 10:59:37 +0000 (11:59 +0100)]
Discovery: Set right direction when restoring deleted discovery because it has modified files

(Catched by a faillure of t1.pl)

5 years agoPort the exclude test to the QTest Framework
Olivier Goffart [Fri, 30 Nov 2018 14:31:10 +0000 (15:31 +0100)]
Port the exclude test to the QTest Framework

This is just a port to QtTest, I did not change the layout of the test.
I did search and replace to replace the assert with QCOMPARE/QVERIFY
I still call setup and setup_init like before (only explicitly, now)

Also ported the preformence tests to QBENCHMAK because windows don't have
gettimeofday.

Relates #6358

5 years agoTest: Move the test for Utility::normalizeEtag to testutility.cpp
Olivier Goffart [Fri, 30 Nov 2018 14:08:30 +0000 (15:08 +0100)]
Test: Move the test for Utility::normalizeEtag to testutility.cpp

I just moved the text and did the minimum to port it to QtTest
Did not change hte layout of it.

Relates #6358

5 years agoRemove check_csync_util
Olivier Goffart [Fri, 30 Nov 2018 13:40:47 +0000 (14:40 +0100)]
Remove check_csync_util

It's testing nothing.
Only that one can convert a csync instruction to a string.
But this is only used in debug anyway

Relates to #6358

5 years agoDatabase: Change path for new dbs to .sync_* #5904
Christian Kamm [Tue, 18 Dec 2018 09:10:19 +0000 (10:10 +0100)]
Database: Change path for new dbs to .sync_* #5904

This is to avoid issues on OSX, where the ._ prefix has special meaning.

Originally (before 2.3.2) ._ was necessary to guarantee exclusion. But
since then the .sync_ prefix is excluded as well.

This does not affect existing database files.

5 years agoVfs: Have a static list of potential plugins for now
Christian Kamm [Tue, 18 Dec 2018 10:28:25 +0000 (11:28 +0100)]
Vfs: Have a static list of potential plugins for now

Fixes in-source builds and other cases where more non-plugin directories
are created in src/libsync/vfs.

5 years agoVfs: Ensure older versions gracefully ignore winvfs folders
Christian Kamm [Tue, 18 Dec 2018 09:47:45 +0000 (10:47 +0100)]
Vfs: Ensure older versions gracefully ignore winvfs folders

Previously there'd likely be a mess if a 2.6 winvfs folder was attempted
to be used with a 2.5 client. Now the older clients will ignore these
folders.

5 years agoVfs plugins: Available plugins must load
Christian Kamm [Tue, 18 Dec 2018 09:31:17 +0000 (10:31 +0100)]
Vfs plugins: Available plugins must load

A plugin that can't be loaded due to dependency issues should not be
considered as available.

5 years agoSyncEngine: Ensure that the paths passed to the discovery ends with slashes
Olivier Goffart [Tue, 18 Dec 2018 09:38:39 +0000 (10:38 +0100)]
SyncEngine: Ensure that the paths passed to the discovery ends with slashes

This was making the tx.pl test fail

5 years agoPropagator: Don't abort sync on error 503
Olivier Goffart [Wed, 20 Jun 2018 13:46:58 +0000 (15:46 +0200)]
Propagator: Don't abort sync on error 503

Only do it when it is actually a maintenance mode

Issues #5088, #5859, https://github.com/owncloud/enterprise/issues/2637

5 years agoAllow to open log window via command line to already running client
Olivier Goffart [Mon, 3 Dec 2018 10:20:46 +0000 (11:20 +0100)]
Allow to open log window via command line to already running client

Issue: #4098

5 years agoFix installation of vfs suffix plugin
Dominik Schmidt [Tue, 11 Dec 2018 10:17:15 +0000 (11:17 +0100)]
Fix installation of vfs suffix plugin

5 years agoVFS: Plugin needs to be installed, otherwise it can't be loaded
Olivier Goffart [Fri, 7 Dec 2018 10:15:45 +0000 (11:15 +0100)]
VFS: Plugin needs to be installed, otherwise it can't be loaded

5 years agoFix compilation warning
Olivier Goffart [Fri, 7 Dec 2018 09:06:56 +0000 (10:06 +0100)]
Fix compilation warning

src/libsync/propagatorjobs.cpp:63:10: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
        [this, &deleted](const QString &path, bool isDir) {
         ^~~~~

5 years agovfs: Make Vfs ctor explicit
Christian Kamm [Mon, 26 Nov 2018 12:03:39 +0000 (13:03 +0100)]
vfs: Make Vfs ctor explicit

5 years agovfs: Separate vfs availability from new-files-virtual
Christian Kamm [Mon, 26 Nov 2018 10:33:29 +0000 (11:33 +0100)]
vfs: Separate vfs availability from new-files-virtual

This helps support 2.5 settings where there are virtual files in the
tree but new files aren't created virtual.

It's also a prelude for #6815

There's currently no way of
- upgrading vfs plugins (a silent suffix->winvfs upgrade is attempted
  once only, when moving to master)
- disabling vfs capabilities outright

5 years agovfs: Don't always load plugins, check metadata
Christian Kamm [Mon, 26 Nov 2018 09:41:14 +0000 (10:41 +0100)]
vfs: Don't always load plugins, check metadata

5 years agovfs: ensure backwards-compatible settings value is always set
Christian Kamm [Wed, 21 Nov 2018 11:26:59 +0000 (12:26 +0100)]
vfs: ensure backwards-compatible settings value is always set

5 years agovfs: Ensure SyncOptions::_vfs is never null
Christian Kamm [Wed, 21 Nov 2018 11:23:08 +0000 (12:23 +0100)]
vfs: Ensure SyncOptions::_vfs is never null

- Create a VfsOff derived class
- Make it a shared pointer shared with Folder::_vfs

5 years agovfs: Switch order of deletion and journal removal in dehydration
Christian Kamm [Thu, 15 Nov 2018 09:26:48 +0000 (10:26 +0100)]
vfs: Switch order of deletion and journal removal in dehydration

To be more crash-resilient.

5 years agovfs: Update outdated comment
Christian Kamm [Thu, 15 Nov 2018 09:16:25 +0000 (10:16 +0100)]
vfs: Update outdated comment

5 years agovfs: Ensure local discovery is done on dehydration request
Christian Kamm [Thu, 15 Nov 2018 09:14:26 +0000 (10:14 +0100)]
vfs: Ensure local discovery is done on dehydration request

5 years agoFolder settings: Keep "usePlaceholders" to be backwards compatible
Christian Kamm [Thu, 15 Nov 2018 08:51:11 +0000 (09:51 +0100)]
Folder settings: Keep "usePlaceholders" to be backwards compatible

5 years agovfs: Be more careful about Vfs instance ownership
Christian Kamm [Thu, 15 Nov 2018 08:45:14 +0000 (09:45 +0100)]
vfs: Be more careful about Vfs instance ownership

5 years agovfs: Remove VfsSuffixPrivate
Christian Kamm [Thu, 15 Nov 2018 08:30:27 +0000 (09:30 +0100)]
vfs: Remove VfsSuffixPrivate

5 years agovfs: Document ignored return value.
Christian Kamm [Thu, 15 Nov 2018 08:27:35 +0000 (09:27 +0100)]
vfs: Document ignored return value.

5 years agoPlugin: Drop PluginLoader
Christian Kamm [Thu, 15 Nov 2018 08:24:24 +0000 (09:24 +0100)]
Plugin: Drop PluginLoader

5 years agoPlugin: style fixes
Christian Kamm [Thu, 15 Nov 2018 08:07:08 +0000 (09:07 +0100)]
Plugin: style fixes

5 years agoChecksums: Make file ownership more explicit
Christian Kamm [Thu, 15 Nov 2018 08:06:23 +0000 (09:06 +0100)]
Checksums: Make file ownership more explicit

5 years agovfs: Improve modeFromString() signature
Christian Kamm [Thu, 15 Nov 2018 08:01:46 +0000 (09:01 +0100)]
vfs: Improve modeFromString() signature

5 years agoGeneralize Result<> class, add Optional<>
Christian Kamm [Thu, 15 Nov 2018 07:32:17 +0000 (08:32 +0100)]
Generalize Result<> class, add Optional<>

To make it nicer to use outside of HTTP results.

5 years agovfs: Add API docs
Christian Kamm [Thu, 15 Nov 2018 07:16:16 +0000 (08:16 +0100)]
vfs: Add API docs

5 years agoRemove unused include directories
Dominik Schmidt [Wed, 14 Nov 2018 11:12:14 +0000 (12:12 +0100)]
Remove unused include directories

5 years agovfs: Fix dealing with missing vfs instance
Christian Kamm [Wed, 14 Nov 2018 09:44:34 +0000 (10:44 +0100)]
vfs: Fix dealing with missing vfs instance

Maybe there should just be a VfsOff instance to make this less error
prone.

5 years agoFix export of vfs functions
Dominik Schmidt [Tue, 13 Nov 2018 23:11:02 +0000 (15:11 -0800)]
Fix export of vfs functions

5 years agoCleanup CMake (output)
Dominik Schmidt [Tue, 13 Nov 2018 20:01:23 +0000 (12:01 -0800)]
Cleanup CMake (output)

5 years agovfs: Add check for presence of win plugin
Christian Kamm [Tue, 13 Nov 2018 14:30:59 +0000 (15:30 +0100)]
vfs: Add check for presence of win plugin

5 years agovfs: Make switching vfs on/off work again
Christian Kamm [Tue, 13 Nov 2018 12:31:39 +0000 (13:31 +0100)]
vfs: Make switching vfs on/off work again

5 years agovfs: Fix plugin decision in wizards, sanitize loading
Christian Kamm [Tue, 13 Nov 2018 10:46:26 +0000 (11:46 +0100)]
vfs: Fix plugin decision in wizards, sanitize loading

5 years agovfs: Reenable local metadata updating of vfs files
Christian Kamm [Mon, 12 Nov 2018 11:24:08 +0000 (12:24 +0100)]
vfs: Reenable local metadata updating of vfs files

5 years agovfs: Make some behaviors suffix-vfs specific
Christian Kamm [Mon, 12 Nov 2018 11:23:49 +0000 (12:23 +0100)]
vfs: Make some behaviors suffix-vfs specific

5 years agovfs: Allow remote renames to propagate as such
Christian Kamm [Mon, 12 Nov 2018 11:23:22 +0000 (12:23 +0100)]
vfs: Allow remote renames to propagate as such

5 years agovfs: Allow folders without vfs
Christian Kamm [Mon, 12 Nov 2018 10:31:15 +0000 (11:31 +0100)]
vfs: Allow folders without vfs

5 years agoFix big-folder detection when vfs is disabled
Christian Kamm [Mon, 12 Nov 2018 10:27:09 +0000 (11:27 +0100)]
Fix big-folder detection when vfs is disabled

5 years agovfs: Implement dehydration tagging
Christian Kamm [Sat, 10 Nov 2018 12:30:15 +0000 (13:30 +0100)]
vfs: Implement dehydration tagging

5 years agovfs: Fix suffix detection and handling
Christian Kamm [Fri, 9 Nov 2018 17:24:37 +0000 (18:24 +0100)]
vfs: Fix suffix detection and handling

5 years agowinvfs: Better error reporting
Christian Kamm [Fri, 9 Nov 2018 11:17:24 +0000 (12:17 +0100)]
winvfs: Better error reporting

- fix download and validation error reporting
- add tests

5 years agoFixes after rebase to master
Christian Kamm [Wed, 7 Nov 2018 11:36:29 +0000 (12:36 +0100)]
Fixes after rebase to master

- use vfs suffix in ProcessDirectoryJob
- fix include vfs.h
- fix local vio passing vfs
- fix checksum computation
- vfs mode use
- mingw lambda compile issue

5 years agowinvfs: initial work
Christian Kamm [Wed, 15 Aug 2018 08:46:16 +0000 (10:46 +0200)]
winvfs: initial work

Done by ckamm and dschmidt

5 years agoFolderMan: Remove assumption of unique running sync
Christian Kamm [Thu, 26 Nov 2020 16:19:20 +0000 (17:19 +0100)]
FolderMan: Remove assumption of unique running sync

5 years agoChecksums: Work on QIODevice*s
Christian Kamm [Thu, 26 Nov 2020 16:12:11 +0000 (17:12 +0100)]
Checksums: Work on QIODevice*s

Needed for cfapi where we want to feed data through a custom device
which retrieves data from the windows api.

5 years agoIgnoreListEditor: increase a bit the size
Olivier Goffart [Thu, 29 Nov 2018 11:10:59 +0000 (12:10 +0100)]
IgnoreListEditor: increase a bit the size

Should Help for issue #6641

5 years agoAccount: Fix crash when deleting an account
Olivier Goffart [Thu, 22 Nov 2018 07:46:33 +0000 (08:46 +0100)]
Account: Fix crash when deleting an account

We should not have request parented to the account, otherwise we might get
a loop on the deletion order.

Issue #6893

5 years agoLockWatcher: Add chrono header
Christian Kamm [Mon, 12 Nov 2018 12:47:28 +0000 (13:47 +0100)]
LockWatcher: Add chrono header

5 years agocjhash: Fix build fix
Christian Kamm [Mon, 12 Nov 2018 12:45:56 +0000 (13:45 +0100)]
cjhash: Fix build fix

See 17a4055e8d658f24b1fc47c44fd2daf66c7d5dbf

5 years agocjhash: use Q_FALLTHROUGH
Olivier Goffart [Fri, 9 Nov 2018 15:43:35 +0000 (16:43 +0100)]
cjhash: use Q_FALLTHROUGH

This fixes the warning
   warning: unknown option after â€˜#pragma GCC diagnostic’ kind [-Wpragmas]

Issue #6872

5 years agoExcludes: switch all the path handling to QString
Kevin Ottens [Thu, 26 Nov 2020 15:55:04 +0000 (16:55 +0100)]
Excludes: switch all the path handling to QString

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
5 years agoCMakeLists.txt: increment sqlite version
Olivier Goffart [Tue, 20 Nov 2018 16:10:46 +0000 (17:10 +0100)]
CMakeLists.txt: increment sqlite version

3.9 is required for custom index to work

5 years agocsync_vio_locale: use QString for the path in opendir
Olivier Goffart [Tue, 6 Nov 2018 14:44:22 +0000 (15:44 +0100)]
csync_vio_locale: use QString for the path in opendir

So we don't have to convert to utf8 and back again

5 years agoRemove csync_misc: The code no longer use fnmatch
Olivier Goffart [Wed, 7 Nov 2018 10:09:41 +0000 (11:09 +0100)]
Remove csync_misc: The code no longer use fnmatch

5 years agoExclude: do everything with QString wiuthout converting to char*
Olivier Goffart [Thu, 26 Nov 2020 15:22:50 +0000 (16:22 +0100)]
Exclude: do everything with QString wiuthout converting to char*

5 years agoProcessDirectoryJob::process: optimize so there is only one map
Olivier Goffart [Tue, 6 Nov 2018 11:16:32 +0000 (12:16 +0100)]
ProcessDirectoryJob::process: optimize so there is only one map

5 years agoPropagateUpload: Avoid many allocations by using QByteArrayLiteral
Olivier Goffart [Tue, 6 Nov 2018 10:46:01 +0000 (11:46 +0100)]
PropagateUpload:  Avoid many allocations by using QByteArrayLiteral

5 years agoOptimisation: Add a cache SyncJournalDb::mapChecksumType
Olivier Goffart [Tue, 6 Nov 2018 09:45:22 +0000 (10:45 +0100)]
Optimisation: Add a cache SyncJournalDb::mapChecksumType

No need to do two sql query for something that's always the same and
there are very few checksum types

5 years agoSync: optimize by removing setFileRecordMetadata
Olivier Goffart [Tue, 6 Nov 2018 09:30:33 +0000 (10:30 +0100)]
Sync: optimize by removing setFileRecordMetadata

Inh most case we already have a record from before, so avoid doing a useless
lookup in the database.
In owncloudpropagator.cpp, directories do not have a checksum so no need
to call a function that preserves it

5 years agoTest System: Optimisations so the benchmark is significant
Olivier Goffart [Tue, 6 Nov 2018 08:48:13 +0000 (09:48 +0100)]
Test System: Optimisations so the benchmark is significant

5 years agoOwnSql: Speedup by avoiding allocating an error string on success
Olivier Goffart [Tue, 6 Nov 2018 08:47:34 +0000 (09:47 +0100)]
OwnSql: Speedup by avoiding allocating an error string on success

5 years agoowncloudcmd: fix compiliation with TOKEN_AUTH_ONLY
Gerhard Gappmeier [Fri, 9 Nov 2018 12:39:50 +0000 (13:39 +0100)]
owncloudcmd: fix compiliation with TOKEN_AUTH_ONLY

5 years agolibsync: Fix build error with TOKEN_AUTH_ONLY
Gerhard Gappmeier [Thu, 8 Nov 2018 17:17:29 +0000 (18:17 +0100)]
libsync: Fix build error with TOKEN_AUTH_ONLY

When enabling TOKEN_AUTH_ONLY, the code path using QPainter is disabled.
So we also don't need the includes.
This header is not available for Remarkable.

5 years agoDisable stack protector features when cross compiling
Gerhard Gappmeier [Thu, 8 Nov 2018 17:15:52 +0000 (18:15 +0100)]
Disable stack protector features when cross compiling

When cross-compiling this for remarkable using the poky toolchain
this results in linker errors with stack protector: libssp_nonshared.a
not found

5 years agoAdd CMake option to disable GUI build
Gerhard Gappmeier [Thu, 8 Nov 2018 17:15:04 +0000 (18:15 +0100)]
Add CMake option to disable GUI build

5 years agoGet DatabaseErrorTest to pass
Kevin Ottens [Thu, 26 Nov 2020 18:08:17 +0000 (19:08 +0100)]
Get DatabaseErrorTest to pass

The E2EE code path would get the engine to go wrong in case of db error.
It's just better to have a failing upload or failing mkdir later in those
cases.

Emitting signals from a ctor is a bad idea anyway

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
5 years agoTest that the sync behave well if there are errors while reading the database
Olivier Goffart [Thu, 26 Nov 2020 14:27:03 +0000 (15:27 +0100)]
Test that the sync behave well if there are errors while reading the database

5 years agoDiscovery: fix double emission of finished in case of error
Olivier Goffart [Mon, 5 Nov 2018 12:25:31 +0000 (13:25 +0100)]
Discovery: fix double emission of finished in case of error

5 years agoDiscovery: Fix downloading files when database is used for local discovery
Olivier Goffart [Wed, 7 Nov 2018 09:49:33 +0000 (10:49 +0100)]
Discovery: Fix downloading files when database is used for local discovery

This also fix the currently failling LockedFilesTest

5 years agoRemove csync.cpp: It's only dead code
Olivier Goffart [Wed, 7 Nov 2018 09:32:27 +0000 (10:32 +0100)]
Remove csync.cpp: It's only dead code

5 years agoAdd Ctrl-L as log window shortcut
Christian Kamm [Tue, 6 Nov 2018 09:59:28 +0000 (10:59 +0100)]
Add Ctrl-L as log window shortcut

F12 is taken on OSX and there's no other way of showing it.

5 years agoTest: Add test for locked file tracking and propagation
Christian Kamm [Mon, 5 Nov 2018 11:12:49 +0000 (12:12 +0100)]
Test: Add test for locked file tracking and propagation

5 years agoFolder: Treat file unlock similar to external change #6822
Christian Kamm [Thu, 1 Nov 2018 11:25:12 +0000 (12:25 +0100)]
Folder: Treat file unlock similar to external change #6822

For consistent handling of incoming notifications.

5 years agoPropagator: Add assert against duplicate done() calls
Christian Kamm [Mon, 8 Oct 2018 10:36:43 +0000 (12:36 +0200)]
Propagator: Add assert against duplicate done() calls