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-04-09PropagateDirectory: Remove dead codeChristian Kamm
1. The _firstJob is usually deleted by the time the PropagateDirectory finishes. (deleteLater() is called early) 2. The PropagateDirectory::_item and PropagateRemoteMkdir::_item point to the same SyncFileItem anyway. This code is a leftover from when each job had its own instance.
2019-03-28Fix and test _file and _renameTargetChristian Kamm
There was a bunch of inconsistency around whether _file was set to _renameTarget or not. This is now never done, passing on more information.
2019-03-20Async Poll: keep the size in the databaseOlivier Goffart
This was not required with 2.5 because a size of 0 was ignorted when comparing size by the csync updater, to be compatible with very old version of the database. But the we discovery will still think the file is changed if the database contains a size of 0
2019-03-20Upload: asynchronious operationsOlivier Goffart
Implements https://github.com/owncloud/core/pull/31851
2019-02-14Fix warnings about signednessChristian Kamm
Sizes are always qint64, not unsigned. TransferIds are always uint.
2019-02-11Vfs: Make files that end up in db placeholdersChristian Kamm
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-11Propagator: Helper for updating dbChristian Kamm
Similar steps were done in many propagation jobs. This also updates the db entry to always have the item.destination() as file path.
2019-01-22Rename: fix renamed folder moved into renamed folder issueOlivier Goffart
Issue #6694
2018-11-26winvfs: initial workChristian Kamm
Done by ckamm and dschmidt
2018-11-15Sync: optimize by removing setFileRecordMetadataOlivier Goffart
Inh most case we already have a record from before, so avoid doing a useless lookup in the database. In owncloudpropagator.cpp, directories do not have a checksum so no need to call a function that preserves it
2018-11-06Propagator: Add assert against duplicate done() callsChristian Kamm
2018-10-12New discovery algorithm: Parallel PROPFINDOlivier Goffart
2018-09-14Merge remote-tracking branch 'owncloud/master' into delta-syncOlivier Goffart
Conflicts: .gitmodules src/cmd/cmd.cpp src/gui/generalsettings.ui src/libsync/propagatedownload.cpp src/libsync/propagateuploadng.cpp
2018-08-22Conflicts: Rename BasePath to InitialBasePath #6709Christian Kamm
2018-08-19Conflict handling: add the OC-ConflictBasePath headerOlivier Goffart
Issue #6702
2018-05-23Rename Placeholders to Virtual Files in code #6531Christian Kamm
2018-05-15Blacklist: remember the X-Request-IDOlivier Goffart
Issue #6420 Store the X-Request-ID in the SyncFileItem and also in the blacklist. Note that for consistency reason, the X-Request-ID is also in the SyncFileItem if the request succeeds. Currently there is no UI to access it, but it can be queried with sql commands
2018-04-18Merge branch 'placeholder-prototype'Christian Kamm
2018-04-18Placeholder: The extension is now a branding optionOlivier Goffart
2018-04-18On-demand downloading: Placeholder-file based prototypeChristian Kamm
- Controled by an option. - New remote files start out as ItemTypePlaceholder, are created with a .owncloud extension. - When their db entry is set to ItemTypePlaceholderDownload the next sync run will download them. - Files that aren't in the placeholder state sync as usual. - See test cases in testsyncplaceholders. Missing: - User ui for triggering placeholder file download - Maybe: Going back from file to placeholder?
2018-03-28Blacklisting must prevent parent etag updates #6411Christian Kamm
2018-03-27Folder: normalize the local path.Olivier Goffart
We otherwise normalize all path in the C form, so we must have the Folder's path normalized the same. Or all comparizon will fail (such as knowing if a file from the SocketAPI or the FilesystemWatcher are part of the folder) Issue #4424
2018-03-01Propagator: remove a bunch of code related to the 'Shared' directoryOlivier Goffart
This no longer exists since the owncloud server 7.0 which we no longer allow to connect to
2018-02-20Conflicts: Add user name to conflict file name #6325Christian Kamm
For the case of uploading conflict files only.
2018-01-30Merge remote-tracking branch 'ahmedammar/master' into delta-syncChristian Kamm
2018-01-19Sync: Deal with file/folder conflicts #6312Christian Kamm
Previously conflicts with a different type on both ends lead to sync errors. Now they are handled in the expected way: the local item gets renamed and the remote item gets propagated downwards. This also adds a unittest for the TYPE_CHANGE case. That one looks like parts of it might be unified with CONFLICT cases.
2018-01-11Add support to update ProgressInfo item size.Ahmed Ammar
2017-12-15Upload conflict files #4557Christian Kamm
If the server has the 'uploadConflictFiles' capability conflict files will be uploaded instead of ignored. Uploaded conflict files have the following headers set during upload OC-Conflict: 1 OC-ConflictBaseFileId: 172489174instanceid OC-ConflictBaseMtime: 1235789213 OC-ConflictBaseEtag: myetag when the data is available. Downloads accept the same headers in return when downloading a conflict file. In the absence of server support clients will identify conflict files through the file name pattern and attempt to deduce the base fileid. Base etag and mtime can't be deduced though. The upload job for a new conflict file will be triggered directly from the job that created the conflict file now. No second sync run is necessary anymore. This commit does not yet introduce a 'username' like identifier that automatically gets added to conflict file filenames (to name the files foo_conflict-Fred-1345.txt instead of just foo_conflict-1345.txt).
2017-12-07AbstractNetworkJob: move the httpTimeout from the propagator to the network jobOlivier Goffart
Remove one dependency from the config file for the sync engine. Part of issue #6213
2017-10-19Use qEnvironmentVariable* instead of qgetenv when appropriateOlivier Goffart
Now that we use Qt5, we should do that. It is slightly more efficient and declares the intent. (Modified using clazy)
2017-10-17Fix paused sync file move issue #5949Piotr Mrowczynski
Dont abort final chunk immedietally Use sync and async aborts
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-21Use the Qt5 connection syntax (automated with clazy)Olivier Goffart
This is motivated by the fact that QMetaObject::noralizeSignature takes 7.35% CPU of the LargeSyncBench. (Mostly from ABstractNetworkJob::setupConnections and PropagateUploadFileV1::startNextChunk). It could be fixed by using normalized signature in the connection statement, but i tought it was a good oportunity to modernize the code. This commit only contains calls that were automatically converted with clazy.
2017-09-18Move SyncJournalDB to src/commonJocelyn Turcotte
2017-09-18Reverse the dependency between SyncJournalFileRecord and SyncFileItemJocelyn Turcotte
This will allow us to also use the SyncJournalDB in csync.
2017-09-18Remove SyncFileItem::_isDirectoryJocelyn Turcotte
It's always equivalent to _type == SyncFileItem::Directory.
2017-09-15SyncOptions/Propagator: Parallelism as an optionChristian Kamm
Very useful for changing it on a per-test basis.
2017-09-15Make DetailError different from BlacklistedErrorChristian Kamm
It's quite different in regard to blacklist handling and overall sync failure changes.
2017-09-05Move Utility to a new common static libraryJocelyn Turcotte
Now that csync builds as C++, this will avoid having to implement functionalities needed by csync mandatorily in csync itself. This library is built as part of libocsync and symbols exported through it. This requires a relicense of Utility as LGPL. All classes moved into this library from src/libsync will need to be relicensed as well.
2017-07-18Propagator: fix a qMax which should have been a qMinOlivier Goffart
2017-07-17HTTP/2 SupportOlivier Goffart
We need Qt 5.9 for HTTP2 because, even if Qt 5.8 already has support for it, there is some critical bug in the HTTP2 implementation which make it unusable [ https://codereview.qt-project.org/186050 and https://codereview.qt-project.org/186066 ] When using HTTP2, we can use many more parallel network request, this is especially good for small file handling Lower the priority of the GET and PUT propagation jobs, so the quota or selective sync ui PROPFIND will not be blocked by them
2017-07-12PropagateUpload: Better messaging for 507 #5537Christian Kamm
It now produces a summary error message indicating the problem. Adjust blacklist database table to contain 'errorCategory'. This is useful for two things: - Reestablishing summary messages based on blacklisted errors. For example if we don't retry a 507ed file, we still want to show the message about space on the server - Selectively wiping the blacklist: When we have ui for something like "I deleted some files, please retry all files now!", we want to delete all blacklist entries of a specific category only.
2017-07-12SyncEngine: Introduce overall errors that are not tied to a file #5746Christian Kamm
For now we use them for: * csync errors: This allows them to appear in the sync issues tab * insufficient local disk space, as a summary of individual file errors Insufficient remote space will use them too, as might other issues that are bigger than a single sync item.
2017-07-04Blacklist: Don't let errors become warnings #5516Christian Kamm
Before, blacklisted errors were set to FileIgnored status and hence displayed as warnings. Now, they have their own BlacklistedError category which allows them to appear as errors in the issues list and in the shell integration icons.
2017-07-03Classify chunked items correctly. Issue #5850Piotr Mrowczynski
2017-05-17Apply clang-formatChristian Kamm
2017-05-11Promote a few more logs to info/warningJocelyn Turcotte