Jocelyn Turcotte [Mon, 13 Feb 2017 17:24:34 +0000 (18:24 +0100)]
Split running jobs into a separate vector
Jocelyn Turcotte [Mon, 13 Feb 2017 16:21:55 +0000 (17:21 +0100)]
Split the subjob logic out of PropagateDirectory
Jocelyn Turcotte [Mon, 13 Feb 2017 14:57:28 +0000 (15:57 +0100)]
Replace WaitForFinishedInParentDirectory with WaitForFinished for directory moves
In preparation for the PropagateDirectory refactoring, simplify things
by removing WaitForFinishedInParentDirectory, which is currently
implemented as a one-level check.
This value is important for directory items, but is however never
used since a directory CSYNC_INSTRUCTION_RENAME item will always be in
PropagateDirectory::_firstJob, which will have to pass through its own
PropagateDirectory job's parallelism() before reaching the parent's
_subJobs optimization.
Since PropagateDirectory::parallelism can only return WaitForFinished
or FullParallelism, that value is lost. So this commit doesn't
change the behavior for directories, and allow file renames to be
scheduled in parallel across directories (which isn't a problem).
Jocelyn Turcotte [Wed, 8 Feb 2017 16:31:13 +0000 (17:31 +0100)]
Fix TestSyncEngine::abortAfterFailedMkdir (again)
It could be possible that _firstJob is marked as finished if
aborted before its parent PropagateDirectory was marked as finished,
allowing a posted scheduleNextJob call to schedule the child job
in-between.
Matthew Setter [Tue, 21 Feb 2017 12:52:45 +0000 (13:52 +0100)]
Merge pull request #5549 from owncloud/fix-documentation-build-process
Fix documentation build process
Matthew Setter [Tue, 21 Feb 2017 11:07:57 +0000 (12:07 +0100)]
Merge branch 'master' into fix-documentation-build-process
Matthew Setter [Tue, 21 Feb 2017 10:58:15 +0000 (11:58 +0100)]
Re-add the Makefile for controlling the build process
I'm not sure, why the file was removed, it was there in 2013, but it was
removed. This commit adds it back so that the build process can be
automated in a UNIX environment.
Matthew Setter [Tue, 21 Feb 2017 10:49:23 +0000 (11:49 +0100)]
Fix the Sphinx-doc build configuration
I'm not sure what the configuration/setup has been like to date. But as
it stood, it didn't build successfully. Given that, I've created a copy
of doc/conf.py, included in this commit, from the default doc/conf.py.in
and set the appropriate variables as necessary.
NOTE: The build didn't work when the version, release, and latex_logo
values weren't set, either directly or with interpolatable values.
Matthew Setter [Tue, 21 Feb 2017 08:37:01 +0000 (09:37 +0100)]
Merge pull request #5547 from owncloud/update-docs-build-configuration
Create a build configuration file
Matthew Setter [Tue, 21 Feb 2017 08:28:55 +0000 (09:28 +0100)]
Merge pull request #5545 from owncloud/grammar-updates
Fix grammar and spelling errors in the documentation
Markus Goetz [Mon, 20 Feb 2017 12:58:35 +0000 (13:58 +0100)]
Message Boxes: Force to be more on top #5503 (#5536)
Matthew Setter [Mon, 20 Feb 2017 10:04:01 +0000 (11:04 +0100)]
Create a build configuration file
This is no different from the default file, conf.py.in, except for the
specification of the logo file.
Matthew Setter [Mon, 20 Feb 2017 09:52:22 +0000 (10:52 +0100)]
Fixed grammar and spelling errors in the documentation
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.
Jenkins for ownCloud [Thu, 16 Feb 2017 01:18:36 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Olivier Goffart [Wed, 15 Feb 2017 12:27:41 +0000 (13:27 +0100)]
Folder: Keep files option after aboutToRemoveAllFiles should not clear selective sync list (#5531)
We were removing the wholme journal db when the user wanted to keep all files,
But that would also remove the selective sync lists.
We should only remove the metadata table.
Issue #5484
Roeland Jago Douma [Tue, 14 Feb 2017 12:12:41 +0000 (13:12 +0100)]
Update windows docker file to use 2.3 OBS repo
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Jenkins for ownCloud [Wed, 15 Feb 2017 01:18:29 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Olivier Goffart [Tue, 14 Feb 2017 14:08:10 +0000 (15:08 +0100)]
Merge remote-tracking branch 'origin/2.3'
Jocelyn Turcotte [Fri, 10 Feb 2017 14:12:03 +0000 (15:12 +0100)]
Disable tests uncompatible with Qt4 for that build
Jocelyn Turcotte [Tue, 7 Feb 2017 18:31:55 +0000 (19:31 +0100)]
Fix the UNIT_TESTING build on Windows
- Put all tests in the bin directory so that DLLs can be loaded
- Add missing exports
- Skip tests that use code depending on zlib
- The "GMT" timezone is named differently, use the int constructor instead
5 tests are still failing, it's not really worth fixing at the moment
since no developper is currently using Windows as its main platform.
Jocelyn Turcotte [Thu, 9 Feb 2017 17:17:01 +0000 (18:17 +0100)]
Fix FolderManTest on macOS
On macOS /var is a symlink to /private/var and we have to make sure that we
use the canonical path before and after it enters the code to make sure we
compare paths correctly.
Jocelyn Turcotte [Thu, 9 Feb 2017 16:53:02 +0000 (17:53 +0100)]
Fix ExcludedFilesTest on macOS
Use the same logic to find sync-exclude as check_csync_exclude.c
Jocelyn Turcotte [Thu, 9 Feb 2017 16:40:32 +0000 (17:40 +0100)]
Fix FileSystemTest on macOS
Jocelyn Turcotte [Tue, 7 Feb 2017 20:30:55 +0000 (21:30 +0100)]
Fix FolderWatcherTest on macOS and Windows
- We need to use a QGuiApplication on macOS or else we don't get notifications
- Switch to use QSignalSpy rather than lists and sleeps
- Use system() for all modifications since we pass kFSEventStreamCreateFlagIgnoreSelf
- Keep using the local process on Windows since it catches its own events
Jocelyn Turcotte [Fri, 27 Jan 2017 17:12:18 +0000 (18:12 +0100)]
Fix UtilityTest on macOS
Olivier Goffart [Tue, 14 Feb 2017 08:16:16 +0000 (09:16 +0100)]
Folder: remove unused variable
Jenkins for ownCloud [Tue, 14 Feb 2017 01:18:27 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Markus Goetz [Mon, 13 Feb 2017 13:47:51 +0000 (14:47 +0100)]
Modify Jenkinsfile for 2.3
Jenkins for ownCloud [Mon, 13 Feb 2017 01:18:28 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sun, 12 Feb 2017 01:18:28 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sat, 11 Feb 2017 01:18:34 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Christian Kamm [Fri, 10 Feb 2017 11:50:35 +0000 (12:50 +0100)]
Doc: For conflicts, the local file is renamed #5521
Jenkins for ownCloud [Fri, 10 Feb 2017 01:18:29 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Thu, 9 Feb 2017 01:18:33 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jocelyn Turcotte [Wed, 8 Feb 2017 16:57:02 +0000 (17:57 +0100)]
Remove unneeded Q_DECLARE_METATYPE
Jocelyn Turcotte [Wed, 8 Feb 2017 16:31:13 +0000 (17:31 +0100)]
Fix TestSyncEngine::abortAfterFailedMkdir
It could be possible that _firstJob is marked as finished if
aborted before its parent PropagateDirectory was marked as finished,
allowing a posted scheduleNextJob call to schedule the child job
in-between.
Jocelyn Turcotte [Wed, 8 Feb 2017 16:25:14 +0000 (17:25 +0100)]
Skip TestSyncEngine::abortAfterFailedMkdir
ckamm [Wed, 8 Feb 2017 14:25:02 +0000 (15:25 +0100)]
Merge pull request #5518 from ckamm/asserts
Improve usage of asserts
Christian Kamm [Tue, 7 Feb 2017 09:29:29 +0000 (10:29 +0100)]
CMake: Don't force-enable asserts #5429
Should be safer now that we've gone through asserts and assured that
one ones that should be fatal continue to exist in release builds
independently of QT_NO_DEBUG.
Christian Kamm [Tue, 7 Feb 2017 12:52:15 +0000 (13:52 +0100)]
Double check usage of asserts #5429
A few are supposed to be fatal.
Christian Kamm [Wed, 8 Feb 2017 13:55:18 +0000 (14:55 +0100)]
Performance: reserve() _remotePerm #5496
Olivier Goffart [Wed, 8 Feb 2017 11:33:46 +0000 (12:33 +0100)]
Folder: Change the wording for the massive deletion message
Issue #5503
ckamm [Wed, 8 Feb 2017 13:28:50 +0000 (14:28 +0100)]
Settings: Don't migrate settings on access error #5499 (#5523)
Previously, we'd try migrating from legacy settings if reading
the settings failed with an error. Now, we try again after a
couple of seconds and eventually give up.
Olivier Goffart [Wed, 8 Feb 2017 11:30:32 +0000 (12:30 +0100)]
AccountManager: Fix small leak in the account migration code
The QSettings object was not deleted in every possible code paths
Markus Goetz [Wed, 8 Feb 2017 10:39:28 +0000 (11:39 +0100)]
CentOS: More build fixes
Markus Goetz [Wed, 8 Feb 2017 10:14:31 +0000 (11:14 +0100)]
CentOS: Another attempt
Jenkins for ownCloud [Wed, 8 Feb 2017 01:18:27 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Markus Goetz [Tue, 7 Feb 2017 18:40:32 +0000 (19:40 +0100)]
Improve previous fix
After comment on https://github.com/owncloud/client/commit/
78a798eef3eb8d04360c6d9542db55469f59cacd
Markus Goetz [Tue, 7 Feb 2017 18:22:04 +0000 (19:22 +0100)]
CentOS: Another fix for old compiler version (2)
Markus Goetz [Tue, 7 Feb 2017 18:04:00 +0000 (19:04 +0100)]
ChangeLog for 2.3 additions
Markus Goetz [Tue, 7 Feb 2017 17:54:40 +0000 (18:54 +0100)]
Old Qt: Another build fix
Markus Goetz [Tue, 7 Feb 2017 17:32:34 +0000 (18:32 +0100)]
CentOS: Another fix for old compiler version
Markus Goetz [Tue, 7 Feb 2017 17:05:29 +0000 (18:05 +0100)]
CentOS: Fix build for old compiler version
Markus Goetz [Tue, 7 Feb 2017 16:35:04 +0000 (17:35 +0100)]
Revert "Disable RTTI"
This reverts commit
85d3de15898385a06b2f34479e875c885e5df6be.
This breaks our old Qt on CentOS.
We can re-introduce this with #5470
Jenkins for ownCloud [Tue, 7 Feb 2017 01:18:27 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Mon, 6 Feb 2017 01:18:27 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sun, 5 Feb 2017 01:18:27 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sat, 4 Feb 2017 01:18:27 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Fri, 3 Feb 2017 01:18:27 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Thu, 2 Feb 2017 01:18:27 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Wed, 1 Feb 2017 01:18:28 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Tue, 31 Jan 2017 01:18:26 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Mon, 30 Jan 2017 01:18:28 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sun, 29 Jan 2017 01:18:27 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sat, 28 Jan 2017 01:18:34 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sat, 28 Jan 2017 00:15:15 +0000 (01:15 +0100)]
[tx-robot] updated from transifex
Olivier Goffart [Fri, 27 Jan 2017 16:45:05 +0000 (17:45 +0100)]
Merge remote-tracking branch 'origin/master' into 2.3
We can do that because the only changes that were in master but not in 2.3 were the
translations change and documentation change, and the support for the 'M' permission
which we want in 2.3.
Olivier Goffart [Thu, 26 Jan 2017 09:14:30 +0000 (10:14 +0100)]
Account Wizard: don't whitelist everything on the first sync if we still want to confirm big folder
Issue: https://github.com/owncloud/client/pull/5340#issuecomment-
274564441
Olivier Goffart [Thu, 26 Jan 2017 09:00:19 +0000 (10:00 +0100)]
General Settings: Make sure to reload the settings when an account is added
The Size limit, or confirmation checkboxes might have changed.
We need to guard against saving if the control changes while we are loading
Issue: https://github.com/owncloud/client/pull/5340#issuecomment-
274878023
Olivier Goffart [Thu, 26 Jan 2017 08:03:01 +0000 (09:03 +0100)]
Confirm External Storage: adjust the notification message
We need to forward the information that the folder is an external storage
for the notification message.
Issue: https://github.com/owncloud/client/pull/5340#issuecomment-
274878023
Olivier Goffart [Wed, 25 Jan 2017 19:22:54 +0000 (20:22 +0100)]
Wizard: Increase the size
The advanced page has become quite complex and does not fit on the screen
anymore if the fonts are too big
Olivier Goffart [Tue, 24 Jan 2017 14:39:08 +0000 (15:39 +0100)]
FolderStatusModel: Different icon for external storages
Issue: https://github.com/owncloud/client/pull/5340#issuecomment-
274564441
Olivier Goffart [Tue, 24 Jan 2017 12:25:03 +0000 (13:25 +0100)]
Discovery: Filter 'M' out of permissions for non root storage
The sync engine rely on the 'M' in premission to ask for confirmation
(As requested in issue #5340)
But we only want to ask the premission for the 'root' of the mounting point and not
for every subfolders within it.
So we change the discovery phase in a way that it does not keep the 'M' for
children within the external storage.
Olivier Goffart [Tue, 24 Jan 2017 09:16:10 +0000 (10:16 +0100)]
Wizard: Add options to ask confirmation for external storage
Added two checkboxes in the Account Wizard in the advanced page to change the first options.
Also added a checkbox in the general settings to ask for confirmation for external storages.
Theme options allow to hide the checkboxes in the wizard.
As described in issue #5340
Olivier Goffart [Tue, 29 Nov 2016 09:36:37 +0000 (10:36 +0100)]
Discovery: Add branding option to disable default sync of 'M' directories
Issue #5331 and https://github.com/owncloud/enterprise/issues/1594
Jenkins for ownCloud [Fri, 27 Jan 2017 01:18:28 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jocelyn Turcotte [Thu, 26 Jan 2017 14:59:27 +0000 (15:59 +0100)]
Remove PropagateDirectory::_runningNow
This variable isn't used anymore except in a stray Q_ASSERT.
Jocelyn Turcotte [Thu, 26 Jan 2017 13:25:31 +0000 (14:25 +0100)]
Clear SyncEngine::_remotePerms after the sync
Also make reuse the SyncFileItem::_remotePerm QByteArray allocation
instead of redoing the copy from the csync char*.
Jocelyn Turcotte [Thu, 26 Jan 2017 12:41:04 +0000 (13:41 +0100)]
Pack boolean members in PropagateUploadFileCommon #5457
Jocelyn Turcotte [Thu, 26 Jan 2017 12:40:10 +0000 (13:40 +0100)]
Don't use the StopWatch for each job in production builds #5456
This accounted for more than 10% of the peak memory usage while only
providing value through the debugging log.
Jocelyn Turcotte [Thu, 26 Jan 2017 12:39:00 +0000 (13:39 +0100)]
Remove SyncFileItem::_requestDuration #5456
This will save a QElapsedTimer in each job that was used only for
.owncloudsync.log (for which the request duration doesn't bring much
value).
Jocelyn Turcotte [Thu, 26 Jan 2017 11:17:00 +0000 (12:17 +0100)]
Don't reallocate a QByteArray for each contentChecksumType call #5481
Jocelyn Turcotte [Wed, 25 Jan 2017 13:53:10 +0000 (14:53 +0100)]
Remove duplicate SyncFileItem entries for the log
The accuracy of that log isn't as important as the few bytes those
fields take as hostage for the whole sync.
Markus Goetz [Thu, 26 Jan 2017 11:29:32 +0000 (12:29 +0100)]
Don't create legacy 'folders/' subdirectory
Markus Goetz [Thu, 26 Jan 2017 09:54:03 +0000 (10:54 +0100)]
Cookies: Use different DB for different accounts (#5490)
This is a follow up to #5469
Piotr Mrówczyński [Thu, 26 Jan 2017 09:03:22 +0000 (10:03 +0100)]
Delete finished propagation jobs in PropagateDirectory #5269 (#5400)
Jenkins for ownCloud [Thu, 26 Jan 2017 01:18:40 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jocelyn Turcotte [Wed, 25 Jan 2017 10:28:18 +0000 (11:28 +0100)]
Release SyncFileItem objects with their job
We now delete subjobs as their propagation is complete. This allows us
to also release the item by making sure that nothing else is holding a
reference to it.
Remove the stored SyncFileItemVector from SyncEngine and SyncResult
and instead gather the needed info progressively as each itemCompleted
signal is emitted.
This frees some holes on the heap as propagation goes, allowing many
memory allocations without the need of requesting more virtual memory
from the OS, preventing the memory usage from increasingly growing.
Jocelyn Turcotte [Wed, 25 Jan 2017 10:12:38 +0000 (11:12 +0100)]
Pass the SyncFileItem as SyncFileItemPtr in itemCompleted
This will allow us to keep a reference on the items in connected slots.
Jocelyn Turcotte [Wed, 25 Jan 2017 13:09:44 +0000 (14:09 +0100)]
Don't pass the PropagatorJob in itemCompleted
This was to catch duplicate emissions for PropagateDirectory but we
don't emit this signal anymore from there.
This fixes a warning about PropagatorJob not being a registered metatype.
This reverts commit
fe42c1a818c3b1ccadb2e9557971b62a350573b4.
Jocelyn Turcotte [Mon, 16 Jan 2017 16:13:52 +0000 (17:13 +0100)]
Tests: Add a large sync benchmark
This simulates a ~50k files sync that can be used to measure memory
usage without having to wait for a server.