Repository navigation
Edit rule sets in their panel, block for a rule set from the query log - #433
Merged
Merged
Conversation
The rule set Edit dialog is gone. The panel's title gets a rename pencil, and its Blocking switch and block lists save as they change. Default opens its own panel for its block lists and keeps a locked delete button. Add Rule Set asks only for a name, then opens the new panel. The Add Device and Check a Domain device fields list devices with their icon and address instead of the browser's datalist. Schedules take the console's time zone instead of asking for one, and the query panel offers Allow for a rule set only on blocked queries.
…scroll Block lists get a section heading like the panel's others. A Block or Allow that names a rule set takes a full row on phones, and a panel form that saves as it changes brings the panel back where it was scrolled.
drudge
added a commit
that referenced
this pull request
Oct 12, 2026
drudge
marked this pull request as ready for review
October 12, 2026 03:13
drudge
added a commit
that referenced
this pull request
Oct 12, 2026
drudge
added a commit
that referenced
this pull request
Oct 12, 2026
drudge
added a commit
that referenced
this pull request
Oct 12, 2026
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.
Before: The query log's Block and Allow only changed the lists that apply to everyone, so there was no way to block a domain for just one rule set from a query. Rule sets had an Edit dialog that covered only the name, the Blocking switch and the block lists. Their blocked and allowed domains were in the panel instead. Default had an Edit button and no delete button. The Add Device field used the browser's datalist, and the schedule form asked for a time zone.
After: When a query came from a device in a rule set, its Block and Allow are split buttons like Update Cluster's, sized alike to the wider of the two. The button reads Block for Warehouse, and its arrow offers Everyone instead; the pick is remembered. When only one side applies, it's a plain button, such as Allow for Everyone on an answered query. The Edit dialog is gone, so everything about a rule set changes in its panel:
Default opens a panel with its block lists and keeps a locked delete button ("Can't delete Default"). Add Rule Set asks only for a name, then opens the new rule set's panel. The device fields on Add Device and Check a Domain are now a searchable list that shows each device's icon and address. Schedules use the time zone the console shows, which Settings names, so the form no longer asks for one.
How:
policyService().Addalready took a rule set name, and the query log form now passesrule_set. The update button's split button is now a shared.split-buttonwithsetupSplitButtonin app.js (data-split-*hooks,data-split-rememberfor the remembered pick,data-split-unavailableto drop an action), and the query footer uses it with a form per side. The update button renders as before;scripts/browser/updates.cjscovers it.ruleSetService.ChangereplacesSavefor panel edits and keeps whatever the edit doesn't touch. It backs the new routes/rule-sets/rename,/blockingand/lists. Default's panel is/blocked/rule-sets/Default, a name config already reserves.DevicePickeris a templ component with a small combobox in app.js. Forms markeddata-keep-scrollkeep the drawer's scroll position when the drawer is swapped.Screenshots
Before is
main, after is this branch. The before shots in the Rename / Edit row show the old Edit dialog. Both answered-query rows compare against the samemainshot.Laptop
Phone