* Label schedule time, enable, and delete controls
* Use ARIA label for schedule enable control
---------
Co-authored-by: coopa11y <coopa11y@users.noreply.github.com>
* feat: add 'Sort by Remaining Size' queue sort option
Add a new 'remaining_bytes' sort field that sorts the queue by absolute
remaining bytes (bytes - bytes_tried), complementing the existing
'remaining' sort which uses percentage downloaded and the 'size' sort
which uses total bytes.
Changes:
- nzbqueue.py: add remaining_bytes sort field, fix update_sort_order()
to parse field+direction from config instead of hardcoding 'remaining'
- skintext.py: add Glitter-sortRemainingBytesAsc/Desc translation strings,
update auto_sort explanation text
- Glitter UI: add dropdown entries and JS handlers for both directions
- Config: add auto_sort options for remaining_bytes asc/desc
- Tests: parametrize remaining_bytes asc/desc against sizeleft slot field
* style: wrap long string for Black formatting
* fix: limit remaining-size sorting to ascending
---------
Co-authored-by: QuixThe2nd <QuixThe2nd@users.noreply.github.com>
* RSS age rule
* Support years (y) and months (mo) and do not approximate durations in seconds
* Better handling of entries with no age
* Formatting
* Allow >=, =>, <=, and =< aliases
* Implement feedback
* Fix existing issue with From SxxEyy in default row
* Test unitless ages
The `INSTALL.txt` file has been removed, as all installation instructions are now exclusively maintained on the project wiki. This updates `README.md` and build artifacts to reflect this change.
Additionally, `COPYRIGHT.txt` has been updated to include a new active team member, streamline translation contributor credits, and provide a direct link to GNU licenses. A minor CSS adjustment for the mobile UI is also included.
Updates the default number of connections from 8 to 16 in the server configuration and wizard UI templates. This change aims to improve performance for users who do not explicitly configure this setting.
Additionally, ensures the API server test function defaults to at least 1 connection when none is specified.
Relates to #3284
Closes#2227
Beware that this causes extra CPU usage.
Claude has diagnosed:
What it almost certainly is: paint/raster cost of native form controls. Every refresh tick the progress bar width and text change, which invalidates a paint region spanning most of the row. Chrome re-rasterizes damaged tiles wholesale, and the selects sit in those tiles. A <select> — especially one with custom styling like ours, which knocks Chrome off the native-theme fast path — is much more expensive to rasterize than plain text, and there are 4 of them per row, re-painted every second while downloading. Rasterization runs on Chrome's compositor/raster threads, which is exactly the kind of cost that shows up in the browser Task Manager but is invisible to JS-side profiling (which is why my layout measurement showed no difference). Form controls also carry extra accessibility-tree bookkeeping on each DOM-adjacent change, which adds a little more.
Refines margins, paddings, and element positioning across various components to improve visual harmony and alignment with the modernized interface design.
This modernizes the theming architecture by defining core colors as CSS variables,
allowing themes like 'Night' to override them concisely. This approach improves
maintainability and removes dynamic styling previously handled by JavaScript.
Apply the table-header-progress-smaller class (25% width) to both queue and
history when compact layout is enabled, matching the behavior when extra columns
are shown. This provides more horizontal space for longer NZB titles.
Fixes#3414
* Remove UI delays
* Everything using set_config, set_platform, or pyfakefs
* tmp_path
* Scroll to top seems unnecessary but make it wait until it's done
* Remove sleep from test_rss_basic_flow
* Remove sleeps from test_daemonizing
* Define pytest markers
* Reduce sleep in test_queue_repair
* Remove sleeps from clean_cache_dir
* Suppress failures to connect during startup
* Reduce cache sleeps
* Reduce sleeps checking app started
* Reduce sleep removing cache dir