restrictions: family-time wizard fixes (inline groups, weekly-range scheduling) - #157
Merged
Merged
Conversation
…cheduling) Three real gaps found using the Family Time Controls wizard (PR #147): 1. The no groups yet message told a parent to go to Known Devices -- that name appears nowhere in the actual UI (the real nav label is Connection > DHCP). Now offers to create a group inline instead (device picker + group name), reusing the same charset rule and device_N section shape dhcp.js already uses, and only falls back to a message when there is truly nothing to pick from -- which now correctly names the real page. 2. The wizard used active_weekdays + active_hours, which match weekday and time-of-day independently at every moment with no concept of one session spanning two calendar days. A midnight-crossing window (e.g. 21:00-07:00) needed BOTH the start day and end day checked for the crossing to close out, but checking the end day also opened a second, unwanted partial block starting that days own evening, silently cut off at midnight since the day after was not checked too. Switched to active_weekly_ranges: one explicit Day HH:MM - Day HH:MM piece per selected day on a continuous Sunday-to-Saturday clock, including the Saturday-into-Sunday week wrap, with no such artifact -- matches the general Restrictions forms own weekly-schedule field format exactly. 3. The From/To fields are 24-hour only but nothing said so. Added an explicit hint plus a live (9:00 PM) preview next to each field as it is typed, and a note that times use the routers own time zone, not the browsers -- relevant when configuring remotely while traveling.
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.
Summary
Three real gaps found using the Family Time Controls wizard (#147):
device_Nsection shapedhcp.jsalready uses, and only falls back to a message when there is truly nothing to pick from — which now correctly names the real page.active_weekdays+active_hours, which match weekday and time-of-day independently at every moment with no concept of one session spanning two calendar days. A midnight-crossing window (e.g. 21:00-07:00) needed BOTH the start day and end day checked for the crossing to close out, but checking the end day also opened a second, unwanted partial block starting that day's own evening, silently cut off at midnight since the day after wasn't checked too. Switched toactive_weekly_ranges: one explicitDay HH:MM - Day HH:MMpiece per selected day on a continuous Sunday-to-Saturday clock, including the Saturday-into-Sunday week wrap, with no such artifact — matches the general Restrictions form's own weekly-schedule field format exactly.Depends on #155 for the scheduling fix to actually take effect —
active_weekly_rangesrules (both this wizard's and the general form's own pre-existing option) currently fail to load into nftables at all due to a separate, unrelated bug ingargoyle-firewall-util. This PR's own logic is correct and independently reviewable regardless of merge order, but the schedule won't actually enforce anything until #155 lands too.Test plan