Repository navigation
Start runs from the operation pill instead of the Dashboard header - #225
Merged
Merged
Conversation
The Dashboard header duplicated the pill's run controls with its own Verbose setting (saved under a different key) and a disabled state that was only evaluated at page load. The header controls are removed, and both idle pills carry a labelled Run button so starting a run stays one click. Hovering the button does not open the pill; hovering or clicking the rest of the pill still opens Verbose, Run Now and Dry Run. Clickable pills are now keyboard focusable: Enter or Space opens them, Escape closes them, and aria-expanded follows the expand state. A saved Dashboard Verbose preference is carried over to the pill's setting once.
The Ready pill's play icon was a hint that runs start from the pill. With a Run button on the pill it read as a second play action, so the label and the opened pill's header now use the hard-drive icon from the sidebar.
StudioNirin
approved these changes
Oct 6, 2026
This was referenced Oct 7, 2026
Collapsed idle pill is misaligned in mobile view (countdown and Run button float in the middle)
#229
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #218, as discussed there with @StudioNirin and @DeLo1585: the operation pill becomes the single place to start a run.
The Dashboard header had its own Verbose / Run Now / Dry Run controls that duplicated the pill and had a few issues of their own: they were only disabled when the page loaded, so they went stale during or after a run; Dry Run looked clickable while disabled; and the header Verbose toggle saved to a different setting (
plexcache_dashboard_verbose) than the pill's checkbox (verbose_mode), so the two Run Now buttons could start runs with different verbosity.Change
statsvalue in the route.▶ Runbutton, styled as the pill's existing primary button (black on Plex orange in both themes), with a larger target on touch screens. Hovering the button keeps the pill compact so it can be clicked; hovering or clicking the rest of the pill opens it with Verbose, Run Now and Dry Run as before.aria-expandedfollows the expand state.With the header controls gone the pill stays centred on top of the Dashboard down to roughly 1060px when idle, so starting a run no longer pushes the page down at normal widths.
Tests
tests/test_idle_pill_run_button.py: the Run button is on both idle pills and does not trigger the pill's own click handler, the opened pill still has Verbose and Dry Run, every clickable pill is focusable, and the Dashboard header has no run controls. The tests render the templates directly rather than throughweb.config, which some test modules replace with a mock at import time.How to test
Next run … ▶ Run(orPlexCache ▶ Runwith no schedule).