Commit graph

9563 commits

Author SHA1 Message Date
Claudio Cambra
c9b4419070
Only set linker flags needed for macOS on Apple
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-12-11 11:50:33 +01:00
Camila
3c51c9e1f8
Fix crash on mac OS < 13.
It's caused by the new optimized Xcode 15 linker when linking static libraries.
source: https://crystalidea.com/blog/qt-apps-crash-when-using-xcode-15

Signed-off-by: Camila <hello@camila.codes>
2023-12-11 11:50:33 +01:00
alex-z
9298305093 Feature. Do not allow move of external storage mounted folders.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-12-07 14:10:35 +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
Matthieu Gallien
369296d6ed
fix include order from most specific to less specific
shoudl ensure that included headers are self sufficient

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-12-06 10:08:16 +01:00
Matthieu Gallien
1dcde3a41f maintain lock state if unlock happens during sync
currently unlock can happen during the sync
in that case, it may be possible that the propagator will lose the lock
state changes and override them when updating teh etag after a file has
been uploaded

detect that case and ensure we keep consistent state about files

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-12-05 08:57:17 +01:00
Claudio Cambra
de4645f36b Change logging for sparkle update to qCInfo
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-12-05 08:52:06 +01:00
Matthieu Gallien
68763fa577
add a cmake flag to not build with Qt5 WebEngine
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-12-04 16:29:52 +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
AJ Jordan
5c7fb58919
Don't log notification successes as warnings
Signed-off-by: AJ Jordan <alex@strugee.net>
2023-11-20 23:49:32 -05:00
alex-z
19f7b87809 Fix. Bulk upload. Accumulate sent bytes. Fix negative value in UI.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-11-20 17:02:31 +01:00
alex-z
c2143b0553 Folders. Fix incorrect alias concatenation. Avoids leading zero.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-11-20 16:48:18 +01:00
alex-z
e77b52e708 VFS. Properly set Folders/WithPlaceholders in config when switching modes. Refactoring.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-11-20 16:48:18 +01:00
alkl58
9c6839969c Check path validity on Windows will validate NTFS permissions for network drives.
Signed-off-by: Alkl58 <alkl58@protonmail.com>
2023-11-13 12:00:52 +01:00
alex-z
dd178f032c Fix crash. Remove unnecessary dependency injection causing crash.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-11-09 13:24:10 +01:00
Camila
44e8e4b2e9 Fix crash when clicking on import legacy account dialog 'Skip' button.
- mac OS only: With Qt::WA_DeleteOnClose the dialog was being deleted twice.

Signed-off-by: Camila <hello@camila.codes>
2023-11-07 14:33:48 -03:00
alex-z
406bad8ab4 Enforce virtual file type when it is falsely marked as non-virtual. Added more logs for scenarios when virtual placeholder gets marked as non-virtual.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-10-25 11:28:42 +02:00
alex-z
5f9e04dad3 Do not show failure popul for VFS when hydration finished with code 200 or 204.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-10-24 13:00:22 +02:00
alex-z
bc91eac2e5 Improve Settings dialog design.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-10-23 12:45:24 +02:00
alex-z
727cd797ff Show more informative error message when VFS hydration fails. Display a popup and put an error into activity list. More detailed logs.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-10-20 14:54:42 +02: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
a1e6c562ea remove duplicated signals overriding the same signal in base class
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-10-17 09:32:34 +02:00
Matthieu Gallien
fcd5a86349 signals/slots need to have fully qualified arguments
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-10-17 09:32:34 +02:00
Matthieu Gallien
242135d9d9 remove deprecated openssl 3.0 warnings
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-10-16 22:00:00 +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
Matthieu Gallien
0e4ac85f69 in debug builds, we want immediate log flush and debug output
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-10-16 22:00:00 +02:00
Claudio Cambra
f6140f5b5f Also add destination header to initial chunk folder MKCOL
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-10-16 10:11:00 +02:00
Claudio Cambra
2b9b182204 Move destination header build to own method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-10-16 10:11:00 +02:00
Claudio Cambra
a29af562de Provide full url for chunked upload destination header
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-10-16 10:11:00 +02:00
Claudio Cambra
105834c82b Add utility method to remove leading slashes from paths
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-10-16 10:11:00 +02:00
alex-z
37b22c021c Use material icon for folders.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-10-06 10:18:31 +02:00
alex-z
623fe40c36 Unhide discovery logs for file deleted on the server and for discovered file.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-10-05 10:48:06 +02:00
Claudio Cambra
8fbd6ef790 Prevent empty password being passed into share creation
We already generate a new password when the share password dialog is
created, so there is really no need to clear the field when it closes.
This prevents the field being cleared before the password is sent into
the C++ code, leading to no password actually being sent to the server

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-10-04 18:58:38 +08:00
Matthieu Gallien
d517cbfd68 fix build by making unique_ptr not const if we std::move it
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-09-26 15:40:38 +02:00
Camila
d6eb5c5c7c Address PR comments.
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
Camila
a23b9f1280 User "1" instead of "one" in thelegacy import dialogs.
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
Camila
6a170bf394 Application function and var renames and clean up setupConfigFile function.
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
Camila
0a5c147e2d Rename FolderMan::setupFolderFromOldConfigFile => FolderMan::setupLegacyFolder
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
Camila
b9fd13695c Fix QMessageBox 'skip' button functionality for importing legacy account.
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
Camila
67e9998269 Clean up code, fix comments, remove not needed function...
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
Camila
0db5e78d6f Improve text and buttons of notification dialogs used during legacy import.
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
Camila
8f9f7bd3a7 Update folder version.
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
Camila
6f1e1612b1 Only show message with migration status in the end of the process.
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
Camila
f9e4029404 Move config creation and restoring of account to new function.
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
Camila
23d0bfabeb Move restore legacy account logic to a function.
Signed-off-by: Camila <hello@camila.codes>
2023-09-26 14:03:37 +02:00
alex-z
fde7933585 Optimize CaseConflictRecords search in local DB during the sync.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-09-25 10:37:10 +02:00
alex-z
1e9fa0a132 Activity list fixes and improvements. Adjusted sorting to show interactive and security activities always on top (after errors). Added button to scroll up when new activity arrives. Improved sync status scrollbar.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-09-22 15:28:50 +02:00
Claudio Cambra
a045dd71ae
Fix Chunk v2 upload headers
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-22 16:45:20 +08:00
Claudio Cambra
6cf04d660b Remove OAuth authentication method as it is now unused
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-19 14:58:17 +08:00
Claudio Cambra
00f464ca92 Fix files being skipped in coalesced path traersal in mac folder watcher
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-18 11:35:05 +08:00
Claudio Cambra
2488fd6460 Make sure to respond to cloned item event flags in mac folder watcher
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-18 11:35:05 +08:00
Claudio Cambra
e9c4bdcfe9 Ensure that full rescan flags in macOS folder watcher reply are properly responded to
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-18 11:35:05 +08:00
Dimitri Papadopoulos
8a73a9a6f5 Fix new typos found by codespell
Signed-off-by: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com>
2023-09-17 10:41:38 +02:00
Dimitri Papadopoulos
09521edbac Fix residual typos found by codespell
Signed-off-by: Dimitri Papadopoulos <3234522+DimitriPapadopoulos@users.noreply.github.com>
2023-09-16 20:36:56 +02:00
Claudio Cambra
e6676ac0f0 Move warning yellow palette generation for warn labels to anonymous namespace function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-16 19:29:55 +02:00
Claudio Cambra
8312cda0e4 Constexprify yellow warning colours in FolderWizard
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-16 19:29:55 +02:00
Claudio Cambra
3dd48e21f7 Also provide remote path folder wizard page with correct warn colour
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-16 19:29:55 +02:00
Claudio Cambra
b32c69584b Ensure background colour for warn label in folder wizard is the correct colour
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-16 19:29:55 +02:00
Claudio Cambra
6ef73e24d7 [FileProvider] Add missing AccountState State case for notifying account state to extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-16 15:02:36 +02:00
Matthieu Gallien
a17b3608d9
do not check every 5 seconds files with infinite timeout (= 0)
we want to schedule a new sync attempt if a file is likely to have been
unlocked due to timeout expiring on server

but if the timeout is null (equal to 0), there will be no timeout on
server and no automated unlocking, so do not schedule a sync every 5
seconds to check for it

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-09-14 18:33:24 +02:00
alex-z
cc99b0ae45 Remove unused function 'revertPlaceholder'.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-09-14 16:00:14 +02:00
alex-z
3831d8b462 Do not attempt to convert .lnk files to placeholder. Also do not modify folders' metadata.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-09-14 16:00:14 +02:00
Matthieu Gallien
a3303bc70b once we call done on a sync file item, return is needed
will avoid calling done method multiple times on a signle file item
causing a crash via ENFORCE function

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-09-14 11:58:00 +02:00
Claudio Cambra
7b27423a8a Remove unused shareuserline ui component
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 21:35:19 +08:00
Camila
a7cb8d2ca2 Migrate all legacy folders for each legacy account.
Also cleans up FolderMan::setupFolderFromOldConfigFile logic.

Signed-off-by: Camila <hello@camila.codes>
2023-09-13 07:18:17 -03:00
Camila
5e1d2a7dac Migrates all legacy accounts.
Signed-off-by: Camila <hello@camila.codes>
2023-09-13 07:18:17 -03:00
Claudio Cambra
97301e3a55 Use a standardised locale to create log file filenames, fixing issues with certain locales
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 17:16:56 +08:00
Claudio Cambra
774918c5d1 More stringently check for min and max date validity in date field backend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
97e7ec34bc Do not present NCInputDateField backend as public property
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
a4767a108b Add simple test for basic. default date properties of DateFieldBackend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
bbbab0159e Ensure qdatetimes are UTC in datefieldbackend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
32cea091b8 Ensure leading zero dates are also correctly parsed
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
19f8d80042 Add date field input method hint
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
bbf920d5b0 Do not use QDateTime, use only QDate for datefieldbackend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
ce059ed5c0 Give each property unique signals, fixing QML bugs
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
7ad97cf9e8 Customise locale default date format to ensure we eliminate issues parsing two-digit year strings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
d2900bad11 Use NCInputDateField in ShareDetailsPage
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
56b87c72c1 Vastly simplify NCInputDateField by using the DateFieldBackend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
460d3dc686 Register DateFieldBackend in QML engine
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
1f8ecf416c Add validDateTime property to datefieldbackend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
7e26bbd5f0 Add maximum date properties to datefieldbackend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
858aa9fb9b Add minimum date properties to datefieldbackend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
d4f8b4f3bc Add strig based representation and setting for date in datefieldbackend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
eb66f51a92 Add datetime msecs property to datefieldbackend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
3717558cf0 Add dateTime property to datefieldbackend
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
d6b2829dd9 Add starter datefieldbackend class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
ea93ca02c0 Stop reducing date numbers
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
27e560d232 Extract date field into a separate file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
Claudio Cambra
265396eba0 Eliminate wrapper SpinBox for expire date field
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-13 10:15:14 +02:00
alex-z
a7fdf14196 Display correct conflict part in multiple conflicts resolution dialog.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-09-12 09:04:21 +02:00
Claudio Cambra
3abbeefe62 Fix visual bug with folder size confirmation combo box in general settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-11 18:36:31 +02:00
alex-z
c6978be904 Store the new etag into local database when opening with auto-locking/manual locking the file locally.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-09-07 17:43:43 +02:00
Claudio Cambra
72c8f0059f Fix macOS notification talk replies by avoiding early dealloc
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-07 12:30:35 +02:00
Corentin Noël
7d74fd2c03 Add compatibility with the new libcloudproviders integration
Since libcloudproviders 0.3.3 it is possible to specify the interface name directly
in the .desktop file, and thus allowing it to be integrated when using a containerized
client.

Signed-off-by: Corentin Noël <corentin.noel@collabora.com>
2023-09-07 13:07:49 +08:00
Patrick Cernko
b1db1fb599 fixed detection of server version in cmd client similar to gui client:
first check status.php for version and then capabilities, only use version string if not empty

this also fixes 'File names containing the character ":" are not supported on this file system.' errors in nextcloudcmd (on Linux): The invalidFilenameRegex was set to a static default in case the server version was not set correctly. As newer versions of nextcloud do not return the version in capabilities but status.php, the server version was empty.

Signed-off-by: Patrick Cernko <errror@errror.org>
2023-09-06 19:10:15 +08:00
alex-z
f8a2826f7f Remove locketimeout condition.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-09-06 12:12:08 +02:00
alex-z
3815919aa5 Fix a crash when saving the locked Word document file due to unnecessary spam to the lock state change from folder watcher logic.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-09-05 15:52:04 +02:00