Commit graph

9551 commits

Author SHA1 Message Date
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
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
2b6580a5a9
Fix declaration of lockfilepatterns
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-01 17:15:46 +02:00
Claudio Cambra
2503ded168
Lock files when relevant lock files found by folder watcher
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-01 17:15:45 +02:00
Claudio Cambra
65569e5486
Emit lock file target file paths in lock file discovery from folder watcher
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-01 17:15:45 +02:00
Claudio Cambra
859bf07873
Notify when new lock files are found in folderwatcher
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-01 17:15:44 +02:00
Claudio Cambra
f5d15d8a82
Do not search for matching file pattern in possiblyAddUnlockedFilePath
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-01 17:15:43 +02:00
Claudio Cambra
da62e6615d
Define private lock file patterns as const std::array
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-01 17:15:42 +02:00
Claudio Cambra
5d0d7a3c9f
Split off lock file pat pattern matching into separate function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-01 17:15:42 +02:00
Claudio Cambra
128648a735
Modernise FolderWatcher::changeDetected
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-09-01 17:15:41 +02:00
Camila
0936201d80
Remove the files under 3rdparty/sqlite3.
- Always used a sqlite compiled version or a version from KDE Craft
- When building the AppImage copy the sqlite files to the
/usr/lib/ folder in it.

Signed-off-by: Camila <hello@camila.codes>
2023-09-01 15:09:29 +02:00
Camila
9dbb072858
Migrate legacy user defined exclude file.
- Refactor ConfigFile::setupDefaultExcludeFilePaths.
- Refactor ConfigFile::excludeFile.
- Fix code style.

Signed-off-by: Camila <hello@camila.codes>
2023-09-01 15:09:29 +02:00
Camila
6f38545e09
Migrate selective sync db list.
- Refactor migration of blacklisted folders.
- Only change selective sync list if needed.

Signed-off-by: Camila <hello@camila.codes>
2023-09-01 15:09:29 +02:00