Commit graph

2342 commits

Author SHA1 Message Date
Hannah von Reth
45f3a97997 Small cleanup 2021-08-11 17:13:44 +00:00
Hannah von Reth
989390bc41 Don't shadow 2021-08-11 17:13:44 +00:00
Hannah von Reth
d60eb67c2e Also prepend appName if id is empty 2021-08-11 17:13:44 +00:00
Hannah von Reth
8468e70cba Use QKeychain:: explicitly 2021-08-11 17:13:44 +00:00
Hannah von Reth
926a52b33d Remove unused computation 2021-08-11 17:13:44 +00:00
Hannah von Reth
ec0466ed73 Allow to add and remove log rules 2021-08-11 17:13:44 +00:00
Felix Weilbach
f9daa27a5d Enforce fetching of user id
With the change of commit 3e61bdc431 and
the relase of v3.3.0 users that had their email address used as login
are not able to login anymore. The dav_user should be empty if users
tried to create a account in the meantime. Therefore we fetch the user
id in the case dav_user (and then Account::_davUser) is empty. We then
store the user id in dav_user.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-08-11 16:16:12 +00:00
allexzander
4106c646f9 Fix incorrect activity message on invalid char in the file name.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-08-04 13:22:17 +03:00
allexzander
c930d8e30f Delete apptoken after account removal.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-08-04 09:37:40 +00:00
rakekniven
37b012fcbd Changed grammar
Reported at Transifex.

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2021-08-02 06:40:50 +00:00
szaimen
2c95b9519c Set default maxChunkSize to 1000MB
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-07-30 07:00:09 +00:00
Valdnet
7ebbb499e0 l10n: Replace apostrophe with double quotation
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-07-30 06:21:05 +00:00
Matthieu Gallien
391935c90f prevent crash in Accont::davPath without credentials
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-29 08:27:53 +00:00
Matthieu Gallien
c40d276770 remove dead code around overriding dav path in URL
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-28 12:12:17 +02:00
Matthieu Gallien
77433f7e1d in wizard always use the correct way to get dav path
fixes listing being incorrect when using dav endpoint

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-28 09:45:49 +00:00
allexzander
8122c63ebc Revert Added config parameter that allows to bypass checksum validation failure.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-07-28 07:57:10 +00:00
Felix Weilbach
3e61bdc431 Use dav instead of webdav
Fixes #3342

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-07-16 12:42:02 +00:00
Felix Weilbach
efaccbd6fd Show main dialog as normal window if tray icons not available
Fixes #3307

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-07-12 14:10:26 +00:00
Matthieu Gallien
2ee26bbd59 fix review comments
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-12 14:31:19 +02:00
Matthieu Gallien
7c68408ee1 only compile xattr virtual files backend for linux platform (not unices)
for a reason a mac os platform specific file is missing and before xattr
plugin was compiled only for linux

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-12 14:10:54 +02:00
Matthieu Gallien
d2f2e3305a avoid being stuck trying to create placeholder for existing file
id sync db think a file is cirtual (empty placeholder) but file system
has a real file (non empty file) once the server has a modified version
we can no longer update it

state of file on disk takes precedence over sync DB to allow recovery

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-09 12:37:47 +00:00
Matthieu Gallien
8ad6f89fed bring back dynamic load of VFS plugins
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-08 08:11:17 +00:00
Matthieu Gallien
c123edb173 address review comments
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-06 14:16:43 +00:00
Matthieu Gallien
4016c2fab0 avoid error when doing hydration when data socket is closed too early
when data is received, if we close the socket they cannot be read

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-06 14:16:43 +00:00
Hannah von Reth
e7e218d8e6 Improve the error message returned by updateMetadata
Also properly handle the case the the file can't be converted to a placeholder
as it is locked
2021-07-06 14:03:53 +00:00
Matthieu Gallien
8f5b88acd5 improve error message in case of trailing space in directory name
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-02 10:50:31 +00:00
Matthieu Gallien
746072e95d fix all usage of _com_error(cfExecuteresult).ErrorMessage()
_com_error(cfExecuteresult).ErrorMessage() calls should be translated to
QString before use with qDebug and related logging facilities

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-02 11:19:04 +02:00
Matthieu Gallien
2bc72592a0 fix review comments
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-01 14:40:25 +02:00
Matthieu Gallien
698d5f19ba download server public key and check user certificate against it
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2021-07-01 14:07:27 +02:00
allexzander
99f6e82290 Fix review comments.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-07-01 11:59:21 +03:00
allexzander
6ce5279b6c Fix review comments.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-07-01 11:59:21 +03:00
allexzander
22eba41cb8 Do not process non-directories and non-virtual files. Wipe empty online-only folder based on its pinState.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-07-01 11:59:21 +03:00
allexzander
c5982143aa Refactoring.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-07-01 11:59:21 +03:00
allexzander
48aefc1983 Fix VFS crash and false conflict on local new.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-07-01 11:59:20 +03:00
Felix Weilbach
c9715db720 Check if first is not empty
If it's not checked that first is empty, crashes may happen.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-30 06:57:41 +00:00
Felix Weilbach
2ee3ca02a4 Add unit test for move custom remote root
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-25 10:14:29 +00:00
Felix Weilbach
8376b99ec5 Allow to compile without QWebEngine
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-24 15:43:51 +00:00
Valdnet
3937595eef l10n: Spelling unification
Spelling unification in Transifex.

Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-06-17 12:18:00 +00:00
Felix Weilbach
c799dbdd61 Cfapi: Make sure no data is transfered after cancellation
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-17 09:10:06 +00:00
Hannah von Reth
03182ea714 Use longWinPath in more places 2021-06-16 10:54:07 +00:00
Camila
f3c17c747a Fix compiling warning: multiple definitions of stateOnlineImageSource in theme.h.
Signed-off-by: Camila <hello@camila.codes>
2021-06-16 07:55:33 +00:00
allexzander
a3d12a616b Add error message to GUI.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-06-15 14:33:45 +03:00
allexzander
6312f6ddde Wipe empty folder when moving a VFS placeholder. Keep a folder if there are hydrated items inside.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-06-15 13:19:35 +03:00
Felix Weilbach
a89a84ff14 Mark placeholder in sync after updating the placeholder
Fixes #3403 #3082 #3391

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-06-14 13:40:26 +00:00
allexzander
dc72686ab3 Allow download with mismatched checksum if a config option is set.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-06-10 13:39:11 +03:00
allexzander
bb55232e8e VFS freeze fix. Treat .sync-exclude.lst as a non-virtual file always.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-06-08 09:25:43 +00:00
AJ Jordan
a51d0a14db Improve error message
This one is more user-friendly and grammatically correct.

Signed-off-by: AJ Jordan <alex@strugee.net>
2021-06-03 11:25:47 +00:00
allexzander
bf39f053c4 Fix review comments.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-06-01 13:51:02 +00:00
allexzander
a80c58f367 Bugfix. Crash when printing OpenSSL decryption errors with no e2ee mnemonic.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-06-01 13:51:02 +00:00
Matthieu Gallien
7fb09a8163 check e2ee public key against private one
should ensure we have matching private/public keys

Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-05-27 07:26:48 +00:00
Camila
671b099c98 Check if the user is connected and if the server supports user status.
Signed-off-by: Camila <hello@camila.codes>
2021-05-25 06:55:52 +00:00
Felix Weilbach
78f1943d76 Add a key value store to the sync journal
This key value store should help to keep track of important events,
that can not be store in the logs, because the logs are deleted too fast.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-05-19 09:04:43 +02:00
Felix Weilbach
32b7e62359 Warn user if using e2ee and vfs together
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-05-18 11:50:18 +00:00
allexzander
76be5dce73 Add remote folder prefix for renaming in a non-root local folder.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-05-17 12:19:58 +00:00
Felix Weilbach
c3a2587a91 Remove unnecessary cfapi logging statements
For big files that can add a lot lines to the log files.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-05-12 08:49:13 +00:00
Hannah von Reth
17a1a630a4 Use the http logger with the unittests
This allow better debugging of the tests

Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-05-06 07:35:59 +00:00
Hannah von Reth
e04c6abcd5 Fix placeholder detection for cfapi
Fixes: #8326
Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-05-06 07:35:59 +00:00
allexzander
d754bb7102 Fix review comments.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-05-06 06:17:36 +00:00
allexzander
ef89256d39 VFS. Allow dehydartion of readonly files. Preserve 'readonly' flag when creating a placeholder.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-05-06 06:17:36 +00:00
allexzander
19522210ac VFS. Display local file name clash error when syncing in VFS mode.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-05-05 17:34:59 +00:00
Matthieu Gallien
23ba193102 add missing call to tr to get a translated string
Fix #3250

Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-05-04 12:16:10 +02:00
Felix Weilbach
7112d2aa78 Push Notifications: Reconnect forever if capabilities allow it
Fixes #3115

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-05-04 10:05:19 +02:00
Felix Weilbach
d21df33a50 Add missing copyright headers for push notifications
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-05-04 07:27:06 +00:00
allexzander
2d88fc6c99 Obey enforced password for share by email.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-29 07:43:20 +00:00
Valdnet
8aedc74838 l10n: Delete space and change capital letter
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-04-28 11:41:06 +00:00
Matthieu Gallien
419bd93dea when files get hydrated indirectly through pinning, sets correct state
files that get downloaded not through an hydration request need to be
converted to placeholder

sets the expected state when converting them to placeholder files

 #3082

Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-04-26 13:54:32 +02:00
Matthieu Gallien
929ae965ce prevent progress bar to appear after a download is finished with CfApi
when using Cloud Filter API with enabled VFS on Windows, a progress bar
stays visible for some time after hydration is completed. Not updating a
last time the progress bar prevents that.

Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-04-26 13:54:32 +02:00
Matthieu Gallien
97d785f1bb fix errors when calling CfRegisterSyncRoot by setting more fields
sets a reasonable size of the StructSize members in the struct passed to
CfRegisterSyncRoot function

Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-04-26 08:02:40 +00:00
Matthieu Gallien
782a2fdf06 avoid an assert by delaying access to response timestamp when in error
when canceling the sync of a big directory, I can get some network
request that are aborted before a Date reply header has been read

in this case we would always access
AbstractNetworkJob::responseTimestamp() and fire the assert even if we
know that the network reply has an error

delay the access to after the possible errors have been dealt with

Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-04-20 17:42:17 +02:00
Matthieu Gallien
20357ca7fa Revert "Add CMake option to enable address sanitizers"
This reverts commit 3000e26640.

This was not intended for a direct push

Signed-off-by: Matthieu Gallien <matthieu_gallien@yahoo.fr>
2021-04-19 17:54:09 +02:00
Felix Weilbach
3000e26640 Add CMake option to enable address sanitizers
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-19 15:38:59 +02:00
allexzander
bc919bcc8c Temporary solution for file restoration issue due to failing the dataFingerprint on client.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-14 06:42:48 +00:00
Felix Weilbach
696979cb0e Display invalid filenames as warning
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-13 14:58:51 +00:00
Felix Weilbach
b256c6e694 Ping websocket server
This helps the client to recognize if the websocket server is still alive.

Fixes #2983

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-13 12:19:40 +00:00
Valdnet
e628a51735 l10n: Unify spelling
Spelling unification in Nextcloud applications.

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-04-13 12:24:57 +02:00
Nicolas Fella
3bc66bea66 Improve Inotify cmake code
Use the FindInotify from ECM. It handles the case of Linux vs BSD
correctly automatically.

Also only find Inotify on Linux and BSD

Signed-off-by: Nicolas Fella <nicolas.fella@gmx.de>
2021-04-13 06:36:14 +00:00
Camila
98cfc362f7 Remove const and reference of base types.
Signed-off-by: Camila <hello@camila.codes>
2021-04-08 07:10:58 +00:00
allexzander
4b58c2b7b7 Fix review comments.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-07 09:08:02 +00:00
allexzander
82953d0601 Fix review comments.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-07 09:08:02 +00:00
allexzander
de85b79bb8 Address review comments.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-07 09:08:02 +00:00
allexzander
cb8b6ccd9b Ignore *.lnk files on Windows.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-07 09:08:02 +00:00
allexzander
13f4bb541d Treat .lnk files as normal files without hydrating them or creating a placeholder.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-07 09:08:02 +00:00
allexzander
3906ae0922 Another way to fix this.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-07 09:08:02 +00:00
allexzander
7235c708dc Added .lnk file placeholder creation fix.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-07 09:08:02 +00:00
allexzander
d5b6d93978 Fix VFS freeze when syncing '.lnk' files on Windows.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-07 09:08:02 +00:00
allexzander
0a33e99053 Create std::wstrings out of const wchar_t* so a copy is created every time.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-04-06 10:03:22 +03:00
allexzander
28771b25e3 Fix VFS CfAPI Syncroot Register Error.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-03-27 02:41:24 +02:00
allexzander
ab128cc4aa Revert "Merge pull request #3042 from nextcloud/temp-fix-vfs-failure-wow6432"
This reverts commit cafa475398, reversing
changes made to 003e56f4e6.
2021-03-26 22:25:31 +02:00
allexzander
9d15334813 Temp fix for vfs failure.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-03-26 21:41:44 +02:00
Camila
9219926a74
Add checks in case userStatus is not available/fails on the server side.
Signed-off-by: Camila <hello@camila.codes>
2021-03-24 15:42:26 +01:00
Camila
d9a0778e52
Add UserStatus enum with the pre defined status.
- User QHash to map status strings and Status enum.

Signed-off-by: Camila <hello@camila.codes>
2021-03-24 15:41:31 +01:00
Camila
974e2fb718
Do not display notifications when user status is do not disturb.
- This information is retrieved from the notifications endpoint.
- Add icons for the different pre defined status.
- Make functions available to QML to decide which status icon to display.
- Display the user status icon on the avatar and
move the online/offline connection status to the folder icon.

Signed-off-by: Camila <hello@camila.codes>
2021-03-24 15:40:05 +01:00
allexzander
193e50311b Refresh Windows download dialog progress when hydrating a placeholder
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-03-24 14:09:06 +02:00
Felix Weilbach
d78774f29e Check reading from journal was successful before remove placeholder
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-24 10:51:50 +00:00
Felix Weilbach
b1983d7d19 Increase logging around file removal events
To better see what is going on when and if files are removed by the
client.

See also: #260, #1433, #2913

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-22 07:48:39 +00:00
Felix Weilbach
9bf5b5c7ba CFAPI: Handle cancelation of hydration requests
Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-18 10:43:48 +00:00
allexzander
5f0344abb2 Fix warnings in CfApiWrapper.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-03-18 12:07:07 +02:00
allexzander
3fde838bee Fix for Windows long path issue.
Signed-off-by: allexzander <blackslayer4@gmail.com>
2021-03-18 12:07:07 +02:00
Felix Weilbach
c0f09ae12c Don't check against product name if checking server version
We should not rely on the product name because it is something the
user can change in the theming options on the server.

Fixes #3001

Signed-off-by: Felix Weilbach <felix.weilbach@nextcloud.com>
2021-03-16 14:30:56 +00:00
Kevin Ottens
a6bcd3af46 Force basic auth on get authentication required error
If the get job got an authentication required error on the account url
(not davUrl! at that stage we always get auth error there), then it is
safe to assume basic auth is used on the server. It is then kind of
pointless to use any other auth mode they will necessarily fail. Only
basic auth will do the job so force it.

Signed-off-by: Kevin Ottens <kevin.ottens@enioka.com>
2021-03-15 09:38:15 +00:00