Commit graph

9551 commits

Author SHA1 Message Date
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
Camila
c3feee1095
Migrate all folders from a legacy config.
- Migrate only the current config in use by the legacy application.

Signed-off-by: Camila <hello@camila.codes>
2023-09-01 15:09:28 +02:00
Camila
f69dea0a94
Migrate http_user to webflow_user and dav_user.
- Add {} for single line condition, const auto and fix comments.
- Save the legacy account data first in _settingsMap, so the legacy config file
does not get changed in the migration process.
- Legacy dav_user should stay only as dav_user in the new config.
- Compare davUser and prettyName only when new user id needs to be retrieved.

Signed-off-by: Camila <hello@camila.codes>
2023-09-01 15:09:28 +02:00
alex-z
f3db221314 Update Word files VFS placeholders each time they get opened by tracking the 'lock' files
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-09-01 15:04:17 +02:00
Claudio Cambra
a0c528a190 Replace comments about relevancy of chunk to propagat v1 with variable name change
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-31 15:25:00 +02:00
Claudio Cambra
f46d71fdf6 Ensure default min and max chunk sizes are multiplied as long longs
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-31 15:25:00 +02:00
Claudio Cambra
eadb458ae6 Use [[nodiscard]] for new syncoptions and propagateupload functions
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-31 15:25:00 +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
Claudio Cambra
7cb8640352 Clarify use of ProgressInfo _chunk
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-31 15:25:00 +02:00
Claudio Cambra
7d90641722 Ensure chunkUploadFolder components are QStrings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-31 15:25:00 +02:00
Claudio Cambra
a8a2a86316 Assert that chunk num passed to chunkUrl is at least 1
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-31 15:25:00 +02:00
Claudio Cambra
a647ee1911 Sent destination header per chunking v2 api
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-31 15:25:00 +02:00
Claudio Cambra
fbb513a26d Start numbering chunks from 1 per chunking v2 api
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-31 15:25:00 +02:00
Claudio Cambra
cbbb4c87b8 Conform to chunk sizing restrictions introduced in Chunking V2
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-31 15:25:00 +02:00
Claudio Cambra
c29181e997 Fix http error code uint warning
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-31 15:25:00 +02:00
Claudio Cambra
614d48bf2a Split getting chunk upload folder from chunkUrl as this was previously misleading and unclear
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-31 15:25:00 +02:00
Claudio Cambra
12827d1746 Clean up declaration of propagateuploadng
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-31 15:25:00 +02:00
Claudio Cambra
d99d35e9ac Refactor startChunkUpload, move upload finalisation to separate method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-31 15:25:00 +02:00
Claudio Cambra
795cd8cf16 Const autofy startChunkUpload in propagatuploadng
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-31 15:25:00 +02:00
Camila
60d975d1dc
Ignore the USE_OUR_OWN_SQLITE3 flag.
Always look for sqlite in the system in the 3 platforms.

Signed-off-by: Camila <hello@camila.codes>
2023-08-29 12:05:03 +02:00
Claudio Cambra
01cb5d7e22 Do not include theme header in account header
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-24 08:34:41 +08:00
Claudio Cambra
362118eafc Use QColorConstants for white instead of manually creating QColor
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-24 08:34:41 +08:00
Claudio Cambra
f260bbf9f4 Remember server colors across restarts, enabling correct color before capabilities fetched
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2023-08-24 08:34:41 +08:00
Claudio Cambra
135b235568 Only update private colors if received capabilities colors are valid
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2023-08-24 08:34:41 +08:00
Claudio Cambra
9253016d00 Store server color in private member of account when capabilities fetched
Signed-off-by: Claudio Cambra <developer@claudiocambra.com>
2023-08-24 08:34:41 +08:00
Matthieu Gallien
c015fa00fd only flush debug log files when closing them
do not force a flush every time a log line is added to a file to speed
up the logging process

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-08-23 10:50:16 +02:00
Claudio Cambra
fba06a745c Add warning prior to folder encryption to prevent unknowing users from creating unrecoverable encrypted folders
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-23 08:46:23 +08:00
Claudio Cambra
c8599bc084 Fix warning dialog box message when trying to encrypt folders that have not been successfully synced (i.e. error/problem)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 22:11:50 +02:00
Claudio Cambra
31011160c8 Also accent ncBlue buttons in ShareDetailsPage with user accent color
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 18:08:58 +02:00
Claudio Cambra
ea05c8ecc7 Colour coloured elements in share view with user accent colour
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 18:08:58 +02:00
Claudio Cambra
8778021bcf Make accent colour of NCTabButton in file details follow user accent colour
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 18:08:58 +02:00
Claudio Cambra
12d9a484c0 Suggest a password when password is enforced on server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 21:26:19 +08:00
Claudio Cambra
bfa7fc5299 Move createRandomPassword to public static Q_INVOKABLE method of ShareModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 21:26:19 +08:00
Claudio Cambra
8bda3fdce7 Hide password field in share settings when share type does not support passwords
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-22 10:11:13 +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
Matthieu Gallien
f90cb239f3
on windows file names can always be encoded: fix wrong test
inspired by https://github.com/owncloud/client/pull/6820

Close #5935

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-08-16 10:44:37 +02:00
Claudio Cambra
d428915d35 More distinctly name server allowing resharing property
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08:00
Claudio Cambra
372cd9b9a4 Hide 'Allow resharing' checkbox when resharing not allowed by server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08:00
Claudio Cambra
172c7ab711 Add resharing allowed property to ShareModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08:00
Claudio Cambra
4b3d6c5316 Make busy indicator for share permissions cover all share permission check/radio boxes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08:00
Claudio Cambra
a344ff7c91 Add checkbox in share details page for resharing allowed setting
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08:00
Claudio Cambra
acb22b1684 Add role for resharing allowed in share model
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08:00
Claudio Cambra
c05e1920bb Fix share permission values
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-11 22:59:59 +08: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
9811d35a96 Return bool from FileSystem::setFileReadOnlyWeak depending on whether permission change was actually made or not
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
a5d7c75e6f
Add additional logging for folder size check
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:23 +08:00
Claudio Cambra
6d56621520
Deduplicate whitelistFolderPath and blacklistFolderPath
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:23 +08:00
Claudio Cambra
a7fcb846ab
Extract folder now big activity generation into separate method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
cbad4347bd
Extract notifying of existing folder now big to separate static method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
e1f342c320
Declare whitelist and blacklist activity verbs as static constexprs in activitydata, refer to this in usage
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
e987fe88c5
Fix generation of context menu activity links
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
9b5391bdc1
Ensure generated activity buttons are within count set by maxActionButtons
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
af45017e94
Do not clear the whitelist on sync success
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
449bac837b
Do not always re-notify user on existing folder now big if this folder already black or white listed
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
2324a60c76
Stop current sync when existing folder becomes big and we have enabled disabling sync of folders that become big
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:22 +08:00
Claudio Cambra
bd7ccf5738
Add UI element in general settings to stop syncing existing folders that have now overcome limit
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:21 +08:00
Claudio Cambra
1342f81cab
Add config option to stop synchronising existing folders when they grow beyond size
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:44:15 +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
3b208bf838
Move trailingSlashPath convenience function into Utility class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:42 +08:00
Claudio Cambra
ac8e9c4274
Fix trailing slash procedure in DiscoveryPhase::checkSelectiveSyncNewFolder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:42 +08:00
Claudio Cambra
9fa5ae3604
Use simpler sort methods for white and black lists in discoveryphase
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:42 +08:00
Claudio Cambra
82f6fd5c27
Remove use of old foreach in SyncJournalDb::setSelectiveSyncList
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:42 +08:00
Claudio Cambra
1b73011f59
Constify SyncJournalDb::findPathInSelectiveSyncList
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
74c4ec88a2
Const autofy variables in ProcessDirectoryJob::processFile
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
a93279bcbf
Default to adding existing now big folders to whitelist when undecided
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
6682b3ade4
Ensure folder whitelist and blacklist helper methods remove path from other lists
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
f9bde98aad
Prevent possible accountsettings crash by sorting blacklist before checking
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
e2535d6ce8
Prevent double notification of folder now big in activities
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
5f250a5dad
Ensure newly whitelisted or blacklisted paths are removed from undecided list
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:41 +08:00
Claudio Cambra
7d1fa16a3f
Add activity for existing folder going over set limit
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:40 +08:00
Claudio Cambra
c975d40fb8
Do not create dismiss links for notifications as these are not used anyway
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:40 +08:00
Claudio Cambra
12931069c0
Create more than one converted activity link, therby respecting maxactionbuttons
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:40 +08:00
Claudio Cambra
fe59d4ec79
Ensure whitelist/blacklist procedure removes activity
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:40 +08:00
Claudio Cambra
e985367b5e
Add method to add notification activity in activity list in User
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:40 +08:00
Claudio Cambra
10989fa810
Add method to get user pointer in UserModel by AccountState pointer
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
29cc9c06f9
Handle WHITELIST_FOLDER and BLACKLIST_FOLDER verbs in activitylistmodel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
7e17e9226b
Add convenience methods to folderman so that classes can add and remove paths from folders without needing to know which folder the path belongs to
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
2bcefd6105
Add methods to Folder so that other classes can easily add folder paths to white/blacklists
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
993ee6cb5b
Remove redundant "optional" gui log functions which relly just call gui log under the hood
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
e05cf7665a
Add specific message for existing folders exceeding warning limit in accountsettings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
017dca2328
Move findPathInList from discoveryphase to common syncjournaldb
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:39 +08:00
Claudio Cambra
a97bdb95ee
Clean up AccountSettings::refreshSelectiveSyncStatus
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:38 +08:00
Claudio Cambra
2a4ba398e2
Do not notify about folders growing beyond threshold by default
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:38 +08:00
Claudio Cambra
83b69032ff
Ensure notify big folders checkbox state is changed when parent checkbox changes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:38 +08:00
Claudio Cambra
61057334f6
Do not notify if setting is not enabled for folders going over limit
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:38 +08:00
Claudio Cambra
e6f5fb6382
Hook up existing folder notification size checkbox in general settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:37 +08:00
Claudio Cambra
b06cbf4dce
Add config settings for notifying existing folders going over limit
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:37 +08:00
Claudio Cambra
e8b82115e2
Add a checkbox in UI to obey folder size limit for existing folders
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:37 +08:00
Claudio Cambra
aa20c102b6
Properly check folder size on server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:37 +08:00
Claudio Cambra
5acacdd4d8
Make checkFolderSizeLimit more task agnostic
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:37 +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
Claudio Cambra
10dd03f50a
Add slot for existing folders becoming big in Folder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:36 +08:00
Claudio Cambra
ac218b000e
Use single convenience method to handle trailing slash in paths for Folder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:36 +08:00
Claudio Cambra
5844b2763d
Check selective sync state directories that have been updated and now have differing size
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:36 +08:00
Claudio Cambra
7145d73f15
Add DiscoveryPhase::checkSelectiveSyncExistingFolder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:36 +08:00
Claudio Cambra
e3dc6be371
Extract processServerNew into a proper method instead of large lambda
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:36 +08:00
Claudio Cambra
e5f399ff51
Move active folder size limit check to independent convenience method
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:36 +08:00