Age | Commit message (Collapse) | Author |
|
Implements https://github.com/owncloud/core/pull/31851
|
|
For moves it's relevant that the old db entry is removed and the new one
is created at the right location.
|
|
There were cases where the "/" exception wasn't handled correctly
and there'd be extra slashes in generated paths.
|
|
- unspecified and inherited are different
- move enum to header in common/
- access through Vfs instead of directly in Journal
|
|
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.
|
|
This is to avoid issues on OSX, where the ._ prefix has special meaning.
Originally (before 2.3.2) ._ was necessary to guarantee exclusion. But
since then the .sync_ prefix is excluded as well.
This does not affect existing database files.
|
|
Done by ckamm and dschmidt
|
|
|
|
|
|
Conflicts:
ChangeLog
|
|
https://sentry.io/owncloud/desktop-win-and-mac/issues/698694072/activity/
|
|
Q_ASSERT should not have side effects!
|
|
The test was accessing dangling char* payload, as the QByteArray was
going out of scope
|
|
Conflicts:
.gitmodules
src/cmd/cmd.cpp
src/gui/generalsettings.ui
src/libsync/propagatedownload.cpp
src/libsync/propagateuploadng.cpp
|
|
Add a test to test the data fingerprint feature make me realize it was broken.
The code was relying in the distinction between empty and null QByteArray,
but this was a bad idea as this difference is lost when going through QString.
|
|
discovery
(Many of the expected error string are left empty because the current
error message is not insterresting
|
|
This is just a translation of test/scripts/txpl/t7.pl to C++ using the test
framework.
|
|
It could happen that readyRead was emitted for incoming data while the
download was not yet finished. Then the network job could finish with
no more data arriving - so readyRead wasn't emitted again.
To fix this, the finished signal also gets connected to the readyRead
slot.
|
|
We want to keep the body so we can get the message from it
(Issue #6459)
TestDownload::testErrorMessage did not fail because the FakeErrorReply
did not emit readyRead and did not implement bytesAvailable.
|
|
|
|
Issue: #6459
|
|
Similar to the one for uploads, to test these corner cases more.
|
|
No matter whether it's aligned to zsync blocksize or not.
|
|
|
|
It was sending way too much data (begin-of-range until end of file) and
not verifying that the final file actually had the expected contents.
|
|
This commit adds client-side support for delta-sync, this adds a new
3rdparty submodule `gh:ahmedammar/zsync`. This zsync tree is a modified
version of upstream, adding some needed support for the upload path and
other requirements.
If the server does not announce the required zsync capability then a
full upload/download is fallen back to. Delta synchronization can be
enabled/disabled using command line, config, or gui options.
On both upload and download paths, a check is made for the existance of
a zsync metadata file on the server for a given path. This is provided
by a dav property called `zsync`, found during discovery phase. If it
doesn't exist the code reverts back to a complete upload or download,
i.e. previous implementations. In the case of upload, a new zsync
metadata file will be uploaded as part of the chunked upload and future
synchronizations will be delta-sync capable.
Chunked uploads no longer use sequential file names for each chunk id,
instead, they are named as the byte offset into the remote file, this is
a minimally intrusive modification to allow fo delta-sync and legacy
code paths to run seamlessly. A new http header OC-Total-File-Length is
sent, which informs the server of the final expected size of the file
not just the total transmitted bytes as reported by OC-Total-Length.
The seeding and generation of the zsync metadata file is done in a
separate thread since this is a cpu intensive task, ensuring main thread
is not blocked.
This commit closes owncloud/client#179.
|
|
This can happen if the upload of a file is finished, but we just got
disconnected right before recieving the reply containing the etag.
So nothing was save din the DB, and we are not sure if the server
recieved the file properly or not. Further local update of the file
will cause a conflict.
In order to fix this, store the checksum of the uploading file in
the uploadinfo table of the local db (even if there is no chunking
involved). And when we have a conflict, check that it is not because
of this situation by checking the entry in the uploadinfo table.
Issue #5106
|
|
Preparing to add test that needs the QIODevice.
Also make the DelayedReply so we can generalize the existing delay on FakeChunkMoveReply
to any reply.
|
|
|
|
When users share the same tree several times (say A/ and A/B/ are both
shared) the remote tree can have several entries that have the same
file id. This needs to be respected in rename detection.
Also adds several tests and fixes for issues noticed during testing.
See #6096
|
|
|
|
|
|
|
|
|
|
Include a test for PR #6057
|
|
QDateTime::currentDateTime is terribly slow.
|
|
|
|
|
|
|
|
Go through the Logger to enable the csync-QDebug bridge.
|
|
This reverts commit efa7821dd28491ad0b93fec53be6d4ad0f94f19f.
This reverts the revert, but also add a check that the server version
is bigger than 10.0
Issue #4788
|
|
The QNAM may continue to outlive both.
Rename Credentials::getQNAM() to createQNAM() while we're at it - it's
used to make a new QNAM that will subsequently be owned by the Account
object.
See d01065b9a12e69ca493a232f3a8e8f3d416fed52 for rationale.
Relates to
d40c56eda561e3a541bf1b23f70fa8d659d3037e
147cf798a6f13c9b53a9f1fb2db1ef26c8c63273
|
|
|
|
This is useful for monitoring what kind of network requests are
sent to the fake server. Such as "did this sync cause an upload?"
and "was there a propfind for this path?". It can also inject
custom replies.
|
|
|
|
The client is very picky about date strings it accepts. If dates are
formatted with a non-C locale (such as localized weekday names), it
fails to parse it and tests fail in subtle ways.
|
|
* 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.
|
|
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
|
|
- 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.
|
|
|