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.
Jocelyn Turcotte [Tue, 24 Jan 2017 16:57:52 +0000 (17:57 +0100)]
Bring back the error message if the sync-exclude.lst file is missing
We unconditionnally add the file on startup, but don't check for errors.
During sync we check for errors, but only try loading the file if it
exists.
Markus Goetz [Wed, 25 Jan 2017 18:45:20 +0000 (19:45 +0100)]
Merge remote-tracking branch 'origin/selective-sync-big-folder' into 2.3
Olivier Goffart [Wed, 25 Jan 2017 18:19:48 +0000 (19:19 +0100)]
Merge pull request #5480 from owncloud/chunking-ng-cleanup
Chunking ng cleanup
Jenkins for ownCloud [Wed, 25 Jan 2017 01:18:34 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Matthew Setter [Wed, 18 Jan 2017 12:54:55 +0000 (13:54 +0100)]
Add extra note about deleting .csync_journal.db
This is added as per the recommendation from @guruz in #5252.
Carla Schroder [Thu, 13 Oct 2016 00:36:28 +0000 (17:36 -0700)]
add note about deleting .csync_journal.db for "CSync unknown error"
Christian Kamm [Tue, 24 Jan 2017 12:09:38 +0000 (13:09 +0100)]
Shib: Use different keychain entry per account #5469
Previously shib multiaccount didn't work at all because the
session cookie was stored in the same keychain entry.
Christian Kamm [Tue, 24 Jan 2017 09:26:03 +0000 (10:26 +0100)]
Folders: Adjust ui when account is disconnected #5477
Previously if you paused/unpaused a folder for a disconnected account
they would prepare to sync and thus display the 'Waiting...' text. With
this change, folders that can't possibly sync don't show text like
this.
When account connectivity changes, all unpaused folders will be
scheduled anyway.
Jenkins for ownCloud [Tue, 24 Jan 2017 01:18:28 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Mon, 23 Jan 2017 10:11:23 +0000 (11:11 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sun, 22 Jan 2017 01:18:27 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sat, 21 Jan 2017 01:18:28 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Olivier Goffart [Fri, 20 Jan 2017 15:03:50 +0000 (16:03 +0100)]
ChunkingNG: add '0' padding on the filename (#5476)
The server sorts the chunk by name alphabetically. So if we want to keep
the chunk in order, we need to add a few '0' in front of the chunk name
Markus Goetz [Fri, 20 Jan 2017 15:00:50 +0000 (16:00 +0100)]
Update issue_template.md
Olivier Goffart [Fri, 20 Jan 2017 13:38:21 +0000 (14:38 +0100)]
ChunkingNG: Add some tests
- Test that we recover correctly if the chunks were removed on the server.
- Test changing the file localy while uploading.
Olivier Goffart [Fri, 20 Jan 2017 12:59:13 +0000 (13:59 +0100)]
ChunkingNG: remove stale chunks when cleaning the uploadInfo table
Stale chunks might be there because a file was removed or would just not
be uploaded, for any reason.
We just start the DeleteJob but we don't care if it success or not.
Relates to https://github.com/owncloud/core/issues/26981
One of the test is testing the case where the file is modified on the server
during the upload. So this test the precondition failed error.
The FakeGetReply logic was modified because resizing a 150MB big QByteArray
by increment of 16k just did not scale when downloading a big file.
Olivier Goffart [Fri, 20 Jan 2017 11:06:20 +0000 (12:06 +0100)]
ChunkingNG: delete stale chunks if the file was changed locally
Relates to https://github.com/owncloud/core/issues/26981
We do not track the success or error of the DeleteJob because it does not
matter. If it fails, it might be because the chunks were already removed.
If not, the chunks will be stale, but the server must anyway do a few
cleanup from time to time because we do not always remove the chunks
Jenkins for ownCloud [Fri, 20 Jan 2017 01:18:34 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Thu, 19 Jan 2017 01:18:40 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jocelyn Turcotte [Wed, 18 Jan 2017 14:40:52 +0000 (15:40 +0100)]
StatusTracker: Emit OK for the last child before parents (#5467)
The current logic tried to avoid a DB lookup just to fetch whether
the file is shared or not since that info is already in the
SyncFileItem. The implementation would however need to decrease the
sync count for itself (and parents) before emitting the new status,
thus emitting the OK status for parents before that last child that
ended the propagation for that folder.
Change the implementation to achieve what we want: give the
possibility to decSyncCount to use a pre-fetched sharing state while
still doing the emission for all involved files. This ensures that
the leaf file also gets its status emitted before its parents.
Issue #4797
Samuel Alfageme [Wed, 18 Jan 2017 13:46:47 +0000 (14:46 +0100)]
Reference to build Qt5 with qtwebkit support in the docs #5129 (#5471)
This addresses the issue only on OS X. It should be stated though, that qtwebkit is not part of the qt5core lib and therefore a requirement for the projectto build in the rest of the OSS
Jocelyn Turcotte [Wed, 18 Jan 2017 11:52:17 +0000 (12:52 +0100)]
shell/Windows: Update binaries to build 44
Matthew Setter [Wed, 18 Jan 2017 11:07:18 +0000 (12:07 +0100)]
Update the MacOS automatic update instructions
As requested in #5431, the automatic update instructions for MacOS X
have been simplified; removing the older, incorrect instructions.
Matthew Setter [Wed, 18 Jan 2017 11:24:42 +0000 (12:24 +0100)]
Fix several typos in the client documentation
Jocelyn Turcotte [Mon, 9 Jan 2017 15:28:26 +0000 (16:28 +0100)]
shell/Windows: Avoid memory allocations and copies when querying icons
IsMemberOf is called for every file (in the ownCloud directory or not) and
with every instance of OCOverlay (we have 5) when displaying a list of
files in Explorer.
Refactor the code to avoid copying the list of watched directories, as
well as creating a wstring from a PWWSTR for files outside watched
directories.
Also change some calls of begin_with to use isDescendantOf since it
properly handles parent paths not ending with a backslash, which could
lead to SocketAPI queries for sibling folders with a name that starts with
a watched folder name.
Jocelyn Turcotte [Mon, 9 Jan 2017 13:25:00 +0000 (14:25 +0100)]
shell/Windows: Fix the view not being updated on StateError
Since StateError == 0, if this was the status used when the path
isn't in the map already, the view would not be updated since the
new state would be the same as the default-constructed state in the
map. Fix by explicitly inserting in that case, this also avoid aving
to do two lookups in the map when a path already has an entry.
Jocelyn Turcotte [Thu, 5 Jan 2017 16:45:39 +0000 (17:45 +0100)]
shell/Windows: Remove the UPDATE_VIEW message handling
The client now tries to only push STATUS messages to connections
unless they previously requested it with a RETRIEVE_FILE_STATUS,
but this means that we now have to make sure that a new connection
will rerequest every icon that the user will see on files from that
point on.
To that end, we now send a SHChangeNotify for every file in the cache
when we lose the connection (or on UNREGISTER_PATH) to make sure that
what's on the screen matches what's in the cache. We also remove the
_oldCache logic that made this more difficult to enforce.
The client has been able to reliably push status updates on macOS
for a few versions now, and we don't need it on Windows either. The
_oldCache mechanism was to avoid sending to many update requests
when receiving an UPDATE_VIEW.
Also fixes #4766
Jocelyn Turcotte [Thu, 5 Jan 2017 16:28:28 +0000 (17:28 +0100)]
shell/Windows: Convert tabs to space
It was a mix of both and the rest of the code uses spaces.
Jocelyn Turcotte [Thu, 5 Jan 2017 16:01:32 +0000 (17:01 +0100)]
shell/Windows: Remove unused files
The real OCContextMenu.cpp is in the OCContextMenu folder.
Jocelyn Turcotte [Wed, 11 Jan 2017 17:17:27 +0000 (18:17 +0100)]
shell/macOS: Make sure the root folder's cache is cleared on disconnect
The SocketAPI now only sends status pushes for paths requested by the
shell. We have to make sure that Finder doesn't just show the entry
from its cache after a reconnect.
Jocelyn Turcotte [Mon, 12 Dec 2016 11:18:51 +0000 (12:18 +0100)]
shell/macOS: Remove backslashes from the extension display name
Tell cmake not to escape shell strings adding backslashes before
spaces by passing the VERBATIM optiton. Also add the quotes to
whole command line arguments to prevent quotes from appearing on the
XCode side, because of the VERBATIM option.
This only affects themed clients since the default theme doesn't
have space in its APPLICATION_NAME.
Jocelyn Turcotte [Wed, 11 Jan 2017 17:27:22 +0000 (18:27 +0100)]
SocketAPI: Only push status for files requested by the shell #5361
We currently push the SYNC status for all files that will be propagated,
and then the OK status when those files are propagated.
On top of this, we send those statuses to all clients connected, even
if the socket is kept open by an application that only needed to show
a file open dialog. On macOS we're also using an NSConnection which
means that we have to wait for the RPC call to return from the
extension, which makes bulk status changes possibly heavy.
Reduce the time spent needlessly sending status pushes by limiting
them to files requested through that socket since it connected.
To limit the data to store, only remember the parent directory of
files requested, and store those in a bloom filter.
Note that this adds a requirement to shell extensions: they should
make sure that the status cache only contains entries that have been
requested through the socket API. In other words, the status cache
must be empty when each socket client connects to the socket API.
Otherwise the cached icon type will be shown to the user, and the
SocketAPI won't push new status for that file if it didn't receive
a RETRIEVE_FILE_STATUS.
Jocelyn Turcotte [Wed, 11 Jan 2017 17:31:08 +0000 (18:31 +0100)]
SocketApi::slotReadSocket: Small optimizations
- Use the looked-up method index also for the invocation
- Do the method name concatenation already on QByteArray since we'll
convert anyway
- Use staticMetaObject instead of metaObject()
Jocelyn Turcotte [Wed, 11 Jan 2017 17:26:35 +0000 (18:26 +0100)]
SocketAPI: Remove unecessary null-checks
Those methods are private and there is only one call-site, we can
be sure that this parameter won't be null already.
Olivier Goffart [Wed, 18 Jan 2017 10:45:46 +0000 (11:45 +0100)]
Sync Engine: Specify what chars are not syncable in the error message #1733 (#5449)
Olivier Goffart [Wed, 18 Jan 2017 09:19:05 +0000 (10:19 +0100)]
Fix more compilation errors with Qt 4
Ammand last commit which was a fixup to the change from pull request #5468
for issue #5453
Olivier Goffart [Wed, 18 Jan 2017 08:55:28 +0000 (09:55 +0100)]
Fix compilation with Qt 4
Fixup to the change from pull request #5468 for issue #5453
Jenkins for ownCloud [Wed, 18 Jan 2017 01:18:27 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Markus Goetz [Thu, 5 Jan 2017 20:32:52 +0000 (21:32 +0100)]
NSIS: Adjust to 5.6.2 image
Christian Kamm [Tue, 17 Jan 2017 13:52:44 +0000 (14:52 +0100)]
Folder: Remove unused variable
Markus Goetz [Fri, 13 Jan 2017 15:24:18 +0000 (16:24 +0100)]
Disable RTTI
Shrinks owncloud binary by 24 KB and libowncloudsync by 14 KB.
I don't know if it has influence on memory usage or runtime speed though.
Was worth a try.
Markus Goetz [Fri, 13 Jan 2017 15:08:16 +0000 (16:08 +0100)]
Updater: Don't create instance for invalid URL
Also don't use dynamic_cast
For enterprise/#689
Christian Kamm [Tue, 17 Jan 2017 13:33:54 +0000 (14:33 +0100)]
PropagatorJob: Remove unneccessary pointer #5453
Christian Kamm [Tue, 17 Jan 2017 13:29:12 +0000 (14:29 +0100)]
PropagatorJob: Access propagator through function #5453
Matthew Setter [Tue, 17 Jan 2017 13:33:35 +0000 (14:33 +0100)]
Merge pull request #5466 from settermjd/add-directory-limit-to-faq
Add Sync Client's Directory Depth Limit To FAQ
Matthew Setter [Tue, 17 Jan 2017 10:14:52 +0000 (11:14 +0100)]
Add an FAQ entry about the sync client's sub-directory scan limit
As requested in #1067, this commit adds an entry to the FAQ to highlight
the fact that the sync client will never scan greater than 50
sub-directories.
Matthew Setter [Tue, 17 Jan 2017 09:34:26 +0000 (10:34 +0100)]
Revise the FAQ entry style
This approach uses less content, and makes the content more prominent.
Jenkins for ownCloud [Tue, 17 Jan 2017 01:18:34 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Carlos Damken [Mon, 16 Jan 2017 17:11:20 +0000 (18:11 +0100)]
Ignoring "System Volume Information"
Avoid to upload the "System Volume Information"
Markus Goetz [Mon, 16 Jan 2017 14:42:11 +0000 (15:42 +0100)]
DB: Also migrate -shm and -wal to new name #3764 #5045 (#5459)
Markus Goetz [Fri, 13 Jan 2017 18:00:04 +0000 (19:00 +0100)]
PropagateUploadFileNG: Delete unused map contents to free memory
ckamm [Fri, 13 Jan 2017 13:44:45 +0000 (14:44 +0100)]
Reset stuck chunked uploads eventually #5344 (#5443)
Previously this wasn't happening for errors that were not
NormalErrors because they don't end up in the blacklist.
This revises the resetting logic to be independent of the
error blacklist and make use of UploadInfo::errorCount
instead.
412 errors should reset chunked uploads because they might be
indicative of a checksum error.
Additionally, server bugs might require that additional
errors cause an upload reset. To allow that, a new capability
is added that can be used to advise the client about this.
Olivier Goffart [Wed, 11 Jan 2017 14:55:07 +0000 (15:55 +0100)]
SelectiveSync: adjust the position of the "Loading" label
It should be parented to the treeview to be sure that is shows inside of it.
Christian Kamm [Wed, 4 Jan 2017 13:28:11 +0000 (14:28 +0100)]
wizardSelectiveSyncDefaultNothing applies to folder wizard #4581
Previous the Theme option only applied to the account setup wizard.
Christian Kamm [Tue, 3 Jan 2017 14:33:06 +0000 (15:33 +0100)]
Selective sync: Adjust widget common to folder/account wizards
Jenkins for ownCloud [Fri, 13 Jan 2017 01:18:27 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Thu, 12 Jan 2017 01:18:33 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Christian Kamm [Wed, 11 Jan 2017 10:25:03 +0000 (11:25 +0100)]
Doc: Add forceSyncInterval and timeout config file flags
Christian Kamm [Wed, 11 Jan 2017 08:30:59 +0000 (09:30 +0100)]
Log the auth type being used for accounts
There have been hard to track down bugs related to the wrong auth
type being used.
Jenkins for ownCloud [Wed, 11 Jan 2017 01:18:38 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Tue, 10 Jan 2017 01:18:34 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sun, 8 Jan 2017 01:18:35 +0000 (02:18 +0100)]
[tx-robot] updated from transifex
Markus Goetz [Thu, 5 Jan 2017 16:27:46 +0000 (17:27 +0100)]
sqlite: Update bundled version to 3.16.1
For OS X and Windows.
Markus Goetz [Thu, 5 Jan 2017 15:56:37 +0000 (16:56 +0100)]
First iteration ChangeLog for 2.3.0
octotree [Thu, 5 Jan 2017 12:24:22 +0000 (13:24 +0100)]
Symlink Support for Dolphin Plugins (#5428)
Add Symlink Support to Dolphin Overlay Plugin
Christian Kamm [Wed, 4 Jan 2017 14:15:06 +0000 (15:15 +0100)]
ownsql: qFatal on prepare errors #5357
Jenkins for ownCloud [Wed, 4 Jan 2017 01:19:32 +0000 (02:19 +0100)]
[tx-robot] updated from transifex
Christian Kamm [Tue, 3 Jan 2017 12:53:13 +0000 (13:53 +0100)]
Account: Fix displayName() #5413
This displayName() seemed to be based on Account::user() which used
to call _credentials->user(). But then we repurposed user() to be
davUser() and this usage wasn't updated to point back to the username
used for the credentials.