-
-
Notifications
You must be signed in to change notification settings - Fork 4k
How to debug the WebUI code
This guide assumes you have setup your WebUI correctly and that you are sure your problem is not due to a network/reverse proxy/firewall/etc. issue.
If you have everything setup correctly and the WebUI stops updating or never loads past a blank page in the first place, the most likely cause is a crash in the Javascript code. This guide helps you pinpoint the cause of the crash, so that you can report it or even fix it yourself.
-
Clear your browser's cache and restart it.
-
Check if the problem persists.
This helps figure out where exactly the WebUI is crashing, and is essential for then trying to figure out why.
-
Open the browser's web developer tools (Ctrl+Shift+I in Firefox) and go to the
Console
tab. -
In the top right, activate all message categories by clicking on them so that they are highlighted.
If your issue only happens with slow connections, or you would like to simulate a slow connection (suppose you suspect there is a race condition and you want a better chance at manually triggering it), go to the
Network
tab and selectGPRS
(or something a bit faster) from theNo Throttling
drop-down menu: -
With the developer tools opened, reload the page and execute any additional steps that lead to the problem.
-
If you see something like this pop up in the console, click on the arrow (left side, next to the timestamp) to open the stack trace:
before: after:
This is enough data for a useful issue report. Now you can create an issue report containing:
- the contents of the stack trace (preferably pasted, not screencapped).
- as a screencap of what the WebUI looks like.
- Anything else that could be useful, such as a description of the steps that led to the crash. See the contributing guidelines for more tips and instructions on what to include when posting an issue report.
If you have web development experience, you already know where to go from here. Submit a PR if you can fix the issue :).
If you don't have web development experience but want to investigate further and possibly attempt to fix the problem, you can click the stack trace lines to go to the problematic code in the debugger. From there you can setup breakpoints, watchpoints, step through the code, etc. Reload the page and just do some old-school debugging. Search for tutorials online about debugging web applications and using the browsers developer tools.
This wiki page may be updated in the future with specific steps/techniques that happen to be particularly useful/relevant to qBittorrent.
- Installing qBittorrent
- Frequently Asked Questions (FAQ)
- qBittorrent options (current and deprecated)
- How to use qBittorrent as a tracker
- How to use portable mode
- Anonymous mode
- How to bind your vpn to prevent ip leaks
State | Version |
---|---|
Current | qBittorrent ≥ v4.1 |
Previous | qBittorrent v3.2.0 - v4.0.x |
Obsolete | qBittorrent < v3.2.0 |
- Let's Encrypt Certificates + Caddy2 Reverse Proxy
- Let's Encrypt certificates + NGINX reverse proxy - Linux
- Let's Encrypt certificates - Linux
- Self-signed SSL certificates - Linux
- Running qBittorrent without X server (WebUI only)
- Running qBittorrent without X server (WebUI only, systemd service set up, Ubuntu 15.04 or newer)
- OpenVPN and qBittorrent without X server
- Coding style
- Contributing
- How to write a search plugin
- Using VSCode for qBittorrent development
- Setup GDB with Qt pretty printers
- How to debug WebUI code