1
0
Fork 0
Commit Graph

6421 Commits

Author SHA1 Message Date
Camila San 90a2d5a3e7
Aligns text correcty when not all text has content in the activity list.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:11:04 +02:00
Camila San 156b4cf284
Aligns time vertically on the bottom of the notification action text when there is no message.
- Minor fix: gives less space for long text that needed ellipses which
was not showing and set right margin because otherwise text was not
painted correctly and completly.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:11:04 +02:00
Camila San ee612bda3a
Fixes crash when folder it is not set in the activity list.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:11:03 +02:00
Camila San a1cab471e8
Comments out slotProgressInfo.
- Added TODO.
- It seems to be working only in some cases.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:02 +02:00
Camila San f294cf1b93
Changes icons for errors and warnings in the activity list.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:02 +02:00
Camila San 31892f5337
Changes background color to white for the Activity list widget.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:02 +02:00
Camila San e9dbee0df5
Removes alternate color on the rows of Activity Widget.
- Also fixes the click on each activity: the user had to click twice -
one to select the row and then one click to open file manager or
browser.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:02 +02:00
Camila San 9cbf5aa783
Changes icons for actions in Activity List.
- For folder (open file manager) and close (dismiss
notification).

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:02 +02:00
Camila San 36a73432bc
Implements ActivityWidget::slotProgressInfo.
- Attempts to implement slot as it was in the old IssuesWidget.
- It should clean up the activity list when needed -  e.g. when file
conflict was solved.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San b2834e047d
Refactores ActivityListModel::removeFromActivityList.
- Fixes crash when dismissing notification - notification was being
removed from the wrong list.
- Minor changes: removes AccountStatePtr where it was needed anymore now
that ActivityListModel has an _accountState, it doesn't need to be
checked for each activity/notification.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San f63434b856
Stores folder in ActivityData.
- The information is needed on ActivityWidget::slotProgressInfo.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San 7bc9275a8c
Separates types of errors: SyncErrorType and SyncFileItemType.
- This follows what the enums already being used SynResult::Status and
SyncFileItem::Status.
- Do not display buttons for FileErrorTypes - since they are errors on
local syncing, there is nothing to do in the server.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San 7b1569df81
Removes static const from activity widget.
- It didn't need to be static.
- It crashed on Windows (Visual Studio 15 2017 Win64).

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San f85825dee4
Adds header and forward declaration of 'QMouseEvent' to ActivityItemDelegate.
To fix compiling for Qt5.7 (drone error).

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San 3673603e5a
Fixes buttons clickable area in the activities list.
- Their size was not correctly calculated so it was hard to filter the
clicks on the list. User had to click multiple times before clicking on
the right acceptable area.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San 9f9be7814c
Adjust space between action/buttons in the toolbar.
- Minor: cleans up code used for debug.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San 938c99ec42
Fixes and improves 'copy to clipboard' output.
- With the merging of activities and notifications the copy to clipboard
function got broken. Had to put it back as it was before.
- The output text from the clipboard was almost unreadeable. Ajusted the
space between texts and used separator '-' instead of ','.
- Minor: cleans up comments.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San 4a6b7854f5
Adds 'Join' string for call notifications.
- Stores object_type from the api response to check if notification is a
call so the primary button text and action is 'Join'.
- Puts strings into consts.
- Minor change: Improves comments on ActivityListModel.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San 00effb0e2f
Adds 'accept' button for remote share notifications.
- Stores object_type form the api response to check if notification is
remote_share, so the primary button text is 'accept' instead of 'more
information'.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San f0ca5dbded
Fix settings dialog for mac.
- Fixes adding/removing accounts with separator in the toolbar -
accounts were not added in the right order and removing was not
including the separator.
- Fixes button sizes in the activities list - the buttons were too small
for the text.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San 11484d5588
Removes Protocol and Issues widget files and references.
- Minor changes:
 - Improves comments and qCWarning  messages
 - Removes commented out code.
 - adds TODO's.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San ab3c6da5d7
Gives full path to file to open in file manager.
- The path to the file wa being stored in the wrong activity property.
It was in the action link when it should be in the file.
- Minor: comments out the display of issues and protocol widget.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San f402b1d9e4
Changes icons for opening in file manager and to dismiss notification.
- The icons used before were not really clear on what their function
was.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:01 +02:00
Camila San ec51428e4d
Fixes the url for the button 'more information'.
- The url for the browser was not full path to the file.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San 64d635a046
Fixes the color of the font.
- It was too light when the row was selected.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San 9de3985021
Small fixes.
- Align progress indicator to the center.
- Moves unused code.
- Removes unused labels.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San a9cd3b3a6d
Merges errors and protocols into notifications/activities.
- Errors will always be on top, then Notifications comes next and then Activities for last.
- Adds 2 new types of Activity: NotificationType and ErrorType.
- ActivityListModel and ActivityWidget stores AccountState to connect user and widget.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San d0c72dd642
Makes space smaller bewteen user/activities and network/settings menu.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San 9ad2a980ce
Moves the separator to between accounts.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San 7e8b5f34d7
Fixes the text length for activities.
- Activities from the server don't have buttons to interact with so
their content can use the full lenght of the row.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San 918ccb1ed3
Removes row when notification is dismissed.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San e3c7a5a2ff
Changes Activity list view icons, buttons and drawing.
- Displays the notification icon when available.
- Adds dismiss button with an icon.
- Handles buttons actions in the list view.
- Changes what is painted first (activityitemdelegate) for each row in
the activity list.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San 00a73b5ded
Adds class to retrieve icons.
- This is an attempt to cache the icons.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San 49377976db
Removes notification row from the view when clicking on Dismiss.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San ef4a30fcb9
Displays a menu once the user clicks on the button in the notifications.
- In activityitemdelegate the mouse events are filtered (ActivityItemDelegate::editorEvent) to check if the user clicked
on a button in the list of activities/notifications. Then a signal is emitted to ActivityWidget that does the rest:
show submenu when there are more options, open browser, open file manager, send request to server.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San 9ad01f0819
Fixes order of the notifications: latest on top.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San 7fa5e41e8d
Only displays buttons if it is a notification and adjust space left.
- Do not display buttons for activities.
- Adds correctly text and button in the space left depending on the widget size.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:06:00 +02:00
Camila San 4e4a0da3b7
Returns the activity type to the list view.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San 2350b41dc3
List model returns the list of actions for each activity.
- The list of possible actions (server requests( was not being used in
the activityitemdelegate. This is needed to be able to draw the primary
action buttons and other options for each notification in the view.)
- Minor changes:
  - Uses different icons for activities and notifications in the list view.
  - Align elements in the list view of notifications/activities properly.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San d1f4f8a558
Correctly removes actions - account, separator and settings widget from toolbar when account is removed.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San a6331c7a75
Fixes widget stack visibility when switching actions.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San 22a6303c9d
Adds space bewteen different accounts and activity.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San 1b1468a9c6
Each user has its own list of activities.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San b13f77c0fb
Adds one activity widget for each user.
- ActivityListModel and ActivityWidget stores an AccountState to connect user and widget.

Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San 8e0c036fc3
Aligns Network and General to the right.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San 75c2613b1b
Displays activity and notification messages in the list view.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:59 +02:00
Camila San 908870ccde
Adds notifications to the Activities list.
Signed-off-by: Camila San <hello@camila.codes>
2018-07-30 22:05:57 +02:00
Roeland Jago Douma 24efdd3b45
Fix E2E query
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-03 11:40:58 +02:00
Roeland Jago Douma 6c11c1aa73
Fix query
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-03 10:33:26 +02:00
Olivier Goffart d114212333
OwnSql: Fixup after feedback for #6388 2018-07-03 10:33:26 +02:00
Olivier Goffart 779969f865
OwnSql: Put the SQL queries next to their use.
This avoid haivng to modify 4 places when we want to add a query
2018-07-03 10:33:26 +02:00
Olivier Goffart 518fb90757
OwnSql: Some refactoring
Use QByteArray for the query so we don't have to convert twice.
Automatically finish the query when the DB close, so we don't
have to call reset
2018-07-03 10:33:26 +02:00
Christian Kamm d549c77af6
Issues: Show link to conflicts doc if there are some #6396
The link url is themed.
2018-07-03 10:18:18 +02:00
Roeland Jago Douma 0d70b05b65
Set Accept-language header for webview requests
This way the server will properly translate it for you if it has
translations.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-03 07:45:02 +02:00
Camila Ayres 9627aad04c
Merge branch 'master' into fix/458/do_not_show_webview_by_default 2018-07-02 22:01:03 +02:00
Christian Kamm 70b5d54082
Proxy settings: Fix bad behavior with empty host
Fixes f6a075ef54 for #5885

When no host is given it shouldn't just *appear* that there is no
proxy, there actually shouldn't be a proxy set then.
2018-07-02 21:15:30 +02:00
Roeland Jago Douma 34d964fc80
Do not force to show the webview on construct
Should fix #458

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-02 20:09:30 +02:00
Roeland Jago Douma 08abc71acb
gui Q_UNUSED
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-02 13:02:15 +02:00
Roeland Jago Douma ce545b1e47
propage*encrypted Q_UNUSED
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-02 12:45:44 +02:00
Roeland Jago Douma e871359453
Remove unneeded ;
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-02 11:03:58 +02:00
Roeland Jago Douma b952fa64ee
Restore logger installation
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-07-02 11:01:52 +02:00
Roeland Jago Douma d2b75cabb2
Remove default trademark text
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-29 21:36:18 +02:00
Roeland Jago Douma 595cbfaa16
Update urls
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-28 12:46:47 +02:00
Camila San 4c7b7dfcaa
Restores previous text in the about section.
Signed-off-by: Camila San <hello@camila.codes>
2018-06-28 12:33:40 +02:00
Olivier Goffart c5ace2338c
Theme: unify ownCloudTheme and Theme classes
The goal is to avoid confusion described in issue #6422 by removing
duplicates between the Theme and owncloudTheme.

 - Use the about from ownCloudTheme everywhere
 - Create default applicationIcons() and condifFileName() that should work
   everywhere
 - trayFolderIcon was removed as it is not used
 - the helpUrl from the default Theme now points to the owncloud client
   documentation. Before there was no help entry by default for branded
   client if the function was not overriden.
 - Do not merge functions that would otherwise break compatibility with
   theme that did not override them. For example colors or customMedia.
2018-06-28 12:33:39 +02:00
Camila San e69a9c61d0
Windows: moves translation files to /i18n.
Signed-off-by: Camila San <hello@camila.codes>
2018-06-26 23:56:34 +02:00
Roeland Jago Douma 9eb950bdcf
Merge pull request #438 from nextcloud/bugfix/413/hide-decrypt-option
Hide decrypt option since it does only work for empty folders
2018-06-23 21:20:46 +02:00
Julius Härtl 92480ec8fb
Hide decrypt option since it does only work for empty folders
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-06-22 12:13:04 +02:00
Julius Härtl e42f5648bd
Add indicator to e2e folders
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-06-22 11:21:30 +02:00
Julius Härtl 655a43db10
Use custom mnemonic dialog
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-06-22 10:42:01 +02:00
Roeland Jago Douma 48a6ef37b2
Add a button to E2E accounts to show the mnemonic
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-21 19:52:27 +02:00
Roeland Jago Douma 30b211381f
More fixes for the OSX daily builds
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-21 15:22:53 +02:00
Julius Härtl 4ba40a6ce1
Move information icon to warning icon
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-06-20 16:06:19 +02:00
Roeland Jago Douma f7bf8c7577
Thread local storage don't work properly on OSX
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-14 21:26:07 +02:00
Christian Kamm ca8f569371
SocketAPI: Remove SHARE_STATUS
It was never used by a shell integration.
2018-06-11 19:35:17 +02:00
Christian Kamm 2bec587d4d
SocketAPI: Allow opening share dialog if contents still syncing #4608
With the previous changes the "Share..." action was shown but it didn't
work yet.
2018-06-11 19:35:16 +02:00
Christian Kamm d304fcbda7
Rename local discovery option for clarity
It's using full relative filepaths, not just dir paths.
2018-06-11 14:50:01 +02:00
Christian Kamm 77fcff5bdf
Conflicts: Change tags to be more user friendly #6365
From "_conflict-user-yyyymmdd-hhmmss"
to   " (conflicted copy user yyyy-mm-dd hhmmss)"
2018-06-11 14:40:40 +02:00
Roeland Jago Douma dc41f8a16e Fix windows build
* Reorder openssl header import
* not => !

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-08 16:53:56 +02:00
Christian Kamm e65caee9cf
Notify if an explicitly excluded folder is created #6222 2018-06-08 14:49:26 +02:00
Christian Kamm a1d6af60f0
AccountWizard: Reserve space for error label #6546 2018-06-07 15:32:52 +02:00
Olivier Goffart 7c9ec4a55a
Credentials: Retry fetching from the keychain in case the keychain is still starting
When owncloud is restored, at boot time, it might be started before the
crendential manager. So if we detect an error, wait 10 seconds and hopefully
it'd be loaded by then.

Issues: #4274, #6522
2018-06-07 15:18:40 +02:00
Julius Härtl 689ab5b8b3
Merge branch 'master' into upstream/owncloudsynclog 2018-06-07 14:38:49 +02:00
Markus Goetz 3cd21e258e
macOS: Don't use WAL for sqlite3 in /Volumes
For #6049
2018-06-07 10:22:07 +02:00
Christian Kamm 8147963b24
SyncJournal: Explain added file-exists check 2018-06-07 09:50:09 +02:00
Christian Kamm cc04ce9fe4
SyncJournal: Check file existence even for open dbs #6049
With WAL mode sqlite seems to occasionally crash when the
underlying filesystem goes away.
2018-06-07 09:50:09 +02:00
Christian Kamm 5f793c151c
Upload: Adjust timeout for final job based on size #6527
Some servers have virus scanners and the like that can delay the
response of the final chunked upload assembly significantly, often
breaking the current 5min (!) timeout. See owncloud/enterprise#2480
for details.
2018-06-07 09:38:16 +02:00
Christian Kamm 4fa762b5ce
Propagation: Connection closed is a normal error #6516
Because it sometimes appears in conjunction with server bugs and we
don't want to halt all syncing for other files in these cases.
2018-06-07 09:12:46 +02:00
Olivier Goffart 14ff3534a8
Fix compilation warning
propagateuploadng.cpp:500:10: warning: lambda capture 'this' is not used [-Wunused-lambda-capture]
2018-06-07 08:53:12 +02:00
Christian Kamm d9640dd79e
PropagateUpload: Fix miscount in abort() #6516
Previously it tried to abort even jobs that had already finished, which
was not going to work as they wouldn't emit finished() again.

Also, in some cases the abortCount would never go to zero and that case
wasn't well documented.
2018-06-07 08:53:12 +02:00
Christian Kamm 96126a53d3
PropagateUpload: Remove unused PropagateUploadFileCommon::abort 2018-06-07 08:53:10 +02:00
Christian Kamm 797b40237e
Partial local discovery: Fix scheduling logic
A recent patch that touched the condition for deciding whether a
periodic full local discovery is necessary accidentally inverted the
condition.
2018-06-06 22:49:50 +02:00
Christian Kamm 898a530ba5
ShareLink: Preserve password when unrelated ui changes #6512 2018-06-06 20:56:34 +02:00
Olivier Goffart 31ba483845
sqlite: Update bundled version to 3.23.1
For OS X and Windows.
2018-06-06 20:40:23 +02:00
Olivier Goffart fbc1747168
Fix a bunch of warning with clang
The option -Wno-discarded-qualifiers only exists with GCC, clang warns that
it has no effects.

Also it warns when some virtual fuction are marked with override but not
all of them.
2018-06-06 20:31:14 +02:00
Markus Goetz 367d0c39e8
Logging: Avoid the word "Error"
The old code printed "QNetworkReply::NoError"
2018-06-06 20:24:32 +02:00
Christian Kamm e1ab5f3811
Network settings: If no proxy host given, show "no proxy" #5885
What happens internally is that a proxy without a hostname gets treated
as no proxy.
2018-06-06 20:11:09 +02:00
Olivier Goffart 073a5184cb
Use std::chrono::milliseconds to represent milliseconds 2018-06-06 17:26:53 +02:00
Olivier Goffart c4af4a5a85
More Button: Use SVG and fix size so it renders good in highdpi
When the more button was changed from using a text to an icon,
the size computation was not adjusted proerly to that of a button
with an icon.

And using svg allows it to be rendered correctly with high-dpi

It looks much much nicer now
2018-06-06 13:55:34 +02:00
Olivier Goffart 012c638d4e
Uploads: Don't delete unexisting chunks
Since commit 4dc49ff3, we store an entry in the upload info table even
for non chunked uploads. However, if this fails we don't want to remove
non-existant stale chunks if the upload fails.

Without this commit, we would send a DELETE command to clean non-existant
chunks in the dav/uploads/ namespace.
2018-06-06 09:52:02 +02:00
Christian Kamm de9fb7dc9a
Silence warning by removing unnecessary this capture 2018-06-06 09:15:25 +02:00
Christian Kamm 550b845037
SocketApi/Sharing: Add "copy public link" to menu #6356
* The new menu option will fetch shares and create a new link share if
  no "context menu share" currently exists.
* Various cleanup of common operations in socketapi happened as well,
  in particular there's now FileData::get() that calculates all the
  relevant paths that are useful for most socketapi actions.
2018-06-06 09:15:23 +02:00
Markus Goetz eb097cbffb
Notifications: Lower hiding timeout
With the 4.5sec timeout, it was very easy to accidently hit the wrong notification
when the previous one dissapeared so late.
2018-06-05 21:24:56 +02:00
Markus Goetz de1032ebd7
Q_UNUSED: Sprinkle around 2018-06-05 20:45:51 +02:00
Markus Goetz d3cbe63801
macOS: Implement new dynamic Finder menu items #6328 2018-06-05 20:40:40 +02:00
Markus Goetz 648911f3ab
macOS: Unload the Finder extension on exit #5382 #3819 2018-06-05 20:22:02 +02:00
Christian Kamm 4a81ae75cf
Logging: Add persistent auto-logdir option #6442 2018-06-05 20:07:53 +02:00
Christian Kamm 428cfc5e1c
LogDir: Compress log when switching files #6442 2018-06-05 20:07:53 +02:00
Christian Kamm 9319b6594e
LogDir: Go to new file on Problem/Abort too #6442 2018-06-05 20:07:53 +02:00
Christian Kamm 63c2474b70
Folders: Use "Problem" icon for unresolved conflicts #6277 2018-06-05 19:59:19 +02:00
Christian Kamm ed5e413751
Share link: Update permission wording #6192 2018-06-05 19:46:04 +02:00
Christian Kamm 09f83f4fa9
SyncJournal: Clear etag filter before sync
Before, we only cleared the _avoidReadFromDbOnNextSyncFilter *after* a
sync which meant that we had to sync twice after selective sync setup.

Now, we clear the filter *before* a sync as well which allows the actual
next sync to write the correct etags to the db again - instead of only
the sync after that one.

Also expand on comments and rename _avoidReadFromDbOnNextSyncFilter to
_etagStorageFilter.
2018-06-05 12:00:20 +02:00
Olivier Goffart 613fd30021
SyncJournalDb::setSelectiveSyncList: Always use a transaction
Issue #6431
2018-06-05 11:15:51 +02:00
Christian Kamm c57e4dcf03
Blacklisting must prevent parent etag updates #6411 2018-06-05 10:12:11 +02:00
Roeland Jago Douma a0c458d937
Fix output add E2E again
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-05 09:02:41 +02:00
Olivier Goffart f4f228de3e
FolderStatusModel: fix potential assert
OCC::FolderStatusModel::slotUpdateDirectories: ASSERT: "parentInfo->_fetching" in file /home/olivier/kdegit/owncloud/mirall/src/gui/folderstatusmodel.cpp, line 599

This can happen if the structure of a folder is change while the user
expands the root folder. In this case, resetSubs() is called which
resets _fetching to false.
Instead, we need to keep a pointer to the job so we can abort it by
deleting it.
2018-06-05 08:12:58 +02:00
Olivier Goffart 3e508329b5
csync_update: add the checksum in the discovery log
Issue #6414
2018-06-05 07:52:29 +02:00
Roeland Jago Douma 32ae670c4e
Merge pull request #325 from nextcloud/upstream/ssl-button-speed
SslButton: Improve speed (especially on macOS) #6031
2018-06-04 17:14:38 +02:00
Roeland Jago Douma 4bd6f2b26d
Merge pull request #323 from nextcloud/upstream/upload-finished-flag
Upload: Simplify 'finished' flag
2018-06-04 17:14:17 +02:00
Roeland Jago Douma c1171d700e
Merge pull request #322 from nextcloud/upstream/pr/6404
Excludes: Expand doc, Desktop.ini only in root folder
2018-06-04 17:13:23 +02:00
Roeland Jago Douma 3a1dc44ec8
Merge pull request #320 from nextcloud/upstream/issue/6403
propagateuploadv1: don't finalize after a done()
2018-06-04 17:12:52 +02:00
Roeland Jago Douma 3c3f3541d4
Merge pull request #291 from nextcloud/fixEncryptionDecryptionNonEmptyFolder
Forbid to encrypt or decrypt a non-empty folder.
2018-06-04 16:03:25 +02:00
Roeland Jago Douma c49597d9d8
Merge pull request #319 from nextcloud/upstream/issue/4424
Folder: normalize the local path.
2018-06-04 16:02:49 +02:00
Roeland Jago Douma 321e8c0264
Merge pull request #317 from nextcloud/upstream/issue/3146
SslButton: Add HTTP/2 info #3146
2018-06-04 16:01:44 +02:00
Olivier Goffart 393f6c2310
SyncEngine: remove the "CSync" wording from the error messages
They are confusing for the user.
Example in issue #6274
2018-06-04 15:41:38 +02:00
Olivier Goffart 5f30177bfc
CSync: Remove unused error codes
None of the removed ERRNO code were ever set.
So none of the removed error hapenned anymore
2018-06-04 15:41:38 +02:00
Olivier Goffart 15e93c8a31
CSync: reconcile never returns an error 2018-06-04 15:41:38 +02:00
Olivier Goffart be29fc2f69
csync: remove CSYNC_PARAM_ERROR
It does not make sense to report such error to the user.
Its goal was to show invalid use of the csync API, but this is now done
with asserts.
2018-06-04 15:41:38 +02:00
Olivier Goffart 0443f8dd4d
csync: Simplify csync_walk_local_tree/csync_walk_remote_tree
Small refactoring
2018-06-04 15:41:38 +02:00
Tomaz Canabrava 9b74a596c6
Forbid to encrypt or decrypt a non-empty folder.
The specs forbid the encryption or decryption of a
non empty folder. so...
1 - check for the sync status, if it's not synced return

as there's no way that I can say that there's items on the
server right now without waiting for the sync to finish

2 - verify if the folder is empty locally

as the user could have send some files to the folder.
2018-06-04 15:33:01 +02:00
Julius Härtl 5df1af79c5
Merge pull request #377 from nextcloud/bugfix/noid/cloudprovidesr_314
Fix cloudproviders after merging #314
2018-06-04 15:32:36 +02:00
Markus Goetz ab34f36836
owncloudsynclog: 1 MB -> 10 MB #6420 2018-06-03 23:09:23 +02:00
Roeland Jago Douma f96206705a
Merge pull request #315 from nextcloud/upstream/pr/6379
Discovery: Error if properties are missing #6317
2018-06-03 19:58:21 +02:00
Roeland Jago Douma 4b1c6bb833
Fix cloudproviders after merging #314
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-06-02 20:46:10 +02:00
Roeland Jago Douma 1262cbf4ef
Merge pull request #314 from nextcloud/upstream/pr/6373
Make sure ignored and conflict files show up in the issues tab even with partial local discovery
2018-06-02 20:20:19 +02:00
Julius Härtl c9634d65aa
Merge pull request #313 from nextcloud/upstream/pr/6380
ConnectionValidator: change the minimum server version
2018-06-01 15:43:19 +02:00
Markus Goetz b8b9b93a6e
ShareDialog: macOS grey odditiy #5774 2018-06-01 13:31:22 +02:00
Olivier Goffart 4d7617d64b
Propagator: remove a bunch of code related to the 'Shared' directory
This no longer exists since the owncloud server 7.0 which we no longer
allow to connect to
2018-06-01 13:17:20 +02:00
Olivier Goffart 8484b493e4
ConnectionValidator: change the minimum server version
Forbit connection with server older than 7.0. These server did not have
permission.

Also warn for anything older than 9.1. 9.0 is end of life according to
https://github.com/owncloud/core/wiki/Maintenance-and-Release-Schedule
2018-06-01 13:17:11 +02:00
Olivier Goffart 1b587a1241
ConnectionValidator::Status use Q_ENUM
So no need to have a manual conversion to QString
This is only used in debug message anyway.
2018-05-31 21:56:55 +02:00
Olivier Goffart 311307e8cb
Move ClientProxy and ConnecitonValidator to gui
They are using the ConfigFile and are used to control
when to sync rather than for the sync itself
2018-05-31 21:56:55 +02:00
Olivier Goffart 7e05e1e411
owncloudcmd: Do not overwrite the http timeout for json jobs
The AbstractNetworkJob already has a sensible timeout that depends
on an environment variable.
No need to overwrite that with some arbitrary value. (The connection
validator does that because it could cause problems if two connection
validator were to run at the same time. Not a problem here)
2018-05-31 21:56:55 +02:00
Olivier Goffart 204cb470b4
owncloudcmd: Do not read the proxy settings from the gui's config file
The proxy settings for the owncloudcmd client can be set via the
--httpproxy command line argument. owncloudcmd should not depends
on the gui's config
2018-05-31 21:56:55 +02:00
Olivier Goffart 9fe8713bdc
Folder: remove unused member 2018-05-31 21:56:44 +02:00
Roeland Jago Douma c6ef8eec0a
Merge pull request #305 from nextcloud/upstream/pr/6363
SyncEngine: Use separate state for two unicode conversions
2018-05-30 08:04:05 +02:00
Roeland Jago Douma 86741de622
Merge pull request #299 from nextcloud/upstream/pr/6349
Don't delete contents behind directory junctions #6322
2018-05-30 08:03:04 +02:00
Roeland Jago Douma c6c42c3c70
Merge pull request #311 from nextcloud/upstream/pr/6371
Utility::fsCasePreserving: remove UNIT_TESTING ifdef
2018-05-29 20:33:34 +02:00
Markus Goetz 13b2e51dfe
Notifications: Immediately request when getting account online 2018-05-29 20:09:08 +02:00
Markus Goetz 00d8343e76
SettingsDialogMac: Also start timer for notifications 2018-05-29 20:09:06 +02:00
rakekniven 8d90c8c17b
Fixed tiny grammar issue 2018-05-20 11:17:46 +02:00
Julius Härtl 6a5654d6d2
Merge pull request #294 from nextcloud/upstream/pr/6330
SocketAPI: "Open in browser" and disable Share entries when sharing i…
2018-05-19 16:09:50 +02:00
Julius Härtl 9196ab1c98
Merge pull request #246 from k1l1/master
scary wording on big changes #216 (translations missing)
2018-05-19 15:44:04 +02:00
Kilian Pfeiffer bb65eb8cdd changed wording
https://github.com/nextcloud/client/issues/216
2018-05-19 13:17:25 +02:00
Julius Härtl b7a67863a7
Merge pull request #306 from nextcloud/upstream/pr/6347
Set launch-on-startup when the first account is set up
2018-05-18 16:08:52 +02:00
Roeland Jago Douma b7d5aff901
Merge pull request #303 from nextcloud/upstream/issue/6322
SyncJournal: Don't use LIKE with paths
2018-05-18 13:56:25 +02:00
Roeland Jago Douma 1dc3c156d4
Merge pull request #304 from nextcloud/upstream/pr/6364
Conflicts: Add user name to conflict file name #6325
2018-05-18 13:56:14 +02:00
Julius Härtl 0283e1bfaa
Merge pull request #295 from nextcloud/upstream/pr/6329
Tray: Change icon for unresolved conflicts #6277
2018-05-18 08:53:49 +02:00
Roeland Jago Douma 3b4fcfcc65
Merge pull request #302 from nextcloud/upstream/pr/6352
Sharing: Use maximum allowed permissions for new share #6346
2018-05-17 21:11:33 +02:00
Roeland Jago Douma 33555292ae
Merge pull request #301 from nextcloud/upstream/pr/6353
HTTP2: Only from Qt 5.9.4 #6285
2018-05-17 15:39:09 +02:00
Roeland Jago Douma 36572b79c3
Merge pull request #298 from nextcloud/upstream/no-shibboleth
NO_SHIBBOLETH: Fix warning
2018-05-17 15:38:04 +02:00
Roeland Jago Douma cbeb9af7fd
Merge pull request #296 from nextcloud/upstream/issue/6337
FolderStatusModel: Refresh folders on Problem sync #6337
2018-05-17 15:37:20 +02:00
Markus Goetz 9ef42b4835
SslButton: Improve speed (especially on macOS) #6031
From 1+n*450msec to 1*450msec
2018-05-16 21:03:06 +02:00
Christian Kamm a2675b559b
Upload: Simplify 'finished' flag
* Sometimes there was 'finished' and '_finished'
* Make each done() call automatically set _finished to true
2018-05-16 20:57:26 +02:00
Christian Kamm 5f7fd7c551
Excludes: Expand doc, Desktop.ini only in root folder
The Desktop.ini exclude was added for 2.4 because we add such a file to
the synced folder on Windows. It doesn't need to cover subdirectories.
2018-05-16 20:29:12 +02:00
Olivier Goffart ad276a4bce
Folder: normalize the local path.
We otherwise normalize all path in the C form, so we must have
the Folder's path normalized the same. Or all comparizon will fail
(such as knowing if a file from the SocketAPI or the FilesystemWatcher
are part of the folder)

Issue #4424
2018-05-16 20:26:09 +02:00
Olivier Goffart 3506c52be9
propagateuploadv1: don't finalize after a done()
Should fix an assert when "Server does not support X-OC-MTime"
(Which only happens with owncloud 5)

Issue #6403
2018-05-16 20:23:47 +02:00
Markus Goetz 434f093f98
SslButton: Add HTTP/2 info #3146 2018-05-16 20:10:51 +02:00
Christian Kamm 1868b2f3ec
IssuesWidget: addItem performance improvement
Ensure adding a new item isn't usually O(n) by keeping track of which
items have associated issues.
2018-05-16 16:49:41 +02:00
Christian Kamm a0d7095b2c
IssuesWidget: Don't allow two issues for the same file/folder
This is intended to safeguard against invalidation bugs that cause the
same error to be added again for every sync run.
2018-05-16 16:49:03 +02:00
Christian Kamm a0d5e31423
INSTRUCTION_IGNORE now carries a direction
This allows IssuesWidget to selectively wipe only the 'Up' ignores
during selective local discovery.
2018-05-16 16:48:31 +02:00
Christian Kamm 11b6b48c75
ProtocolItem: Adjust the way data is stored again
The struct makes it easy to pack data and should consume less memory
overall.
2018-05-16 16:48:06 +02:00
Christian Kamm 800f1ace0c
SyncResult: Make sure the number of conflicts is correct #6226
If the SyncResult incorrectly believes that there are no conflicts, the
tray icon won't be correct and there will be no warning about unresolved
conflicts on the account.

Nevertheless, it's pretty awkward that the IssuesWidget is better
informed about pending conflicts than the Folder itself. This kind of
backwards data flow is very confusing.

Unfortunately the only alternative I see is to either keep track of
this information in two places (also in Folder), or create a common
data-holding class that can serve as a model instance for the issues
view as well as provide data directly to the Folder - which would
have been a much larger change.
2018-05-16 16:47:27 +02:00
Christian Kamm 75194d1821
SyncEngine: Make "local discovery?" question available
Also fix the minor bug that was mentioned and add tests.
2018-05-16 16:46:40 +02:00
Christian Kamm 2defaf099d
Issues tab: Invalidate issues selectively #6226
Everything is invalidated later: after discovery, not before. In
addition entries that should only be invalidated when new local
discovery is done have that behavior now.
2018-05-16 16:45:39 +02:00
Christian Kamm 01f83ff398
ProgressInfo: Add information for local vs remote discovery 2018-05-16 16:45:13 +02:00
Christian Kamm 8077748c9d
slotFolderDiscovered: Fix 'local' always being false
It was unused, so no harm done.
2018-05-16 16:44:36 +02:00
Christian Kamm 687b6f5655
Discovery: Error if properties are missing #6317 2018-05-16 16:42:20 +02:00
Olivier Goffart b0f539fc1f
cmake: Remove references of now unused WITH_TESTING
Issue #6318
2018-05-16 13:00:17 +02:00
Olivier Goffart d4aebd30de
Utility::fsCasePreserving: remove UNIT_TESTING ifdef
Since the release package will be build with unit test, we don't
want to query the env variable at every call to fsCasePreserving.
So only test the env variable at startup.
And the testutility can still change the value.

(The env variable is still used from t8.pl and maybe smashbox)

Issue #6318
2018-05-16 12:57:20 +02:00
Christian Kamm 583399ad53
Set launch-on-startup when the first account is set up
The previous code would disable it when the second account was
configured.

See #6347
2018-05-15 22:59:16 +02:00
Christian Kamm f244cc4d4a
SyncEngine: Use separate state for two unicode conversions
It's unlikely that there were interaction effects but still seems safer
to use different conversion state for the path and rename_path.
2018-05-15 22:44:10 +02:00
Christian Kamm 17d174e6fa
Conflicts: Add user name to conflict file name #6325
For the case of uploading conflict files only.
2018-05-15 22:38:35 +02:00
Christian Kamm ce0e2d0b88
SyncJournal: Don't use LIKE with paths
Paths can contain the wildcards % and _ and that would lead to odd
behavior.

This patch also clarifies the behavior of avoidReadFromDbOnNextSync()
which previously dependend on whether "foo/bar" or "foo/bar/" was
passed as input.

Possibly affects #6322
2018-05-15 19:44:00 +02:00
Christian Kamm 7154a001d6
Sharing: Use maximum allowed permissions for new share #6346
The client already computed the valid permissions, there was just a typo
that meant we didn't end up using them.
2018-05-15 19:26:40 +02:00
Markus Goetz e82869d10e
HTTP2: Only from Qt 5.9.4 #6285 2018-05-15 19:23:11 +02:00
Olivier Goffart 88347a985f
Adjust the Move To Trash patch
(PR #6265)

 - Remove the UI completely
 - Move the #ifdef inside the FileSystem::moveToTrash function, so it is easier to
   implement on other platforms
 - Q_OS_UNIX includes mac, so we need to disable it. (not using Q_OS_LINUX because of
   other BSD that uses XDG spec as well
 - Translate the error messages
 - Add a couple of doc comments
2018-05-15 19:10:41 +02:00
Christian Kamm 2d1d651fcd
Don't delete contents behind directory junctions #6322
QFileInfo::isSymLink() does detect reparse points that are symlinks but
returns false for junctions. The new function FileSystem::isJunction()
can detect those and is used to not recursively delete files inside
directories that are junctions.

See also https://bugreports.qt.io/browse/QTBUG-45344 and the
discussion in the PR https://codereview.qt-project.org/#/c/113019/.
2018-05-15 18:42:44 +02:00
Markus Goetz d33692cdc7
NO_SHIBBOLETH: Fix warning 2018-05-15 18:31:12 +02:00
Christian Kamm 1fa88c9820
FolderStatusModel: Refresh folders on Problem sync #6337
We don't want to refresh too frequently. But Problem is very close to
Success and very common.
2018-05-15 18:08:17 +02:00
Christian Kamm ad750f569c
Tray: Change icon for unresolved conflicts #6277 2018-05-15 17:58:10 +02:00
Olivier Goffart 2fcd7b20b8
SocketAPI: "Open in browser" and disable Share entries when sharing is disabled.
This adds "Open in browser" entry in the menu (Issue #5903)

Also mark the entries as disabled when the file is not yet on the server.
If re-sharing is not allowed for that file, a disabled explaination
entry is added to the menu.
If sharing is disabled globaly in the branding or in the server,
the share entry will not be present.
(Issues #4205 and #4608)

Meta issue #6292
2018-05-15 17:39:30 +02:00
Oleg Solovyov f9fe24feb9
Move remote-deleted files to trash
Squashed from https://github.com/owncloud/client/pull/6265

Linux only, Hidden option, disabled by default
2018-05-15 17:23:38 +02:00
Camila San d629f2259d
Changes from qCWarning to qCDebug.
Signed-off-by: Camila San <hello@camila.codes>
2018-05-07 18:19:29 +02:00
Camila San bbff83fe7c
Only updates the list of apps when there is a change in the server (not 304 status).
Signed-off-by: Camila San <hello@camila.codes>
2018-05-07 18:03:51 +02:00
Camila San 402dc6c33b
Checks for http status code before building navigation apps menu.
Signed-off-by: Camila San <hello@camila.codes>
2018-05-07 18:03:51 +02:00
Camila San 23a759ef4a
Adds 304 http status code as valid.
Signed-off-by: Camila San <hello@camila.codes>
2018-05-07 18:03:51 +02:00
Camila San 77ebccee72
Adds methods to set/get navigation apps etag response header.
Signed-off-by: Camila San <hello@camila.codes>
2018-05-07 18:03:51 +02:00
Camila San d7286872f6
Adds function to add raw header to the request.
Function added to be able to add If-None-Match to save the ETag.

Signed-off-by: Camila San <hello@camila.codes>
2018-05-07 18:03:42 +02:00
Roeland Jago Douma 889c930b36
Merge pull request #75 from nextcloud/new_flow
Add weblogin flow for NC > 12
2018-05-03 14:07:44 +02:00
Roeland Jago Douma 56e17c25b2
Change loading bar to NC blue
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-03 13:55:27 +02:00
Roeland Jago Douma ef2d113930
Mark credentials as valid if there is no error
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma 35e8d0437d
Address comments
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma 6809f12e68
Allow the user to sign in again
If the user is signed out (for whatever reason). Show a popup
with the loginflow again.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma ac1664b525
Actually use webflow credentails
* Detect invalid auth (if the users token is removed for example)
* Properly store and fetch from keychain

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma 6b43d80c01
Start with persisting credentials
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma 356f9b4831
Actually connect properly to server
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma 715c738ebf
Add urlschema handler so w can catch the nc:// urls
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma c763a6e7fb
Show webview with page
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Roeland Jago Douma c4a88fe57e
Add QWebView as a dependency
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-05-02 22:50:48 +02:00
Camila Ayres 9338dadaab
Merge pull request #265 from k1l1/log_files_path
Put log files somewhere else #221 (name conflict)
2018-05-02 15:30:34 +02:00
Kilian Pfeiffer 56c1d79c49 fixes windows crash / renaming changed 2018-04-30 16:09:04 +02:00
Camila Ayres 64cbc88474
Merge pull request #251 from nextcloud/clientSideEncryptionV4
Client side encryption v4.
2018-04-26 19:56:55 +02:00
Kilian Pfeiffer cd926e5b84 resolving name conflict in logfiles 2018-04-24 15:47:23 +02:00
Roeland Jago Douma 75609c1b2c
Merge pull request #254 from ad1rie1/FIX32BitApplication
Fix #6394
2018-04-22 20:57:36 +02:00
Camila Ayres 25b40cc852
Merge pull request #255 from ad1rie1/FixDeprecatedTR
Fix Use of Deprecated trUtf8.
2018-04-20 11:11:05 +02:00
Adrien 8e52f1237b Fix Use of Deprecated trUtf8 2018-04-19 12:02:26 +02:00
Adrien 5f0a021c04 Fix #6394 2018-04-19 11:35:03 +02:00
Kilian Pfeiffer 40b1f051a4 log files are visible now 2018-04-17 17:59:03 +02:00
Kilian Pfeiffer faf64958ec changed paths of logfiles 2018-04-17 15:54:05 +02:00
Tomaz Canabrava 7432d6a814 Merge branch 'master' into clientSideEncryptionV4 2018-04-10 16:18:58 +02:00
Daniel Nicoletti 16aa54ed64 Do not create new db entries when the remote tree does not have proper values 2018-04-09 13:23:52 +02:00
Daniel Nicoletti 3e05bd1da0 Do not detach encrypted files vector 2018-04-09 13:23:52 +02:00
Daniel Nicoletti 3eb3535d0f Fix downloading NEW encrypted files 2018-04-09 13:23:52 +02:00
Daniel Nicoletti defe2d7631 Fix matching encrypted data for downloading 2018-04-09 13:23:52 +02:00
Daniel Nicoletti b12066f1aa Properly remove encryption data from JSON of deleted file 2018-04-09 13:23:52 +02:00
Daniel Nicoletti a9208f6581 Remove unused encrypted property 2018-04-09 13:23:52 +02:00
Daniel Nicoletti 6e63a538b7 Make sure bool _currentLockingInProgress is first defined to false 2018-04-09 13:23:52 +02:00
Daniel Nicoletti a7a8de8787 Fix matching encrypted file for download 2018-04-09 13:23:52 +02:00
Daniel Nicoletti d93f7269b8 Properly mark encrypted files for removal 2018-04-09 13:23:52 +02:00
Daniel Nicoletti d3b6aacf3f Fix merging remote and local trees when e2e files are involved
When populating the tree from the filesystem we need to fill
the e2eMangledName from DB and we when trying to find another
match on the oposite tree we need to take in account that names
don't match and search with the mangled name information
2018-04-09 13:23:52 +02:00
Daniel Nicoletti c0ef36b8fa Use QUuid to generate random names 2018-04-09 13:23:52 +02:00
Daniel Nicoletti 60fc5d6dd4 Fix upload of existing encrypted files by matching only filename 2018-04-09 13:23:52 +02:00
Daniel Nicoletti d5ab642e46 Fix sync status running when encryption data is missing
When a file on the server of an encrypted folder do
not have a matching entry on the JSON metadata, we
need to report an error and be done with the job
so that Sync status is not "running".

This eventually should cause the file to be removed
from the server as it can not be recovered anymore.
2018-04-09 13:23:52 +02:00
Tomaz Canabrava b4b3e422de Handle gracefully failures in file decryption 2018-03-27 09:18:54 +02:00
Tomaz Canabrava ed6f56257e Dont use new with QFiles. 2018-03-26 22:18:07 +02:00
Tomaz Canabrava 461aeca200 Do not crash when failing to decrypt the metadata 2018-03-26 22:02:46 +02:00
Tomaz Canabrava 6c88367ac6 Do not crash if there was an error encrypting the file. 2018-03-26 21:44:46 +02:00
Tomaz Canabrava 5fe9717598 Potentially fix crash acessing a deleted pointer. 2018-03-26 21:37:13 +02:00
Tomaz Canabrava ec28465e01 Correctly handle systems without client side encryption 2018-03-26 20:51:14 +02:00
Tomaz Canabrava 11684682e6 Return empty metadata in case of error, Display error to the user. 2018-03-25 22:31:49 +02:00
Tomaz Canabrava 96115be0c6 Unlock folder in case of error 2018-03-25 21:54:08 +02:00
Camila Ayres 08b33c6f4b
Merge pull request #197 from nextcloud/fix-notifications
Improves notifications:
- Display the actual response text from the notification API in the popups.
- Do not display sync activities messages like how many files were downloaded, only errors.
- Make the notifications section above the activity feed also clickable. e.g open the call, the file that was shared, open the calendar event etc
- Changes "Show desktop notifications" setting to "Show server notifications"
- Show notifications on startup and then show only NEW notifications: uses If-None-Match check to only retrieve notifications once there are new notifications.
2018-03-13 13:30:44 +01:00
Camila Ayres eb3b3f02a0
Merge pull request #195 from nextcloud/apps-external-sites-menu
Adds apps and external sites to menu.
2018-03-09 11:48:14 +01:00
Camila San 11d178ce1d
Adds absolute=true param to navigation/apps request.
Signed-off-by: Camila San <hello@camila.codes>
2018-03-03 23:11:11 +01:00
Camila San 2e4472a4db
Enables server notifications by default.
Signed-off-by: Camila San <hello@camila.codes>
2018-03-03 22:44:24 +01:00
Camila San 3c778980df
Makes sure JsonApiJob::finished won't throw a JSON error when status code is 304.
Signed-off-by: Camila San <hello@camila.codes>
2018-03-03 22:24:16 +01:00
Camila San 621596f45a
Saves notifications ETag response header to use to request only new notifications.
Signed-off-by: Camila San <hello@camila.codes>
2018-03-01 22:19:04 +01:00
Camila San d42401e36a
Changes notifications api endpoint to v2.
Signed-off-by: Camila San <hello@camila.codes>
2018-03-01 15:20:36 +01:00
Camila San 6bf9f65fd3
Only notify users of new notifications and only shows them all on startup.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-27 23:05:18 +01:00
Camila San 56709f3cff
Removes string 'Created' from notifications time.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-26 12:56:02 +01:00
Camila San 112c5e10b6
Removes Server Activities option from General settings.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-26 12:02:34 +01:00
Camila San 09a92a518a
Align text and changes spacing in notification widget. 2018-02-26 00:03:29 +01:00
Camila San 0f9d8e15a0
Only uses 'More information' text in button for notification link.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-26 00:02:09 +01:00
Camila San 44f299eba2
Removes debug messages.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-26 00:00:42 +01:00
Camila San d71438f181
Adds host and scheme to activity link so it can be opened in the
browser.

- Removes debug messages.
- Removes Activity data _appName - not used anymore.

Signed-off-by: Camila San <hello@camila.codes>
2018-02-25 23:58:28 +01:00
Camila San 71f4760215
Do not display user account when there is only one user in popup message.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-25 23:57:44 +01:00
Camila San 4a6a8ca6c6
Removes _appName from Activity data.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-25 23:56:54 +01:00
Camila San e33d2bf7f7
Removes (s) from time strings.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-25 23:55:04 +01:00
Camila San 1a0edc1cd0
Sync activities notifications are never shown unless there is an error. Server activities and notifications are off by default.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-23 12:08:37 +01:00
Camila San 99d8d050c2
Compares account menu with the account associated with the action to make sure apps is added to the right position.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-22 20:10:22 +01:00
Camila San 4ffff7454e
Refactores code and displays nav. apps before Pause/Unpause folders sync.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-21 18:49:12 +01:00
Camila San 9acb30ecb2
Refactores code to fetch and display sub menu with list from navigation/apps endpoint.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-20 19:41:08 +01:00
Camila San 61062f9809
Adds ocsnavigationapps files to CMakeslists.txt.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-20 19:33:25 +01:00
Camila San fb080f08ec
Uses OcsNavigationAppsJob instead of OcsAppsJob and OcsExternalSitesJob in OwncloudGui.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 20:53:12 +01:00
Camila San c9bc20c63d
Creates navigation/apps API call class OcsNavigationAppsJob.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 20:51:56 +01:00
Camila San f107b3348c
Removes external sites/apps configuration from general settings.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 20:49:55 +01:00
Camila San 00cfbe39be
Removes external sites/apps configuration from config file.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 20:49:13 +01:00
Camila San 9f559c8e00
Retrieves list of apps and displays it if 'show apps' checkbox is checked in the settings.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:33 +01:00
Camila San bf77dbac73
Adds checkbox 'showApps' to the general settings form.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:33 +01:00
Camila San e29953bc11
Adds show apps option to the config file.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:33 +01:00
Camila San 8ada9d0471
List apps for each user in the tray main menu.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:33 +01:00
Camila San 08769b2803
Adds OcsAppsJob to retrieve apps enabled for the user.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:33 +01:00
Camila San 89d743396a
Fixes class name in comments and in ifndef.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:33 +01:00
Camila San 649f3ff904
Changes response parsing for the new request.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:32 +01:00
Camila San 9f0c154e68
Fixes request url - uses the one for all users.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:32 +01:00
Camila San f48a94ba71
Saves 'show external sites list' option to the config file.
Uses option to toggle display of external sites list in the main menu.

Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:32 +01:00
Camila San ec428786ac
Adds checkbox to toggle display of external sites list in the menu.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:32 +01:00
Camila San 69f3468ec0
Lists external sites for each user in the main menu.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:32 +01:00
Camila San 8408851cee
Adds OCS External Sites Job to retrieve it from the server.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-19 19:59:19 +01:00
Tomaz Canabrava 7da0764b8d Don't class what's not a class 2018-02-18 01:23:59 +01:00
Tomaz Canabrava 176a42a062 Return the error reported by openssl 2018-02-18 01:13:23 +01:00
Tomaz Canabrava 5faeca1b82 Move BIO2ByteArray to annonymous namespace
This has no use outside of the clientsidenecryption.cpp
2018-02-18 01:04:44 +01:00
Camila San 32e29fb849
Doesn't open the file manager when there isn't a file associated with the Activity.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-16 19:17:22 +01:00
Camila San 20cf4ed642
Improves Notification Widget UI.
- Changes spacing.
- Removes QFrame.
- Changes icon size.

Signed-off-by: Camila San <hello@camila.codes>
2018-02-16 18:04:44 +01:00
Camila San ab7185a6c7
Changes notification text in the checkboxes and adds tooltips with explanation about it.
- Changes the configuration name in ConfigFile and GeneralSettings
accordingly with the new text.
- Makes sure the user sees error and conflict messages even if the
setting is disabled.

Signed-off-by: Camila San <hello@camila.codes>
2018-02-15 20:21:35 +01:00
Camila San bfc7aa16c6
Adds option to toggle display of Sync and Activity notifications.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-14 20:38:15 +01:00
Camila San b24751b099
Adds button to open notification in the browser - to update something, join a call, etc.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-14 19:22:08 +01:00
Camila San a7dd3a7da1
Displays the actual notification subject in the system tray messages.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-12 22:16:46 +01:00
Daniel Nicoletti 99117078f3 Remove table for e2e and add an e2eMangledName column (#169)
If the code was not complex enough syncing two tables
already started to give UNIQUE constrains errors on
simple sync operations, this also adds initial support
remote delete of an encrypted file
2018-02-12 12:50:51 +01:00
Roeland Jago Douma 1eb7ba72f0
Use standardized filename
See https://github.com/nextcloud/end_to_end_encryption_rfc/issues/13

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-02-09 11:40:06 +01:00
Daniel Nicoletti 080c5ea678 Better explanation for encryption passphrase
FIXES: #149
2018-02-02 17:27:58 +01:00
Camila San 2545017819
Refactores code.
- Renames function from populateTableReadOnlyValues to setupTableReadOnlyItems.
- Use a const to define the number of read only rows.
- Removes enable/disable remove all button checks from where it was not
needed.

Signed-off-by: Camila San <hello@camila.codes>
2018-02-02 16:01:53 +01:00
Camila San 73b7540468
Enable/disable remove all button depending on the number of rows.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-02 15:50:17 +01:00
Camila San c29d3b7e0b
Adds button to remove all items from ignore list table.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-02 14:40:30 +01:00
Camila San 4855e3242c
Restores correctly default system values for ignore files list.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-02 14:15:45 +01:00
Camila San bf76b596af
Allows deletion of pre configured patterns in the ignore list.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-01 22:36:40 +01:00
Camila San 6dd349a8a6
Adds button to restore default patterns in the ignore list.
Signed-off-by: Camila San <hello@camila.codes>
2018-02-01 22:35:38 +01:00
Camila San f7697b0584
Enables removing patterns from ignored files list.
Signed-off-by: Camila San <hello@camila.codes>
2018-01-31 22:59:51 +01:00
Roeland Jago Douma d85c2bf025
Fix building on windows
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-30 11:10:03 +01:00
Roeland Jago Douma 296f46356e
If the metadata is empty we should store (and not update).
Android only creates the metadata file when the first encrypted file is
added. We assumed it would be there.

This hacky code makes us store the metadata if there wasn't any yet.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-29 22:04:50 +01:00
Tomaz Canabrava dcc9ac7d2e [Buildfix] Fix build from last merge 2018-01-29 14:17:52 +01:00
Tomaz Canabrava d24a1e542e Merge branch 'master' into clientSideEncryptionV3 2018-01-29 14:06:12 +01:00
Tomaz Canabrava f4a50e88f5 [CSE] Ignore renames for downloaded files.
- TODO: Fix the incorrect "filename has been removed" popup.
The file is not removed, just the popup shows.
2018-01-28 23:59:53 +01:00
Tomaz Canabrava 682bb2ad43 [CSE] Save the encrypted name relation on downloads 2018-01-28 23:50:12 +01:00
Tomaz Canabrava d38e5e1529 [CSE] Bypass rename if it's e2e
The client tracks the files in server and locally, but the
names of the files differ in the server, but we do *not*
wanna rename the files to the server one, we wanna
keep it as is if it's an encrypted file.
2018-01-28 23:48:51 +01:00
Tomaz Canabrava 7b123650da [CSE] Search for name, not mangled name. 2018-01-28 23:48:25 +01:00
Tomaz Canabrava 0c94142c97 [CSE] More debug output 2018-01-28 23:47:58 +01:00
Tomaz Canabrava e8849a2cf9 [CSE] Save the relation of the file / encrypted file names on the db 2018-01-28 22:26:07 +01:00
Tomaz Canabrava e9a7a56359 [CSE] Store the encrypted file name on the SyncFilePtr 2018-01-28 18:37:01 +01:00
Tomaz Canabrava a003d216a5 [CSE] Implementation of the setE2eRelation
This call creates a new entry on the database for e2e.
2018-01-28 18:05:28 +01:00
Tomaz Canabrava 32eaaa0601 [CSE] GetMangledName implementation 2018-01-28 17:50:10 +01:00
Tomaz Canabrava be817748f8 [CSE] Reset the new Queries on close 2018-01-28 17:46:20 +01:00
Tomaz Canabrava b909bb6977 [CSE] Change the Database to handle Encrypted Files
Create a table to hold the information between the
real file name and the fake file name
2018-01-28 16:41:07 +01:00
Julius Härtl bcb9553925
Use Qt5DBus_FOUND instead of the old WITH_DBUS
WITH_DBUS was removed in 257d8142b1

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2018-01-25 14:18:03 +01:00
Roeland Jago Douma 48bce4c6b0
Merge remote-tracking branch 'oc/master' into oc_up 2018-01-25 11:17:04 +01:00
Roeland Jago Douma 84b26e0d4d
Merge pull request #133 from nextcloud/fix-notification-dismiss-button
Uses QString::number to get a string equivalent of the notification_id number
2018-01-24 19:29:21 +01:00
Camila San 7a69e19e4d
Uses QString::number to get a string equivalent of the notification_id number.
This fixes the bug reported #117.

Signed-off-by: Camila San <hello@camila.codes>
2018-01-24 17:29:45 +01:00
Olivier Goffart 02988229b1 FolderStatusModel: don't use deprecated QModelIndex::child
Was deprecated in Qt 5.8.
(IMHO this show that child can be usefull and I am not sure the
deprecation was justified)
2018-01-24 10:23:03 +01:00
Roeland Jago Douma 4892b0ec43
Properly fill EncryptedFile
* Add a mimetype (mobile clients need this)
* Add the tag unencoded as we encode it when we send the metadata
already

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-23 21:31:00 +01:00
Roeland Jago Douma 21d55c3321
No sharing in metadata yet and PEM as PKCS#8
* Don't store the metadata yet this crashes android
  - Yes android should be fixed but for now this is quicker ;)
* QSslKey exports PEM as PKCS#1
  - This is not handled properly on android so use PKCS#8 helper

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-23 21:02:52 +01:00
Olivier Goffart 72b9beb79c Merge remote-tracking branch 'origin/2.4'
Conflicts:
	shell_integration/nautilus/syncstate.py
2018-01-23 14:08:15 +01:00
Olivier Goffart 982c591ec9 SocketApi: add a way to disable menu entries 2018-01-23 14:02:56 +01:00
Olivier Goffart 1782ae3c08 SocketAPI: Make it easier to add or remove item in the action menu
By making it dynamic.
So far only the dolphin shell extension have been ported
2018-01-23 14:02:56 +01:00
Roeland Jago Douma 7ce009ef49
If status.php fails check <server>/nextcloud/status.php
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-23 13:43:44 +01:00
Christian Kamm 59f2e0634e Protocol: Correct sorting by size #6326
Previously we were sorting by size string, where
"6 MB" < "3 KB".
2018-01-23 12:02:16 +01:00
Christian Kamm 32bb1e6763 ProtocolItem: Use accessors over magic numbers 2018-01-23 12:02:16 +01:00
Christian Kamm 497b327d43 ShareLinkWidget: Remove outdated signal connection
Also convert the others to the new syntax to avoid similar errors in the
future.
2018-01-23 12:01:22 +01:00
Christian Kamm d831369f86 Protocol: Remove entries for auto resolved conflicts #6316 2018-01-23 12:01:22 +01:00
Roeland Jago Douma a2b8724adf
Hacky way to drop duplicates (we should really use the fileid!)
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-23 11:58:05 +01:00
Roeland Jago Douma bb85e2ab2c
Reuse existing EncryptedFile
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-23 11:36:15 +01:00
Olivier Goffart c3dbb20ce3 Logger: --logdebug only show owncloud's debug message
Recent Qt version show way too many debug messages, spamming the console.
So filter only messages that comes from the client.
2018-01-22 21:13:15 +01:00
Roeland Jago Douma 33beb7aade
Don't generate values after we use them
* Pregerenate IV
* Pregenerate key
* Pregenerate filename

TODO:
  - Reuse existing file entries and update (we might need logic in the
  metadatahandling to do this properly).
2018-01-22 15:24:54 +01:00
Tomaz Canabrava cae6bbc853 [CSE] Start the download process 2018-01-22 14:08:32 +01:00
Tomaz Canabrava cf2fa2ea35 [CSE] Get the tag of the encrypted file to feed the metadata
Also, change the logging cattegory
2018-01-21 21:59:19 +01:00
Tomaz Canabrava 5d6817e165 [CSE] Save the tag while encrypting. 2018-01-21 21:49:24 +01:00
Tomaz Canabrava 261cedce3f [CSE] Do not quit if encryption fails
It's much more reasonable to return failure and handle it.
2018-01-21 21:40:53 +01:00
Tomaz Canabrava 2d872f2a8d [CSE] Add missing files 2018-01-21 21:26:05 +01:00
Tomaz Canabrava 009562da1e [CSE] Remove lambas with lambdas
It's hard to reason with lambdas with lambdas, so transform
them into actuall signal / slot calls.
2018-01-21 21:25:06 +01:00
Tomaz Canabrava d5a76ea70d [CSE] Remove the DecryptionJob
Transform it into an Static function - it was blocking anyway
and this way it's easier to transform it into a thread in the
future.
2018-01-21 21:24:02 +01:00
Tomaz Canabrava 4a2d0ab9e9 [CSE] Move code to display minemonic out of the libsync
The libsync should not contain Qt Widget related code.
2018-01-21 19:50:40 +01:00
Olivier Goffart 5a97ddde5a Merge remote-tracking branch 'origin/2.4'
Conflicts:
	src/gui/updater/updater.cpp
2018-01-19 13:41:29 +01:00
Olivier Goffart b8539eb329 Get rid of the StopWatch in the PropagateUpload job
For issue #6318

The StopWatch is using memory, and we are not really using it.
2018-01-19 13:37:48 +01:00
Christian Kamm b9c7aa8df3 Sync: Deal with file/folder conflicts #6312
Previously conflicts with a different type on both ends lead to sync
errors. Now they are handled in the expected way: the local item gets
renamed and the remote item gets propagated downwards.

This also adds a unittest for the TYPE_CHANGE case. That one looks like
parts of it might be unified with CONFLICT cases.
2018-01-19 09:47:49 +01:00
Roeland Jago Douma 6d613fb4d5
Quick and dirty way of showing the mnemonic for now
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-18 22:10:55 +01:00
Christian Kamm c1b5412c16 Exclude regex: Use named captures
My benchmarks show no performance difference.
2018-01-18 10:24:24 +01:00
Christian Kamm 4337e8532e Exclude matching: Speedup the full-path traversal case
Previously we'd use the full regex when the bname triggered a full-path
matching to take place. Now we have a simplified full-traversal regex
for this case that can be significantly faster to apply.

Triggered by #5017 but doesn't actually solve it.
2018-01-17 15:05:50 +01:00
Christian Kamm a8a6f82270 Link shares: Change default share name #6298
There's a 64 character limit and we don't want to accidentally exceed
it.

Eventually there might be server API for default share name generation.

See owncloud/core#29913
2018-01-17 15:03:11 +01:00
Dominik Schmidt fe3c68b9dd Fix Linux icons 2018-01-17 12:18:31 +01:00
Olivier Goffart 2a14ba5582 Folder: remove declaration of non-existing method 2018-01-15 15:43:13 +01:00
Olivier Goffart 2a842a5745 Application: remove declaration of non-existing functions 2018-01-15 15:07:09 +01:00
Camila Ayres cd36f73f6b
Removes 'Log in to all accounts' and 'Log out to all accounts' from main menu.
This is not an often used option and it should be fine if this can only be done
from within the settings dialog.

Signed-off-by: Camila San <hello@camila.codes>
2018-01-15 11:48:27 +01:00
Roeland Jago Douma 5722d29e42
Double encode the metadatakeys
This is required by a misunderstanding of the RFC.
You need to resetup your test user.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-15 11:26:06 +01:00
Jürgen Weigert a33fc2a0db Update updater.cpp
deprecate suffix nightly, promote suffix daily
2018-01-15 11:25:10 +01:00
Dominik Schmidt 7839c4d4e1 Revert "Disable stack protection for mingw win32 builds in 2.4"
This reverts commit 298f1ab570.

We're shipping libssp-0.dll now with mingw builds. We would
have enough time to test this for 2.5.0 now anyway, but we
also will most likely switch to MSVC for that release.
2018-01-14 14:39:29 +01:00
Dominik Schmidt d8a279c671 Fix windows cross build of the updater and bump libcrashreporter-qt revision 2018-01-14 00:45:02 +01:00
Dominik Schmidt 6d56f30d9b Fix incorrect target_include_directories usage for crash reporter 2018-01-13 23:49:58 +01:00
Dominik Schmidt 81c20352e1 Use new ECMAddAppIcon macro for application icons.
cmake/modules/ECMAddAppIcon.cmake is heavily patched to support sidebar icons, OUTFILE_BASE parameter and to not include 64 and 64@2x icons on macOS which are not supported. All changes are made in a way that we can upstream this.
2018-01-13 13:58:17 +01:00
Dominik Schmidt 6ee87a77cc Fix macOS updater build without deprecated Qt apis 2018-01-13 13:58:17 +01:00
Dominik Schmidt 539d6fd92e Link client against QtMacExtras as it bundles qtmacgoodies 2018-01-13 13:58:17 +01:00
Dominik Schmidt cbf470f17b Fix csync installation on windows 2018-01-13 13:58:17 +01:00
Olivier Goffart 437d45981e Remove unused c_strlist 2018-01-13 13:58:17 +01:00
Olivier Goffart 3ae327ea8e Modernize out CMakeLists.txt
Mainly uses target_include_directories instead of include_directories
so libraries public include directory get automatically added when adding
the target in target_link_library
2018-01-13 13:58:17 +01:00
Olivier Goffart 5d0aa5f039 Remove unused c_path 2018-01-13 13:58:17 +01:00
Olivier Goffart 41798cef18 Csync: remove some unused build system stuff 2018-01-13 13:58:17 +01:00
Olivier Goffart 1c11778693 Remove the unusued csync_file_locked_or_open test in csync_reconcile
It is unused. Also remove the corresponding error code
2018-01-13 13:58:17 +01:00
Olivier Goffart 3ddd4b6f16 Get rid of csync_log
We use Qt's debugging code everywhere
2018-01-13 13:58:17 +01:00
Olivier Goffart d948ed11a1 Csync: use QElapsedTimer and qCInfo instead of CSYNC_LOG and its own csync time function
This allow to remove all the csync time manipulation routne which are now unused
2018-01-13 13:58:17 +01:00
Olivier Goffart 257d8142b1 Build system: Get rid of QtVersionAbstraction.cmake
Use modern cmake with target_link_libraries and Qt5:: that
automatically add the include path and compile flags
2018-01-13 13:58:17 +01:00
Olivier Goffart 48c55b7d29 csync/std: don't build in a separate library
There is no need to create a static library for the csync/std file, just
put everything together in csync
2018-01-13 13:58:17 +01:00
Olivier Goffart 776bbbf7b1 Don't include sqlite3.h from headers
So that sqlite is not part of the public interface of csync
(and that the sqlite include path don't need to be passed when compiling
libsync or gui)
2018-01-13 13:58:17 +01:00
Dominik Schmidt dbf15fb8dc Make setLaunchOnStartup debug output more meaningful 2018-01-11 16:11:23 +01:00
Olivier Goffart 9613f6437d Merge remote-tracking branch 'origin/2.4'
Conflicts:
	src/libsync/networkjobs.cpp
2018-01-11 10:46:50 +01:00
Jürgen Weigert 9dc765142c
Update updater.cpp
depricate suffix nightly, promote suffix daily
2018-01-10 16:19:08 +01:00
Christian Kamm 7d70f1becb Ignore files that can't be encoded for the filesystem
There's an upstream bug where QTextCodec::canEncode returns true even
though it should be false. This works around that issue and adds a test.

The original work was done in 72809ef5b1

See #6287, #5676, #5719
See https://bugreports.qt.io/browse/QTBUG-6925
2018-01-10 13:36:00 +01:00
Christian Kamm cdd8d10940 Fix resizing crash when currentPage() is null
Sentry:
https://sentry.io/owncloud/desktop-win-and-mac/issues/425331770/
2018-01-09 13:54:11 +01:00
Christian Kamm 883deb1c5d Fix potential crash in Composite job destruction
Sentry:
https://sentry.io/owncloud/desktop-win-and-mac/issues/427476987/
2018-01-09 13:53:57 +01:00
Christian Kamm e389fcaecb Avatars: Use old location for servers <10 #6279 2018-01-09 11:34:56 +01:00
Christian Kamm 585d2b20bd Exclude regex: Restore old matching on Windows #6245
Unfortunately matching behaved differently on Windows. This patch
restores the previous matching behavior but still uses the new regular
expression based matching.

Further work will hopefully unify the behavior between platforms without
breaking backwards compatibility.
2018-01-09 11:09:05 +01:00
Daniel Nicoletti a7ee1a95a6 Download and decrypt file if parent folder is marked as encrypted 2018-01-08 21:08:31 +01:00
Daniel Nicoletti 3abbbab6a0 Faster way to detecting CSE capability 2018-01-08 21:08:31 +01:00
Christian Kamm 51b662fdfe Minor logging additions
- Clearly mark local and remote discovery start, to make this searchable
even without --logdebug.
- Promote two messages from debug to info: The 'N entries read from db'
message is useful and the 'read from db but ignored' message is rare
and surprising - if there's a bug there we want to see what happened in
the logs.
2018-01-08 09:36:30 +01:00
Christian Kamm 81baebf113 owncloudcmd: Set proxy earlier #6281
In particular before the capability call.

Also warn if no proxy is set because the command line doesn't follow the
strict format requirements.

(cherry picked from commit d0e7f61db6)
2018-01-05 10:26:55 +01:00
Christian Kamm f7c884d4d1 owncloudcmd: Remove some dead code
(cherry picked from commit 0f8790d993)
2018-01-05 10:26:53 +01:00
Christian Kamm d0e7f61db6 owncloudcmd: Set proxy earlier #6281
In particular before the capability call.

Also warn if no proxy is set because the command line doesn't follow the
strict format requirements.
2018-01-05 10:23:29 +01:00
Christian Kamm 0f8790d993 owncloudcmd: Remove some dead code 2018-01-05 10:12:25 +01:00
Christian Kamm 86377aa37a Folder: Remove unused 'dirty proxy' setting 2018-01-05 09:44:20 +01:00
Christian Kamm 3988f3ad77 GCC: Fix implicit-fallthrough warnings 2018-01-05 09:43:53 +01:00
Christian Kamm 7aa9af08c3 Issues: Speed up insertion and add hard upper limit #6272
Since sorting was enabled permanenty the list would be resorted with
each inserted issue. When inserting thousands of ignored files that
would make the whole ui freeze up.

Instead, sorting is disabled for inserts now and is reenabled after some
time has passed. That way users usually see the sorted view without the
lockups. Also, there's now a maximum of 50k issue entries.
2018-01-05 08:44:27 +01:00
Christian Kamm ab9d6285c6 Proxy: Hostname validation and reconnection on setting change
Where 'validation' currently just means "check whether it's empty".

Code adapted from wiggiBe's original PR #6140
2018-01-04 14:30:24 +01:00
Daniel Nicoletti e2c895e61f Fix encrypted file location on the server 2017-12-29 17:28:35 +01:00
Daniel Nicoletti ca92c46970 Add category logging to PropagateUploadEncrypted 2017-12-29 17:28:35 +01:00
Daniel Nicoletti 50916bcda5 Mark ClientSideEncryption::isFolderEncrypted() as const 2017-12-29 17:28:35 +01:00
Daniel Nicoletti c6491d50bb Replace deprecated Qt API usage 2017-12-29 17:28:35 +01:00
Daniel Nicoletti fdc96d3a4f Fix deprecated use of QUrl::setQueryItems() 2017-12-29 17:28:35 +01:00
Daniel Nicoletti e06e04ee93 Fix parsing list of encrypted folders 2017-12-29 17:28:35 +01:00
Daniel Nicoletti a63d34f870 Prepend "nextcloud" for all logging categories
Thus making easier to exclude logging from kio, qt
and only enable "nextcloud.*"
2017-12-28 17:33:10 -02:00
Daniel Nicoletti c963259bfb Fix URL in dialog that requests password
An URL that had base like "http://localhost/nextcloud/"
would get the last slash '/' removed and then appended
with "index.php..." resulting in
http://localhost/nextcloudindex.php
2017-12-28 10:00:17 -02:00
Tomaz Canabrava efc039863b [CSE] Tons of debugs. 2017-12-24 17:08:04 +01:00
Tomaz Canabrava da9f1c412d [CSE] Remove debug 2017-12-24 16:36:57 +01:00
Tomaz Canabrava 06c34ed617 [CSE] Assorted fixes
- Unlock the folder even on error
- Use the correct name of the file for upload
2017-12-24 16:30:39 +01:00
Tomaz Canabrava 60ef722b60 [CSE] Update the metadata when a file is being uploaded. 2017-12-22 23:05:39 +01:00
Tomaz Canabrava e70bf44aaf [CSE] Fix the generation of the data for the update Metadata 2017-12-22 22:39:45 +01:00
Tomaz Canabrava 124a7253a4 [CSE] Create job to Update Metadata 2017-12-22 22:02:16 +01:00
Olivier Goffart a642d99d4b Merge remote-tracking branch 'origin/2.4'
Conflicts:
	VERSION.cmake
        src/CMakeLists.txt
2017-12-21 12:51:01 +01:00
Roeland Jago Douma 65dfc47ac7
Set public key once certificate is retrieved
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-21 10:20:03 +01:00
Roeland Jago Douma 0dc7831336
Key is already base64 decoded
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-21 09:49:31 +01:00
Tomaz Canabrava b72113a53d [CSE] Prepare the beginning of the upload.
I still need to send the metadata.
2017-12-21 00:35:23 +01:00
Tomaz Canabrava df5fd3fbe6 [CSE] More debug output, fix input file path 2017-12-21 00:00:27 +01:00
Tomaz Canabrava 7be5f0a736 [CSE] Update the finished signal 2017-12-20 23:36:49 +01:00
Tomaz Canabrava d87648c99a [CSE] Use the metadata as pointer. 2017-12-20 23:30:51 +01:00
Tomaz Canabrava 25d58ccd58 Revert "Store metadata keys as keys"
This commit broke decryption.

This reverts commit b9f094cd94.
2017-12-20 23:16:42 +01:00
Tomaz Canabrava dd0528037d [CSE] Generate a random name for the temporary file 2017-12-20 23:09:28 +01:00
Tomaz Canabrava 7e83f0591b [CSE] Create the Encrypted File on Disk 2017-12-20 22:32:38 +01:00
Tomaz Canabrava 3760b86e07 [CSE] Mobe fileEncryption to a static function
and I'll move all of those to a namespace latter.
2017-12-20 22:28:01 +01:00
Tomaz Canabrava 20198c5c7b Merge branch 'clientSideEncryptionV3' of github.com:nextcloud/client into clientSideEncryptionV3 2017-12-20 22:11:46 +01:00
Roeland Jago Douma 3c301a8282
Add missing FolderMetadata functions
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 22:08:57 +01:00
Roeland Jago Douma 74bc9213c5
Generate encrypted metadata on the fly
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 22:04:26 +01:00
Tomaz Canabrava 679bb1f18e [CSE] Expose EncryptionHelper 2017-12-20 21:33:25 +01:00
Tomaz Canabrava 14b18b146d Merge branch 'clientSideEncryptionV3' of github.com:nextcloud/client into clientSideEncryptionV3 2017-12-20 21:29:54 +01:00
Roeland Jago Douma 5e23ca9658
FolderMetaData: store metadataKeys in a QMap
* This allows us to pick the right key for files

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 21:25:27 +01:00
Roeland Jago Douma b9f094cd94
Store metadata keys as keys
Don't store them base64 encoded. But store them directly useable
2017-12-20 21:17:41 +01:00
Roeland Jago Douma c35b57cfba
Parse the files in the metadata
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 20:49:16 +01:00
Tomaz Canabrava 1e899f4172 [CSE] Do not create QPointer from raw pointers 2017-12-20 20:00:59 +01:00
Tomaz Canabrava 0347cf4e9e [CSE] Store the sharing keys in memory 2017-12-20 19:40:58 +01:00
Roeland Jago Douma fc73ad7476
Salt should not be hardcoded
We append the salt (just like the IV) to the ciphertext of the private
key. This means we also have to split it off properly.

This breaks compartibility with currently stored keys on your server.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 16:07:33 +01:00
Roeland Jago Douma b924ad7282
Lower mnemonic when generating password
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 15:41:38 +01:00
Roeland Jago Douma 4551bbe0e0
Forget key + cert + mnemonic on account removal
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 15:35:23 +01:00
Roeland Jago Douma a48a3e0acc
Cleanup old functions
Those functions had no use anymore since we store the key and cert in
the keychain. Removed them so we don't use them by accident.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 13:41:13 +01:00
Roeland Jago Douma ee281963fe
Base64 magic:
* metadata keys: bin -> b64 -> enc -> b64
* sharing metadat: string -> b64 -> enc -> b64

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-20 10:22:35 +01:00
Tomaz Canabrava ab89231ca2 [CSE] Remove unused debug 2017-12-20 00:25:56 +01:00
Tomaz Canabrava d26ade1870 [CSE] Fix the result of the decryption
However the text still looks like encrypted.
2017-12-20 00:25:39 +01:00
Tomaz Canabrava a1e6901ecc [CSE] Decrypt correctly the metadata
There's a bug that's returning an empty bytearray, need to look
into that.
2017-12-20 00:20:27 +01:00
Tomaz Canabrava 494ae31de9 [CSE] Fix correct json object 2017-12-19 23:09:39 +01:00
Tomaz Canabrava a02246dc65 [CSE] Fix Metadata bugs p1
The RFC was misleading, I took the chance to fix a few
inconsistencies regarding the QJsonDocument.
2017-12-19 22:47:05 +01:00
Tomaz Canabrava 5609a1dbe8 [CSE] Remove old debug code so I can focus. 2017-12-19 17:02:23 +01:00
Tomaz Canabrava aa36cc4a5c [CSE] Reduce probability of conflicts when rebasing
Creates a new file/class to handle upload,
propagateuploadencrypted.h/cpp. This should have all the logic to deal
with the encryption and upload.
2017-12-17 22:38:43 +01:00
Tomaz Canabrava b9cdc8e922 [CSE] Fix the url to delete the metadata 2017-12-17 21:19:32 +01:00
Tomaz Canabrava 23f832caf4 [CSE] Code Cleanup 2017-12-17 19:19:44 +01:00
Tomaz Canabrava 7ef2489f1d [CSE] Fix infoForFileId
We need to traverse the path recursivelly.
2017-12-17 19:14:34 +01:00
Hefee 844e03d000 Also disable fstack-protector for alpha plattform.
This fixes #6211.

(cherry picked from commit 69e81e8f65)
2017-12-16 14:08:08 +01:00
Hefee 69e81e8f65 Also disable fstack-protector for alpha plattform.
This fixes #6211.
2017-12-16 14:03:59 +01:00
Tomaz Canabrava ce41e3e42f [CSE] Work the Set Decrypted Bit 2017-12-15 23:32:41 +01:00
Olivier Goffart 1940c2f9bf Exclude: Use Qt to load the exclude file
fopen does not work well with relative path tand forward slashes on windows
This fix the windows textexcludedfiles test.
And also make the code simpler.

Note that the 'trimmed' might be a behavior change, but i think it is ok
2017-12-15 19:16:20 +01:00
Christian Kamm 83e94c3ec7 Fix compile after rebase 2017-12-15 18:05:44 +01:00
Christian Kamm a7c0cfc8eb Upload conflict files #4557
If the server has the 'uploadConflictFiles' capability conflict
files will be uploaded instead of ignored.

Uploaded conflict files have the following headers set during upload
  OC-Conflict: 1
  OC-ConflictBaseFileId: 172489174instanceid
  OC-ConflictBaseMtime: 1235789213
  OC-ConflictBaseEtag: myetag
when the data is available. Downloads accept the same headers in return
when downloading a conflict file.

In the absence of server support clients will identify conflict files
through the file name pattern and attempt to deduce the base fileid.
Base etag and mtime can't be deduced though.

The upload job for a new conflict file will be triggered directly from
the job that created the conflict file now. No second sync run is
necessary anymore.

This commit does not yet introduce a 'username' like identifier that
automatically gets added to conflict file filenames (to name the files
foo_conflict-Fred-1345.txt instead of just foo_conflict-1345.txt).
2017-12-15 18:03:53 +01:00
Christian Kamm 8eebc53728 Unify item type enum
Previously, there was csync_ftw_type_e and SyncFileItem::Type. Having
two enums lead to a bug where Type::Unknown == Type::File that went
unnoticed for a good while.

This patch keeps only a single enum.
2017-12-15 18:02:04 +01:00
Tomaz Canabrava 2e516dfc67 Merge branch 'clientSideEncryptionV3' of github.com:nextcloud/client into clientSideEncryptionV3 2017-12-15 15:05:51 +01:00
Tomaz Canabrava 250c8ff1bf [CSE] Add job to delete metadata
This is needed for the correct functioning of the Set Folder
as Decrypted
2017-12-15 15:02:43 +01:00
Tomaz Canabrava 5607e27f20 [CSE] Actually save the http response result 2017-12-15 14:25:57 +01:00
Olivier Goffart b10edfecfc Workaround MSVC bug with enum in bitfield
MSVC stores the enum as signed in the bitfield (contrary to the C++ spec)
Which means that once we store a value such as SyncFileItem::DetailError
in a bitfield, we get a negative value back, then of course, further
comparison fails.
2017-12-15 14:18:45 +01:00
Tomaz Canabrava 43332d3ac7 [CSE] Properly update UI status to encrypted / decrypted 2017-12-15 14:00:42 +01:00
Julius Härtl 49a16ffb4b
Fix build on windows
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-12-15 10:59:14 +01:00
Klaas Freitag 3b96097cf6 Config: Look for exclude file in a relative path.
If the application binary is not installed in /usr/bin the client
with this patch considers to check the relative location
../../etc/owncloud-client/ to find the system exclude.

This is an important bit for AppImage based packages of the client,
as this runs from a temporar mountpoint and the system file can not
be found under /etc.
2017-12-15 09:54:40 +01:00
Christian Kamm 298f1ab570 Disable stack protection for mingw win32 builds in 2.4
Mingw builds could have it enabled! But we need to ship libssp and test
this more. For the upcoming 2.4 release it should be disabled.
2017-12-15 09:16:59 +01:00
Roeland Jago Douma 99b4381591
Don't try to decrypt twice
The DecryptMetaDataKeys already base64 decoded

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-14 23:11:40 +01:00
Roeland Jago Douma 69a201a62d
Percentencode the json we send so special chars don't cause trouble
The + sign was lost in transfer.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-14 23:11:07 +01:00
Roeland Jago Douma 56028759d5
Merge branch 'master' into clientSideEncryptionV3 2017-12-14 20:47:05 +01:00
Roeland Jago Douma be3afd1291
Add FileEncryptJob and FileDecryptJob
This handles encryption and decryption of files.
Just create the job and start off.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-14 16:54:56 +01:00
Tomaz Canabrava 82c07236c1 [CSE] Add new method "infoForFolderId"
we need to query the model for the subfolderinfo, but we don't
have the model index, we have the folder id. this returns it.
2017-12-14 14:39:07 +01:00
Olivier Goffart 4dc49ff3b0 SyncEngine: Recover when the PUT reply (or chunkin's MOVE) is lost
This can happen if the upload of a file is finished, but we just got
disconnected right before recieving the reply containing the etag.
So nothing was save din the DB, and we are not sure if the server
recieved the file properly or not. Further local update of the file
will cause a conflict.

In order to fix this, store the checksum of the uploading file in
the uploadinfo table of the local db (even if there is no chunking
involved).  And when we have a conflict, check that it is not because
of this situation by checking the entry in the uploadinfo table.

Issue #5106
2017-12-14 11:56:12 +01:00
Julius Härtl 1cedb1919f
Integrate libcloudproviders support
This commit integrates support for libcloudproviders
desktop integration API. If build with the library it
will check on startup if the DBus interface is available
and then use it instead of the legacy status icon.

Signed-off-by: Julius Härtl <jus@bitgrid.net>
2017-12-14 11:19:25 +01:00
Roeland Jago Douma fe4bb52a6d
Merge remote-tracking branch 'oc/master' into oc_up 2017-12-14 10:27:11 +01:00
Christian Kamm f40cceaf04 Share link: Adjust design of folder sharing permissions #6192 2017-12-14 08:34:44 +01:00
Tomaz Canabrava c592871f94 [CSE] Do not handle b64 inside of the decrypt function
the decrypt function should deal with the raw data always.
2017-12-13 16:37:52 +01:00
rockihack 5cc3b526e8 stack-protector is not supported on hppa.
(cherry picked from commit 8a963a67f2)
2017-12-13 11:28:22 +01:00
rockihack 1b2a8ba6b0 Enable stack-protector-strong on Windows and macOS.
(cherry picked from commit 586fd346ea)
2017-12-13 11:28:22 +01:00
rockihack 8a963a67f2 stack-protector is not supported on hppa. 2017-12-13 11:27:48 +01:00
rockihack 586fd346ea Enable stack-protector-strong on Windows and macOS. 2017-12-13 11:27:48 +01:00
Christian Kamm e5ed8fc90a Merge remote-tracking branch 'origin/2.4' 2017-12-13 11:03:24 +01:00
Markus Goetz 75676f8830 Notifications: Propagate "Dismiss" as DELETE to server #5922
(cherry picked from commit e86416fff7)
2017-12-13 11:00:40 +01:00
Tomaz Canabrava 9916583ffa [CSE] More verbose output 2017-12-12 21:50:30 +01:00
Roeland Jago Douma 25734afd39
First base64 decode
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-12-12 21:42:37 +01:00
Tomaz Canabrava ea3558faf6 [CSE] Fix strings 2017-12-12 21:29:06 +01:00
Tomaz Canabrava 159c0e138f [CSE] Add a DecryptAsync method
Also, cleanup a bit of the old calls. One particular difference
is that I used to set padding to 1 and it should actually be
PKCS1_OAEP_PADDING
2017-12-12 21:23:02 +01:00
Tomaz Canabrava aca298ca64 [CSE] Be explicit that async encryption uses publicKey 2017-12-12 20:14:31 +01:00
Tomaz Canabrava 2127b2629d [CSE] Move encryption related network jobs to its own file
Move encryption related network jobs to it's own file,
the original file was starting to be just way too big.
2017-12-12 19:36:47 +01:00
Tomaz Canabrava f6f078d1ee [CSE] Rename Variable 2017-12-12 16:15:05 +01:00
Tomaz Canabrava ce37235cc4 [CSE] Retrieve the Private Key from the KeyChain
This fixes one thing and exposes a bug.
the MetadataKeys are not being correctly unencrypted.
2017-12-12 16:09:49 +01:00
Tomaz Canabrava 0a58ea76e5 [CSE] Start the work with an existing metadata 2017-12-12 15:35:53 +01:00
Olivier Goffart 02283fc686
Merge pull request #6224 from owncloud/deprecated
Remove use of deprecated Qt API
2017-12-12 11:48:04 +01:00
Tomaz Canabrava e6f835d138 [CSE] Unlock the folder after a lock
This makes sure the folder will be unlocked for next tests
2017-12-12 11:26:54 +01:00
Tomaz Canabrava 33b1fcfe66 Merge branch 'master' into clientSideEncryptionV3 2017-12-12 10:46:43 +01:00
Christian Kamm dcf0baa9de Journal: 64bit inodes, fix storing uint64s generally
In addition to using the right function when retrieving inodes this
*also* fixes a more general bug ownsql had with storing uint64 values
that didn't fit into an int64.
2017-12-12 10:30:54 +01:00
Olivier Goffart bae00358b9
Merge pull request #6219 from owncloud/config
Move config and remove most dependencies form the sync engine.
2017-12-11 17:10:18 +01:00
Olivier Goffart d517d92f6c FolderWizard: don't use deprecated API 2017-12-08 16:16:06 +01:00
Olivier Goffart 71dcf7fc37 SSLButton: Removes some call to deprecated functions 2017-12-08 16:16:02 +01:00
Olivier Goffart 0a59faf03d OcsJob: Use QUrlQuery
Qurl::setEncodedQueryItems is deprecated.
2017-12-08 16:15:48 +01:00
Olivier Goffart 7bd48b1327 cmd: remove usage of deprecated qInstallMsgHandler 2017-12-08 16:15:48 +01:00
Olivier Goffart 8c652e061d Remove uses of deprecated QString::fromAscii 2017-12-08 16:15:48 +01:00
Olivier Goffart a4816d6a8c Updater: use QUrlQuery
QUrl::addQueryItem is deprecated
2017-12-08 16:15:47 +01:00
Olivier Goffart 1a503d54f6 Remove usage of deprecated qSort 2017-12-08 16:15:47 +01:00
Olivier Goffart 263668b1cb Remove use of deprecated translate call 2017-12-08 16:15:38 +01:00
Olivier Goffart 3df65460f5 Remove usage of QString::null
Replaces by "QString()"
2017-12-08 16:15:22 +01:00
Olivier Goffart 74672d493d Utility: use QUrlQuery
For QUrl::setQuery is deprecated in Qt5
2017-12-08 16:15:17 +01:00
Tomaz Canabrava 0a83d3e743 [CSE] Fix reading the public key for the metadata
This broke when we started to use QSslKey and the Qt Keychain
framework.
2017-12-08 11:24:22 +01:00
Tomaz Canabrava a08a32ceca [CSE] Fetch the metadata for the upload. 2017-12-08 10:32:05 +01:00
Tomaz Canabrava 6745777ca3 [CSE] Save folder id and token for the lock
So we can unlock it later. - perhaps we should store this
on the disk or something, to make it harder to lose.
2017-12-08 10:19:56 +01:00
Olivier Goffart f1b7d506ae csync_exclude: fix compilation of non-test builds 2017-12-08 09:43:26 +01:00
Tomaz Canabrava 70d562668c [CSE] Add handling for side-by-side uploads. 2017-12-07 21:51:42 +01:00
Tomaz Canabrava ccd8cff4db [CSE] Try to lock repeteadly the folder if needed.
The upload is made in an event loop with more than one
upload at the same time, this confuses the hell out of the
folder locking mechanism.

We need to lock the folder and ask the other trials to try
again in a few seconds in the future to give time for the
uploader to actually upload the current file that's locking
the folder.
2017-12-07 21:31:20 +01:00