Commit graph

9157 commits

Author SHA1 Message Date
Claudio Cambra
d6126f477f
Make file provider domain disconnection reason string translatable
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:28 +08:00
Claudio Cambra
7a18d9df3a
Disconnect the file provider domains when Nextcloud client is closed
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:28 +08:00
Claudio Cambra
bc3fecfb08
Use asserts to check validity of pointers in private impl of fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:28 +08:00
Claudio Cambra
30b453f85e
Use specific functions for creating/converting domain identifiers and account Ids, prevent mismatches
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:28 +08:00
Claudio Cambra
712dde0a2f
Prevent removal of FileProvider domains on app shutdown
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:28 +08:00
Claudio Cambra
57f174d9e3
Ensure we wait for check for existing file provider domains to finish before rushing into creation of new domains in FileProviderDomainManager
This stops the needless deletion and the recreation of FP domains

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:28 +08:00
Claudio Cambra
ddd564bc5c
Ensure file provider domain pointers are correctly retained and released in fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:28 +08:00
Claudio Cambra
dcf39aa9d0
Ensure FileProvider gets set up after accountmanager has set up accounts
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:28 +08:00
Claudio Cambra
85b9e7df03
Modernise Obj-C property notation in fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:27 +08:00
Claudio Cambra
d528adf345
Sprinkle constness over C++ and Obj-C pointers
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:27 +08:00
Claudio Cambra
9b4ba22c46
Use const auto in FileProviderDomainManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:27 +08:00
Claudio Cambra
b2d76abf88
Use push notifications to notify file provider of changes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:26 +08:00
Claudio Cambra
0a258f818b
Use consistent account ID type in fileproviderdomainmanager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:26 +08:00
Claudio Cambra
331ce22e62
Scan for existing file provider domains on FileProviderDomainManager init
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:26 +08:00
Claudio Cambra
4e9d51e487
Add method to private FileProviderDomainManager to signal enumerator
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:26 +08:00
Claudio Cambra
f7f6bffb0b
Stop wiping file provider domains on desktop client close/open
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:26 +08:00
Claudio Cambra
2ebd518b89
Use std::unique_ptr for private implementation class of FileProviderDomainManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:26 +08:00
Claudio Cambra
6bfdc10f7a
Use default constructor for private FileProviderDomainManager implementation class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:25 +08:00
Claudio Cambra
2f12d9b2bd
Remove setting connection status from fileproviderdomainmanager, this will be handled by the domain
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:17 +08:00
Claudio Cambra
b154740575
Add ability for FileProviderDomainManager to wipe domains
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:17 +08:00
Claudio Cambra
a046eca3c3
Use safer separator for account details socket message
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
1cb7da9bac
Send account details over socket and simplify NextcloudAccount members, turn all to Strings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:15 +08:00
Claudio Cambra
0b3f06a73f
Add ability for fileprovidersocketcontroller to send keychain account identifier over socket
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:09 +08:00
Claudio Cambra
969ee489e5
Initialise file provider socket controller by requesting file provder domain data over socket from FileProviderExtension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:08 +08:00
Claudio Cambra
9f2fff3782
Add sendMessage to fileprovidersocketcontroller
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:08 +08:00
Claudio Cambra
28a79d4767
Handle readyRead signal from socket in FileProviderSocketController
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:08 +08:00
Claudio Cambra
ada4b98a93
Added working socket connection between desktop client local socket server and app extension socket client
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:08 +08:00
Claudio Cambra
c5560db690
Make the socket manager just manage the server, leave the socket controller in charge of controlling the socket
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:07 +08:00
Claudio Cambra
ffed4d7933
Make fileprovidersocketmanager keep track of connected sockets
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:07 +08:00
Claudio Cambra
7fc80bc4eb
Add basic FileProviderSocketController class to control the socket
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:07 +08:00
Claudio Cambra
92773e6b77
Rename FileProviderSocketController to FileProviderSocketManager, as it manages the sockets
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:07 +08:00
Claudio Cambra
de68b1bbb4
Implement basic local socket server to communicate with file provider extension
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:07 +08:00
Claudio Cambra
8ccd0368a1
Move file provider domain management to specific class
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:07 +08:00
Claudio Cambra
8ff2c24e8b
Ensure file provider class is correctly deallocated and cleanup routines are run
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:07 +08:00
Claudio Cambra
2d27d6d072
Fix build with BUILD_TESTING activated
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:07 +08:00
Claudio Cambra
7d119457db
Move file provider components to macOS folder
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:06 +08:00
Claudio Cambra
d10b208655
Set connection status for file provider domains
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:06 +08:00
Claudio Cambra
9cb8544501
Add a file provider domain per account
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:06 +08:00
Claudio Cambra
dcd1628ce8
Ensure file provider domains appear in finder sidebar
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:06 +08:00
Claudio Cambra
9a86bb2be3
Add file provider init code
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-12 13:21:06 +08:00
Valdnet
cd69b0d03f
i18n: Word separation
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2023-05-10 16:53:03 +02:00
Camila San
3bdbed6294 Use addLayout to insert the VFS option when setting account.
- Maintains the space between the layout items when resizing
the window.
- Also remove qobject_cast.

Signed-off-by: Camila San <hello@camila.codes>
2023-05-09 15:27:24 +00:00
alex-z
3be820d9a3 Group folder visibility improvements. Show dropdown in tray window.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-05-09 12:25:05 +02:00
Claudio Cambra
0ee850009b Correctly migrate accounts that have possible webflow but not correct authtype in settings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
bab20a3d83 Use canonical file paths rather than problematic relative config file paths during folder migration in FolderMan
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
081871d792 Set discovered legacy config file path during account migration
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
6cd68b8632 Make variables in folderman::setupfoldermigration actually match what they are holding
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
be4b8066c3 Add static discoveredLegacyConfigPath member to configfile
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
e128e321f2 Remove unused private static members of ConfigFile
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
bdc0ebd527 Restore a specific enum from AccountsManager::restore rather than vague boolean
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
e56403997b Clean up pointer declaration and use in FolderMan::unescapeAlias
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
7f46084110 Modernise FolderMan::setupFoldersHelper, get rid of more single-letter variables
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
c2da86c653 Modernise code in FolderMan::backwardMigrationSettingsKeys
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
e60e1ec3f2 Use const auto, rename unreadable variable names in FolderMan::setupFoldersMigration
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
170a6c832d Make folder migration in FolderMan::setupFolders() less unreadable, constify
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 22:56:33 +08:00
Claudio Cambra
4da074e4cb Attempt sign in when an account state is added in AccountManager
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 21:35:48 +08:00
Claudio Cambra
385c13e405 Fix setting [undefined] to QFont in 'Sync now' button
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 21:18:22 +08:00
Claudio Cambra
396003264c Constify elements for progress bar rect calculation in FolderStatusDelegate::paint
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 20:04:56 +08:00
Claudio Cambra
d31a9ec9ce Use palatable Fusion backup style to correctly draw progress bar in folder settings instead of QCommonStyle
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 20:04:56 +08:00
Claudio Cambra
ac0d39e219 Use backup QCommonStyle to draw progress bar on macOS to avoid bug in QMacStyle
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 20:04:56 +08:00
Claudio Cambra
9f5f33c0b2 Make FolderStatusDelegate::paint less horrible to read
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 20:04:56 +08:00
Claudio Cambra
19732d09b9 Const auto-fy in FolderStatusDelegate::paint
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 20:04:56 +08:00
Claudio Cambra
09d71b6a1d Replace validUpdateChannel anonymous namespace function with validUpdateChannels QSet
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 19:06:58 +08:00
Claudio Cambra
8cad4b826e Remove unused parameter in GeneralSettings slotUpdateChannelChanged
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 19:06:58 +08:00
Claudio Cambra
38133a165f Prevent returning a bad update channel from config
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 19:06:58 +08:00
Claudio Cambra
5bcb69eaf9 Guard against setting bad channels in config
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 19:06:58 +08:00
Claudio Cambra
e30188d8e4 Handle conversion from input QComboBox index to update channel string more safely
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 19:06:58 +08:00
Claudio Cambra
71fde8876e Fix channel string check in general settings' slotUpdateChannelChanged
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-05-08 19:06:58 +08:00
alex-z
90e3a37a20 E2EE. Fix freeze on metadata checksum validation.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-05-08 11:29:16 +02:00
alex-z
77f59c26d3 Remove some SQL debug logs to unclutter the output.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-05-04 14:42:10 +02:00
alex-z
cda8da3e96 Edit locally. Fix crash on _chekTokenJob pointer deref.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-05-04 10:49:58 +02:00
alex-z
f39a0903c5 Implement missing share settings
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-04-27 12:54:54 +02:00
alex-z
da6a7d3dac Unlock Office files when they are closed.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-04-25 12:54:37 +02:00
allexzander
8ef21545f5
Merge pull request #5613 from nextcloud/bugfix/sharees-parse-lookup
Parse sharees 'lookup' key to include federated sharees.
2023-04-24 08:37:34 +02:00
xavi-b
5113802daf Fix MacOS UTF-8 normalization issue
Signed-off-by: xavi-b <developer@xavi-b.fr>
2023-04-24 00:52:17 +08:00
Claudio Cambra
348c2536ce Remove unneeded setupFinished signal from EditLocallyJob
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-04-23 22:48:41 +08:00
Claudio Cambra
401ecd8e3c Ensure errors are emitted and loading dialog destroyed when fatal errors are met during edit locally
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-04-23 22:48:41 +08:00
Claudio Cambra
e836ff4a12 Provide error when erasing the blacklist error for an item fails during edit locally
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-04-23 22:48:41 +08:00
Claudio Cambra
6431d66aeb Remove unnecessary signalling response to start edit locally, just start it within the job
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-04-23 22:48:41 +08:00
Matthieu Gallien
9c8b624ef7 protect all access to shared data by mutexes
separate public methods that must lock and private methods that must not
lock

will avoid deadlock or unprotected accesses

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-21 10:32:43 +02:00
Matthieu Gallien
c2d72109b6 protext all access to _logstream with the existing mutex
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-21 10:32:43 +02:00
Claudio Cambra
1f1d9d6dba Ensure we are making all file modifications under mutex protection
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-04-21 10:32:43 +02:00
Claudio Cambra
711359ef43 Ensure we are closing current log file before entering next log file
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-04-21 10:32:43 +02:00
alex-z
3a00c1d43f Edit locally. Elide loading dialog filename label middle.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-04-20 14:16:07 +02:00
alex-z
6bb0640988 Parse sharees 'lookup' key to include federated sharees.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-04-18 17:45:42 +02:00
Matthieu Gallien
94869783d3 allow to read v1.2 from buggy v3.8.0 client
will consider v1.2 stored encryption status in DB to be equivalent to v1
due to bugs in the v3.8.0 release

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-12 15:46:51 +02:00
Matthieu Gallien
7118fc4650 use a better name for encryption status attributes
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-12 15:46:51 +02:00
Matthieu Gallien
619607b054 properly preserve the format of e2ee metadata during DB operations
before this patch we may put the e2ee version format to v1.2 when it was
not the case

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-12 15:46:51 +02:00
Camila
6a4d6b9c97 Alway add the item at the end of the layout.
Signed-off-by: Camila <hello@camila.codes>
2023-04-12 10:16:47 +02:00
Claudio Cambra
eed5ca17bd Enter next log file if the current log file is larger than 512 KB when writing log line
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-04-11 23:10:03 +02:00
Matthieu Gallien
5cb3266f7f fix compilation with clazy and fully-qualified-moc-types checks enabled
will make all signals and slots be using fully qualified data types

makes code safer

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-11 11:34:00 +02:00
alex-z
54c13a560d Edit locally. Restart current folder sync immediately after file opened.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-04-11 09:50:51 +02:00
Matthieu Gallien
a852eda937 in case server has no private key, let e2ee init fail
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-07 16:08:23 +02:00
Valdnet
1f8239b13f i18n: Separate words
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2023-04-07 10:35:51 +02:00
Valdnet
8ed69d1e95 i18n: Separate words
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2023-04-07 10:35:51 +02:00
Valdnet
06b2f2b736 i18n: Add dot
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2023-04-07 10:35:51 +02:00
alex-z
a428c17c37 Do not display error status and messages when aborting a sync during hydration request in VFS mode.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-04-06 22:26:35 +02:00
alex-z
31c3aee447 Fix unit tests SecureFileDrop
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-04-05 12:21:28 +02:00
Matthieu Gallien
c9cf248e5d
fix compilation
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-04 18:01:26 +02:00
Matthieu Gallien
b0c69481f2
try different permutation to try to recover the broken checksum
will only accept a checksum that can be computed from proper data

should still be safe

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-04 17:41:17 +02:00
Matthieu Gallien
a76d9fe46d sort encrypted files by their id to compute checksum
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-04-04 15:06:05 +02:00
Matthieu Gallien
5b1238ddb1
compilation fixes for windows
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 18:06:10 +02:00
Matthieu Gallien
6bf4570b99
compatibility with final file drop implementation
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:29 +02:00
Matthieu Gallien
e22b130d98
prevent syncing with downgraded metadata format
should prevent a malicious server admin to make clients fallback to
older vulnerable metadata format

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:29 +02:00
Matthieu Gallien
593ad6ee91
better track encrypted item status
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:29 +02:00
Matthieu Gallien
8659df2266
prevent downgrading e2ee metadata format after initial migration
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:29 +02:00
Matthieu Gallien
b121a127c1
improve logging when receiving metadata for encrypted folder
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:29 +02:00
Matthieu Gallien
6fb16ce5f4
when uplaoding e2ee metadata add an empty filedrop entry
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:29 +02:00
Matthieu Gallien
8b10b3a926
optimize the computation of checksum for metadata
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:29 +02:00
Matthieu Gallien
8ec5518d8d
checksum has to be computer from the encrypted metadataKey
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:29 +02:00
Matthieu Gallien
7c655cf679
use a getter to query encryption status
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:28 +02:00
Matthieu Gallien
1e018d1e56
display some logs when checksum verification is failed
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:28 +02:00
Matthieu Gallien
ee3c18f9f2
put sane order over #include
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:28 +02:00
Matthieu Gallien
f181b91875
when migrating older metadata, do not check missing checksum
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:28 +02:00
Matthieu Gallien
d1c18ecf2a
when uploading new e2e metadata, adds a checksum
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:28 +02:00
Matthieu Gallien
1b14c127a4
check checksum when getting e2ee metadata
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:28 +02:00
alex-z
1b0a93eabc
Migrate E2EE from v1 to v1.1
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-03-31 17:18:28 +02:00
Matthieu Gallien
6a4028564e
fix indentation style
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 17:18:28 +02:00
Matthieu Gallien
20422f0247 when local sync folder is overriden, respect this choice
may lead to inadvertant data loss, not sure if that could be an issue

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-31 09:21:48 +02:00
Matthieu Gallien
d2cd4efaaa fix the logic generating the config file
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-22 10:17:28 +01:00
Matthieu Gallien
85a2020982 tidy up code in Theme class
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-22 10:17:28 +01:00
Matthieu Gallien
903c475d5a store in config file that we want to enable vfs when generating config
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-22 10:17:28 +01:00
Matthieu Gallien
e0bdbd1387
follow shouldNotify flag to hide notifications when needed
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-21 09:10:12 +01:00
alex-z
09f316dcfc E2EE cut extra zeroes from derypted byte array.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-03-17 16:04:43 +01:00
alkl58
1e37697152 Show server name in tray main window
Signed-off-by: Alkl58 <alkl58@protonmail.com>
2023-03-10 16:51:22 +01:00
Camila
ec7b5481d4 Fix display of 2FA notification.
Fix for issue #5421: add server notifications to the activities list
when the user needs to act on it.

Signed-off-by: Camila <hello@camila.codes>
2023-03-08 10:53:51 +01:00
Matthieu Gallien
cbf7ba78ad prevent restoration of files that are not plain old files
would prevent trying to restore pure virtual files

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-08 09:45:09 +01:00
Matthieu Gallien
b8bebab2eb add assert to prevent upload of virtual files
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-03-08 09:45:09 +01:00
Axel Lender
664e0c18ec Resize WebView widget once the loginpage rendered
When the login dialogue displays the login page itself
the WebView widget did not resize according to
the dimensions of the login page.

Signed-off-by: Axel Lender <lender@b1-systems.de>
2023-03-07 09:55:04 +01:00
alex-z
31de652d9b Display 'Search globally' as the last sharees list element
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-03-03 18:01:05 +01:00
alex-z
b6ba1fe0d6 Implement Secure filedrop link share. Move data from 'filedrop' to 'files' when syncing E2EE folders.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-03-02 19:29:11 +01:00
Claudio Cambra
2e69a9c59a Move sharesChanged signal emission to handlePlaceholderLinkShare rather than repeating each time this method is called
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-03-01 18:40:29 +01:00
Claudio Cambra
f05e44a24a Don't display the placeholder link share of public link shares are not available
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-03-01 18:40:29 +01:00
Claudio Cambra
3560263472 Don't block loading if public link shares are disabled
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-03-01 18:40:29 +01:00
Claudio Cambra
4bbe851da1 Fix text labels in Sync Status component
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-28 23:07:09 +01:00
Claudio Cambra
a0107c43f1 Fetch account avatar info on account action construction, fixing avatar only showing up when action is clicked
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-28 18:08:29 +01:00
Claudio Cambra
f676979b29 Set placeholder image always as account action icon, as at app start there will not be a valid avatar to use ever
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-28 18:08:29 +01:00
Matthieu Gallien
41dc09b9a2 with cfapi when dehydrating files add missing flag
CF_UPDATE_FLAG_DEHYDRATE is apparently needed to get dehydration to
always succeed

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-28 13:27:52 +01:00
Matthieu Gallien
01ecb639ab use new connect syntax
mainly done using clazy and old-style-connect check

close #5426

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-28 09:36:27 +01:00
alex-z
5574ddb744 Always discover blacklisted folders locally, to avoid data loss of non-uploaded files when modifying selectivesync list.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-02-23 10:58:57 +01:00
Matthieu Gallien
c0549c5c03
fix issues reported by compiling windows code with clang-tidy
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-22 16:50:20 +01:00
Matthieu Gallien
c895359e6b
manually fix some variables without init values
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-22 16:50:20 +01:00
Matthieu Gallien
a4f8837233
do not use static_cast to downcast: can generate runtime issues
using a static_cast like this means that the compiler will not check the
validity of the cast

this could lead now or later to crash and other issues if the real type
is not the one in the cast

done with clang-tidy

run-clang-tidy -p build -header-filter='.*' -config="{Checks: '*', CheckOptions: [{key: UseAssignment, value: true}]}" -checks='-*,cppcoreguidelines-pro-type-static-cast-downcast' -fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-22 16:50:20 +01:00
Matthieu Gallien
011d668a23
modernize use auto
done with clang-tidy

run-clang-tidy -p build -header-filter='.*' -config="{Checks: '*', CheckOptions: [{key: UseAssignment, value: true}]}" -checks='-*,modernize-use-auto' -fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-22 16:50:20 +01:00
rakekniven
c195513049 l10n: Added dot to end of sentence
Aligned end of sentences in about dialog.

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2023-02-21 08:51:10 +01:00
Matthieu Gallien
a8a5dfe6c6 skip e2e encrypted files with empty filename in metadata
we cannot decrypt a file without a name

for now we will ignore them

we should probably do much more for the user but I fail to see how to
generate errors from e2ee module

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-20 09:50:34 +01:00
Matthieu Gallien
24fc49f99d fix edit locally job not finding the user account: wrong user id
the only correct id for an user is Account::_davUser

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-17 09:47:06 +01:00
Claudio Cambra
89ebfcae8e Try to initialise share manager again if we receive updated sharing permissions that would have previously prevented sharing
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-16 13:06:35 +01:00
Claudio Cambra
2fbdf1be8f Simplify check for file record sharing permission
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-16 13:06:35 +01:00
rakekniven
09a0fa7908
l10n: Fixed grammar
Reported at Transifex.

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>

Signed-off-by: rakekniven <2069590+rakekniven@users.noreply.github.com>
2023-02-15 19:58:23 +01:00
Claudio Cambra
72fb279508 More accurately log what happens when deleteAppPassword is complete in Account
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 20:22:51 +01:00
Claudio Cambra
893adb8280 Remove unused slotDeleteAccount in AccountSettings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 20:22:51 +01:00
Claudio Cambra
7084310a9f Remove unused AccountState::writeToSettings
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 20:22:51 +01:00
Claudio Cambra
446bb29155 Avoid trying to delete keychain encryption data if there is no encryption data configured
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 20:22:51 +01:00
Claudio Cambra
2c17305864 Add sensitiveDataRemaining convenience method to clientsideencryption
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 20:22:51 +01:00
Claudio Cambra
e7c978551d Make sure to return in checkAllSensitiveDataDeleted
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 20:22:51 +01:00
Claudio Cambra
4ded5e1b38 Don't early return in sensitive data deletion for clientsideencryption if the entries were never stored in keychain
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 20:22:51 +01:00
Claudio Cambra
69d73d1333 Respond to folder creation at specific creation path on macOS
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 18:27:03 +01:00
Claudio Cambra
30ce2eab02 Notify when folder is created with full folder path in FolderCreationDialog
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 18:27:03 +01:00
Claudio Cambra
89d3022649 Do not search for folder twice
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 18:27:03 +01:00
Claudio Cambra
6c548145a2 Make sure to manually call folderwatcher when creating new folder from settings menu in macOS
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-14 18:27:03 +01:00
Claudio Cambra
4d9fef81c9 Log to stdout when in debug mode
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-13 19:59:46 +01:00
Claudio Cambra
4b380dc23a Fix indentation in logger constructor
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-13 19:59:46 +01:00
Claudio Cambra
1d525911f1
Make ShareModel's accountState and folder pointers QPointers to guard against crashes
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-06 12:30:50 +01:00
Claudio Cambra
bf8cb8305e
Create common validCapabilities used by several ShareModel methods checking account capabilities
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-02-06 12:29:35 +01:00
Matthieu Gallien
079d392d36
move init to default value in class declaration
done via clang-tidy and manual tuning

run-clang-tidy -p build -header-filter='.*' -config="{Checks: '*', CheckOptions: [{key: UseAssignment, value: true}]}" -checks='-*,modernize-use-default-member-init' -fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-06 10:43:05 +01:00
Matthieu Gallien
76e88572d6
more fixes for attributes without init value
done with clang-tidy

run-clang-tidy -p build -header-filter='.*' -config="{Checks: '*', CheckOptions: [{key: UseAssignment, value: true}]}" -checks='-*,cppcoreguidelines-pro-type-member-init' -fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-06 10:43:05 +01:00
Matthieu Gallien
ca932fe093
init attributes
discovered at runtime using valgrind

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-06 10:43:05 +01:00
Matthieu Gallien
b4a8981c03
initialize all variables
done with clang-tidy

run-clang-tidy -p build -config="{Checks: '*', CheckOptions: [{key: UseAssignment, value: true}]}" -checks='-*,cppcoreguidelines-init-variables' -fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-06 10:43:04 +01:00
Matthieu Gallien
82b062d2e9
prefer initialization of attribute inline
done with clang-tidy

run-clang-tidy -p build -config="{Checks: '*', CheckOptions: [{key: UseAssignment, value: true}]}" -checks='-*,modernize-use-default-member-init' -fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-06 10:43:04 +01:00
Matthieu Gallien
d2f5c6a5c7
initialize many attributes that could have been left without init value
done with clang-tidy

run-clang-tidy -p build -config="{Checks: '*', CheckOptions: [{key: UseAssignment, value: true}]}" -checks='-*,cppcoreguidelines-pro-type-member-init' -fix

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-06 10:43:04 +01:00
Matthieu Gallien
d21da0d3af
prefer member init
done via clang-tidy and use of modernize-use-default-member-init

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-06 10:43:04 +01:00
Camila
e533c6047c Update code style.
Signed-off-by: Camila <hello@camila.codes>
2023-02-02 08:43:51 +01:00
Camila
e0c1c67306 Fix: if the config did not exist, overrideserverurl had no effect.
When the client runs for the first time, setting the value was done before
the config file was created. It had no effect.

Signed-off-by: Camila <hello@camila.codes>
2023-02-02 08:43:51 +01:00
Camila
3596562101 Do not exit application when overrideserverurl param is a valid url.
Signed-off-by: Camila <hello@camila.codes>
2023-02-02 08:43:51 +01:00
Camila
9101e0a7f8 Only accept folder setup page if overrideLocalDir is set.
Fix for #5383.

Signed-off-by: Camila <hello@camila.codes>
2023-02-02 08:43:51 +01:00
Camila
72fe5f643c
By default do not display warning about backups made of the config file.
Use the setting showConfigBackupWarning to change the default value.

Signed-off-by: Camila <hello@camila.codes>
2023-02-01 19:00:40 +01:00
Camila
9ead33ab93
Improve warning message code readability.
Signed-off-by: Camila <hello@camila.codes>
2023-02-01 16:21:25 +01:00
Matthieu Gallien
76af889937
use QVersionNumber to compare versions and improve upgrade warning
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-01 13:28:01 +01:00
Matthieu Gallien
fb062f2dd7
fix wrong detectiion of current config file as a config migration
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-02-01 13:28:01 +01:00
allexzander
810fced476
Merge pull request #5378 from nextcloud/Valdnet-patch-4
l10n: Correct word
2023-01-31 17:06:48 +01:00
Claudio Cambra
dfdc23e240
Fix displaying of file details button for local syncfileitem activities
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-31 13:03:52 +01:00
Valdnet
bca915a230 l10n: Correct word
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2023-01-31 12:59:01 +01:00
alex-z
bd9eb0c89f Always unlock E2EE folders, even when network failure or crash.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-01-30 16:01:19 +01:00
Camila
a3e08aae3b Address PR comments.
Signed-off-by: Camila <hello@camila.codes>
2023-01-30 09:44:17 +01:00
Camila
9a3f2efa58 Fix rename.
Signed-off-by: Camila <hello@camila.codes>
2023-01-30 09:44:17 +01:00
Camila
ea903b1316 Backup all config files in the config folder if there was a version change of the client.
Signed-off-by: Camila <hello@camila.codes>
2023-01-30 09:44:17 +01:00
Camila
85b4c19b7b Extend config backup method to make a copy of any given config file.
Signed-off-by: Camila <hello@camila.codes>
2023-01-30 09:44:17 +01:00
Camila
dbce267feb Look for a previous config file with a different name.
Signed-off-by: Camila <hello@camila.codes>
2023-01-30 09:44:17 +01:00
Camila
bf258542cd Update code style.
Signed-off-by: Camila <hello@camila.codes>
2023-01-30 09:44:17 +01:00
Camila
e68b4595e7 Remove obsolete QDesktopServices::storageLocation.
Use QStandardPaths::writableLocation instead.

Signed-off-by: Camila <hello@camila.codes>
2023-01-30 09:44:17 +01:00
Camila
b525de8a97 Open calendar notifications in the browser.
Signed-off-by: Camila <hello@camila.codes>
2023-01-27 12:30:01 +00:00
Claudio Cambra
68c785e25c
Revert "Merge pull request #5366 from nextcloud/bugfix/remove-mono-icons-setting"
This reverts commit 5c42da4de5, reversing
changes made to e4b2449030.

Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
2023-01-27 12:23:11 +01:00
alex-z
bb8bdab19c Edit locally. Do not lock if locking is disabled on the server.
Signed-off-by: alex-z <blackslayer4@gmail.com>
2023-01-26 17:00:14 +01:00
Matthieu Gallien
fbb0a33eb7
use auto
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-01-25 16:37:37 +01:00
Matthieu Gallien
eb9a496f41
use #pragma once instead of include guards
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-01-25 16:37:37 +01:00
Matthieu Gallien
07c292eaf5
fix copyright notice of new files
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-01-25 16:37:37 +01:00
Matthieu Gallien
3b6e5555d1
fix wrong code style
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-01-25 16:37:36 +01:00
Matthieu Gallien
b028024b08
simplify code
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-01-25 16:37:36 +01:00
Matthieu Gallien
7091b7f889
remove some not needed debug logs
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
2023-01-25 16:37:36 +01:00