4.9 KiB
Submitting issues
If you have questions about how to install or use the App Store, please direct these to our forum. We are also available on IRC.
Short version
- The issue template can be found here. Please always use the issue template when reporting issues.
Guidelines
-
Please search the existing issues first, it's likely that your issue was already reported or even fixed.
- Go to one of the repositories, click "issues" and type any word in the top search/command bar.
- You can also filter by appending e. g. "state:open" to the search string.
- More info on search syntax within github
-
This repository (appstore) is only for issues for the Nextcloud App Store at https://apps.nextcloud.com and not for app store functionality in your Nextcloud server.
-
We only support and recommend the latest browser versions of:
- Chrome
- Safari
- Edge
- Firefox
-
SECURITY: Report any potential security bug to us by following our security policy instead of filing an issue in our bug tracker.
-
Report the issue using our template, it includes all the information we need to track down the issue.
Help us to maximize the effort we can spend fixing issues and adding new features, by not reporting duplicate issues.
Contributing to Source Code
Thanks for wanting to contribute source code to Nextcloud. That's great!
However before you start to work on an issue or new feature, make sure that you file an issue first. That way we can minimize the chance that your work is not accepted or lots of change requests are made. This will keep both parties happy and save time :)
The backend is written in Django while the frontend uses custom TypeScript code. If you are interested in using a frontend JavaScript framework, please file an issue. We currently tend towards Angular.
If you need help in setting up a local App Store installation, consult the documentation
Tests
When submitting a pull request, you should ensure that the functionality is covered by an acceptance, integration or unit test. We employ unit and integration testing for both frontend and backend code but we do not have a UX test suite yet (if you are interested in integrating one please open an issue!!!).
Use acceptance tests (selenium tests) when:
- the functionality is a bigger chunk of a use case, e.g. registering an app or searching and downloading a compatible app for a specific Nextcloud version
- the functionality is primarily exposed to a user
Use unit tests when:
- the functionality depends on little to no extra dependencies
- the functionality is pure
Use integration tests when:
- the functionality would require more than 2 mocks to unit test
- the functionality depends on a context (e.g. reading files, accessing APIs, saving and retrieving database values)
All test suites can be run with:
make test
Linting/Coding-Style
Your source code files can be linted with:
make lint
Travis-CI also runs TSLint. You will have to install and run TSLint locally since we do not trust the company that develops it: the lib is developed by Palantir, a large American NSA/CIA contractor. If you do not want to do that you can run the linting on Travis-CI when creating a pull request.
If you are interested in adding a CSS lint tool, feel free to do so :)
Sign your work
We use the Developer Certificate of Origin (DCO) as a additional safeguard for the Nextcloud project. This is a well established and widely used mechanism to assure contributors have confirmed their right to license their contribution under the project's license. Please read the relevant documentation. If you can certify it, then just add a line to every git commit message:
Signed-off-by: Random J Developer <random@developer.example.org>
Use your real name (sorry, no pseudonyms or anonymous contributions).
If you set your user.name
and user.email
git configs, you can sign your
commit automatically with git commit -s
. You can also use git aliases
like git config --global alias.ci 'commit -s'
. Now you can commit with
git ci
and the commit will be signed.
Translations
Please submit translations via Transifex.