Commit Graph

275 Commits

Author SHA1 Message Date
Matthieu Gallien
14be21cef2 fix(propagation): ensure we run file removal propagation steps
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-04-28 11:45:54 +02:00
Matthieu Gallien
47163dedac fix(propagation): more logs on folder deletions propagation step
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-04-28 11:45:54 +02:00
Matthieu Gallien
dba9c6d9c4 fix(propagation): ensure we delete pending folders before terminating
we might forget to run the pending folder deletions when terminating
synchronization

ensure we check if any of them are to be done

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-04-28 11:45:54 +02:00
Matthieu Gallien
4ef159c734 fix(assert): remove runtime assert that could crash production builds
use debug only assert to remove the possibility that we self inflict
crashes on users

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-04-25 17:19:05 +02:00
Matthieu Gallien
690f751ff5
disable use of bulk upload for small files
this feature causes many issues with impact on users so we prefer to
disable it again

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-04-10 16:10:20 +02:00
Matthieu Gallien
3b8af874e7 clean code and logs during bulk upload
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-04-10 14:31:07 +02:00
Matthieu Gallien
a9293fd25b Qt 6.8 requires macSO 12 or higher: no need to compile against older
clean up preprocessor directives for older macOS releases that are not
supported by macOS minimum required release from the Qt 6.8 release we
require

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-04-07 11:48:17 +02:00
Pablo Ariño Muñoz
13a1963284 Changed critical free space to 512MB and free space to 1GB in code and documentation
Signed-off-by: Pablo Ariño Muñoz <progpabarino@gmail.com>
2025-02-27 11:26:54 +08:00
Pablo Ariño Muñoz
c3062b45bd Carried out further fixes, changing types to auto and adding const
Signed-off-by: Pablo Ariño Muñoz <progpabarino@gmail.com>
2025-02-25 11:54:54 +08:00
Pablo Ariño Muñoz
71e4de1503 Added more std::as_const and replaced types for auto, as well as other suggestions
Signed-off-by: Pablo Ariño Muñoz <progpabarino@gmail.com>
2025-02-25 11:54:54 +08:00
Pablo Ariño Muñoz
bf74e15896 Replaced qAsConst with std::as_const
Signed-off-by: Pablo Ariño Muñoz <progpabarino@gmail.com>
2025-02-25 11:54:54 +08:00
Pablo Ariño Muñoz
44f9aacda8 removed redundant qAsConst
Signed-off-by: Pablo Ariño Muñoz <progpabarino@gmail.com>
2025-02-25 11:54:54 +08:00
Pablo Ariño Muñoz
fc28fe95bb Replaced foreach with range loops
Signed-off-by: Pablo Ariño Muñoz <progpabarino@gmail.com>
2025-02-25 11:54:54 +08:00
Camila
6107e9f476 Change bulk upload batch size when there is a sync error.
- Cancel sync after try with smaller bulk upload batch size also throws error.
- Continue syncing when there is no error.
- Remove file from bulk upload black list only when upload succeeded.

Signed-off-by: Camila <hello@camila.codes>
2025-02-20 11:36:36 +01:00
Matthieu Gallien
2a52ec33b0 add support to use PKCS#11 harware token to store certifice for e2ee
Close #5685

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-02-07 09:12:29 +01:00
Matthieu Gallien
b2b5fb793c ensure no crash due to uncatched exception from std c++ lib
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2025-01-02 10:20:27 +01:00
Claudio Cambra
7d9077c9a9 Use unique_ptr over scoped pointer
take is deprecated in scoped pointer

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

f handle

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

Use unique_ptr instead of scoped pointer for propagator firstJob

Fixes deprecation warning

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

Use unique_ptr for discoveryphase, replace take with release

Fix deprecation warn

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

f unique

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-12-20 16:26:57 +01:00
Claudio Cambra
1009fed86a Replace all uses of qAsConst with std::as_const
Fixes deprecation warnings on Qt 6.8.0

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-12-20 16:26:57 +01:00
Valdnet
548326f489
l10n: Change to a capital letter
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2024-12-04 13:58:23 +01:00
Matthieu Gallien
1417e8cb60 better logs and factor common code in folder permissions handling
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-11-21 12:06:57 +01:00
Matthieu Gallien
5b2af166d3 ensure no any user writable permissions in Nextcloud sync folder
past versions may have wrongly set the write permissions for other users
(UNIX style permissions)

remove this under the hypothesis that newly created files or folders
gets more restrictive permissions and that past files or folders should
be updated to get the same permissions

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-11-21 12:06:57 +01:00
Matthieu Gallien
4923873ac8 ensure folder permissions are read-only when needed
a folder item must be set read-only if files or sub-folders cannot be
created

a folder item must be set read-write in all other situations

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-11-21 12:06:57 +01:00
Matthieu Gallien
d4f28b2a51 remove not so usefull log output
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-10 14:36:51 +02:00
Matthieu Gallien
8ecf0e9faa
remove internal logs in propagation scheduler: not usefull
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-07 09:46:31 +02:00
alex-z
f70d1c1079
Support Windows .lnk files with VFS Cf API.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-07-10 10:29:21 +02:00
Matthieu Gallien
284823d147
maintain e2ee state even if the server does not support e2ee
might be that the server previously supported e2ee and e2ee folders
exist

so we have to fetch the info to properly handle it on client

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-06-26 14:47:17 +02:00
Matthieu Gallien
1f0279e1c1 remove usage of QStringRef due to it being missing in Qt6
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-26 09:05:12 +02:00
Matthieu Gallien
1522d01d5b if a virtual file change but bothing changed: set it as in sync
some software (at least outlook native software) may fiddle with CfApi
placeholder metadta and set a .msg file to be out of sync state when
opening it

in that case, we will let the sync engine go over it and decide what to
do

it is then possible in that case that we would just put it back in "in
sync" state

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-04-23 18:04:35 +02:00
alex-z
57f6c7cda2 Also support nested folder scenarios.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-04-23 12:18:12 +02:00
alex-z
d2bfb59d6a Bugfix. Folder invalid char conflict. Do not update parent folder record if it contains conflicted subfolders.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-04-23 12:18:12 +02:00
alex-z
d240ed9d50 Bugfix. Folder case clash conflict. Do not update parent folder record if it contains conflicted subfolers. Also fix crash with local rename.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-04-23 12:18:12 +02:00
Claudio Cambra
42504d0a0f Wrap all use of std::filesystem in ifdefs to fix legacy build for <macOS 10.15
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-03-28 19:11:57 +08:00
Matthieu Gallien
4844f326c1 newly created folders will be read-only when needed
Close #6296

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-03-12 23:30:02 +01:00
Matthieu Gallien
e607e9d1fb always store newly created folders in DB even if it is missing
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-03-12 08:45:06 +01:00
alex-z
c0e0b53ee5 Bugfix. E2EE V2. Fix incorrect root e2ee folder path search in local db.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2024-02-28 15:37:50 +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
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
c30e526bc8 Report error Virus Detected. Updated tests.
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
bf78f008bd
extend log to get information about mtime modifications by the client
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-12-06 10:42:33 +01:00
Matthieu Gallien
b77fc9d4ff
avoid modifying a placeholder (virtual files) when not needed
acoid modifying some metadata of the placeholder when this placeholder
has just been uploaded to the server (will avoid truncating the
timestamps)

Close #6190

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-12-06 10:13:49 +01: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
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
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
bd37b711fe Fix clang compile error.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-06-14 15:01:43 +02:00
allexzander
63470c0e21 Correctly handle errors for unsupported filenames on the server. Allow user to rename those via dialog.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2023-06-14 12:48:56 +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
90e3a37a20 E2EE. Fix freeze on metadata checksum validation.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-05-08 11:29:16 +02:00