Markus Goetz [Tue, 4 Jul 2017 13:03:16 +0000 (15:03 +0200)]
check_vio_ext: Align with new UTF8 behaviour on macOS
Olivier Goffart [Tue, 4 Jul 2017 10:20:59 +0000 (12:20 +0200)]
csync: Use Qt for encodeing/decoding filesystem strings
Issues:
- #5661 On mac, iconv did not support all of unicode and some
files with emoji in the filename could not be uploaded
- #5719 , #5676 On linux, we will now support non utf-8 locale
Olivier Goffart [Tue, 4 Jul 2017 09:29:24 +0000 (11:29 +0200)]
csync: Move the locale<->utf8 conversion to a different file
It's a C++ file so we will be able to use Qt from it
Olivier Goffart [Mon, 3 Jul 2017 14:15:42 +0000 (16:15 +0200)]
csync: Remove iconv depedency
We use iconv to normalize the string on mac. But the iconv version
on mac does not support full unicode.
So we will use Qt to normalize the string
Christian Kamm [Wed, 12 Jul 2017 07:45:10 +0000 (09:45 +0200)]
IssuesWidget: Fix insertion of sync errors before item errors
Christian Kamm [Wed, 12 Jul 2017 08:09:04 +0000 (10:09 +0200)]
SyncEngineTest: _size now correct for uploads #5855
Christian Kamm [Wed, 12 Jul 2017 08:06:04 +0000 (10:06 +0200)]
Merge remote-tracking branch 'origin/2.3'
Christian Kamm [Tue, 11 Jul 2017 13:54:01 +0000 (15:54 +0200)]
IssuesWidget: Add button to retry 507 errors #5537
Since these errors are blacklisted, it can take up to 24h to retry items
that had a 507 error for a while. This way users can intervene and cause
an upload attempt immediately.
Christian Kamm [Tue, 11 Jul 2017 13:53:36 +0000 (15:53 +0200)]
IssuesWidget: Hide folder column when possible
Christian Kamm [Tue, 11 Jul 2017 13:50:56 +0000 (15:50 +0200)]
Add ElidedLabel
A label that adjusts its text based on Qt::TextElideMode.
Christian Kamm [Fri, 7 Jul 2017 13:11:00 +0000 (15:11 +0200)]
PropagateUpload: Better messaging for 507 #5537
It now produces a summary error message indicating the problem.
Adjust blacklist database table to contain 'errorCategory'. This is
useful for two things:
- Reestablishing summary messages based on blacklisted errors. For
example if we don't retry a 507ed file, we still want to show the
message about space on the server
- Selectively wiping the blacklist: When we have ui for something like
"I deleted some files, please retry all files now!", we want to
delete all blacklist entries of a specific category only.
Christian Kamm [Fri, 7 Jul 2017 12:12:10 +0000 (14:12 +0200)]
PropagateUpload: Put upload error handling in one function
Christian Kamm [Tue, 11 Jul 2017 10:52:40 +0000 (12:52 +0200)]
ProgressInfo: Carry a sync status
* A bunch of code was determining sync status by ad-hoc comparing some
progress info fields. It can now just check the status, making it
easier to comprehend.
* There's a clear indication for "a new sync is starting", which helps
wiping the issues tab at the right time.
Christian Kamm [Wed, 28 Jun 2017 10:45:54 +0000 (12:45 +0200)]
SyncEngine: Introduce overall errors that are not tied to a file #5746
For now we use them for:
* csync errors: This allows them to appear in the sync issues tab
* insufficient local disk space, as a summary of individual file errors
Insufficient remote space will use them too, as might other issues that
are bigger than a single sync item.
Jenkins for ownCloud [Wed, 12 Jul 2017 00:18:29 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Samuel Alfageme [Tue, 11 Jul 2017 15:29:49 +0000 (17:29 +0200)]
More refs. to corresponding issue/PR on 2.3.3 changelog
Markus Goetz [Tue, 11 Jul 2017 15:14:49 +0000 (17:14 +0200)]
ChangeLog: 2.3.3
Olivier Goffart [Mon, 3 Jul 2017 12:51:20 +0000 (14:51 +0200)]
OAuth: Redirects to the server in case of sucessfull login
Requires https://github.com/owncloud/oauth2/pull/45
This commit moves the reply after we got the token reply from
the server, that allows to reply with an error to the browser
if the login does not work.
Jenkins for ownCloud [Tue, 11 Jul 2017 00:18:29 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Christian Kamm [Thu, 6 Jul 2017 12:03:22 +0000 (14:03 +0200)]
IssuesTab: Hide filters if they wouldn't be useful
As suggested by @dragotin
Christian Kamm [Thu, 6 Jul 2017 12:02:21 +0000 (14:02 +0200)]
FolderMan: Add missing folderListChanged emits
She signal of a folder list change was not emitted when folders were
deleted from the list.
Jenkins for ownCloud [Mon, 10 Jul 2017 00:18:29 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sun, 9 Jul 2017 00:18:29 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Christian Kamm [Fri, 7 Jul 2017 09:09:11 +0000 (11:09 +0200)]
Account/Credentials: Have identical lifetimes
The QNAM may continue to outlive both.
Rename Credentials::getQNAM() to createQNAM() while we're at it - it's
used to make a new QNAM that will subsequently be owned by the Account
object.
See
d01065b9a12e69ca493a232f3a8e8f3d416fed52 for rationale.
Relates to
d40c56eda561e3a541bf1b23f70fa8d659d3037e
147cf798a6f13c9b53a9f1fb2db1ef26c8c63273
Jenkins for ownCloud [Sat, 8 Jul 2017 00:18:29 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Jocelyn Turcotte [Fri, 7 Jul 2017 16:10:48 +0000 (18:10 +0200)]
shell/windows Build 46: Private links context menu
Jürgen Weigert [Fri, 7 Jul 2017 14:01:20 +0000 (16:01 +0200)]
Update building.rst
Christian Kamm [Thu, 15 Jun 2017 14:03:24 +0000 (16:03 +0200)]
Link share: Remove direct download if unavailable #5837
It would have been much nicer to keep the menu assigned to the
QToolButton, but if one switches away from InstantPopup (to adjust the
entries before they're displayed), the button always gets a menu
indicator that can't be removed.
Christian Kamm [Thu, 15 Jun 2017 13:38:22 +0000 (15:38 +0200)]
Link shares: Add "show file listing" option #5837
Christian Kamm [Thu, 6 Jul 2017 09:33:38 +0000 (11:33 +0200)]
shell integrations: Change share menu title to "Share..."
Since the appname is in the context submenu title already.
Also drop APPNAME string.
Christian Kamm [Thu, 6 Jul 2017 09:32:58 +0000 (11:32 +0200)]
SocketAPI: Change strings to a consistent _MENU_TITLE postfix
Jocelyn Turcotte [Tue, 4 Jul 2017 17:26:57 +0000 (13:26 -0400)]
shell/macos: Remove legacy (< 10.10) overlay icons
Having to update the plugins to add a submenu in the context menu,
it's more cost-effective to remove support for legacy macOS versions
than implementing and testing this setup.
Jocelyn Turcotte [Tue, 4 Jul 2017 15:34:51 +0000 (11:34 -0400)]
shell/macos: Use a submenu to include private link actions
Jocelyn Turcotte [Tue, 4 Jul 2017 14:58:55 +0000 (16:58 +0200)]
shell/windows: Use a submenu to include private link actions
Refactor things a bit to be able to reuse some code and
clean things up.
Jocelyn Turcotte [Tue, 4 Jul 2017 14:45:48 +0000 (16:45 +0200)]
SocketApi: Add GET_STRINGS:BEGIN and END
The Windows shell extension relied on the response of
SHARE_MENU_TITLE to advance its state machine, but in order
to use the new GET_STRINGS instead, we need to know when the
last string was received. Also add BEGIN for consistency.
Jocelyn Turcotte [Tue, 4 Jul 2017 14:43:17 +0000 (16:43 +0200)]
SocketApi: Adjust the format of the mailto: URL
Minor tweaks that weren't actually an issue, but just in case.
Jocelyn Turcotte [Tue, 4 Jul 2017 14:41:40 +0000 (16:41 +0200)]
SocketApi: Improve logging
Christian Kamm [Wed, 10 May 2017 07:37:10 +0000 (09:37 +0200)]
Introduce private link sharing #5023
* SocketAPI has COPL_LOCAL_LINK / EMAIL_LOCAL_LINK commands
* The nautilus and dolphing shell integrations show a submenu from which
one can share as well as access the private link.
* The SocketAPI provides a new GET_STRINGS command to access localized
strings.
* The private link can also be accessed from the user/group sharing
dialog.
* The numeric file id is extracted from the full id to create the
private link url.
Jenkins for ownCloud [Fri, 7 Jul 2017 00:18:31 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Thu, 6 Jul 2017 23:15:16 +0000 (01:15 +0200)]
[tx-robot] updated from transifex
Christian Kamm [Thu, 6 Jul 2017 11:43:34 +0000 (13:43 +0200)]
Fix crash on account deletion
Calling forgetSensitiveData() on account deletion leads to a timer for
clearQNAMCache() being queued. Then the Account object is deleted. The
Credentials object stays alive for now because it has a deleteLater
deleter.
If the timer calls into a slot on the Credentials object, the _account
pointer will be invalid at this time.
As a workaround, move the target slot to Account - that way it will not
be called as the account object is already destroyed.
However since Account and Credentials are mutually dependent, it would
be much preferable if their lifetimes were linked, avoiding this
category of bugs.
The current behavior was introduced in
d40c56eda561e3a541bf1b23f70fa8d659d3037e and I currently don't
understand why - maybe there's another way of dealing with the problem
that existed then.
Jenkins for ownCloud [Thu, 6 Jul 2017 00:18:28 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Wed, 5 Jul 2017 00:18:35 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
ckamm [Tue, 4 Jul 2017 12:08:41 +0000 (14:08 +0200)]
Add a more functional error view #5516 (#5861)
* Add a more functional error view #5516
* Allow filtering of ignores and warnings to see only important bits.
* Navigate from the folder view to the error view by clicking on the
error list with the red background.
* Move the error list into its own ui file to allow easier extension.
* Fix issue around tab id handling in ActivitySettings.
* Rename "Action" column to "Issue".
* Change mouse cursor to hand over button and new error list area
Several OSX fixes provided by guruz.
Christian Kamm [Tue, 4 Jul 2017 10:23:23 +0000 (12:23 +0200)]
AccountState: Add a 1-5min reconnection delay #5872
This only applies when the server was explicitly in maintenance mode or
when it was 503-unavailable.
Christian Kamm [Tue, 27 Jun 2017 12:17:26 +0000 (14:17 +0200)]
Blacklist: Don't let errors become warnings #5516
Before, blacklisted errors were set to FileIgnored status and hence
displayed as warnings. Now, they have their own BlacklistedError
category which allows them to appear as errors in the issues list and in
the shell integration icons.
Olivier Goffart [Tue, 4 Jul 2017 08:55:41 +0000 (10:55 +0200)]
main.cpp: Fix a compiler warning
src/gui/main.cpp:112:9: warning: bool literal returned from 'main' [-Wmain]
Used 1 to keep previous behaviour. I supposed the code was meant
to return success (0), but it does not really matter anyway.
Markus Goetz [Fri, 23 Jun 2017 14:53:23 +0000 (16:53 +0200)]
SyncEngine: Keep local size in SyncItem #5855
Christian Kamm [Tue, 4 Jul 2017 07:57:22 +0000 (09:57 +0200)]
SyncEngineTest: Fix test reliability
There was a rounding issue in the mtimes which sometimes resulted in an
off-by-one error. Caused by storing a full QDateTime in the FileInfo but
the mtime saved to the disk being truncated to seconds.
Jenkins for ownCloud [Tue, 4 Jul 2017 00:18:29 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Olivier Goffart [Mon, 3 Jul 2017 15:24:56 +0000 (17:24 +0200)]
Fix check_csync_update
Commit
816096311027bac0f391ea97d0b61b4175e9b8f9 changed the
SQL requests from csync to read from the checksumtype table.
So we need to add this table in the fake DB as well
Olivier Goffart [Mon, 3 Jul 2017 14:42:31 +0000 (16:42 +0200)]
Fix check_csync_exclude test
Commit
4697f0274f282cafd28cbad07066efb397dbf21b remove .htaccess from
the sync-exclude.lst, so use another known excluded pattern
Piotr Mrowczynski [Tue, 20 Jun 2017 18:27:26 +0000 (20:27 +0200)]
Classify chunked items correctly. Issue #5850
Markus Goetz [Mon, 3 Jul 2017 12:08:10 +0000 (14:08 +0200)]
TestSyncJournalDB: Fix concurrent usage on CI
Christian Kamm [Mon, 3 Jul 2017 11:16:29 +0000 (13:16 +0200)]
csync tests: remove stray 'print'
Christian Kamm [Wed, 28 Jun 2017 09:15:22 +0000 (11:15 +0200)]
SyncEngine: Add unittest for SyncFileItem properties #5855
Checks instruction, direction, size, modtime for three common cases.
Christian Kamm [Mon, 3 Jul 2017 09:48:04 +0000 (11:48 +0200)]
csync tests: Fix for new owncloudcmd return codes
These were introduced in
4af45394f9f61fbc68c9f0a4d2e5387d14052e3b
Jenkins for ownCloud [Mon, 3 Jul 2017 00:18:29 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sun, 2 Jul 2017 00:18:29 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sat, 1 Jul 2017 00:18:28 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Fri, 30 Jun 2017 00:18:46 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Samuel Alfageme [Wed, 28 Jun 2017 10:28:07 +0000 (12:28 +0200)]
Update central.owncloud.org link
Desktop client category was renamed, old link was 404 - see: https://central.owncloud.org/t/new-central-categories-you-decide
Samuel Alfageme [Wed, 28 Jun 2017 10:28:07 +0000 (12:28 +0200)]
Update central.owncloud.org link
Desktop client category was renamed, old link was 404 - see: https://central.owncloud.org/t/new-central-categories-you-decide
Jenkins for ownCloud [Thu, 29 Jun 2017 00:22:16 +0000 (02:22 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Wed, 28 Jun 2017 00:22:09 +0000 (02:22 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Tue, 27 Jun 2017 00:22:10 +0000 (02:22 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Mon, 26 Jun 2017 00:22:09 +0000 (02:22 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sun, 25 Jun 2017 00:22:09 +0000 (02:22 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sat, 24 Jun 2017 00:22:16 +0000 (02:22 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Fri, 23 Jun 2017 00:22:09 +0000 (02:22 +0200)]
[tx-robot] updated from transifex
Markus Goetz [Thu, 22 Jun 2017 13:42:56 +0000 (15:42 +0200)]
Jenkinsfile: Some comments
Markus Goetz [Thu, 22 Jun 2017 13:11:27 +0000 (15:11 +0200)]
CSyncSqliteTest: Fix test
Markus Goetz [Thu, 22 Jun 2017 13:09:28 +0000 (15:09 +0200)]
test_journal.db: Add checksumtype table
Christian Kamm [Thu, 22 Jun 2017 12:06:31 +0000 (14:06 +0200)]
Merge remote-tracking branch 'origin/2.3'
Jenkins for ownCloud [Thu, 22 Jun 2017 00:22:09 +0000 (02:22 +0200)]
[tx-robot] updated from transifex
Markus Goetz [Wed, 21 Jun 2017 13:02:26 +0000 (15:02 +0200)]
Jenkinsfile: Compile in debug because of all the asserts
Markus Goetz [Wed, 21 Jun 2017 13:02:26 +0000 (15:02 +0200)]
Jenkinsfile: Compile in debug because of all the asserts
Markus Goetz [Wed, 21 Jun 2017 10:18:21 +0000 (12:18 +0200)]
Jenkinsfile: Run verbose tests
Markus Goetz [Wed, 21 Jun 2017 10:12:08 +0000 (12:12 +0200)]
Jenkinsfile: Run full testing
Markus Goetz [Wed, 21 Jun 2017 10:12:08 +0000 (12:12 +0200)]
Jenkinsfile: Run full testing
Markus Goetz [Wed, 21 Jun 2017 09:59:24 +0000 (11:59 +0200)]
Jenkinsfile: 2.3.3 will ship with Qt 5.
This should fix the current CI run too
Markus Goetz [Wed, 21 Jun 2017 08:01:32 +0000 (10:01 +0200)]
owncloudcmd: Explain --debug parameter
Jenkins for ownCloud [Wed, 21 Jun 2017 00:22:08 +0000 (02:22 +0200)]
[tx-robot] updated from transifex
Christian Kamm [Mon, 19 Jun 2017 08:48:19 +0000 (10:48 +0200)]
Ignore ui: Add the sync journal patterns #5844
The ignore patterns for the journal files are hardcoded. Add them to
the UI to make them discoverable.
Christian Kamm [Fri, 16 Jun 2017 13:43:21 +0000 (15:43 +0200)]
Journal: Don't use a ._ path if it won't work #5633
When synchronizing a folder on a samba share, creating files that begin
with ._ is often forbidden. This prevented the client from creating
its ._sync_abcdef.db file.
Now, it'll check whether the preferred filename is creatable, and if
it isn't it'll use .sync_abcdef.db instead.
The disadvantage is that this alternative path won't be ignored by
older clients - that was the reason for the ._ prefix.
Jenkins for ownCloud [Tue, 20 Jun 2017 00:22:12 +0000 (02:22 +0200)]
[tx-robot] updated from transifex
Jocelyn Turcotte [Wed, 14 Jun 2017 12:17:50 +0000 (14:17 +0200)]
shell/Windows: Update binaries to build 45
Frederik Juul Christiani [Tue, 13 Jun 2017 09:23:08 +0000 (11:23 +0200)]
shell_integration/windows: Create _newQueries as a non-signaled auto-reset event.
Since ResetEvent() is never called, the call to WaitForMultipleObjects()
can always return immediately once the event has been signaled.
Frederik Juul Christiani [Tue, 13 Jun 2017 08:28:12 +0000 (10:28 +0200)]
Initialize stop variable.
Avoid stopping the worker thread immediately if the stop variable happens to be true.
Jenkins for ownCloud [Mon, 19 Jun 2017 00:22:08 +0000 (02:22 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sun, 18 Jun 2017 00:22:08 +0000 (02:22 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sat, 17 Jun 2017 00:22:17 +0000 (02:22 +0200)]
[tx-robot] updated from transifex
Jocelyn Turcotte [Thu, 15 Jun 2017 18:10:30 +0000 (20:10 +0200)]
Remove debug messages by default from sync.engine
Other categories were already set properly.
Christian Kamm [Wed, 14 Jun 2017 10:14:46 +0000 (12:14 +0200)]
Compare the hash of files with identical mtime/size #5589
* For conflicts where mtime and size are identical:
a) If there's no remote checksum, skip (unchanged)
b) If there's a remote checksum that's a useful hash, create a
PropagateDownload job and compute the local hash. If the hashes
are identical, don't download the file and just update metadata.
* Avoid exposing the existence of checksumTypeId beyond the database
layer. This makes handling checksums easier in general because they
can usually be treated as a single blob.
This change was prompted by the difficulty of producing file_stat_t
entries uniformly from PROPFINDs and the database.
Christian Kamm [Wed, 14 Jun 2017 10:03:40 +0000 (12:03 +0200)]
SyncEngineTest: Add network override
This is useful for monitoring what kind of network requests are
sent to the fake server. Such as "did this sync cause an upload?"
and "was there a propfind for this path?". It can also inject
custom replies.
Christian Kamm [Wed, 14 Jun 2017 10:03:10 +0000 (12:03 +0200)]
SyncEngineTest: Send 'checksums' in FakePropfind
Christian Kamm [Wed, 14 Jun 2017 10:01:32 +0000 (12:01 +0200)]
SyncEngineTest: Fix date locale related bug
The client is very picky about date strings it accepts. If dates are
formatted with a non-C locale (such as localized weekday names), it
fails to parse it and tests fail in subtle ways.
Jocelyn Turcotte [Wed, 14 Jun 2017 12:17:50 +0000 (14:17 +0200)]
shell/Windows: Update binaries to build 45
Frederik Juul Christiani [Tue, 13 Jun 2017 09:23:08 +0000 (11:23 +0200)]
shell_integration/windows: Create _newQueries as a non-signaled auto-reset event.
Since ResetEvent() is never called, the call to WaitForMultipleObjects()
can always return immediately once the event has been signaled.
Frederik Juul Christiani [Tue, 13 Jun 2017 08:28:12 +0000 (10:28 +0200)]
Initialize stop variable.
Avoid stopping the worker thread immediately if the stop variable happens to be true.