Commit Graph

438 Commits

Author SHA1 Message Date
alex-z
c7591f6332 Bugfix. Files lock. Check lock owner type for setting readonly based on server capabilities (NC27/28 compatibility issue).
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-05-09 16:21:46 +02:00
alex-z
47a605c654 Bugfix. Files lock. Fix incorrect readonly state.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-04-24 13:28:22 +02:00
alex-z
dbde9e3a2b Detect office files for locking on new upload. Notify FolderWatcher.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-04-13 15:46:37 +02:00
alex-z
837f9a4913 Bugfix. Exclude list. Fix stuck 'excluded' status in Windows Explorer after removing the exclude pattern.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-03-05 10:40:09 +01:00
alex-z
ccf99125b5 Client Status Reporting. Only report statuses listed on the server.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-02-28 14:47:37 +01:00
alex-z
af612525c4 End-to-End Encryption V2. Implemented sharing between users. Automatic migration from 1.0 to 2.0(only for flat folders). Improved secure filedrop.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-01-29 16:13:25 +01:00
Matthieu Gallien
911120caa0
ensure we do not modify a file that has been just uploaded
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-12-14 14:37:33 +01:00
alex-z
50d168759f Added error reporting for E2EE issues.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-12-11 18:03:57 +01:00
alex-z
8e38739d94 Generate client status report records when errors happen.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-12-11 18:03:57 +01:00
alex-z
5b54b13a97 Iteration. Properly process server reply.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-12-11 18:03:57 +01:00
Matthieu Gallien
f8730b6bfb avoid restore algorithm by setting the data fingerprint from sync DB
avoid single file sync to switch to data fingerprint restore sync mode if
a data fingerprint has been saved in the database but missed during
single file sync

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-11-24 15:20:40 +01:00
Matthieu Gallien
8b0d6dc322 avoid for loops detaching the container when uneeded
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-10-17 09:32:34 +02:00
Matthieu Gallien
a46bc8e8b0 fix mising emit keyword in two places when emitting a signal
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-10-17 09:32:34 +02:00
Matthieu Gallien
15a45a21c1 when sync is completed and data fingerprint changed, update it
in case sync would complete after a data fingerprint change, we should
tolerate some errors

a file being blacklisted for whatever reason should not block the
propagation of data fingerprint

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-10-16 22:00:00 +02:00
Matthieu Gallien
27b807d164 ensure we do not restore unselected folders from selective sync
we should not try to restore files/folders no longer synced because of
selective sync when detecting a data fingerprint change

in case the user deselect a folder from selective sync list, we would do
a local delete

in case the client is also detecting a change of data fingerprint (or is
stuck in restore mode) then instead of applying the new set of selected
folders to sync, it would upload unselected files/folders

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-10-16 22:00:00 +02:00
alex-z
0f7d29bce6 Ignore upload error items and schedule a new sync in case there are removed items that need to be downsynced.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-09-04 10:02:05 +02:00
Matthieu Gallien
a7c163968a update read-only status of virtual files when needed for lock state
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-08-21 12:57:16 +02:00
Claudio Cambra
812e696d53 Set modificationHappened to also depend on file size change
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-07 16:25:19 +08:00
Claudio Cambra
4681d27de5 Ensure file modification time is set if item modtime differs from journal modtime
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-07 16:25:19 +08:00
Claudio Cambra
961033efc1 Only attempt conversion to placeholder on new file if VFS enabled in SyncEngine::slotItemDiscovered
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-07 16:25:19 +08:00
Claudio Cambra
fe829e2693 Only change modification time if any modifications were actually made on downsynced file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-07 16:25:19 +08:00
Claudio Cambra
32145342c8 Unify else and if in SyncEngine::slotItemDiscovered for filesystem setmodtime check
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-07 16:25:19 +08:00
Claudio Cambra
21656cce17
Replace all manual isntancesof adding trailing slash with use of utility method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:42 +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
Dimitri Papadopoulos
9d830e94f9 Fix typos found by codespell
Signed-off-by: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com>
2023-06-21 08:47:13 +02:00
alex-z
e6f003b00b Remove stale caseclash conflicts when one of conflicting files has been removed from server
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-06-15 10:13:22 +02:00
Matthieu Gallien
40b1987287
downgrade some log lines to be less verbose
those log lines can easily be skipped from info level as they are needed
in very rare occasion

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:54:03 +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
90e3a37a20 E2EE. Fix freeze on metadata checksum validation.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-05-08 11:29:16 +02:00
Matthieu Gallien
cbf7ba78ad prevent restoration of files that are not plain old files
would prevent trying to restore pure virtual files

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-08 09:45:09 +01: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
alex-z
bd9eb0c89f Always unlock E2EE folders, even when network failure or crash.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-01-30 16:01:19 +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
f6c4c32b6e Use QFileInfo::exists where we are only creating a QFileInfo to check if file exists, as it is faster
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2022-12-20 09:44:13 +01:00
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