Markus Goetz [Mon, 10 Apr 2017 14:15:28 +0000 (16:15 +0200)]
Wizard: Improve folder creation (2)
Jenkins for ownCloud [Mon, 10 Apr 2017 00:18:28 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sun, 9 Apr 2017 00:18:27 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sat, 8 Apr 2017 00:18:38 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Fri, 7 Apr 2017 23:15:19 +0000 (01:15 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Fri, 7 Apr 2017 00:18:29 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Thu, 6 Apr 2017 00:18:28 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Wed, 5 Apr 2017 23:15:15 +0000 (01:15 +0200)]
[tx-robot] updated from transifex
Markus Goetz [Wed, 5 Apr 2017 14:55:36 +0000 (16:55 +0200)]
Wizard: Improve folder creation
Jenkins for ownCloud [Wed, 5 Apr 2017 00:18:28 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Christian Kamm [Tue, 4 Apr 2017 08:49:26 +0000 (10:49 +0200)]
Doc: Update to new sync journal db name #5662
Christian Kamm [Tue, 4 Apr 2017 07:54:06 +0000 (09:54 +0200)]
Transfers: Show a decimal for single digit MB rates #4428
Christian Kamm [Tue, 28 Mar 2017 09:15:53 +0000 (11:15 +0200)]
ShareDialog: Hide the detailed permissions if there is only one #5655
Christian Kamm [Tue, 28 Mar 2017 09:05:24 +0000 (11:05 +0200)]
ShareDialog: Margin and spacing refinements #5627
Christian Kamm [Tue, 28 Mar 2017 09:04:57 +0000 (11:04 +0200)]
ShareDialog: Fix thumbnail size #5654
Jenkins for ownCloud [Tue, 4 Apr 2017 00:18:31 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Mon, 3 Apr 2017 00:18:28 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sun, 2 Apr 2017 00:18:27 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sat, 1 Apr 2017 00:18:36 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Fri, 31 Mar 2017 00:18:27 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Thu, 30 Mar 2017 00:18:30 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Markus Goetz [Wed, 29 Mar 2017 16:23:48 +0000 (18:23 +0200)]
Chunking NG: Also send OC-Total-Length on MOVE
For https://github.com/owncloud/core/issues/26988
Jenkins for ownCloud [Wed, 29 Mar 2017 00:18:28 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Olivier Goffart [Tue, 28 Mar 2017 13:21:59 +0000 (15:21 +0200)]
PropagateDownload: fix possible crash
Backtrace looks like this:
Crash: EXCEPTION_ACCESS_VIOLATION_READ at 0x0
File "propagatedownload.cpp", line 234, in OCC::GETFileJob::slotReadyRead
File "moc_propagatedownl_CA5CFSHZDTX34X.cpp", line 86, in OCC::GETFileJob::qt_static_metacall
File "qobject.cpp", line 495, in QMetaCallEvent::placeMetaCall
File "qobject.cpp", line 1256, in QObject::event
File "qapplication.cpp", line 3804, in QApplicationPrivate::notify_helper
GETFileJob::slotReadyRead can be called with a QueuedConnection when the
bendwith manager is involved. In that case, if the QNAM was reset
in between, the reply might have been destroyed.
(This is only speculation based on the backtrace)
Olivier Goffart [Tue, 28 Mar 2017 13:11:58 +0000 (15:11 +0200)]
AccountState: Attempt to fix a crash
Backtrace from the crash reporter:
Crash: EXCEPTION_ACCESS_VIOLATION_READ at 0x21
File "qcoreapplication.cpp", line 1281, in QCoreApplication::postEvent
File "qobject.cpp", line 2125, in QObject::deleteLater
File "connectionvalidator.cpp", line 240, in OCC::ConnectionValidator::reportResult
File "connectionvalidator.cpp", line 206, in OCC::ConnectionValidator::slotAuthFailed
File "moc_connectionvalidator.cpp", line 127, in OCC::ConnectionValidator::qt_static_metacall
File "qobject.cpp", line 3716, in QMetaObject::activate
File "moc_networkjobs.cpp", line 653, in OCC::PropfindJob::finishedWithError
File "networkjobs.cpp", line 570, in OCC::PropfindJob::finished
I believe the problem is caused because 'this' was deleted in ConnectionValidator::reportResult
as the signal connectionResult gets emited. The AccountState::slotConnectionValidatorResult
slot does indeed call slotInvalidCredentials which might call {Shibboleth,Http}Credentials::fetchFromKeychain
which might emit fetched directly, which will call AccountState::slotCredentialsFetched
which deletes the _connectionValidator
So use deleteLater when deleting the _connectionValidator, hoping this helps
Jenkins for ownCloud [Tue, 28 Mar 2017 00:18:27 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Mon, 27 Mar 2017 00:18:28 +0000 (02:18 +0200)]
[tx-robot] updated from transifex
Olivier Goffart [Sat, 25 Mar 2017 08:06:08 +0000 (09:06 +0100)]
VERSION: 2.3.1 was release, this branch is now for 2.3.2
Jenkins for ownCloud [Sat, 25 Mar 2017 01:18:28 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sat, 25 Mar 2017 00:15:15 +0000 (01:15 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Fri, 24 Mar 2017 01:18:28 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Thu, 23 Mar 2017 01:18:37 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Wed, 22 Mar 2017 01:18:28 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Tue, 21 Mar 2017 01:18:29 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Samuel Alfageme [Mon, 20 Mar 2017 12:37:01 +0000 (13:37 +0100)]
Fixing a typo on an issue reference
(cherry picked from commit
ed03cdf45a696161c4a4f94eaa9eda80559b36d2)
Matthew Setter [Mon, 20 Mar 2017 14:48:24 +0000 (15:48 +0100)]
Fix incorrect documentation for the ownCloud command-line client
This fixes #5609.
Samuel Alfageme [Fri, 17 Mar 2017 12:16:38 +0000 (13:16 +0100)]
Including some info on the proxy config. in the docs.
This was a request of @michaelstingl to document how to configure the proxy manually via the .cfg file for config provisioning purposes.
- Restructured the bullet points into 3 different tables; I believe it's a cleaner approach; maybe this is also applicable to other sections.
- Would be logical to include also settings on proxy auth?
Olivier Goffart [Thu, 16 Mar 2017 15:30:28 +0000 (16:30 +0100)]
Folder::showSyncResultPopup: Fix undefined behavior when there is no errors
When there is no errors _syncResult.firstItemError() is NULL, and accessing
it's _file member is an undefined behavior. (Thankfully, createGuiLog did not
use the string when the count was 0, but we are not supposed to create
null references.
Found with the UB sanitizer:
src/gui/folder.cpp:348:49: runtime error: member access within null pointer of type 'OCC::SyncFileItem'
src/gui/folder.cpp:348:19: runtime error: reference binding to null pointer of type 'const QString'
Jenkins for ownCloud [Mon, 20 Mar 2017 01:18:28 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sun, 19 Mar 2017 01:18:28 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sat, 18 Mar 2017 01:18:35 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Fri, 17 Mar 2017 01:18:36 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Olivier Goffart [Thu, 16 Mar 2017 13:25:08 +0000 (14:25 +0100)]
ActivityListModel: attempt to fix a crash.
The backtrace seems to indicate that the account is invalid.
I don't know how this can happen, maybe the account's display
name was changed while the app is running?
Backtrace:
Crash: EXC_BAD_ACCESS / KERN_INVALID_ADDRESS at 0x18
Module "owncloud", in OCC::AccountState::account
Module "owncloud", in OCC::ActivityListModel::data
Module "owncloud", in OCC::ActivityItemDelegate::paint
Module "QtWidgets", in QListView::paintEvent
Module "QtWidgets", in QWidget::event
Module "QtWidgets", in QFrame::event
Module "QtWidgets", in QAbstractScrollArea::viewportEvent
Module "QtWidgets", in QAbstractItemView::viewportEvent
Module "QtWidgets", in QAbstractScrollAreaFilter::eventFilter
Module "QtCore", in QCoreApplicationPrivate::sendThroughObjectEventFilters
Olivier Goffart [Thu, 16 Mar 2017 13:19:36 +0000 (14:19 +0100)]
Propagator: change order of destruction
The destructor of the PropagateItemJob will access the propagator's
_activeJobList. So the _rootJob needs to be destroyed before it.
Order of destruction is the reverse of the order of the members in
the class. So put it at the end so it can be destroyed first.
(This made TestSyncEngine::testDirDownloadWithError crash sometimes
in the master branch)
Markus Goetz [Thu, 16 Mar 2017 13:19:23 +0000 (14:19 +0100)]
ChangeLog for 2.3.1
Christian Kamm [Thu, 16 Mar 2017 09:57:23 +0000 (10:57 +0100)]
About: Show the runtime versions of Qt and OpenSSL #5592
I didn't want to touch this visible translated string in a
patch release so I just switched the data.
For Qt versions before 5, we continue to show the build-time version
of OpenSSL but it's clearly marked as such.
Olivier Goffart [Thu, 16 Mar 2017 08:27:17 +0000 (09:27 +0100)]
SyncEngine: fix test regression in TestChunkingNG::testCreateConflictWhileSyncing
In
8ef11a38c99c6a33b175f1ad792ec02b52f88d25, we started blacklisting
SoftError for 0 seconds. But if the two sync happen with less than
1s interval, we would still prevent them to happen.
So make sure we expire if 0 seconds have expired
Jenkins for ownCloud [Thu, 16 Mar 2017 01:18:29 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Olivier Goffart [Wed, 15 Mar 2017 16:17:33 +0000 (17:17 +0100)]
Attempt to fix a crash in FolderStatusModel::slotUpdateDirectories
The backtrace looks like:
File "atomic_base.h", line 396, in QString::~QString
File "qlist.h", line 442, in OCC::FolderStatusModel::slotUpdateDirectories
This is the only QList operation, and it may crash if the list is empty.
It can be empty if the propfind returned empty results.
I'm not sure how this can be possible to have an empty list there since
the server is always supposed to return at least one entry, for the directory
itself. But it can happen if a directory was transformed in a file, or
if there is a bug on the server.
Christian Kamm [Tue, 14 Mar 2017 14:59:22 +0000 (15:59 +0100)]
HttpCreds: Update app passwords url #5605
See also owncloud/core#27360
Christian Kamm [Tue, 14 Mar 2017 14:57:57 +0000 (15:57 +0100)]
Account server version: Helper to create versions
Hex literals don't work well with version 10: 0x100000 doesn't do
the right thing.
Olivier Goffart [Wed, 15 Mar 2017 15:00:48 +0000 (16:00 +0100)]
Ignore list editor: adjust the size
The previous patch on this file made it a bit too big, so make it a bit smaller
For issue #5600
Jenkins for ownCloud [Wed, 15 Mar 2017 01:18:36 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Christian Kamm [Fri, 10 Mar 2017 14:32:25 +0000 (15:32 +0100)]
Add more versions to --version #5592
* Add git revision, if available
* Add SSL runtime version
* Add compile-time Qt version
Christian Kamm [Tue, 7 Mar 2017 10:47:38 +0000 (11:47 +0100)]
Windows/NTFS: Do not attempt to upload inaccessible files #5544
It is possible to create files with filenames that differ
only by case in NTFS, but most operations such as stat and
open only target one of these by default.
When that happens, we want to avoid uploading incorrect data
and give up on the file.
Typically this situation should never occurr during normal use
of Windows. It can happen, however, when a NTFS partition is
mounted in another OS.
Jenkins for ownCloud [Tue, 14 Mar 2017 01:18:30 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Olivier Goffart [Mon, 13 Mar 2017 16:05:24 +0000 (17:05 +0100)]
Ignore list editor: adjust the size of the columns in the table
So the title of the column is fully visible.
Adjust the default size and the size policy of the label so it behave
correctly as the window get resized
Issue #5600
Jenkins for ownCloud [Mon, 13 Mar 2017 01:18:30 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sun, 12 Mar 2017 01:18:30 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sat, 11 Mar 2017 01:18:38 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Christian Kamm [Mon, 20 Feb 2017 14:05:17 +0000 (15:05 +0100)]
Blacklist: Escalate repeated SoftError to NormalError #5500
Jenkins for ownCloud [Fri, 10 Mar 2017 01:18:30 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Olivier Goffart [Thu, 9 Mar 2017 08:41:36 +0000 (09:41 +0100)]
Propagator: Attempt to fix a crash in OwncloudPropagator::scheduleNextJob
The crash reporter shows many crashes in OwncloudPropagator::scheduleNextJob.
We don't really know what could be the cause, but it's probably because
the _activeJobList contains dangling pointer.
So this patch makes sure to remove all the jobs from this list as they get
destroyed.
Jenkins for ownCloud [Thu, 9 Mar 2017 01:18:30 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Wed, 8 Mar 2017 01:18:33 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Christian Kamm [Fri, 3 Mar 2017 10:20:53 +0000 (11:20 +0100)]
AbstractNetworkJob: Improve redirect handling #5555
* For requests:
- reuse the original QNetworkRequest, so headers and attributes
are the same as in the original request
- determine the original http method from the reply and the request
attributes
- keep the original request body around such that it can be sent
again in case the request is redirected
* Simplify the interface that is used for creating new requests in
AbstractNetworkJob.
Jenkins for ownCloud [Tue, 7 Mar 2017 01:18:31 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Tue, 7 Mar 2017 00:15:15 +0000 (01:15 +0100)]
[tx-robot] updated from transifex
Olivier Goffart [Mon, 6 Mar 2017 15:14:09 +0000 (16:14 +0100)]
ActivityListModel: fix possible crash in slotActivitiesReceived
Backtrace from the crash reporter:
Crash: EXCEPTION_ACCESS_VIOLATION_READ at 0x401
File "moc_activitylistmo_M5OEXJ7XGJYTWT.cpp", line 92, in OCC::ActivityListModel::qt_static_metacall
File "qobject.cpp", line 3730, in QMetaObject::activate
File "moc_networkjobs_7AMNCW4BBANVRK.cpp", line 1342, in OCC::JsonApiJob::jsonReceived
File "networkjobs.cpp", line 714, in OCC::JsonApiJob::finished
File "abstractnetworkjob.cpp", line 207, in OCC::AbstractNetworkJob::slotFinished
File "moc_abstractnetwor_PFI2TXGQHRE33H.cpp", line 98, in OCC::AbstractNetworkJob::qt_static_metacall
File "qobject.cpp", line 3730, in QMetaObject::activate
File "moc_qnetworkreply.cpp", line 367, in QNetworkReply::finished
File "qnetworkreplyhttpimpl.cpp", line 2100, in QNetworkReplyHttpImplPrivate::finished
File "qnetworkreplyhttpimpl.cpp", line 279, in QNetworkReplyHttpImpl::abort
My theory is that the AccountState stored in a property of the job was destroyed.
before the job timed out.
Therefore, the qobject_cast within the qvariant_cast would call the metaObject()
virtual function on a dangling pointer.
Fix it by storing a QPointer instead which will track the deletion.
Olivier Goffart [Mon, 6 Mar 2017 12:07:08 +0000 (13:07 +0100)]
Propagator: Fix finished signal of directory being emited twice and causing crash
When there is a FatalError, we ended up emiting the finished signal for
the directory job several times, which would lead to crashes
Issue #5578
Markus Goetz [Mon, 6 Mar 2017 14:40:10 +0000 (15:40 +0100)]
NSIS: Don't display link on finish page
Jenkins for ownCloud [Sun, 5 Mar 2017 01:18:29 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sat, 4 Mar 2017 01:18:29 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Olivier Goffart [Fri, 3 Mar 2017 09:48:47 +0000 (10:48 +0100)]
2.3.0 was released: Update version
Olivier Goffart [Thu, 2 Mar 2017 08:57:14 +0000 (09:57 +0100)]
SslButton: Remove additional ')'
Regression since
7bfe0613827aa7cee93a77ccbedab9b07ea9ca78
Issue: #5573
Jenkins for ownCloud [Fri, 3 Mar 2017 01:18:27 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Thu, 2 Mar 2017 01:18:30 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Wed, 1 Mar 2017 01:18:28 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Tue, 28 Feb 2017 01:18:28 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jocelyn Turcotte [Mon, 27 Feb 2017 16:09:29 +0000 (17:09 +0100)]
Potential fix for crash in PropagateDirectory::abort (#5564)
Jenkins for ownCloud [Mon, 27 Feb 2017 01:18:29 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sun, 26 Feb 2017 01:18:29 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sat, 25 Feb 2017 01:18:28 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Fri, 24 Feb 2017 01:18:31 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Olivier Goffart [Thu, 23 Feb 2017 13:54:17 +0000 (14:54 +0100)]
Verify that all strings are properly escaped (#5558)
- I checked every occurence of a '%2' and make correct use of the
QString::arg overload that takes several argument instead of chaining
them, because the first argument can contains a '%1'
- I tried to look for every label that they either use plain text or richtext
and escape the user provided strings in there.
Jenkins for ownCloud [Thu, 23 Feb 2017 01:18:29 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Christian Kamm [Wed, 22 Feb 2017 12:04:26 +0000 (13:04 +0100)]
Wizard: Handle PROPFIND redirects #5553
By default, followRedirects is true for all requests, to transparently
handle redirections. In the wizard, we have special redirect-handling
code though and that was being skipped.
Setting the flag to false allows the wizard to be aware of redirects
and to handle them in the correct way. Tested with the server described
in
https://github.com/owncloud/administration/tree/master/redirectServer
There's a second bug here, where followRedirects always converts
redirected requests to the GET verb. That means redirected PROPFINDs
will never have worked. This change un-breaks them for the wizard only.
There should be no case that previously worked that stops working now.
Jenkins for ownCloud [Wed, 22 Feb 2017 01:18:36 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Markus Goetz [Tue, 21 Feb 2017 10:53:54 +0000 (11:53 +0100)]
Update ChangeLog
Jenkins for ownCloud [Tue, 21 Feb 2017 01:18:36 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Markus Goetz [Mon, 20 Feb 2017 12:58:35 +0000 (13:58 +0100)]
Message Boxes: Force to be more on top #5503 (#5536)
Jenkins for ownCloud [Mon, 20 Feb 2017 01:18:28 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sun, 19 Feb 2017 01:18:28 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sat, 18 Feb 2017 01:18:30 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Olivier Goffart [Fri, 17 Feb 2017 08:28:20 +0000 (09:28 +0100)]
Propagator: Fix t8.pl
The test sets OWNCLOUD_MAX_PARALLEL to 1 to disable parallelism.
But since the max amount of parallelism is twice as much, that does not
work.
So change the way we compute the hardMaximumActiveJob: Use the value of
OWNCLOUD_MAX_PARALLEL to maximize this amount and base the maximum amount
of transfer jobs on it instead of the other way.
A result of this change is that, in case of bandwidth limit, we keep the
default of 6 non-transfer jobs in parallel. I believe that's fine since
the short jobs do not really use bandwidth, so we can still keep the same
amount of small jobs.
Christian Kamm [Fri, 17 Feb 2017 15:21:54 +0000 (16:21 +0100)]
Revert "Don't blacklist 507 Insufficent Storage #5346 (#5424)"
This reverts commit
e1f5a49c21826590811710f73e37b7b72e256960.
Retrying uploads with insufficent storage errors frequently leads to
high server traffic. See #5537 for links and a sketch of a correct
solution.
Jocelyn Turcotte [Fri, 17 Feb 2017 13:05:47 +0000 (14:05 +0100)]
Revert "Fix TestSyncEngine::abortAfterFailedMkdir"
This reverts commit
1cec2ca13dc35aba6aaf79f42bde9a6dd00143a7
but keeps the reset() -> take() part that is probably the cause
of crashes we've seen in the crash reporter.
Jenkins for ownCloud [Fri, 17 Feb 2017 01:18:36 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Olivier Goffart [Thu, 16 Feb 2017 15:14:55 +0000 (16:14 +0100)]
AccessManager: don't set an invalid network configuration on linux (#5538)
If we call
setConfiguration(QNetworkConfiguration());
This sets an invalid configuration on the QNAM.
But later, when we really go online because interfaces are discovered,
QNetworkAccessManagerPrivate::_q_onlineStateChanged is called (with isOnline=true).
And this will set the state to disconnected because customNetworkConfiguration is
true, and the networkConfiguration state is disabled.
The workaround we to fix another bug on Windows in which the default network
configuration was not behaving properly.
The issue on linux is hard to reproduce and only happen in some condition,
but it was reproduced on smashbox when they run two owncloudcmd at the same time.
Issues: #4720 , #3600
Christian Kamm [Thu, 16 Feb 2017 14:09:06 +0000 (15:09 +0100)]
Recent Changes: Fix duplicates #5256
The transmissionProgress emission when the whole sync finishes
shouldn't look exactly like the one for the last file.