* chore: add '@license' tag to web sources' comments
Webpack's tersify plugin looks for that JSDoc tag in order to decide
which comments to extract into the generated license file.
* chore: address sonarcloud.io warnings
* chore: address sonarcloud.io code smells
* fixup! chore: address sonarcloud.io warnings
Give the web client a major overhaul.
User-visible highlights include:
* Mobile is now fully supported.
* Added fullscreen support on mobile.
* Better support for dark mode.
* Added mime icons to the torrent list.
* Improved theme consistency across the app.
Maintainer highlights include:
* Updated code to use ES6 APIs.
* No longer uses jQuery UI.
* No longer uses jQuery.
* Use Webpack to bundle the Javascript, CSS, and assets together -- the entire bundle size is now 68K gzipped.
* Added eslint / prettier / stylelint tooling.
* Uses torrent-get's 'table' mode for more efficient RPC calls.
* Support .git files (e.g. for worktrees, submodules)
* Fix symlinks in source tarball, switch to TXZ, adjust non-release name
* Remove autotools stuff
* chore: refresh css files with sass 1.26.10
* fix: css selector for toolbar-separator
* chore: fix duplicate html ids in mac client faq
* fix: duplicate ID 'pagetitle' tags in Mac help
* fix: duplicate ID 'taskbox' tags in Mac help
* chore: fix mismatched div
Tracker error messages are inadequately output encoded when rendered by the
tracker information page inside the WebUI, allowing a malicious tracker to
inject an XSS payload into the page. Esploiting this issue allows an
attacker to supply arbitrary client-side code that will ultimately be
rendered and executed within the end user's web browser.
Found by Rory McNamara (Gotham Digital Science). CVE pending.
The current icons are very hard to read at the current font size and it's not immediately visible which icon i which.
Additionally, spaces after icons are removed because upload icon is equally positioned between DL/UL speeds (like so `↓ 273 kB/s **↑** 0 kB/s`) which requires reading the whole line to make sense of which number the arrow applies to.
To further separate one type of information from another the hyphen is replaced by the slightly wider en dash.
Old vs New:
Downloading from 7 of 19 peers - ↓ 273 kB/s ↑ 167 kB/s
Downloading from 7 of 19 peers – ▼273 kB/s ▲167 kB/s
Identifying a dialog by it's header title is kinda dirty and now we use
the dialogs id instead. We also check if the dialog is visible before executing
the hotkey action.