Commit Graph

2716 Commits

Author SHA1 Message Date
Dries Mys
9256417612 Create placeholder while dehydrating if needed
When replacing an OnlineOnly file by another one, the file maintains it
OnlineOnly pin state, but it is converted to a regular file. So, the
dehydration should convert the regular file to a (dehydrated)
placeholder instead of trying to update the (non-existing) placeholder.

Closes #4274

Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-20 15:07:46 +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
e9aa97682c Remove warning when querying pin state on non-placeholder file
F.ex. Folder::slotWatchedPathChanged calls this function on non-
placeholder files to check if the ignored file is already assigned an
Excluded pin state. Note that it is allowed to set the pin state to
Excluded on non-placeholder files.

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
alex-z
71f1d1aad4 Added new state and new job to check if /index.php/204 is being redirected.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-07-17 11:31:15 +02:00
Matthieu Gallien
bc28bc43c3 set read only/read file on the newly downloaded file
will fix behavior on windows by properly setting the new temp file just
downloaded have the proper state (read only or read/write) and not the
already existing file that will be replaced by the newly odwnloaded one

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-07-12 13:42:34 +02:00
Matthieu Gallien
845c66666e fix failing tests by using FileSystem::setFileReadOnlyWeak
we try to preserve complex existing permissions unless the client is
required to change them significantly

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-07-12 13:42:31 +02:00
Matthieu Gallien
0039ffd7da always propagate locked status to read-only or read/write for real file
make sure that a file locked that would not be modifiable by the
current client is read-only on storage

also make sure we make a file read/write when modification can happen
again

Close #5537

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-07-12 13:41:46 +02:00
Matthieu Gallien
8cd1a30c40 fix bulk upload of empty files
force an empty body when we bulk upload empty files

force a "valid" checksum to be computed for empty files as bulk upload
server side expects a checksum even for empty files

Close #5824

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-07-10 10:38:39 +02:00
Matthieu Gallien
10cac0f46f fix review comments
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
0b3d67437a improve logs of e2ee such that errors are easy to see
removed some internal debug logs that should not be needed

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
1712f98b3c make sure to pass shared pointer by const ref when possible
avoid unnecessary copies of shared pointers

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
af1162804a make sure we clean only what is needed if e2ee is disabled
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
b9761a23fe tidy code
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
ad34de1622 make sure e2ee init is either fully done or not at all
make sure that we have only two cases:
1) keys are stored on the server and the client
2) keys are stored on the server and not yet on the client

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
bef5d1a893 if keys are not on server, also delete local keys
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
c8e5ac7b5f fix upload of private key when initializing the end-to-end encryption
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
3a0e0f2097 can now generate the CSR again if the first try to upload failed
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
50234c5859 try to resend the public key if it is not on server but on local storage
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
d3b583d967 improvement to be able to retry the e2ee init steps
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
17484cd69f finish local save of keys and upload them to server
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
1b7c16e8ff solve memory mismanagement of object life time
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
1cb632234c e2ee init rework
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
15f3e2acae backup private key early
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 15:32:03 +02:00
Matthieu Gallien
033a37e7d1 remove wrong code
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-28 11:21:50 +02:00
Matthieu Gallien
0e002f35f4 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-28 11:21:50 +02:00
Dimitri Papadopoulos
fa96e0d31a Fix typos found by codespell
These change actual variable names.

Signed-off-by: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com>
2023-06-21 08:47:13 +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
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
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
dddbe9193d
rotate logs based on the lines count instead of teh file size
will omit querying teh file size repeatedly (and not cost free)

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:57:00 +02:00
Matthieu Gallien
bfaa59e6ca
less info logs during discovery
those log lines mostly duplicate info we already have at info level

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:57:00 +02:00
Matthieu Gallien
8c842ca0fa
enable "Processing" log lines again but with some removed data
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:57:00 +02:00
Matthieu Gallien
516649334f
by default hide most discovery log traces
will make the logs much less usefull by default

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:54:03 +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
8bd69ad941
fully hide some logs from release builds
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-12 17:54:03 +02:00
Matthieu Gallien
360fd93397 rotate the logs less often (around every 3 MB of compressed logs)
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-09 16:24:20 +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
Matthieu Gallien
6b18fd9d69
declare ErrorCategory enum class and declare its metatype
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-07 12:48:20 +02:00
Matthieu Gallien
5a86446f91
do not log twice in debug mode
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-06 16:32:19 +02:00
Matthieu Gallien
a34bac35b7
rotate log files every 3 MBs
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-06 16:32:18 +02:00
Matthieu Gallien
b28e635368
by default disable debug log level
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-06 16:32:15 +02:00
Matthieu Gallien
47a7a267ea
fix build on windows by adding missing archive name properties on libs
the archive output name is used on windows but was never set for 2
libraries

with this they will have a proper name matching other components of the
shared library

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-05-31 15:45:09 +02:00
allexzander
79c0fdc9f6
Merge pull request #5686 from nextcloud/bugfix/edit-locally-allow-opening-item-in-root
Allow opening a file or folder in the local sync root.
2023-05-16 13:33:33 +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
Claudio Cambra
045541d323 Implement support for system tags in propfindjob
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>

fix
2023-05-16 18:23:33 +08:00
Claudio Cambra
bfb720fc35 Extract propfind tag xml node processing into separate method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
29c17132e9 Properly parse tags in propfind request
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00
Claudio Cambra
b5cc4b41ce Extract propfind result data processing into separate method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-16 18:23:33 +08:00