14a9382772
Turns out since we are forced to replace colons with hyphens we need to replace them back to colons when we receive the domain identifier from the file provider extension. If we do not then we get a null accountState pointer in the socket controller and this causes a crash Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com> |
||
---|---|---|
.github | ||
.tx | ||
admin | ||
cmake | ||
doc | ||
man | ||
nextcloud.client-desktop | ||
shell_integration | ||
src | ||
test | ||
theme | ||
translations | ||
.clang-format | ||
.drone.yml | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.swift-format.json | ||
.tag | ||
ChangeLog - Legacy | ||
CHANGELOG.md | ||
CMakeLists.txt | ||
codecov.yml | ||
config.h.in | ||
CONTRIBUTING.md | ||
COPYING | ||
COPYING.documentation | ||
CPackOptions.cmake.in | ||
craftmaster.ini | ||
mirall.desktop.in | ||
NEXTCLOUD.cmake | ||
NextcloudCPack.cmake | ||
README.md | ||
resources.qrc | ||
sonar-project.properties | ||
sync-exclude.lst | ||
theme.qrc.in | ||
VERSION.cmake | ||
version.h.in |
Nextcloud Desktop Client
The Nextcloud Desktop Client is a tool to synchronize files from Nextcloud Server with your computer.
🚀 Releases
For the latest stable recommended version, please refer to the download page https://nextcloud.com/install/#install-clients
Contributing to the desktop client
✌️ Please read the Code of Conduct. This document offers some guidance to ensure Nextcloud participants can cooperate effectively in a positive and inspiring atmosphere and to explain how together we can strengthen and support each other.
👪 Join the team
There are many ways to contribute, of which development is only one! Find out how to get involved, including as a translator, designer, tester, helping others, and much more! 😍
Help testing
Download and install the client:
🔽 All releases
🔽 Daily master builds
Reporting issues
If you find any bugs or have any suggestion for improvement, please open an issue in this repository.
Bug fixing and development
1. 🚀 Set up your local development environment
1.1 System requirements
- Windows 10, Windows 11, Mac OS > 10.14 or Linux
Note
Find the system requirements and instructions on how to work on Windows with KDE Craft on our desktop client blueprints repository.
- 🔽 Inkscape (to generate icons)
- Developer tools: cmake, clang/gcc/g++:
- Qt6 since 3.14, Qt5 for earlier versions
- OpenSSL
- 🔽 QtKeychain
- SQLite
1.2 Optional
Tip
We highly recommend Nextcloud development environment on Docker Compose for testing/bug fixing/development.
▶️ https://juliushaertl.github.io/nextcloud-docker-dev/
1.3 Step by step instructions on how to build the client to contribute
- Clone the Github repository:
git clone https://github.com/nextcloud/desktop.git
- Create :
mkdir <build directory>
- Compile:
cd <build directory>
cmake -S <cloned desktop repo> -B build -DCMAKE_INSTALL_PREFIX=<dependencies> -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=. -DNEXTCLOUD_DEV=ON
Tip
The cmake variabel NEXTCLOUD_DEV allows you to run your own build of the client while developing in parallel with an installed version of the client.
- Build it:
- Windows:
cmake --build .
- Other platforms:
make
Tip
For building the client for mac OS we have a tool called mac-crafter. You will find instructions on how to use it at admin/osx/mac-crafter.
- 🐛 Pick a good first issue
- 👩🔧 Create a branch and make your changes. Remember to sign off your commits using
git commit -sm "Your commit message"
- ⬆ Create a pull request and
@mention
the people from the issue to review - 👍 Fix things that come up during a review
- 🎉 Wait for it to get merged!
Get in touch 💬
You can also get support for Nextcloud!
📜 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.