💻 Desktop sync client for Nextcloud
Find a file
Olivier Goffart 35967fc2d6
OAuth2: Refresh the token without aborting the sync
OAuth2 access token typically only has a token valid for 1 hour.
Before this patch, when the token was timing out during the sync, the
sync was aborted, and the ConnectionValidator was then requesting a new
token, so the sync can be started over.
If the discovery takes longer than the oauth2 validity, this means that
the sync can never proceed, as it would be always restarted from scratch.

With this patch, we try to transparently renew the OAuth2 token and restart
the jobs that failed because the access token was invalid.

Note that some changes were required in the GETFile job because it handled
the error itself and so it was erroring the jobs before its too late.

Issue #6814
2020-12-15 10:58:14 +01:00
.github Delete FUNDING.yml 2020-10-01 11:21:12 +02:00
.tx [tx-robot] updated from transifex 2020-12-15 03:48:34 +00:00
admin Do not select ownCloud in Finder after installation to fix #6781 2020-12-15 10:58:11 +01:00
cmake Rename ocsync library to ${APPLICATION_EXECUTABLE}_csync 2020-12-15 10:57:56 +01:00
doc Correct incorrect reference to OSX Menu bar 2020-12-15 10:57:52 +01:00
man Change man page names and contents for nextcloud 2018-11-16 16:57:15 +01:00
shell_integration nautilus shell integration: Fix when there are several branded client installed 2020-12-15 10:57:55 +01:00
src OAuth2: Refresh the token without aborting the sync 2020-12-15 10:58:14 +01:00
test Discovery: Add back virtual file instruction checks 2020-12-15 10:58:12 +01:00
theme Fixed slow sharee search in the share dialog 2020-12-08 13:48:43 +00:00
translations [tx-robot] updated from transifex 2020-12-15 03:48:34 +00:00
.clang-format Add .clang-format style 2017-05-17 12:26:27 +02:00
.clang-tidy Disable bugprone-forward-declaration-namespace check 2020-09-15 12:04:32 +00:00
.drone.yml Issue a warning for Debian pipeline failures but don't fail the CI 2020-11-18 16:05:19 +01:00
.git-blame-ignore-revs Reformatting: Add .git-blame-ignore-revs 2017-05-17 12:31:49 +02:00
.gitattributes git: fix entry in .gitattributes to not export binary dir. 2014-09-22 11:24:24 +02:00
.gitignore Updated .gitignore to integrate unwanted files when working with VSC or VS2019 2019-09-03 10:59:21 +02:00
.gitmodules Remove Submodule binary (old upstream binaries) 2020-05-31 15:47:36 +02:00
.tag Export repo revision indicator 2012-10-12 14:44:21 +02:00
appveyor.ini Enable appveyor builds 2018-01-17 16:21:09 +01:00
appveyor.yml Enable tests in appveyor builds 2018-01-17 16:25:03 +01:00
ChangeLog Update ChangeLog with 2.6 series. 2020-05-04 17:45:13 +02:00
CMakeLists.txt New Discovery Algo: Permsission check 2020-12-15 10:58:01 +01:00
config.h.in Rename Placeholders to Virtual Files in code #6531 2020-12-15 10:57:53 +01:00
CONTRIBUTING.md Changes to be committed: 2019-01-29 16:59:44 +01:00
COPYING Correct COPYING file from FSF website, rpmlint found an old address 2011-11-22 22:45:14 +01:00
COPYING.documentation Add doc cmake targets (HTML, PDF, QtHelp, CHM, man) 2012-11-25 00:38:47 +01:00
CPackOptions.cmake.in OWNCLOUD.cmake => NEXTCLOUD.cmake 2017-11-20 14:12:52 +01:00
mirall.desktop.in Virtual Files Mime Type: use "vnd." prefix instead of "x-" 2020-12-15 10:58:03 +01:00
NEXTCLOUD.cmake Rename Placeholders to Virtual Files in code #6531 2020-12-15 10:57:53 +01:00
NextcloudCPack.cmake Mac Application Icon 2018-09-05 11:57:26 +02:00
README.md Update github links to desktop repository 2020-05-19 21:33:37 +02:00
resources.qrc Implemented notification action buttons and context menu for confirm/dismiss and other actions. 2020-12-02 08:08:37 +00:00
sync-exclude.lst Add photothumb.db to sync-exclude.lst 2020-06-14 20:24:10 +02:00
theme.qrc Fixed slow sharee search in the share dialog 2020-12-08 13:48:43 +00:00
VERSION.cmake Bump master version to 3.1.5 2020-12-10 14:54:25 +02:00
version.h.in Updater: Rudimentary support for beta channel 2017-10-05 22:01:38 +02:00

Nextcloud Desktop Client

The 💻 Nextcloud Desktop Client is a tool to synchronize files from Nextcloud Server with your computer.

Desktop Client on Mac OS]

💙 🎉 Contributing

🛠️ How to compile the desktop client

🏗️ System requirements includes OpenSSL 1.1.x, QtKeychain, Qt 5.x.x and zlib.

📝 Step by step instructions

Clone the repo and create build directory
$ git clone https://github.com/nextcloud/desktop.git
$ cd desktop
$ mkdir build
$ cd build
Compile and install

⚠️ For development reasons it is better to install the client on user space instead on the global system. Mixing up libs/dll's of different version can lead to undefined behavior and crashes:

  • You could use the cmake flag CMAKE_INSTALL_PREFIX as ~/.local/ in a Linux system. If you want to install system wide you could use /usr/local or /opt/nextcloud/.

  • On Windows 10 $USERPROFILE refers to C:\Users\<USERNAME>.

Linux & Mac OS
$ cmake .. -DCMAKE_INSTALL_PREFIX=~/nextcloud-desktop-client -DCMAKE_BUILD_TYPE=Debug -DNO_SHIBBOLETH=1
$ make install
Windows
$ cmake -G "Visual Studio 15 2017 Win64" .. -DCMAKE_INSTALL_PREFIX=$USERPROFILE\nextcloud-desktop-client -DCMAKE_BUILD_TYPE=Debug -DNO_SHIBBOLETH=1
$ cmake --build . --config Debug --target install

More detailed instructions can be found at the Desktop Client Wiki.

📥 Where to find binaries to download

🔆 Daily builds

🚀 Releases

💣 Reporting issues

  • If you find any bugs or have any suggestion for improvement, please file an issue at https://github.com/nextcloud/desktop/issues. Do not contact the authors directly by mail, as this increases the chance of your report being lost. 💥

😃 🏆 Pull requests

📡 Contact us

If you want to contact us, e.g. before starting a more complex feature, for questions you can join us at #nextcloud-client.

✌️ Code of conduct

The Nextcloud community has core values that are shared between all members during conferences, hackweeks and on all interactions in online platforms including Github and Forums. If you contribute, participate or interact with this community, please respect our shared values. 😌

📝 Source code

The Nextcloud 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/nextcloud/desktop.

📜 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.