Commit graph

9551 commits

Author SHA1 Message Date
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
Claudio Cambra
17de46cec2
Clean up declaration of DiscoveryPhase::checkSelectiveSyncNewFolder by using const auto, renaming single letter variables, more
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:35 +08:00
Claudio Cambra
75f0e53ce6
Const autofy variables in ProcessDirectoryJob::processFileAnalyzeRemoteInfo
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-08-04 17:40:34 +08:00
alex-z
2cb03e497a Fix review comments.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-07-26 16:18:39 +02:00
alex-z
7a3e43507a Iteration.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-07-26 16:18:39 +02:00
alex-z
cd4b72967c Check server's 204 endpoint every minute and restore connection immidiately after successful status code.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-07-26 16:18:39 +02:00
Dries Mys
243fcfedb9 Small coding improvements
Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-26 11:05:50 +02:00
Dries Mys
fb21eb55cf Alter testUnexpectedNonPlaceholder to better reflect the actual use case
Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-26 11:05:50 +02:00
Dries Mys
984d06e82a Convert VFS file to placeholder again if needed
Note that Windows may convert a placeholder file to a regular file when
it is replaced by another file, even if the old and new file (inode,
modified time, file size) are identical.

WIN32_FIND_DATA::dwReserved0 is only initialised in case of
FILE_ATTRIBUTE_REPARSE_POINT is set. This field is not a bit set. Check
corrected to only include all cloud reparse points and not other special
reparse points.

Signed-off-by: Dries Mys <dries.mys@my-dreams.be>
2023-07-26 11:05:50 +02:00
Claudio Cambra
b7283fa18c
Clean up declarations in activitylistmodel header, remove unused methods
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 08:40:28 +08:00
Claudio Cambra
cd56841156
Make TestingALM a friend class of ActivityListModel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 08:40:27 +08:00
Claudio Cambra
6364c6226c
Replace unnecessary folder include in ActivityData with SyncResult
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 08:40:27 +08:00
Claudio Cambra
55fc6a1d0f
Place all sorts of sync file item status errors near the top
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 08:40:26 +08:00
Claudio Cambra
68d92e1ca7
Move activity list SyncResult errors to the top of the list
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 08:40:26 +08:00
Claudio Cambra
a5e2de7e1d
Move activity list syncfileitemstatus errors to the top of the list
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 08:40:26 +08:00
Claudio Cambra
53cc438bf1
Use QSharedPointer<T>::create for talk reply in systray.mm
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 07:14:03 +08:00
Claudio Cambra
08098b8d92
Fix spacing and indentation in systray.mm
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 07:14:03 +08:00
Claudio Cambra
91d5d9dc02
Modernise property accessing in systray.mm
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 07:14:03 +08:00
Claudio Cambra
5ecfa96d9c
Use const auto for C++ variables in systray.mm
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 07:14:03 +08:00
Claudio Cambra
fdcc623cf1
Constify object pointers in systray.mm
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-25 07:14:03 +08:00
Claudio Cambra
298a0f4dfb Convert directly from QUrl to NSURL
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
ff1fbdacf2 Clean up declaration in SparkleUpdater header
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
70cc0bf18f Fix localisation of updater status strings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
892abd984b Properly handle skipping auto update checks in the sparkle updater
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
c9275743d1 Only instantiate sparkle updater if autoupdating is available
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
5f9837b2b2 Fix qbytearray related clazy warnings in objective-c++ sparkle updater side
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
5ff0191757 Only enable check for update button when the sparkle updater is not working
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
07ac1b8c99 Implement proper notifying of sparkle updater state changes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
73c42719b4 Also record sparkle updater state
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
5f87f6687c Properly display status string for changes in updater
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
40f7da0106 Add ability for sparkle updater to notify UI when state has changed
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
85f8332f32 Add q pointer to SparkleInterface
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
427ed0d47d Replace private class with an interfacing class to bridge Obj-C delegate class and owner CPP class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
aa3b315c32 Name sparkle updater delegate more reasonably
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
88b2ae0d21 Use std::unique_ptr in sparkle updater class rather than manual management
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-22 11:16:39 +02:00
Claudio Cambra
71adc2086b
Fix build of sharemodel.cpp on MSVC
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-21 18:44:06 +08:00
Claudio Cambra
e54d78ad69
Add checkbox to general settings to enabling file removal meaning moving files to trash, rather than immediate deletion
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-21 00:08:00 +08:00
Claudio Cambra
d3eefee25a
Replace custom moveToTrash solution with Qt QFile::moveToTrash
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-21 00:07:59 +08:00
Claudio Cambra
ed05436ea5
Remove empty statement, standalone semicolon
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:53:29 +08:00
Claudio Cambra
74d1629ad9
Extract custom color svg image finding into separate function
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:53:29 +08:00
Claudio Cambra
1284749d70
Simplify findSvgFilePath, define result value on definition
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:53:28 +08:00
Claudio Cambra
9df47cf1cc
Simplify loop to write bytes to password
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:32:28 +08:00
Claudio Cambra
4c8007e461
Use std::array to store hash bytes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:32:28 +08:00
Claudio Cambra
b404f1a546
Replace use of std::rand with improved C++11 random
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:32:28 +08:00
Claudio Cambra
f9ded784b5
Guarantee that the generated password for share will have all the types of characters needed to pass server check
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:32:28 +08:00
Claudio Cambra
32acf504cb
Simplify password generation in sharemodel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:32:28 +08:00
Claudio Cambra
c4d1bdf46f
Generate better passwords for shares
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:32:27 +08:00
Claudio Cambra
d0e8e67c72
Track invalid input in ShareDetailsPage expireDateSpinBoxTextField
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:17:30 +08:00
Claudio Cambra
00ec93f031
Add ability for NCInputTextField to display red border when invalid input provided
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:17:29 +08:00
Claudio Cambra
da7d8c1f0a
Ensure the text for the expire date spin box is updated even in situations when the expire date is forced back down to the same one being currently held
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:17:29 +08:00
Claudio Cambra
aaeaad9918
Make sure to imperatively set text for spinbox textfield after user breaks binding by editing
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:17:29 +08:00
Claudio Cambra
e84a5dcb5f
Rename "moreMenu" ColumnLayout to "scrollContentsColumn" in ShareView, stop treating like menu which it used to be
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-20 23:17:29 +08:00
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
Claudio Cambra
d6125ca3a1 Swap folder nullness assert for return
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
c1b2e07e8c Compress share page tab button width and height when sharing API is disabled
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
bccdb0e8f7 Make swipeIndex properties readonly
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
98ec8ff302 Fix background of tabbar in file details page
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
3fda519050 Do not handle setting page to sharing page if sharing not available
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
ea5397865d Do not display sharing entry if sharing is not available on server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
4bcff7d991 Set sharingAvailable property in FileDetails from Folder account capabilities
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
Claudio Cambra
38d82dfb5f Add sharingAvailable property to FileDetails class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-07-18 15:49:17 +02:00
tomdereub
39e59a1c79 windows reserved word silently excluded - csync exclude.cpp
Proposal to solve https://github.com/nextcloud/desktop/issues/3826, by excluding silently windows reserved word like $RECYCLE.BIN.

Signed-off-by: tomdereub <pbtom@lamonerie.net>
2023-07-18 10:57:17 +02:00
alex-z
6ea828936f
Fix crash in _finalList removal loop. Fix incorrect implementation of seen chat notifications removal. Improved notifications fetch code to avoid multiple calls from different threads.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-07-18 09:57:13 +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
alex-z
b56200e0d7 Remove seen Talk notificatios from Tray window.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-07-06 09:15:26 +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
fad55470d5 ensure e2ee can be disabled from client
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
da8fa7bfa7 prevent crash by resetting common pointer after deleting gobject menu
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-30 10:19:59 +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
Matthieu Gallien
431ccfec5a ActivityListModel now keeps track of the account connection state
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-06-28 11:21:50 +02:00
Matthieu Gallien
8cf778ba94 declare state property in AccountState
should make it more logic to find the property when needed

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
7e5031d75d Implemented a class ChecksumCalculator to allow stopping the checksum calculation thread on parent destruction.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-06-20 11:44:07 +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