Christian Kamm
83a818678f
PinStates cleanup
...
- SyncJournalDB functions now behind internalPinStates() to avoid
accidental usage, when nearly everyone should go through Vfs.
- Rename Vfs::getPinState() to Vfs::pinState()
2020-12-15 10:58:39 +01:00
Christian Kamm
0eb4065197
Folder: Add remoteFolderTrailingSlash()
...
There were cases where the "/" exception wasn't handled correctly
and there'd be extra slashes in generated paths.
2020-12-15 10:58:39 +01:00
Christian Kamm
41f1ddb5fc
Vfs: Call unregisterFolder() when folder is removed
2020-12-15 10:58:39 +01:00
Christian Kamm
7f400e3226
Pin state updates
...
- unspecified and inherited are different
- move enum to header in common/
- access through Vfs instead of directly in Journal
2020-12-15 10:58:38 +01:00
Christian Kamm
e2eea24a03
Vfs: Send SyncFileStatusTracker data to vfs plugins
2020-12-15 10:58:37 +01:00
Christian Kamm
5728256763
Folder: Add selective sync / ui related flags
...
supportsSelectiveSync(): clearer than !supportsVirtualFiles() and allows
extra logic
isVfsOnOffSwitchPending(): Somewhat awkward way of dealing with the
phase between a user requesting vfs state to be switched and it
actually happening
2020-12-15 10:58:34 +01:00
Christian Kamm
22255e4976
vfs: Add vfs migration options to folder context menu
...
This allows enabling and disabling vfs.
To distinguish this operation from setting the root pin state, the
availability setting is adjusted as well to be similar to the
menu that shows in the shell extensions.
2020-12-15 10:58:33 +01:00
Christian Kamm
4df101ed84
vfs: Allow (de-)hydrating the full sync folder
2020-12-15 10:58:33 +01:00
Christian Kamm
47e21bfc60
vfs: Don't assume suffix mode for old folders
...
That would break with old folders that use selective sync.
2020-12-15 10:58:33 +01:00
Markus Goetz
4fcad0d8b0
Sync: Display theme in debug log
2020-12-15 10:58:32 +01:00
Christian Kamm
d956f518a8
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.
2020-12-15 10:58:30 +01:00
Christian Kamm
69144566ce
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.
2020-12-15 10:58:28 +01:00
Christian Kamm
75b9976526
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.
2020-12-15 10:58:28 +01:00
Christian Kamm
305d439c41
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
2020-12-15 10:58:27 +01:00
Christian Kamm
cc912f4d02
vfs: ensure backwards-compatible settings value is always set
2020-12-15 10:58:26 +01:00
Christian Kamm
b30f79edf6
vfs: Ensure SyncOptions::_vfs is never null
...
- Create a VfsOff derived class
- Make it a shared pointer shared with Folder::_vfs
2020-12-15 10:58:26 +01:00
Christian Kamm
d7ad7854c1
vfs: Ensure local discovery is done on dehydration request
2020-12-15 10:58:26 +01:00
Christian Kamm
f2b78b5efb
Folder settings: Keep "usePlaceholders" to be backwards compatible
2020-12-15 10:58:25 +01:00
Christian Kamm
fa2450cf11
vfs: Be more careful about Vfs instance ownership
2020-12-15 10:58:25 +01:00
Christian Kamm
9ced8dd836
vfs: Improve modeFromString() signature
2020-12-15 10:58:24 +01:00
Christian Kamm
85dd10eb9b
vfs: Fix dealing with missing vfs instance
...
Maybe there should just be a VfsOff instance to make this less error
prone.
2020-12-15 10:58:24 +01:00
Christian Kamm
4bef96afe7
vfs: Make switching vfs on/off work again
2020-12-15 10:58:23 +01:00
Christian Kamm
fa6f3cd847
vfs: Fix plugin decision in wizards, sanitize loading
2020-12-15 10:58:23 +01:00
Christian Kamm
e0ae6012b1
vfs: Allow folders without vfs
2020-12-15 10:58:22 +01:00
Christian Kamm
2b20985875
winvfs: initial work
...
Done by ckamm and dschmidt
2020-12-15 10:58:21 +01:00
Christian Kamm
c3b1a872aa
FolderMan: Remove assumption of unique running sync
2020-12-15 10:58:21 +01:00
Christian Kamm
7de453d439
Settings: Make FoldersWithPlaceholders group sticky
...
If virtual files are disabled on a folder it might still have db entries
or local virtual files that would confuse older client versions.
2020-12-15 10:58:15 +01:00
Olivier Goffart
94e63ef7b9
Account Settings: Add a context menu entry to enable or disable virtual files
...
Issue #6725
2020-12-15 10:58:12 +01:00
Olivier Goffart
b86e1efc9a
Remove the backup deteciton code which was used for server < 9.1
2020-12-15 10:58:10 +01:00
Olivier Goffart
afed46afcc
New discovery algorithm: Parallel PROPFIND
2020-12-15 10:58:08 +01:00
Olivier Goffart
ca32eb1cf7
More cleanup of csync remains
2020-12-15 10:58:01 +01:00
Olivier Goffart
4ee244190b
Virtual Files: Allow to download a folder recursively from the socket API
...
Issue: #6466
2020-12-15 10:57:54 +01:00
Christian Kamm
87ba4e6b9c
Config: Add version flags to accounts and folders
...
Also, if there is too-new configuration, backup the file, show a
warning message asking the user whether it's ok to discard the
configuration from the future.
See #6504
2020-12-15 10:57:53 +01:00
Christian Kamm
aa6f5f59c4
Rename Placeholders to Virtual Files in code #6531
2020-12-15 10:57:53 +01:00
Christian Kamm
27b65cbc69
Placeholders: Save to key that's invisible to <2.5 clients #6504
2020-12-15 10:57:52 +01:00
Christian Kamm
765c12dae1
LocalDiscoveryTracker: Separate from Folder and move to libsync
...
To allow relevant code to be closer together and for testing in
unittests without having to get a gui Folder.
See #6120
2020-12-15 10:57:51 +01:00
Christian Kamm
7dc65b060d
NSIS: Register placeholder extension
...
Also change the placeholder suffix config option to not include the dot,
the dotless form is needed in the nsis script.
2020-12-15 10:57:50 +01:00
Olivier Goffart
91f53521ae
Placeholder: The extension is now a branding option
2020-12-15 10:57:49 +01:00
Christian Kamm
b1de184bc8
Placeholders: Safe migration to older client versions
...
Now the db entries for placeholders will have the full placeholder
paths. That way older clients will, on remote discovery, delete the
placeholders and download the real files.
2020-12-15 10:57:48 +01:00
Olivier Goffart
1049fb74d9
Placeholders: Move the placeholder option from the account to the folder
2020-12-15 10:57:48 +01:00
Olivier Goffart
6ce7c7a56b
PlaceHolders: Trigger a download of the placeholder and open it
2020-12-15 10:57:48 +01:00
Christian Kamm
e97fc430bf
FolderWatcher: Become unreliable if test notification fails #7241
...
Necessary for some filesystems on windows that don't have full file
watching capabilities.
2020-11-24 16:56:49 +00:00
Christian Kamm
74382ddcc0
FolderWatcher linux: Make automatically recursive #7068
...
Previously it depended on addFolder() / removeFolder() calls to adjust
watchers when new folders were added or removed. There also needed to be
complex move handling.
Now, any folder creation/move-in notifications automatically trigger
watcher additions and folder deletion/move-out triggers removal.
2020-11-24 16:56:49 +00:00
Kevin Ottens
0b731eb516
Revert "moved default db sync file to Qt standard path AppDataLocation"
...
This reverts commit fc6b895f52
.
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-11-10 17:46:43 +00:00
Harald Eilertsen
7721da25e5
Replace find_if with none_of where appropriate.
...
We're not interested in any found element in these cases, just to check
that none of the elements matches.
Signed-off-by: Harald Eilertsen <haraldei@anduin.net>
2020-09-29 19:32:39 +02:00
Harald Eilertsen
061ef027ff
Don't hold ref to value returned from function.
...
Signed-off-by: Harald Eilertsen <haraldei@anduin.net>
2020-09-29 19:32:24 +02:00
Harald Eilertsen
677997b2b3
gui/folder: Replace foreach ( #2219 )
...
Signed-off-by: Harald Eilertsen <haraldei@anduin.net>
2020-09-29 19:31:23 +02:00
asemmar
d5587e386c
fixed bad spelling of word 'retreive' except in sqlite dependancy
...
Signed-off-by: asemmar <anis.semmar@itron.com>
2020-07-06 09:46:14 +02:00
Camila San
3bae570f29
Do not declare local variables without an initial value.
...
Signed-off-by: Camila San <hello@camila.codes>
2020-06-03 07:50:40 +00:00
Dominique Fuchs
9b5bb1365c
Code maintenance - correct some syntax, fix some warnings.
...
Signed-off-by: Dominique Fuchs <32204802+DominiqueFuchs@users.noreply.github.com>
2020-01-18 10:30:34 +01:00