Commit Graph

403 Commits

Author SHA1 Message Date
alex-z
b673ab996e Edit locally job will only sync a specific file by modifying the state of the Sync Engine. All other running syncs will get terminated. Syncing is now optimized to run faster and it checks if the file has changed on the server before syncing it.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-12-06 09:37:03 +01:00
Matthieu Gallien
1af2467e45 update mtime on modified metdata of non virtual files
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-22 15:08:46 +01:00
Matthieu Gallien
b5adbf3ab0 fix instances of: c++11 range-loop might detach Qt container warnings
analyzed via clazy

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-18 16:02:21 +01:00
Matthieu Gallien
37c867bf30
tidy code to fix review comments
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-18 09:11:41 +01:00
Matthieu Gallien
d36b2ee793
improve logging of discovery policy decisions when scanning folders
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-11-17 14:47:00 +01:00
Claudio Cambra
48359408ea Remove unneeded parameter from CleanupPollsJob constructor
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-25 16:00:03 +02:00
Claudio Cambra
421f5e723a Clean up methods in sync engine
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-10-25 11:05:46 +02:00
Claudio Cambra
80d0245acb Unschedule previously scheduled sync runs for locked files if it is found the sync run is no longer needed
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-10-04 11:52:23 +02:00
Claudio Cambra
bbbfe3f1c4 More efficiently schedule sync runs for files that need delayed sync runs
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-10-04 11:52:23 +02:00
Claudio Cambra
fd332a52e2 Fix files not unlocking after lock time expired
Signed-off-by: Claudio Cambra <claudio.cambra@gmail.com>
2022-10-04 11:52:23 +02:00
allexzander
b40c2dfe01 Revert "Remove behavior changes."
This reverts commit 84d06ce9906df7bb6d87bf7093dd11fac6a6057a.

Signed-off-by: allexzander <blackslayer4@gmail.com>
2022-09-17 09:47:15 +02:00
allexzander
d425005a29 Remove behavior changes.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2022-09-17 09:47:15 +02:00
alex-z
e1c4e23d20 Do not ignore return value of SyncJournalDB in syncengine.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-09-17 09:47:15 +02:00
allexzander
7e53280de6 Do not display error message in the activity list when aborgint the sync.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2022-09-07 13:38:10 +03:00
alex-z
1b98733b1a Start sync immediately after modifying the selective sync settings.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-09-07 13:38:09 +03:00
Matthieu Gallien
8551a14c48 ensure SyncEngine use an initialized instance of SyncOptions
will prevent nextcloudcmd command line client from ignoring the settings
handled by SyncOptions

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-08-08 12:36:37 +03:00
alex-z
53654b2a50 Allow manual renaming of files and folders with spaces. Allow uploading invalid file name via the InvalidFileName dialog.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2022-05-16 18:07:26 +03:00
Matthieu Gallien
b8ff1525f7 let error during update of metadata of virtual files propagate to users
errors duing update of metadata of virtual files are being ignored and
not propagated to users to be shonw in main dialog

ensure they are real errors from sync engine point of view and let them
be taken into account

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2022-03-17 23:28:02 +00:00
Matthieu Gallien
c194605c35 implement bulk upload
add PutMultiFileJob to send many files at once

use it in BulkPropagatorJob to implement bulk upload feature

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-11-24 16:17:47 +01:00
Felix Weilbach
650578ee64 Don't convert exclude file to placeholder file
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-11-04 18:18:50 +01:00
Matthieu Gallien
9658aea963 on switch to VFS real plugin, convert existing files to placeholders
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-11-04 15:02:27 +01:00
alex-z
c52718c104 Replace deprecated QRegExp with QRegularExpression.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-11-02 08:54:06 +00:00
Camila
c6e629c30d
Give the user a more descriptive error message when syncing is aborted.
Signed-off-by: Camila <hello@camila.codes>
2021-10-18 09:50:02 +02:00
Felix Weilbach
a663d235ef Add .sync-exclude.lst to exclude files
Previously the .sync-exclude.lst file of the sync root directory was
not added to the exclude files, because the current logic did only
recognize .sync-exclude.lst files when their containing directory was
discovered during the discovery phase. Therefore the sync root
.sync-exclude.lst file was never discovered. See also
ExcludedFiles::traversalPatternMatch().

Fix: #3830, #2728

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-10-14 14:02:29 +00:00
alex-z
6cafcc1124 Remove Temporary solution for file restoration issue due to failing to set the data-fingerprint.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2021-09-30 08:39:47 +00:00
Felix Weilbach
93f590c6de Replace deprecated use of QProcess::execute()
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-09-08 08:54:00 +00:00
Hannah von Reth
4b0122093a Add socket command to upload a selection of files based on a regex
(cherry picked from commit 0ded3a56a9)
2021-08-23 09:44:34 +02:00
Hannah von Reth
5b457a1663 Use byte array for etag 2021-08-23 09:44:33 +02:00
Hannah von Reth
cb57d8e54c Add missing Q_EMIT 2021-08-23 09:40:27 +02:00
allexzander
a3d12a616b Add error message to GUI.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-06-15 14:33:45 +03:00
Felix Weilbach
78f1943d76 Add a key value store to the sync journal
This key value store should help to keep track of important events,
that can not be store in the logs, because the logs are deleted too fast.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-05-19 09:04:43 +02:00
allexzander
bc919bcc8c Temporary solution for file restoration issue due to failing the dataFingerprint on client.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-14 06:42:48 +00:00
allexzander
4d66d209bc Fix incorrect logger output for non-latin strings.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-02-16 09:30:08 +02:00
rakekniven
c3403b83ef Removed blank before colon
Signed-off-by: rakekniven <mark.ziegler@rakekniven.de>
2021-01-25 08:08:13 +00:00
allexzander
4ed7feab2b Implement nested items removal when removing root encrypted folder.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-01-11 21:12:58 +02:00
Hannah von Reth
09cc988026
Fix a possible crash with the remove all files dialog 2020-12-30 16:20:43 +01:00
Hannah von Reth
aadda32633
Handle errors in convertToPlaceholder 2020-12-30 16:17:47 +01:00
Kevin Ottens
c57eff6fd8
Please the clang-tidy overlord
Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-12-15 11:01:53 +01:00
Hannah von Reth
9d9eadba8e
Use time the request was send,..
not when it was processed by the client, to determine the quality of the connection.
2020-12-15 11:01:08 +01:00
Hannah von Reth
440b31986a
Ensure the callback is triggered 2020-12-15 10:59:25 +01:00
Hannah von Reth
f6faba48e2
Don`t block main thread when displaying all files removed dialog
Fixes: #8170
2020-12-15 10:59:25 +01:00
Kevin Ottens
d22046d679
No need to fetch encryption data separately before discovery
This step isn't necessary anymore, no one looks at ClientSideEncryption
for that information anyway.

Signed-off-by: Kevin Ottens <kevin.ottens@nextcloud.com>
2020-12-15 10:59:23 +01:00
Hannah von Reth
93152761a1
Use verbose function names instead of direct member access 2020-12-15 10:59:20 +01:00
Hannah von Reth
4d615c31da
Rename csync_instructions_e -> SyncInsturctions 2020-12-15 10:59:10 +01:00
Olivier Goffart
1c10fceacc
SyncEngine: no need to use QAtomicInt
This was done because the propagator jobs where running in a thread a long
time ago, but this is no longer the case.

(Also QAtomicInt::load is marked as deprecated now)
2020-12-15 10:59:05 +01:00
Olivier Goffart
0e7c56e81c
Don't show the "All files deleted" popup when unselecting everything with selective sync
Issue #7337
2020-12-15 10:59:04 +01:00
Olivier Goffart
66f7b27121
VFS: Do not overwrite existing files by placeholder
For issue #7557 and #7556

Note: this change the API of the VFS plugin, so the VFS plugin needs small
adaptations
2020-12-15 10:59:03 +01:00
Olivier Goffart
115a53134c
SyncEngine: Save a bit of memory by not keeping a set of all filename
This is only used for conflict files, so only save conflict files.
(The _seenFile was used for other things in 2.5, but not anymore)
2020-12-15 10:59:01 +01:00
Markus Goetz
09a0dbbf82
Reconcile: Sort already during discovery #7445 2020-12-15 10:58:59 +01:00
Christian Kamm
28797baa39
Discovery: If a move is forbidden, restore the source
Previously the source was deleted (or attempted to be deleted), even if
the new location was not acceptable for upload. This could make data
unavilable on the server.

For #7410
2020-12-15 10:58:58 +01:00