This article explains what critical bugs are and covers the process for identifying and fixing them.
What is a critical bug?
A critical bug is any bug or other issue that:
- impedes users from completing a core use case in Bisq, and/or
- repeatedly lands users in support, and/or
- puts user funds or privacy at risk
Critical bugs are by definition among the most important and highest priority tasks that can be worked on. The goal is to have zero outstanding critical bugs at any given time. Bisq developers should therefore consider working on critical bugs ahead of anything else.
The critical bugs board can be found at https://github.com/orgs/bisq-network/projects/7.
Immediately after labeling a critical bug, the Bisq maintainer should add that issue to the
To do column of the board, sorting the issue according to its priority relative to the other issues in that column.
Note (@cbeams): We may want to have maintainers add a comment to newly-indentified critical bugs mentioning
@bisq-network/support so that those groups are made aware of the issue and are automatically subscribed to any updates on it. @ripcurlx to decide and update this section accordingly.
If you are a developer interested in working on a given critical bug, you should add a comment to the issue asking to be assigned to it. A Bisq maintainer will follow up with you and make the assignment as appropriate and will transition the issue to the
In progress column of the board. You should then proceed to put together a pull request that fixes the bug as per the usual Development Process.
Once assigned to a critical bug, you should post comments on the issue indicating your progress and post standup updates about it each day you work on it. This allows other developers to help out if need be and keeps everyone in the loop. These updates also serve as documentation when you submit a compensation request for your work.
If you stop working on a critical bug before it has been fixed, you should indicate that explicitly via comment on the issue so the maintainer can remove your assignment and transition the issue back to
To do as appropriate.
- the bug was fixed and the associated pull request has been merged into master
- the bug was investigated and a fix has been documented, but cannot be implemented due to an external dependency e.g.: a JDK / OpenJFX update is required.