Markus Goetz [Mon, 11 Jan 2016 15:44:56 +0000 (16:44 +0100)]
Merge pull request #4338 from owncloud/mtimes
add note re mtime syncing
Jocelyn Turcotte [Mon, 11 Jan 2016 14:27:13 +0000 (15:27 +0100)]
Windows: Fix HiDPI #3414
Use QT_DEVICE_PIXEL_RATIO=auto on Qt<=5.5 to enable automatic
scale factor settings on Windows. Also move the existing
Qt::AA_EnableHighDpiScaling logic to use the equivalent
QT_AUTO_SCREEN_SCALE_FACTOR=1 environment variable just to
keep the 5.5 and >=5.6 code at the same place.
Klaas Freitag [Mon, 11 Jan 2016 14:36:24 +0000 (15:36 +0100)]
NSIS: Escape line endings for NSIS correctly.
This is supposed to fix #3519
Jenkins for ownCloud [Mon, 11 Jan 2016 07:19:09 +0000 (02:19 -0500)]
[tx-robot] updated from transifex
Klaas Freitag [Sun, 10 Jan 2016 11:03:28 +0000 (12:03 +0100)]
csync-tests: Added some directory wildcard tests.
This was to verify client issue #1558
Jenkins for ownCloud [Sun, 10 Jan 2016 07:19:07 +0000 (02:19 -0500)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sun, 10 Jan 2016 06:15:43 +0000 (01:15 -0500)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sat, 9 Jan 2016 07:19:19 +0000 (02:19 -0500)]
[tx-robot] updated from transifex
Markus Goetz [Fri, 8 Jan 2016 16:53:54 +0000 (17:53 +0100)]
OS X: Don't install legacy Finder plugin on >= 10.10 #3587 (v2)
Jenkins for ownCloud [Fri, 8 Jan 2016 07:19:04 +0000 (02:19 -0500)]
[tx-robot] updated from transifex
Christian Kamm [Wed, 6 Jan 2016 09:01:22 +0000 (10:01 +0100)]
Propagation: Fix dir <-> file changes propagating to server #4302
* Ensure every time a file becomes a directory or the other way around
the item is flagged as INSTRUCTION_TYPE_CHANGE.
* Delete the badly-typed entity if necessary in the propagation jobs.
Christian Kamm [Thu, 7 Jan 2016 09:04:04 +0000 (10:04 +0100)]
Propagator: Remove warning when moving out of deleted folder
Jocelyn Turcotte [Thu, 7 Jan 2016 16:56:14 +0000 (17:56 +0100)]
Fix the rendering of the red error box text
QPainter::drawText uses the top of the font for the y position of its
rect argument, but uses the baseline when using a point argument.
Also use the margin variable that matches the font used instead of
the aliasMargin and make sure that the margin is only added between
the box and the text once.
Olivier Goffart [Thu, 7 Jan 2016 16:58:23 +0000 (17:58 +0100)]
SettingsDialog: show "Account" for the tab name for branded client
https://github.com/owncloud/enterprise/issues/863
Jocelyn Turcotte [Thu, 7 Jan 2016 15:14:12 +0000 (16:14 +0100)]
Only clean the Not Synced list for the current account #3171
Olivier Goffart [Thu, 7 Jan 2016 13:58:02 +0000 (14:58 +0100)]
HttpCredentials::slotAuthentication: fix comment
The recent revert did no fix the comment
Olivier Goffart [Thu, 7 Jan 2016 13:14:32 +0000 (14:14 +0100)]
HTTP creds: Fix GUI blocking for 5 seconds when entering wrong password
The Qt HTTP thread calls authenticationRequired (indirectly) using a
BlockingQueuedConnection. So when we call invalidateToken from slot
connected to this signal and end up calling QNAM::clearAccessCache which
waits on the thread for 5 seconds
Backtraces:
Qt HTTP thread:
#0 0x00007ffff20c707f in pthread_cond_wait@@GLIBC_2.3.2 ()
#1 0x00007ffff43f0c0b in QWaitConditionPrivate::wait
#2 QWaitCondition::wait
#3 0x00007ffff43ea06b in QSemaphore::acquire
#4 0x00007ffff45dcf6f in QMetaObject::activate
[...]
#9 0x00007ffff45dd607 in QMetaObject::activate
#10 0x00007ffff4edbaf7 in QHttpNetworkReply::authenticationRequired
#11 0x00007ffff4e0b2b4 in QHttpNetworkConnectionPrivate::handleAuthenticateChallenge
#12 0x00007ffff4e10753 in QHttpNetworkConnectionChannel::handleStatus
#13 0x00007ffff4e11cc9 in QHttpNetworkConnectionChannel::allDone
#14 0x00007ffff4e14605 in QHttpProtocolHandler::_q_receiveReply
Main Thread:
#0 0x00007ffff20c7428 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
#1 0x00007ffff43f0b56 in QWaitConditionPrivate::wait_relative (time=5000, this=0x136c580)
#2 QWaitConditionPrivate::wait (time=5000, this=0x136c580)
#3 QWaitCondition::wait (this=this@entry=0x136c788, mutex=mutex@entry=0x136c760, time=time@entry=5000)
#4 0x00007ffff43efa6e in QThread::wait (this=<optimized out>, time=time@entry=5000)
#5 0x00007ffff4e1edd3 in QNetworkAccessManagerPrivate::clearCache
#6 0x00007ffff7b6fb03 in OCC::HttpCredentials::invalidateToken()
#7 0x000000000057adb4 in OCC::AccountState::slotInvalidCredentials()
#8 0x000000000057ac76 in OCC::AccountState::slotConnectionValidatorResult(OCC::ConnectionValidator::Status, QStringList const&) ()
#9 0x00000000005ab45c in OCC::AccountState::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)
#10 0x00007ffff45dcd30 in QMetaObject::activate
#11 0x00007ffff7b78671 in OCC::ConnectionValidator::connectionResult(OCC::ConnectionValidator::Status, QStringList) ()
#12 0x00007ffff7ae2514 in OCC::ConnectionValidator::reportResult(OCC::ConnectionValidator::Status) ()
#13 0x00007ffff7ae39b7 in OCC::ConnectionValidator::slotAuthFailed(QNetworkReply*) ()
#14 0x00007ffff7b784a9 in OCC::ConnectionValidator::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
#15 0x00007ffff45dcd30 in QMetaObject::activate
#16 0x00007ffff7b766dc in OCC::AbstractNetworkJob::networkError(QNetworkReply*)
#17 0x00007ffff7af9f6e in OCC::AbstractNetworkJob::slotFinished()
#18 0x00007ffff7b7654d in OCC::AbstractNetworkJob::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
#20 0x00007ffff45dd607 in QMetaObject::activate
#21 0x00007ffff4edd143 in QNetworkReply::finished
#22 0x00007ffff4e3fec7 in QNetworkReplyHttpImplPrivate::finished
#23 0x00007ffff4e41818 in QNetworkReplyHttpImpl::close
#24 0x00007ffff7b7047b in OCC::HttpCredentials::slotAuthentication(QNetworkReply*, QAuthenticator*) ()
#25 0x00007ffff7b79092 in OCC::HttpCredentials::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
#27 0x00007ffff45dd607 in QMetaObject::activate
#28 0x00007ffff4e1d6fb in QNetworkAccessManager::authenticationRequired
#29 0x00007ffff4e1ea07 in QNetworkAccessManagerPrivate::authenticationRequired
#30 0x00007ffff4e3c784 in QNetworkReplyHttpImplPrivate::httpAuthenticationRequired
Another case of Main Thread:
#5 0x00007ffff4e1edd3 in QNetworkAccessManagerPrivate::clearCache
#6 0x00007ffff7b6fb03 in OCC::HttpCredentials::invalidateToken()
#7 0x000000000057b1e4 in OCC::AccountState::slotInvalidCredentials() ()
#8 0x00000000005abb8a in OCC::AccountState::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
#9 0x00007ffff45dcd30 in QMetaObject::activate
#10 0x00007ffff7b76ed5 in OCC::Account::invalidCredentials() ()
#11 0x00007ffff7ad55f5 in OCC::Account::handleInvalidCredentials()
#12 0x00007ffff7afa69a in OCC::AbstractNetworkJob::slotFinished()
#13 0x00007ffff7b7654d in OCC::AbstractNetworkJob::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
#15 0x00007ffff45dd607 in QMetaObject::activate
#16 0x00007ffff4edd143 in QNetworkReply::finished
#17 0x00007ffff4e3fec7 in QNetworkReplyHttpImplPrivate::finished
#18 0x00007ffff4e41818 in QNetworkReplyHttpImpl::close
#19 0x00007ffff7b7047b in OCC::HttpCredentials::slotAuthentication(QNetworkReply*, QAuthenticator*) ()
#20 0x00007ffff7b79092 in OCC::HttpCredentials::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) ()
#22 0x00007ffff45dd607 in QMetaObject::activate
#23 0x00007ffff4e1d6fb in QNetworkAccessManager::authenticationRequired
Christian Kamm [Thu, 7 Jan 2016 12:54:26 +0000 (13:54 +0100)]
Fix crash when deleting account while sync is running #4337
Olivier Goffart [Thu, 7 Jan 2016 12:37:46 +0000 (13:37 +0100)]
Fix RTL languages in sync dialog #4336
Jocelyn Turcotte [Wed, 6 Jan 2016 17:39:32 +0000 (18:39 +0100)]
Keep only active entries in the Not Synced list #3171
Now that we have a separate list for files that could not be synced,
we can make sure that it only shows entries for files that are still
not in sync with the server. This allows the user to treat this list
as action items in order to get everything synced, including the
blacklist.
Simply remove the keep-errors logic that was used when the lists were
merged to achieve this result.
Jenkins for ownCloud [Thu, 7 Jan 2016 07:19:23 +0000 (02:19 -0500)]
[tx-robot] updated from transifex
Daniel Molkentin [Wed, 6 Jan 2016 21:33:39 +0000 (22:33 +0100)]
Document all owncloudcmd switches in man page/doc
Fixes #4290
Carla Schroder [Wed, 6 Jan 2016 20:45:23 +0000 (12:45 -0800)]
add note re mtime syncing
Daniel Molkentin [Wed, 6 Jan 2016 16:00:45 +0000 (17:00 +0100)]
Update German translation
Changes performed on transifex.
Resolves #4255
Daniel Molkentin [Wed, 6 Jan 2016 15:50:59 +0000 (16:50 +0100)]
Translation cleanups
- Disambiguation
- Remove potentially illigitmate concatenations
Daniel Molkentin [Wed, 6 Jan 2016 11:51:25 +0000 (12:51 +0100)]
Work around layouting issue for RTL languages
This has been fixed in the meanwhile, but we are still shipping
with Qt 5.4. Also, some Linux Distros will still have older Qt
versions.
Addresses issue #4301
Jocelyn Turcotte [Wed, 6 Jan 2016 11:35:36 +0000 (12:35 +0100)]
Don't show parent folders in the error list #3796
The error status of children should only be used for the etag logic.
The SocketApi uses a path matching system to do this and the UI should
report errors only for individual involved files/directories.
Jocelyn Turcotte [Wed, 6 Jan 2016 09:56:07 +0000 (10:56 +0100)]
Bring back the red box for errors #3796
This use the previous code by resetting the progress to hide
the progress back and then return errors in the FolderErrorMsg
data role of the folder model.
This also remove the unused FolderRemotePath role, remove FolderStatus
in favor of invalidating all roles in dataChanged and make sure
that the SyncRunning role is transfered properly from the SyncResult
to show the warning icon during sync.
Markus Goetz [Wed, 6 Jan 2016 10:22:35 +0000 (11:22 +0100)]
Revert "HTTP Creds: Do not send the password at every request"
We need this for #4326
This reverts commit
ae17f58b80208df0e6318dbabbfabd7ae842332e.
Jenkins for ownCloud [Wed, 6 Jan 2016 07:19:20 +0000 (02:19 -0500)]
[tx-robot] updated from transifex
Markus Goetz [Tue, 5 Jan 2016 16:43:23 +0000 (17:43 +0100)]
OS X: Don't install legacy Finder plugin on >= 10.10 #3587
Jocelyn Turcotte [Tue, 5 Jan 2016 14:28:01 +0000 (15:28 +0100)]
Rename SyncFileStatus::STATUS_SYNC to STATUS_UPTODATE
Also use STATUS_UPDATED instead to match SyncFileItem::Success in the SocketAPI.
Markus Goetz [Tue, 5 Jan 2016 14:11:46 +0000 (15:11 +0100)]
Debug: Attempt to make log more useful
Jocelyn Turcotte [Tue, 5 Jan 2016 14:03:23 +0000 (15:03 +0100)]
Fix OK statuses not being broadcasted during a sync #3944
Since the presence of any path in SyncEngine::_syncedItems
would translate in a SYNC status, platforms that don't refresh
all their status cache after an UPDATE_VIEW message like OS X
or Windows would keep displaying that status even after all
files are successfully synchronized.
- Read SyncFileItem::_status to determine the status to display mid-sync
- Match moved paths also to _renameTarget since this might be the
path to match
- Make sure that PropagateDirectory jobs also set SyncFileItem::_status
properly
Markus Goetz [Tue, 5 Jan 2016 12:32:46 +0000 (13:32 +0100)]
OS X: Also show desktop notifications when app is active
Christian Kamm [Tue, 5 Jan 2016 10:58:18 +0000 (11:58 +0100)]
Windows: Fix deleting and replacing of read-only files #4308
Christian Kamm [Tue, 22 Dec 2015 12:02:02 +0000 (13:02 +0100)]
Propagator: Deal with directories becoming files #4302
Note, in particular the revised order of directory deletion jobs.
Christian Kamm [Tue, 22 Dec 2015 10:26:07 +0000 (11:26 +0100)]
Propagator: Deal with files becoming directories #4302
This needed adjustments in reconcile, to mark the item as SYNC
as well as additions to the LocalMkdir job.
Jenkins for ownCloud [Tue, 5 Jan 2016 08:04:45 +0000 (03:04 -0500)]
[tx-robot] updated from transifex
Jocelyn Turcotte [Mon, 4 Jan 2016 15:46:53 +0000 (16:46 +0100)]
Fix a missing sync-exclude.lst file not failing the sync
After
c3cf6aef7dbafb9133903b52c5919eccd4821a25 the invokeMethod calls
should be adjusted to pass the new method arguments.
The result was currently a passing sync with this error message on
the console:
QMetaObject::invokeMethod: No such method OCC::Folder::slotSyncFinished()
Markus Goetz [Mon, 4 Jan 2016 15:15:32 +0000 (16:15 +0100)]
OS X: Fix alignment of "Copy" button in protocol #4207
Grigorii Horos [Fri, 4 Dec 2015 13:40:15 +0000 (15:40 +0200)]
Dolphin integration: use system icons for labels in KDE
Cherry-picked from https://github.com/owncloud/client/pull/4252
Olivier Goffart [Mon, 4 Jan 2016 10:57:51 +0000 (11:57 +0100)]
SocketAPI: SHARE: Fix the paths when creating the share dialog
The socket api uses native folder separator. We need to use QDir::cleanPath
for anything else so we only work with '/' everywhere else in the code
This fixes the sharing dialog on window.
Issue #4311
Daniel Molkentin [Mon, 4 Jan 2016 10:54:11 +0000 (11:54 +0100)]
Remove bearer plugins
Causes regressions due to constant Wifi scanning
Daniel Molkentin [Mon, 4 Jan 2016 10:49:03 +0000 (11:49 +0100)]
Enable HiDpi scaling with Qt 5.6
Daniel Molkentin [Mon, 4 Jan 2016 10:47:11 +0000 (11:47 +0100)]
Ensure Qt translator does always get loaded.
Jenkins for ownCloud [Mon, 4 Jan 2016 07:19:22 +0000 (02:19 -0500)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sun, 3 Jan 2016 07:19:00 +0000 (02:19 -0500)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Thu, 31 Dec 2015 07:19:14 +0000 (02:19 -0500)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Tue, 29 Dec 2015 07:18:39 +0000 (02:18 -0500)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Mon, 28 Dec 2015 07:19:02 +0000 (02:19 -0500)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Fri, 25 Dec 2015 07:19:06 +0000 (02:19 -0500)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Wed, 23 Dec 2015 07:19:07 +0000 (02:19 -0500)]
[tx-robot] updated from transifex
Klaas Freitag [Tue, 22 Dec 2015 14:07:51 +0000 (15:07 +0100)]
Do not use nullptr, old compilers die on it.
Klaas Freitag [Tue, 22 Dec 2015 10:18:20 +0000 (11:18 +0100)]
Move version to 2.1.1 git.
Klaas Freitag [Tue, 22 Dec 2015 10:05:00 +0000 (11:05 +0100)]
shell integration: Create a plugin for nemo out of the nautilus one.
Klaas Freitag [Tue, 22 Dec 2015 09:26:13 +0000 (10:26 +0100)]
Backport of #4245
Olivier Goffart [Mon, 21 Dec 2015 14:35:45 +0000 (15:35 +0100)]
gui: Word Wrap in QInputDialog (#4197)
Jenkins for ownCloud [Tue, 22 Dec 2015 07:19:06 +0000 (02:19 -0500)]
[tx-robot] updated from transifex
Olivier Goffart [Mon, 21 Dec 2015 13:25:30 +0000 (14:25 +0100)]
csync_vio_local_stat: Win: fetch mtime and size if not previously fetched
Since owncloud 2.1, csync_vio_local_stat was optimized because readdir
would already fetch most of the info. This works for the discovery,
but not later. And we used this function later for symliks and co.
So this fixes the .lnk on windows
Issue #4300
Olivier Goffart [Mon, 21 Dec 2015 12:25:10 +0000 (13:25 +0100)]
PropagateLocalRemove: Make it possible to remove read only files (#4277)
Olivier Goffart [Mon, 21 Dec 2015 10:06:39 +0000 (11:06 +0100)]
Systray: Use the original name for the rename notification #4295
Otherwise it shows twice as "newname was renamed to newname".
Because _file is set to the new name in PropagateLocalRename::start
Jenkins for ownCloud [Mon, 21 Dec 2015 07:18:42 +0000 (02:18 -0500)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sat, 19 Dec 2015 07:19:06 +0000 (02:19 -0500)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Thu, 17 Dec 2015 07:19:04 +0000 (02:19 -0500)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Wed, 16 Dec 2015 07:19:03 +0000 (02:19 -0500)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sun, 13 Dec 2015 07:18:46 +0000 (02:18 -0500)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Fri, 11 Dec 2015 07:19:06 +0000 (02:19 -0500)]
[tx-robot] updated from transifex
Christian Kamm [Thu, 10 Dec 2015 13:56:15 +0000 (14:56 +0100)]
User Sharing: Match user names and case insensitive #4269
Christian Kamm [Thu, 10 Dec 2015 12:49:47 +0000 (13:49 +0100)]
Share UI: Allow typing in a sharee
Previously you *had* to select one of the completion options, even
if the text in the lineedit was identical to one of the options.
Christian Kamm [Thu, 10 Dec 2015 12:05:43 +0000 (13:05 +0100)]
FolderWatcher: Remove IN_DONT_FOLLOW #3475
This fixes the case of the root folder being symlinked.
Christian Kamm [Thu, 10 Dec 2015 10:50:19 +0000 (11:50 +0100)]
Log: Remove scary messages :)
Christian Kamm [Thu, 10 Dec 2015 10:10:49 +0000 (11:10 +0100)]
Silence warning about zorder in .ui file.
Christian Kamm [Thu, 10 Dec 2015 09:42:49 +0000 (10:42 +0100)]
SocketAPI: Don't use ERROR for SoftErrors #3944
Christian Kamm [Thu, 10 Dec 2015 09:24:31 +0000 (10:24 +0100)]
SocketAPI: Ensure messages are consistent #3944
Before we blindly broadcasted the result of a sync action. That was
often different from what a subsequent FILE_STATUS query would report.
Christian Kamm [Thu, 10 Dec 2015 09:23:21 +0000 (10:23 +0100)]
SocketAPI: Fix file error cache #3944
Christian Kamm [Thu, 10 Dec 2015 08:43:16 +0000 (09:43 +0100)]
Activity tab doesn't vanish with too many accounts #4188
The bug was introduced by a bad merge.
Jenkins for ownCloud [Thu, 10 Dec 2015 07:40:19 +0000 (02:40 -0500)]
[tx-robot] updated from transifex
Christian Kamm [Wed, 9 Dec 2015 14:49:30 +0000 (15:49 +0100)]
Activity: Improve formatting of copied data #3498
Christian Kamm [Wed, 9 Dec 2015 13:45:50 +0000 (14:45 +0100)]
Wizard: Find user:pw even if redirected #4265
Christian Kamm [Wed, 9 Dec 2015 10:41:43 +0000 (11:41 +0100)]
Force account wizard when last account is deleted #4266
Christian Kamm [Wed, 9 Dec 2015 10:06:28 +0000 (11:06 +0100)]
Creds: Forget password on explicit sign-out #4241
Christian Kamm [Tue, 8 Dec 2015 13:37:37 +0000 (14:37 +0100)]
AccountWizard: Don't crash when sync is running #4221
Running FolderMan::setupFolders() is redundant and just a leftover
from before multiaccount.
Jenkins for ownCloud [Wed, 9 Dec 2015 07:19:07 +0000 (02:19 -0500)]
[tx-robot] updated from transifex
Christian Kamm [Tue, 8 Dec 2015 14:37:17 +0000 (15:37 +0100)]
Share UI: Hide 'allow editing' for files #4211
Christian Kamm [Tue, 8 Dec 2015 11:58:56 +0000 (12:58 +0100)]
Share UI: Hide 'can share' if capability missing #4231
Christian Kamm [Tue, 8 Dec 2015 11:16:05 +0000 (12:16 +0100)]
Share UI: Respect enfore-expire #4235
Christian Kamm [Tue, 8 Dec 2015 11:05:14 +0000 (12:05 +0100)]
UI: Sign in/out -> Log in/out #4249
Christian Kamm [Tue, 8 Dec 2015 09:59:42 +0000 (10:59 +0100)]
Doc: Add checksum overview
Jenkins for ownCloud [Tue, 8 Dec 2015 07:21:51 +0000 (02:21 -0500)]
[tx-robot] updated from transifex
Daniel Molkentin [Tue, 8 Dec 2015 00:02:46 +0000 (01:02 +0100)]
FF doc subrepo to adjust to new .org theming
Jenkins for ownCloud [Mon, 7 Dec 2015 07:18:25 +0000 (02:18 -0500)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Sat, 5 Dec 2015 07:18:34 +0000 (02:18 -0500)]
[tx-robot] updated from transifex
Jenkins for ownCloud [Fri, 4 Dec 2015 07:18:36 +0000 (02:18 -0500)]
[tx-robot] updated from transifex
Daniel Molkentin [Thu, 3 Dec 2015 19:19:47 +0000 (20:19 +0100)]
Merge pull request #4247 from owncloud/desktopshare
added desktop sharing
Carla Schroder [Thu, 3 Dec 2015 18:29:44 +0000 (10:29 -0800)]
added desktop sharing
Olivier Goffart [Thu, 3 Dec 2015 11:52:13 +0000 (12:52 +0100)]
Sharee.cpp: Get rid of lambdas because we still need to support GCC 4.4
Daniel Molkentin [Thu, 3 Dec 2015 09:05:43 +0000 (10:05 +0100)]
Editorial changes to ChangeLog
Daniel Molkentin [Thu, 3 Dec 2015 08:47:02 +0000 (09:47 +0100)]
Merge pull request #4243 from owncloud/more21update
more updates to 2.1 user manual
Jenkins for ownCloud [Thu, 3 Dec 2015 07:18:58 +0000 (02:18 -0500)]
[tx-robot] updated from transifex