Commit graph

10377 commits

Author SHA1 Message Date
Matthieu Gallien
79fa7cd04f
properly detect need to sign terms of service state
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-22 22:39:38 +02:00
Matthieu Gallien
0b0b80b70f notify user once when terms of service need to be signed
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-22 17:13:31 +02:00
Matthieu Gallien
51352353e4
content access denied error during discovery: verify server access
will trigger a check of the server connectivity in case of content
access denied reporting when listing folders during discovery

should allow discovering early that terms of service need to be signed

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-22 15:45:37 +02:00
Matthieu Gallien
968289cbf0 content access denied error during discovery: verify server access
will trigger a check of the server connectivity in case of content
access denied reporting when listing folders during discovery

should allow discovering early that terms of service need to be signed

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-22 15:03:45 +02:00
Matthieu Gallien
8ddf11d960 detect the terms of service app is requiring the user to sign them
will query the sign state for the terms of service and automatically
pause or resume sync

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-22 15:03:45 +02:00
Claudio Cambra
e36604271f Ensure on removal of share that display string is updated for last (now non-)duplicate share
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-18 11:05:16 +02:00
Claudio Cambra
cd1d1f5833 Store duplicate indices as key-value pair with value storing bucket of all duplicates
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-18 11:05:16 +02:00
Claudio Cambra
37a09aad5f Clean up check for equality between sharee display names
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-18 11:05:16 +02:00
Claudio Cambra
396aeddb03 Make sure to update display of all duplicate display name shares
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-18 11:05:16 +02:00
Claudio Cambra
e43b7c938a Display more verbose share display names for shares that have sharees with identical display names
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-18 11:05:16 +02:00
Claudio Cambra
5d0924c5ab Check for and store indices of shares with duplicate display names
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-18 11:05:16 +02:00
Claudio Cambra
56fbc43e0e Add ability to make share sharee displayname more verbose
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-18 11:05:16 +02:00
Claudio Cambra
985d2d9a7a Take reference to folder in folder map within User::getFolder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-18 10:59:22 +02:00
Claudio Cambra
e2467baf0c Prevent double slashes in group folder path parsing
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-18 10:59:22 +02:00
Claudio Cambra
e113118e1e Use for : loop in getFolder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-18 10:59:22 +02:00
Claudio Cambra
5611f876b0 Constify openLocalFolder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-18 10:59:22 +02:00
Claudio Cambra
88dd0e19ed Make sure storage headers do not collide with each other in macOS VFS settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-18 16:17:27 +08:00
Claudio Cambra
d1e26b27f9 Wrap use of NSFileProviderManager globalProgress in availability check
This selector was only made available on macOS 11.3
Just to be safe we should check for the availability

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-18 14:00:21 +08:00
Matthieu Gallien
0eb5ddd442 on receiving reply of a remote MOVE: always record it
even if local item has disappeared, record the result of a remote MOVE
when receiving the reply

enable better state tracking when syncing rename or move operations

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-18 10:09:08 +08:00
Rello
2695590f70 remove ownCloud wording in logging
remove ownCloud wording in logging

Signed-off-by: Rello <Rello@users.noreply.github.com>
2024-10-18 10:07:47 +08:00
Elsie Hupp
0ad55e82c7
Show/Hide Menubar and Dock Icon
Signed-off-by: Elsie Hupp <9206310+elsiehupp@users.noreply.github.com>
2024-10-17 16:26:28 +08:00
Matthieu Gallien
05b6db55c3 remove the enforcement of identical etag for a server side item MOVE
orignally added by https://github.com/owncloud/client/pull/6632

most probably a too strong assumption on the behavior of the Nextcloud
server

better check real item metadata like fileid, size or modification time

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-17 09:45:57 +02:00
Matthieu Gallien
f0908dbbfc handle NEW/NEW conflicts by being real conflicts
NEW/NEW conflicts could sometime be ignored and replaced by update
metadata instructions

we stop doing this and handle them like any other conflicts

that would cause more download from the server

those conflicts would be solved automatically in case this is not a real
conflict but the client was missing the server reply with the updated
metadata

will enable more changes to improve MOVE detection from server side

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-17 09:45:57 +02:00
Matthieu Gallien
8abe8e6f52 better logs tounderstand when a folder is local scanned
should hopefully allows to understand when local file system discovery
is done or omitted

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-17 08:52:27 +02:00
Camila Ayres
ddaaf2c344 Fail with error before calling folder metada setup when received empty signature.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-10-16 11:51:01 +02:00
Camila Ayres
ef811ff220 Report client status error when signature is empty.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-10-16 11:51:01 +02:00
Camila Ayres
8cce183ba4 Check if signature is empty.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-10-16 11:51:01 +02:00
Claudio Cambra
14a9382772 Fix crash caused by null accountstate due to bad domain identifier parsed from FPExt
Turns out since we are forced to replace colons with hyphens we need to
replace them back to colons when we receive the domain identifier from
the file provider extension. If we do not then we get a null
accountState pointer in the socket controller and this causes a crash

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-16 15:49:59 +08:00
Matthieu Gallien
08abceda73 improve wordings of confirmation dialog when many files are deleted
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-16 09:11:13 +02:00
Camila Ayres
eeb1ed8ac3 Make string more readable for translators.
Fix #7309.

Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-10-15 08:55:47 +02:00
Claudio Cambra
498da851d0 Fix poor translation strings for blacklisted error reason strings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-15 10:59:44 +08:00
Claudio Cambra
6f1322fe47 Properly provide both user-provided username AND backing user ID to File Provider Extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-11 16:40:47 +08:00
Claudio Cambra
e79e86fde0 Properly check for webdav or dav path in provided host url for cmd.cpp
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-11 14:02:36 +08:00
Claudio Cambra
fc2fb02923 Encourage use of https in error message for cmd.cpp
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-11 14:02:36 +08:00
Claudio Cambra
a7c9282bf4 Remove unused <random> import in cmd.cpp
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-10-11 14:02:36 +08:00
Matthieu Gallien
6c5c7c27d2 improve log when too many deleted files are detected
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-10 14:36:51 +02:00
Matthieu Gallien
3835d377ff remove info level output from activity list model: not so usefull
they just are printed when everything is working fine

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-10 14:36:51 +02:00
Matthieu Gallien
d4f28b2a51 remove not so usefull log output
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-10 14:36:51 +02:00
Matthieu Gallien
3db8c33a17
remove extra argument from QString::arg: string has only 1 placeholder
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-10 09:57:07 +02:00
Matthieu Gallien
bac5a1d200 properly catch std::filesystem exceptions
will prevent std::terminate from being called with uncatched exceptions

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-08 11:52:58 +02:00
Matthieu Gallien
35d4f91b42 ensure log context category is valid before reading it
category of logs accessed via log context can be null
in such a case, strcmp will crash

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-07 17:04:26 +02:00
Matthieu Gallien
9585c97fcc
remove hard coded white color in elements of folder wizard
fix broken white backgrounds in folder wizard when using Windows dark
mode

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-07 15:30:19 +02:00
Matthieu Gallien
8b1e3fcd9d
switch folder wizar to modern style to avoid borken windows dark mode
the QWizard AeroStyle style is broken on windows dark mode, switch to
ModernStyle that is working fine

see upstream Qt bug: https://bugreports.qt.io/browse/QTBUG-123853

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-07 15:30:18 +02:00
Matthieu Gallien
07958ce53f
qml Windows native style is broken on dark mode: switch to Fusion
we will temporarily be using Fusion generic desktop style

Close https://github.com/nextcloud/desktop/issues/7215

see upstream Qt bug
https://bugreports.qt.io/browse/QTBUG-113469?focusedId=724929&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-724929

they apparently do not plan to fix Windows qml style to support dark
mode on Windows 11

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-07 15:29:36 +02:00
Matthieu Gallien
f0f83b9984
downgrade severity level of logs during propagation
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-07 09:46:31 +02:00
Matthieu Gallien
8ecf0e9faa
remove internal logs in propagation scheduler: not usefull
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-07 09:46:31 +02:00
Matthieu Gallien
a2b088759e
remove too verbose not so usefull logs
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-07 09:46:31 +02:00
Matthieu Gallien
9e1b2b3204
remove useless internal log about remote permissions management
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-07 09:46:31 +02:00
Matthieu Gallien
88992761bb
remove too verbose logs during discovery
will make the logs less verbose and improve performance

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-07 09:46:10 +02:00
Matthieu Gallien
06f7cf4896 improve debugger logs on Windows to have same content than normal log
makes debugger logs more usefull

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-04 12:02:39 +02:00
Matthieu Gallien
48932ba57b enable dev logs only when NEXTCLOUD_DEV is defined to value 1
will switch back production logs to the intended behavior

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-04 12:02:39 +02:00
Matthieu Gallien
bf2fc44cfc
message should say many not all: would be triggered by 200 files
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-01 16:41:56 +02:00
Matthieu Gallien
ab2bf984e7
remove not so usefull log line for new files
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-01 15:43:43 +02:00
Matthieu Gallien
e2f94d86ef
create a permanent log of delete actions
will log all deletions with the result of the discovery by the sync
enginre

should enable analyze even long time after such a delete occured

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-10-01 15:43:42 +02:00
Matthieu Gallien
d31b3b068f count the files deletion and warn if threshold is exceeded
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-30 14:33:49 +02:00
Matthieu Gallien
e6f62930e9 use constexpr function for platform detection
should decrease the cost of their usage when compared to preprocessor
conditional directives

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-27 09:26:36 +02:00
Camila Ayres
b8ca1584e3 Only check leading/trailing spaces for files on Windows.
Fix for #6807.

Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-27 09:06:11 +02:00
Matthieu Gallien
b27eb06386 disable our code for network timeout
seems we have an issue with Windows and QTimer instances used to detect
network timeout

workaround, find cause of https://github.com/nextcloud/desktop/issues/7184

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-26 16:11:37 +02:00
Camila Ayres
ee351aa132 Validate input of APPLICATION_SERVER_URL.
Tries to clean double quotes and output JSON parse error.

Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-26 14:55:29 +02:00
Camila Ayres
aec2eaf73f Fix alignment and size of buttons.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-26 12:02:21 +02:00
Matthieu Gallien
570749c89e changing default chunk size to 100MB
goal is to have better performance and uniform behavior between all files clients

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-26 10:56:53 +02:00
Matthieu Gallien
c77562022d
lock token should be sent via webdav only for token lock type
to be able to modify a locked file using token lock, we must sent it
with webdav requests

this must not be sent if the file is locked but the lock type is not a
token lock

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-26 09:25:34 +02:00
Matthieu Gallien
202be8a081
clarify when desktop client should offer to unlock a file
a file can be unlocked when:

 * the lock is an user lock from the current user
 * the lock is a token lock from the current desktop files client

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-26 09:25:32 +02:00
Matthieu Gallien
92f7247bc6 add seemingly needed qml import path
will hopefuly make the qml engine search inside install dir within qml
sub folder

Close #7156

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-25 16:43:04 +02:00
Matthieu Gallien
97d1cfb1d1 rename our Window component to MainWindow to not use an existing name
we import QtQuick module that also define Window component name

to avoid any ambiguity, just use a different name on our side

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-25 16:43:04 +02:00
Matthieu Gallien
c67456b5b7 change the order of imports in Window.qml
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-25 16:43:04 +02:00
Matthieu Gallien
b1352ecd98 provide LOCK token when uploading a single file via PUT
for simple webDAV upload via PUT verb, provide the needed lock token

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-25 15:06:29 +02:00
Matthieu Gallien
afaaf308aa if a file is locked/ provide token during upload
will add needed lock token in final move headers for chunk upload

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-25 15:06:29 +02:00
Matthieu Gallien
451faaf0e1 receive and decode tokens for locks
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-25 15:06:29 +02:00
Matthieu Gallien
948a3716c6 store lock tokens in database
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-25 15:06:29 +02:00
Claudio Cambra
c16b6205f1 Ensure we hide the combo box for multiple override servers by default
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-09-24 10:39:45 +02:00
Claudio Cambra
72fe0d8818 Display server URL in multi-server enforced combo box
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-09-24 10:39:45 +02:00
Claudio Cambra
d84ede3ef2 Do not automatically validate server URL when enforced servers is active but have multiple servers
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-09-24 10:39:45 +02:00
Claudio Cambra
0663120f4f Use url method instead of text field contents as url when deciding on error string in setup page
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-09-24 10:39:45 +02:00
Claudio Cambra
5c08e45019 If using multi-server override url and forcing it then provide combo box selection url as url in setup page
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-09-24 10:39:45 +02:00
Claudio Cambra
6358f00263 Accept combo box selection as completed state in setup page
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-09-24 10:39:45 +02:00
Claudio Cambra
1decedd56f Show or hide multi-server overrides or text field depending on type of override url
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-09-24 10:39:45 +02:00
Claudio Cambra
e3979ea52f Do not apply override server url as account url if this is a multi-server JSON string
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-09-24 10:39:45 +02:00
Claudio Cambra
a2c818e157 Add property for detecting of application override server url is in fact a JSON array string describing multiple servers
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-09-24 10:39:45 +02:00
Claudio Cambra
c65b544757 Add combo box to setup page UI
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-09-24 10:39:45 +02:00
Claudio Cambra
389d6536e5 Revert "Merge pull request #6986 from nextcloud/feature/alwaysEnableHttp2"
This reverts commit 5baec6f128, reversing
changes made to ab06ecbc4d.

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-09-23 13:19:22 +02:00
Claudio Cambra
9455dcfd8a Remove now unneeded deployment target checks in CMake
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-09-23 10:32:34 +02:00
Matthieu Gallien
7a6691f6e0
as a last resort, try to update VFS metadata of folders when discovered
when doing local discovery, it is possible that files or folders may be
discovered with VFS metadata not up to date (i.e. placeholder file not
set in sync)

in such case, generate a propagation instruction to set them in sync

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-16 12:10:42 +02:00
Matthieu Gallien
da920f6d4e
ensure proper VFS metadata when restoring folders
when remote move is forbidden, desktop client will move back the folder
to its original name

in such cases, we were forgetting to set VFS metadata in their proper
state (i.e. placeholder in sync)

so ensure that when a remote move fails, we still touch VFS metadata
when appropriate and handle errors

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-09-16 12:10:42 +02:00
Camila Ayres
6cde9c8cc8
Remove extra ';'
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-13 12:35:33 +02:00
Camila Ayres
72e5ff4f4d
Fix wrong Style property.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-13 12:30:11 +02:00
Camila Ayres
bf50e2d167
Fix error: Audio is not a type.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-13 12:30:11 +02:00
Camila Ayres
939eb00f2c
Remove user status hover effect and background color.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-13 12:30:11 +02:00
Camila Ayres
9e5192ead3
Add todo: check if we should keep bottomUnifiedSearchInputSeparator.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-13 12:30:11 +02:00
Camila Ayres
5c79e02baa
Add todo: fix predefined status list.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-13 12:30:11 +02:00
Camila Ayres
0087245d46
Fix emoji selector page: transparency made it unusable. Use windows background color.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-13 12:30:10 +02:00
Camila Ayres
4c659fa519
Adjust radius values: main window and text input uses bigger value, dropdown menus uses half.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-13 12:30:10 +02:00
Camila Ayres
0cc60163fe
Add the same round background rectangle for the talk reply text field.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-13 12:30:10 +02:00
Camila Ayres
912cf693e7
Remove extra ';'
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-13 12:30:10 +02:00
Camila Ayres
1354b63153
Fix height of text input fields and radius.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-13 12:30:10 +02:00
Camila Ayres
228e561d66
Fix unified search input placeholder text alignment and radius.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-13 12:30:10 +02:00
Camila Ayres
da12402206
Fix warning: TypeError: Cannot read property 'height'/'width' of null.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-13 12:30:09 +02:00
Camila Ayres
9d3312a896
Fix the color of the tab icons in the files details page.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-13 12:30:09 +02:00
Camila Ayres
d3ca7a02eb
Add margin space to the right of the 3 dots user menu.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-13 12:30:09 +02:00
Camila Ayres
c5546c1232
Add radius value, border and hover colors in the folder's menus.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-09-13 12:30:09 +02:00