0469236d80
* Fix the sync status push for parent directories #4682 As before, we rely on metadata-update SyncFileItem entries for parent directories to notify us that a directory contains files to propagate, and to know when all children were propagated through its itemCompleted signal. Those metadata SyncFileItems however have a None direction and we need to add a explicit directory check to show them as Sync. This fix also handles new files as well as existing ones, so no need to keep a separate logic for new files. * Fix the root item sync status #4682 Make sure that we push the new status when the status of the SyncEngine changed. SyncEngine::started comes a bit late, only when the propagation starts, although it's better in this case since child folders will only switch to Sync in aboutToPropagate. Also fix an issue with SyncEngine::findSyncItem when using an empty fileName; this would match and return the wrong item, even though not currently happening with the code since fileStatus won't call it with an empty fileName anymore. * Simplify the root status logic Go through fileStatus like other cases to make sure that all use cases go through the same code path. This also makes sure to use lookupProblem which will use lower_bound which is more efficient for larger sets of sync problems. This also fixes the issue with lookupProblem that prevented it to properly match an empty pathToMatch, caused by the fact that the problem map contains relative paths not starting with a slash. * Avoid a SyncFileStatusTracker private overload with the same name Having an overload as a private function in the same class makes the code harder to follow. Rename the private fileStatus to syncFileItemStatus. * [osx] Fix missing overlay icons on client startup Since the statuses are cached and that we can't invalidate the cache, sending NOP would need to be overwritten by the default OK status once the client successfully connected. But instead of remembering which files we NOPed, rather wait until we are ready to sync before sending the REGISTER_PATH message to the socket API client. It will also prevent the client from sending unnecessary RETRIEVE_FILE_STATUS requests. Also remove AccountState::canSync, since it does the same as isConnected and syncing is not an account responsibility. |
||
---|---|---|
admin | ||
binary@ac42257499 | ||
cmake | ||
csync | ||
doc | ||
resources | ||
shell_integration | ||
src | ||
test | ||
theme | ||
translations | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.tag | ||
.travis.yml | ||
binary.rej | ||
ChangeLog | ||
client.qrc | ||
CMakeLists.txt | ||
config.h.in | ||
CONTRIBUTING.md | ||
COPYING | ||
COPYING.documentation | ||
CPackOptions.cmake.in | ||
issue_template.md | ||
mirall.desktop.in | ||
OWNCLOUD.cmake | ||
OwnCloudCPack.cmake | ||
README.md | ||
sync-exclude.lst | ||
theme.qrc | ||
VERSION.cmake |
ownCloud Desktop Client
Job | State |
---|---|
client-build-matrix | |
client-test-matrix-linux-no-build | |
coverity_scan |
Introduction
The ownCloud Desktop Client is a tool to synchronize files from ownCloud Server with your computer.
Download
Binary packages
- Refer to the download page http://owncloud.org/sync-clients/
Source code
The ownCloud Desktop Client is developed in Git. Since Git makes it easy to fork and improve the source code and to adapt it to your need, many copies can be found on the Internet, in particular on GitHub. However, the authoritative repository maintained by the developers is located at https://github.com/owncloud/client.
Building the source code
Building the Client in the ownCloud Desktop Client manual.
Maintainers and Contributors
The maintainers of this repository are:
- Klaas Freitag freitag@owncloud.com
- Daniel Molkentin danimo@owncloud.com
- Markus Goetz guruz@owncloud.com
- Olivier Goffart ogoffart@owncloud.com
ownCloud Desktop Client is developed by the ownCloud community and receives patches from a variety of authors.
Reporting issues and contributing
If you find any bugs or have any suggestion for improvement, please file an issue at https://github.com/owncloud/client/issues. Do not contact the authors directly by mail, as this increases the chance of your report being lost.
If you created a patch, please submit a Pull Request. For non-trivial patches, we need you to sign the Contributor Agreement before we can accept your patch.
If you want to contact us, e.g. before starting a more complex feature, you can join us at #owncloud-client-dev.
License
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.