Commit Graph

10157 Commits

Author SHA1 Message Date
Matthieu Gallien
883cdcc0ba remove the frame around the sync folders settings area
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-28 11:41:32 +02:00
Matthieu Gallien
8171f9575f also include temporary files from WAL SQLite mode into debug archive
should make sure that the debug archive has a correct up to date view of
the sync client database

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-28 11:36:33 +02:00
Matthieu Gallien
0ac6c27a2f add missing logs and checks for database errors
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-28 11:36:33 +02:00
Matthieu Gallien
7a979c732a properly detect and enable Qt6 WebEngine integration
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-28 11:35:04 +02:00
Matthieu Gallien
4d114a4f89 on windows use QWidget native platform style
will make all QWidget based user interface look more native

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-28 11:06:35 +02:00
Matthieu Gallien
3e397e664d enable users to delete unexpected new folders inside a read-only folder
let unexpected new folders in read-only folders be read-write

would be done for folders that are inside a read-only folder and cannot
be uploaded because the parent folder is realy read-only

most probably those folders should never have been there

in case they would be read-only, users cannot delete them, in such
situation, letting them be read-write again should really help

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-23 09:56:44 +02:00
Matthieu Gallien
96d4062425 when deciding to create a new folder on server: check permissions
sometime we need to create a folder on server because some local files
or folders modifications would be lost without that

in that case instead of locally deleting teh folder, we create it back
on server

when doing that, it is important to check the remote permissions such
that we do not try to create a folder in a read-only folder on server

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-23 09:56:44 +02:00
Matthieu Gallien
316af5c13f avoid wrong usage of QStringBuilder via auto type deduction
detected via https://github.com/KDE/clazy/blob/master/docs/checks/README-auto-unexpected-qstringbuilder.md#auto-unexpected-qstringbuilder

also reported by g++ via compile time warnings

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-22 14:53:46 +02:00
Matthieu Gallien
539be0a16a only empty top folders offer the menu entry to encrypt
in the contextual menu shown in files explorer will show encrypt menu
entry only for top folders that are non-encrypted and empty

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-22 10:12:32 +02:00
Matthieu Gallien
1c3743d670 only add encrypt menu entry for top folders
with current end-to-end encryption only top folders can be encrypted

limit the availability of the menu entry to top folders

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-22 10:12:32 +02:00
Matthieu Gallien
5bb90c783e ensure the arguments of socket API commands are valid
fix string data being invalid when using QStringView

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-22 10:12:32 +02:00
Matthieu Gallien
8dcbdebd02 make folders read-write when needed when deleting local items
if a folder is read-only, when deleting content inside this folder, it
may be needed to make it temporary read-write

do this as required by the automated tests

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-21 14:38:21 +02:00
Claudio Cambra
abb1f89119 When forbidden filename sync warning is encountered, add reason why the filename is forbidden to the item's error string
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
788067598d Store forbidden filename match bools outside of if statement
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
598f2c95f5 Set invalid filename dialog mode in activity list model
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
aaf06535d2 Provide different message and explanation strings in invalid filename dialog depending on invalid mode
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
f07b49288b Add invalid mode enum to invalid filename dialog
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
94d62e0203 Handle invalid filename activities button verb in activity list model
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
a9dfc6ebfc Add rename file link/button to invalid filename activities
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
eb189f8fb4 Also provide notification for items that have file name invalid on server
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
1578cb1938 Assign invalid filename on server syncfileitem status to items with forbidden filenames
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
29ab9ec95d Check for new forbidden filename-related capabilities during exclusion handling in discovery
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
Claudio Cambra
8f7ad48e96 Parse forbidden filename related capability features
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-21 09:51:39 +02:00
raldone01
e75d77c27c Fixes cropped thumbnails #6154
Signed-off-by: raldone01 <raldone01@gmail.com>
2024-08-20 15:15:41 +02:00
Josh
83d1ed4869 fix(settings): Use broken lock icon when not using https
Fixes #6723 

Signed-off-by: Josh <josh.t.richards@gmail.com>
2024-08-20 10:04:52 +02:00
Camila Ayres
5207937f33 Remove systray call to display network errors.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-08-12 17:51:19 +02:00
Matthieu Gallien
c39e94ef6f fix header buttons background color to match existing colors
the bckground of buttons on teh top bar of main dialog had a wrong color
not matching the top bar background color

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-12 16:53:33 +02:00
Matthieu Gallien
4cbaa1b4a5 avoid transparent background in user menu from main dialog
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-12 16:53:33 +02:00
Matthieu Gallien
16c1cd1b19 remove most usages of transparent background: fix visual regressions
with transparent backgrounds, most of teh time the result is hard to
read

that is mostly unintended and unless there is some blur added, the UI
becomes unusable

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

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-12 16:53:33 +02:00
Claudio Cambra
b4d719e914 Make multiple notifications text translatable
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-12 16:52:41 +02:00
Matthieu Gallien
b47d09bc30 always enable http2
Nextcloud server documentation is recommending enabling http2 for
performance resons
https://docs.nextcloud.com/server/latest/admin_manual/installation/server_tuning.html#enable-http-2-for-faster-loading

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-12 14:57:30 +02:00
Matthieu Gallien
274feb9587 remove deprecated code only usefull for very old Qt releases
we require Qt > 6.0 so any conditionnal code for older releases can be
deleted

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-12 11:14:26 +02:00
Matthieu Gallien
0fc61581bf use very coarse timers for network timeout
seems to work around some timers expiring too early

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-12 09:32:49 +02:00
Matthieu Gallien
f2cfd2cc80 prevent event loop reentrance when handling ENCRYPT socket requests
when receiving a shell integration socket command for ENCRYPT, a generic
interface and generic code paths was used

the assumption was that the listener socket would need (and remain)
valid while hanlding teh request

some code paths need to display error messages to the user via a
QMessageBox

the issue is that this will execute a Qt event loop that will handle the
socket disconnection while the socket variable from the caller seems it
will stay valid and alive

prevent that by not using a blocking method invocation such that life
time mishandling about the socket listener is not possible

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-07 10:13:33 +02:00
Camila Ayres
11a50b1811 List sync folders in the file explorer with user's username.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-08-06 18:35:37 +02:00
Camila Ayres
2ab94d54d8 Make sure to not repeat the update channels list when loading the settings for a second account.
When adding a new account, the combo box would list each update channels twice.

Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-08-06 18:34:45 +02:00
rakekniven
86176dcee0 chore(i18n): Add trailing space to show them separated at Transifex.
Reported at Transifex.

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2024-08-06 18:22:38 +02:00
rakekniven
f6125157b0 chore(i18n): Changed grammar
Reported at Transifex

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2024-08-06 18:22:38 +02:00
Matthieu Gallien
156ab805f2 fix authentication using provider page and web page login flow
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-06 18:21:45 +02:00
Matthieu Gallien
8233b33d67 use QByteArray::left to send the newly received data during hydration
we use the proper method from QByteArray to forward the data received by
GETFileJob to the socket connected to teh fetch data CfApi callback

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

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-06 18:17:04 +02:00
Camila Ayres
bff178f6ab
Fix crash: web flow credential dialog is deleted when closing it.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-08-06 14:17:23 +02:00
Matthieu Gallien
f3c8038921 forward the redirected signal from QNetworkReply to detect them
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2024-08-06 09:51:52 +02:00
Claudio Cambra
c475edafd1 Fix infinite recursion caused by default value call in desktopEnterpriseChannel
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-08-04 20:37:18 +02:00
Camila Ayres
43777bed22
List less file names in the sync progress bar text.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-07-29 20:06:32 +02:00
Camila Ayres
5cf4e872e5
Capitalize sync instruction strings returned by Progress::asActionString.
Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-07-29 20:06:32 +02:00
Camila Ayres
0f2554e3f1
Make sync status text easier to understand.
- Never display "please wait" to users.
- Only start displaying status starting at 1. e.g. "0 f 6 files" => "1 of 6 files"
- Improve text for FolderStatusDelegate::FolderSyncText.
- Reconciling => Syncing.
- Syncing => Sync.

Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-07-29 20:06:32 +02:00
Camila Ayres
23a17702d8
Modernize FolderStatusModel::slotSetProgress.
- Add const auto.
- Change variable names to be more clear.

Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-07-29 20:06:32 +02:00
Camila Ayres
b5888f4719
Display more details of the sync progress in the settings dialog.
- Add margin to sync progress text.
- Make use of the text in FolderStatusDelegate::FolderSyncText.

Signed-off-by: Camila Ayres <hello@camilasan.com>
2024-07-29 20:06:32 +02:00
Claudio Cambra
23a8f0878b
Ensure file provider instance gets initialised at app launch WITHOUT creating a separate instance from expected singleton
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:26 +08:00
Claudio Cambra
87b2a84303
Clean up unused components in file provider socket controller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2024-07-23 14:08:26 +08:00