Commit graph

392 commits

Author SHA1 Message Date
Claudio Cambra
2503ded168
Lock files when relevant lock files found by folder watcher
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-01 17:15:45 +02:00
Camila
6f38545e09
Migrate selective sync db list.
- Refactor migration of blacklisted folders.
- Only change selective sync list if needed.

Signed-off-by: Camila <hello@camila.codes>
2023-09-01 15:09:29 +02:00
alex-z
f3db221314 Update Word files VFS placeholders each time they get opened by tracking the 'lock' files
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-09-01 15:04:17 +02:00
Claudio Cambra
2f5c164534 Enforce Chunk V2 API chunk size limits at the sync options level
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-31 15:25:00 +02:00
Claudio Cambra
cbbb4c87b8 Conform to chunk sizing restrictions introduced in Chunking V2
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-31 15:25:00 +02:00
Claudio Cambra
a7fcb846ab
Extract folder now big activity generation into separate method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
cbad4347bd
Extract notifying of existing folder now big to separate static method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
e1f342c320
Declare whitelist and blacklist activity verbs as static constexprs in activitydata, refer to this in usage
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
af45017e94
Do not clear the whitelist on sync success
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
449bac837b
Do not always re-notify user on existing folder now big if this folder already black or white listed
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
2324a60c76
Stop current sync when existing folder becomes big and we have enabled disabling sync of folders that become big
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
1342f81cab
Add config option to stop synchronising existing folders when they grow beyond size
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:15 +08:00
Claudio Cambra
3b208bf838
Move trailingSlashPath convenience function into Utility class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:42 +08:00
Claudio Cambra
a93279bcbf
Default to adding existing now big folders to whitelist when undecided
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
6682b3ade4
Ensure folder whitelist and blacklist helper methods remove path from other lists
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
e2535d6ce8
Prevent double notification of folder now big in activities
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
5f250a5dad
Ensure newly whitelisted or blacklisted paths are removed from undecided list
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
7d1fa16a3f
Add activity for existing folder going over set limit
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:40 +08:00
Claudio Cambra
2bcefd6105
Add methods to Folder so that other classes can easily add folder paths to white/blacklists
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
993ee6cb5b
Remove redundant "optional" gui log functions which relly just call gui log under the hood
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
6f2e63d52f
Create and connect specific signal for existing folder now being discovered to be big
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:37 +08:00
Claudio Cambra
10dd03f50a
Add slot for existing folders becoming big in Folder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:36 +08:00
Claudio Cambra
ac218b000e
Use single convenience method to handle trailing slash in paths for Folder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:36 +08:00
Dries Mys
243fcfedb9 Small coding improvements
Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-26 11:05:50 +02:00
Dries Mys
984d06e82a Convert VFS file to placeholder again if needed
Note that Windows may convert a placeholder file to a regular file when
it is replaced by another file, even if the old and new file (inode,
modified time, file size) are identical.

WIN32_FIND_DATA::dwReserved0 is only initialised in case of
FILE_ATTRIBUTE_REPARSE_POINT is set. This field is not a bit set. Check
corrected to only include all cloud reparse points and not other special
reparse points.

Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-26 11:05:50 +02:00
Dries Mys
55f27cdb96 Small coding improvements
Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-20 13:44:55 +02:00
Dries Mys
76376aa052 Set VFS PinState to Excluded for ignored files.
Setting PinState to Excluded ensures the syncing icon is not shown for ignored items.
If the PinState is not set to Excluded, also all parent directories are shown as being synced, which is very inconvenient for the end user as it seems that some folder are never fully synced by Nextcloud which isn't the case.
As long as .lnk files are not converted to placeholder files, also set them to Excluded to hide the syncing icon.

Closes #5524
Closes #5594

Co-authored-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-20 13:44:55 +02:00
Matthieu Gallien
5372276779 add more metadata to sync errors to allow filtering
in order to be able to filter some errors when showing them into the
main dialog activity list, add some more info about the error to know
the origin (like a network issue or a sync issue)

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-07 17:25:44 +02:00
alex-z
81ecba8daa Allow opening a file or folder in the local sync root.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-05-16 12:33:34 +02:00
alex-z
da6a7d3dac Unlock Office files when they are closed.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-04-25 12:54:37 +02:00
alex-z
a428c17c37 Do not display error status and messages when aborting a sync during hydration request in VFS mode.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-04-06 22:26:35 +02:00
Matthieu Gallien
7c655cf679
use a getter to query encryption status
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:28 +02:00
Matthieu Gallien
079d392d36
move init to default value in class declaration
done via clang-tidy and manual tuning

run-clang-tidy -p build -header-filter='.*' -config="{Checks: '*', CheckOptions: [{key: UseAssignment, value: true}]}" -checks='-*,modernize-use-default-member-init' -fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-06 10:43:05 +01:00
Matthieu Gallien
602b8db5e2
handle case clash conflicts in a similar way to content conflicts
introduce a new type of conflict for case clash filename conflicts

add proper handling including a new utility class to solve them and a
new dialog for the user to pick a fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-01-25 16:37:35 +01:00
Claudio Cambra
3e00df4732
Don't shadow rec variable in removeLocalE2eFiles
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:16 +01:00
Claudio Cambra
95aa3ee53b
Make encrypted folder paths to delete non-relative when checking if they are encrypted
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:16 +01:00
Claudio Cambra
4c1a9f787a
Ensure blacklists get updated when removing folder sync
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:16 +01:00
Claudio Cambra
d93fc8eb3d
Don't use foreach in Folder::removeLocalE2eFiles
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:15 +01:00
alex-z
ad258473c4
Fix issue of e2ee folders not disappearing when disabling the e2e. Properly process blacklisted e2ee folders instead of ignoring them.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-01-24 17:00:15 +01:00
Claudio Cambra
efcd23eb06
Ensure blacklisted e2ee files get deleted
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:15 +01:00
Claudio Cambra
b333310ffe
Clean up sync termination and restart procedure after file blacklisting done
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:15 +01:00
Claudio Cambra
fdaedc4914
Only add root-most encrypted folder to the blacklist
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:15 +01:00
Claudio Cambra
7d208ec06e
Make sure to add e2ee files to normal blacklist too
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:15 +01:00
Claudio Cambra
093810f6b9
Only shedule affected paths for remote discovery after disabling e2ee
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:15 +01:00
Claudio Cambra
1fc1e95161
Use e2ee folder blacklist instead of deleting folders directly
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:15 +01:00
Claudio Cambra
12b2673ac2
Add test for deleting encrypted files
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:15 +01:00
Claudio Cambra
b57b35e7a4
Delete E2EE files/folders for accounts that have had E2EE disabled
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-24 17:00:14 +01:00
Claudio Cambra
b0d048b0b8 Fix conflicting definitions in anonymous namespace in Unity build
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-12-15 16:58:00 +01:00
Matthieu Gallien
a8025dc06a use .nextcloudsync.log to perform file monitoring test at start
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-12-15 11:11:20 +01:00
alex-z
f7ef2e5f44 Silence sync termination errors when running EditLocallyJob.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-12-12 17:39:48 +01:00