Commit Graph

12584 Commits

Author SHA1 Message Date
Christian Kamm
f311cc2ffb Vfs: Add option to hide socketapi pin actions
Because some plugins provide alternative ui.
2019-02-11 13:35:14 +01:00
Christian Kamm
5e53f418c5 PropagateDownload: Conflict-rename later
The block of code that propagated attributes etc from the previously
existing file was placed *after* the block that renamed the previously
existing file to a conflict name. That meant the propagation didn't work
in the conflict case.
2019-02-11 13:35:14 +01:00
Christian Kamm
53a6d94410 Vfs: dehydration is separate action
Allows for better attribute preservation.

Also add verifyFileUnchanged() call before dehydration to avoid data
loss when discovery takes a while.
2019-02-11 13:35:14 +01:00
Christian Kamm
f9a573b2ac File watcher: Pin state attribute changes are valid notifications
Previously they would be discarded since the file's mtime or size hadn't
changed.
2019-02-11 13:35:14 +01:00
Christian Kamm
210f309e6e PinStates cleanup
- SyncJournalDB functions now behind internalPinStates() to avoid
accidental usage, when nearly everyone should go through Vfs.
- Rename Vfs::getPinState() to Vfs::pinState()
2019-02-11 13:35:14 +01:00
Christian Kamm
c500866a78 Folder: Add remoteFolderTrailingSlash()
There were cases where the "/" exception wasn't handled correctly
and there'd be extra slashes in generated paths.
2019-02-11 13:35:14 +01:00
Christian Kamm
63e11dc8da Vfs: Call unregisterFolder() when folder is removed 2019-02-11 13:35:14 +01:00
Christian Kamm
b80224c5ed Vfs: Enable propagating attributes on download 2019-02-11 13:35:14 +01:00
Christian Kamm
e1330fb7fe SyncFileStatusTracker: Distinguish Warning and Excluded
Any folder with a (potentially deeply) contained error will have
StatusWarning. StatusExcluded marks exclusions. The difference is useful
to know for VFS.
2019-02-11 13:35:14 +01:00
Christian Kamm
010abe4c82 Pin state updates
- unspecified and inherited are different
- move enum to header in common/
- access through Vfs instead of directly in Journal
2019-02-11 13:35:14 +01:00
Christian Kamm
8ea639e58f Vfs: Shell integration is enabled optionally
Needs to be disabled for tests in some cases.
2019-02-11 13:35:14 +01:00
Christian Kamm
5680950f8d Vfs: Clarify SyncEngine::wipeVirtualFiles()
Possibly the behavior should actually change and the function should
de-placeholder all items, not just dehydrated ones.
2019-02-11 13:35:14 +01:00
Christian Kamm
02f0e18913 Discovery: Files can have dehydrate/download actions
This will be used in conjunction with vfs plugins that detect whether a
file has a pending hydration/dehydration through independent means and
communicate that to the discovery through local file type.
2019-02-11 13:35:14 +01:00
Christian Kamm
e0200fbbd2 Discovery: Add signal for silentlyExcluded files
This allows SyncFileStatusTracker to also know about these. After all
its information is used to provide icons for them too.
2019-02-11 13:35:14 +01:00
Christian Kamm
136670b8c2 Vfs: Send SyncFileStatusTracker data to vfs plugins 2019-02-11 13:35:14 +01:00
Christian Kamm
06b4437527 Vfs: Make files that end up in db placeholders
Since 'placeholder' just means that it's an item of the special type
that the vfs plugin can deal with - no matter whether hydrated or
dehydrated - all done items should become placeholders. Even
directories.

Now every file that passes through updateMetadata() will be converted to
a placeholder if necessary.
2019-02-11 13:35:14 +01:00
Christian Kamm
f8621f3beb Propagator: Helper for updating db
Similar steps were done in many propagation jobs.

This also updates the db entry to always have the item.destination() as
file path.
2019-02-11 13:35:14 +01:00
Christian Kamm
e03df74965 Move SyncFileStatus to libcommon
It'll be needed in vfs plugins so they can connect to the data coming
out of SyncFileStatusTracker.
2019-02-11 13:35:14 +01:00
Christian Kamm
053448b118 Build fix for mingw64 7.3 (Qt 5.12.0) 2019-02-11 13:35:14 +01:00
Christian Kamm
0ed8d32ddb File watcher: Reduce touch ignore duration
On Linux and Windows the file watcher can't distinguish between changes
that were caused by the process itself, like during a sync operation,
and external changes. To work around that the client keeps a list of
files it has touched and blocks notifications on these files for a bit.

The duration of this block was originally and arbitrarily set at 15
seconds. During manual tests I regularly thought there was a bug when
syncs didn't trigger, when the only problem was that my changes happened
too close to a previous sync operation.

This change reduces the duration to three seconds. I imagine that this
is still enough.

Also use std::chrono while at it.
2019-02-10 10:41:01 +01:00
Dominik Schmidt
3c0477f433 Switch to standard opt-out BUILD_TESTING instead of opt-in UNIT_TESTING
Compare https://cmake.org/cmake/help/v3.0/module/CTest.html
Craft automatically handles BUILD_TESTING, so we don't need to handle it
in our own blueprint.
2019-02-08 14:05:21 +01:00
Olivier Goffart
597acba274 Merge remote-tracking branch 'origin/2.5'
Conflicts:
	VERSION.cmake
	src/common/syncjournaldb.cpp
	src/libsync/propagatedownload.cpp
2019-02-08 12:48:31 +01:00
Markus Goetz
0b8d591d29 VERSION.cmake / ChangeLog: Fix dates 2019-02-08 12:27:32 +01:00
Jürgen Weigert
c8ce40d583
Update release_template.md
added note about updating https://github.com/owncloud/client/blob/master/ChangeLog
2019-02-08 11:25:47 +01:00
Jürgen Weigert
6d97fdcf54
wordpress Changlog should auto-pull from master 2019-02-08 11:14:54 +01:00
Jenkins for ownCloud
f7d3d962e2 [tx-robot] updated from transifex 2019-02-08 02:18:43 +01:00
Jenkins for ownCloud
0a7bf71f41 [tx-robot] updated from transifex 2019-02-07 02:18:44 +01:00
Jenkins for ownCloud
afcb009b3e [tx-robot] updated from transifex 2019-02-06 02:18:50 +01:00
Markus Goetz
1f0914b3fb VERSION.cmake: This is now 2.5.4 2019-02-05 21:14:59 +01:00
Markus Goetz
c35d486a51 Download: Fix compile for older Qt (2) 2019-02-05 14:27:19 +01:00
Dominik Schmidt
bd0190676f Sign Autoupdate.app 2019-02-05 09:48:30 +01:00
Dominik Schmidt
fc9c23c287 Disable base entitlements 2019-02-05 09:48:30 +01:00
Dominik Schmidt
3f38484470 Enable runtime hardening for macOS builds 2019-02-05 09:48:30 +01:00
Markus Goetz
ded783da90 Download: Fix compile for older Qt 2019-02-05 09:47:47 +01:00
Jenkins for ownCloud
c1984b1ab0 [tx-robot] updated from transifex 2019-02-05 02:18:46 +01:00
Markus Goetz
9548d3cf39 ChangeLog: Prepare for 2.5.3 2019-02-04 13:51:44 +01:00
Jenkins for ownCloud
c9c4c9affe [tx-robot] updated from transifex 2019-02-04 02:18:48 +01:00
Jenkins for ownCloud
829b83f629 [tx-robot] updated from transifex 2019-02-03 02:18:59 +01:00
Jenkins for ownCloud
8ebb3c2119 [tx-robot] updated from transifex 2019-02-02 02:18:45 +01:00
Olivier Goffart
c47af36832 Add a noPreFlight branding option
For https://github.com/owncloud/enterprise/issues/2951
2019-02-01 18:39:04 +01:00
Markus Goetz
221281bafb mirall.desktop.in: Remove comments 2019-02-01 18:10:23 +01:00
Jenkins for ownCloud
650c975bce [tx-robot] updated from transifex 2019-02-01 02:18:45 +01:00
Jenkins for ownCloud
15c7d09fb3 [tx-robot] updated from transifex 2019-01-31 02:18:47 +01:00
Christian Kamm
2a0437f3a3 HttpCreds: Warn in log if keychain-write jobs fail #6776
Also, calling deleteLater() on jobs is unnecessary (they autodelete
after finished()) and deleting the attached QSettings is also
unnecessary because the settings object is parented to the job.
2019-01-30 12:31:15 +01:00
Christian Kamm
de6d1df051 Db: Move drop-index to after pragmas are set #6881 2019-01-30 12:21:26 +01:00
Christian Kamm
fdfa7d0b5e Download: Ignore content-length for compressed HTTP2/SPDY replies #6885
It contains the compressed size.

See https://bugreports.qt.io/browse/QTBUG-73364
2019-01-30 11:50:31 +01:00
Jenkins for ownCloud
cafd232f18 [tx-robot] updated from transifex 2019-01-30 02:18:49 +01:00
Jenkins for ownCloud
b7d597a2ee [tx-robot] updated from transifex 2019-01-29 02:18:45 +01:00
Jürgen Weigert
6b7ac286e1
Update release_template.md 2019-01-28 17:28:22 +01:00
Jürgen Weigert
36f6314b4a
Update release_template.md 2019-01-28 15:13:51 +01:00