Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-04-09PropagateDirectory: Set initial dir mtime to server mtime #7119Christian Kamm
It's still not synced in any way later.
2019-02-14Ensure local discovery on selective sync changesloai_docsChristian Kamm
As far as I'm aware local discovery can be skipped on folders that are selective-sync blacklisted, so a local discovery is required when an entry is removed from the blacklist. Also rename avoidReadFromDbOnNextSync() -> schedulePathForRemoteDiscovery() since the old name might also imply it's not read from db in the local discovery - which is not the case. Use Folder:: schedulePathForLocalDiscovery() for that.
2019-02-14Fix warnings about signednessChristian Kamm
Sizes are always qint64, not unsigned. TransferIds are always uint.
2019-02-13Tests: Fix permission propagation checkChristian Kamm
It was using the wrong path to the conflict file.
2019-02-11Test: Add check for permission propagationChristian Kamm
Also covering propagation to the downloaded file when a conflict-rename is done at the same time, which used to not work.
2018-12-17Propagator: Don't abort sync on error 503Olivier Goffart
Only do it when it is actually a maintenance mode Issues #5088, #5859, https://github.com/owncloud/enterprise/issues/2637
2018-10-18Merge remote-tracking branch 'owncloud/master' into new_discovery_algoOlivier Goffart
Conflicts: src/csync/csync_update.cpp test/csync/csync_tests/check_csync_update.cpp
2018-10-12New discovery algorithm: Parallel PROPFINDOlivier Goffart
2018-10-09PropagateUpload: Avoid crash due to cascading abortsChristian Kamm
https://sentry.io/owncloud/desktop-win-and-mac/issues/698694072/activity/
2018-10-05Fix leaks in testsOlivier Goffart
As discovered by AddressSanitizer
2018-06-13Ensure GETFileJob notices finishing #6581Christian Kamm
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.
2018-04-19LocalDiscoveryTracker: Separate from Folder and move to libsyncChristian Kamm
To allow relevant code to be closer together and for testing in unittests without having to get a gui Folder. See #6120
2018-03-12Merge remote-tracking branch 'origin/2.4'Christian Kamm
2018-03-06SyncEngine: Make "local discovery?" question availableChristian Kamm
Also fix the minor bug that was mentioned and add tests.
2018-02-20test/testsyncengine: testNoLocalEncoding is for LinuxMarkus Goetz
2018-02-16Merge remote-tracking branch 'origin/2.4'Christian Kamm
2018-02-15SyncJournal: Don't use LIKE with pathsChristian Kamm
Paths can contain the wildcards % and _ and that would lead to odd behavior. This patch also clarifies the behavior of avoidReadFromDbOnNextSync() which previously dependend on whether "foo/bar" or "foo/bar/" was passed as input. Possibly affects #6322
2018-01-11Merge remote-tracking branch 'origin/2.4'Olivier Goffart
Conflicts: src/libsync/networkjobs.cpp
2018-01-10Ignore files that can't be encoded for the filesystemChristian Kamm
There's an upstream bug where QTextCodec::canEncode returns true even though it should be false. This works around that issue and adds a test. The original work was done in 72809ef5b1aeb578976e4360ed267ac1c4d71ea6 See #6287, #5676, #5719 See https://bugreports.qt.io/browse/QTBUG-6925
2017-12-15Fix TestSyncEngine on windowsOlivier Goffart
2017-12-14TestSystem: Add QIODevice in the serverOverride function, and add a DelayedReplyOlivier Goffart
Preparing to add test that needs the QIODevice. Also make the DelayedReply so we can generalize the existing delay on FakeChunkMoveReply to any reply.
2017-11-20Merge remote-tracking branch 'origin/2.4'Christian Kamm
2017-11-20Checksum: Ignore unkown OC-Checksum header when downloading...Olivier Goffart
And if there are several checksums, pick the "best" one. The case of several checksum was reported in https://github.com/nextcloud/client_theming/issues/213
2017-11-16test/testsyncengine: test for PR #6168Olivier Goffart
2017-11-16PropagateDownload: Adjustments to skipping downloads #6153Christian Kamm
Previously we required matching mtimes but that's actually unnecessary when the question is about whether to skip the download. We will still update the file's metadata. Also, adjust behavior when the checksum is weak (Adler32): in these cases we still depend on equal mtimes.
2017-11-08Discovery: Treat files starting with '.' as hidden #6145Christian Kamm
This bug was introduced when strcmp(a, b) != 0 was accidentally converted to a == b.
2017-10-27Merge remote-tracking branch 'origin/2.4'Christian Kamm
2017-10-24SyncFileStatusTracker: Detect changed in the shared flagOlivier Goffart
... even if the file is not changed. We get an UPDATE_METADATA in that case, so make sure we let the SyncFileStatusTracker know about it. That means we need to filter out UPDATE_METADATA in the other listeners of this signal. Issue #6098
2017-10-24Reconcile: Rename handling fixes: duplicate file idsChristian Kamm
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
2017-10-24Local discovery: Use db instead of filesystemChristian Kamm
We mostly trust the file watchers meaning that we don't re-scan the local tree if we have done that recently and no file watcher events have arrived. If the file watchers invalidate a subtree, we rescan only that subtree. Since we're not entirely sure the file watchers are reliable, we still do full local discoveries regularly (1h by default). There is a config file setting as well as an environment variable to control the interval.
2017-10-17Sync: Add capability for invalid filename regexes #6092Christian Kamm
2017-10-11PropagateDownload: Read Content-md5 header #6088Christian Kamm
2017-10-05Rename detection: File size must be equalChristian Kamm
Comparison of file sizes for potential conflicts was added in 0eb9401c624f20a128b46f8eb1fa5a984f9ef61e, but did not extend to checking the file size in case of potential local moves. This commit adds this check and adds tests for various move+change scenarios.
2017-09-26Use QDateTime::currentDateTimeUtc instead of the non utc versionOlivier Goffart
QDateTime::currentDateTime is terribly slow.
2017-09-26Use SyncJournalDb in csyncJocelyn Turcotte
This gets rid of the csync_statedb sqlite layer and use the same code and same connection as the rest of the SyncEngine. Missing functions are added to SyncJournalDb and change a few minor things (like changing SyncJournalFileRecord::_modtime to be an int64 instead of a QDateTime, like it was in csync).
2017-09-26SyncJournalDB: Allow callers of getFileRecord if the query failedJocelyn Turcotte
The current implementation would return the same value whether the query failed or if no row would be found. This is something that is currently checked by csync and needs to be provided if we want to use SyncJournalDB there. Adjusted all call sites to also check the return value even though they could still just rely on rec.isValid(), but makes it more explicit as to what happens for database errors in those cases, if we ever want to gracefully handle them.
2017-09-18Checksums: Clearer behavior and added testingChristian Kamm
2017-09-18Remove SyncFileItem::_isDirectoryJocelyn Turcotte
It's always equivalent to _type == SyncFileItem::Directory.
2017-09-18Remove SyncFileItem::logJocelyn Turcotte
This remove the remaining "other" fields of the sync log to save a bit of memory. other_etag and other_fileId don't give much information to the users and other_instruction will always be INST_NONE anyway. other_modtime and other_size are kept since they are sometimes used. They were renamed to have a bit more meaningful name. SyncEngine::checkPermissions will now fetch its information from the csync trees since they are now preserved until right after this point. Fixes #3213
2017-09-15PropagateUpload: Model of remote quota, avoid some uploads #5537Christian Kamm
When we see a 507 error, assume that quota is < uploaded size.
2017-07-12SyncEngineTest: _size now correct for uploads #5855Christian Kamm
2017-07-04SyncEngineTest: Fix test reliabilityChristian Kamm
There was a rounding issue in the mtimes which sometimes resulted in an off-by-one error. Caused by storing a full QDateTime in the FileInfo but the mtime saved to the disk being truncated to seconds.
2017-07-03SyncEngine: Add unittest for SyncFileItem properties #5855Christian Kamm
Checks instruction, direction, size, modtime for three common cases.
2017-06-15Compare the hash of files with identical mtime/size #5589Christian Kamm
* For conflicts where mtime and size are identical: a) If there's no remote checksum, skip (unchanged) b) If there's a remote checksum that's a useful hash, create a PropagateDownload job and compute the local hash. If the hashes are identical, don't download the file and just update metadata. * Avoid exposing the existence of checksumTypeId beyond the database layer. This makes handling checksums easier in general because they can usually be treated as a single blob. This change was prompted by the difficulty of producing file_stat_t entries uniformly from PROPFINDs and the database.
2017-06-08SyncEngine: SelectiveSync: Remove local files of undelected folder despite ↵Olivier Goffart
other modified files Issue #5783 When the directry that should be removed by selective sync contains changes, we ignore the whole sub tree instead of only ignoreing new files. We cannot ignore the whole directory, we need to ignore only the directory that do not have files to remove
2017-05-17Merge remote-tracking branch 'origin/2.3'Christian Kamm
2017-05-16Selective sync: Skip excluded folders when reading dbChristian Kamm
When a new folder becomes selective-sync excluded, we already mark it and all its parent folders with _invalid_ etags to force rediscovery. That's not enough however. Later calls to csync_statedb_get_below_path could still pull data about the excluded files into the remote tree. That lead to incorrect behavior, such as uploads happening for folders that had been explicitly excluded from sync. To fix the problem, statedb_get_below_path is adjusted to not read the data about excluded folders from the database. Currently we can't wipe this data from the database outright because we need it to determine whether the files in the excluded folder can be wiped away or not. See owncloud/enterprise#1965
2017-03-09Fix TestSyncEngine::testDirDownloadWithErrorOlivier Goffart
On master, the scheduling is different and the tasks abort in another order
2017-03-09Merge remote-tracking branch 'origin/2.3'Olivier Goffart
Conflicts: src/libsync/owncloudpropagator.cpp
2017-03-06Propagator: Fix finished signal of directory being emited twice and causing ↵Olivier Goffart
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