-
Notifications
You must be signed in to change notification settings - Fork 14
Update protocol filters #2850
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update protocol filters #2850
Conversation
… codes sub-option
…otocol, type, code
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
The popping in and popping out listboxes and inputs feel kinda bad, though it's probably livable. This would be a great place for inline table cell editing — I think it would feel a lot more intuitive to add an ICMP row and then be able to fill in the type and the code inline. I wonder if we could reduce the cascading effect by putting the type and code inputs side by side instead of stacking them. We don't do that anywhere I can think of, though, and the combobox items probably need more room than half width. |
I checked in with @FelixMcFelix on the UI using the latest Vercel deployment and he had no notes, apart from liking the ICMP type names in the dropdown. |
I wonder if it might make sense to have just the protocol selector and then, once the protocol was selected (but not yet submitted) to show a summary/details type arrow to reveal the type and code options. That would give people the ability to drill down as necessary, but leave the default as "all traffic". |
Inline inputs in the mini table might work if the content is short enough – is it just a single digit / range of single digits? I'm not against horizontally stacking the inputs also – we're not already but we don't have many inputs with single-digit items. FWIW, we need the input mini table at some point to resolve the firewall rule form changes and webhooks anyway. |
I think they really are single digits and digit ranges, though the handy type descriptions in the combobox list are a lot longer. We don't have to put those in the input itself necessarily. |
Yeah, also realising its not worth to go too deep on this because it's all changing to mini-tables anyway. I'd say lets just squeeze in a version that works and then move onto the mini-table input. |
Going to make an issue for more general listbox/combobox improvements but this seems like the best solution right now. |
There's an improvement in #2829 that we can pull in that might improve some of that UX |
* Bump Omicron further and add IP Pool ID column to networking tab * simplify IP Pool finding with safer fallback * Bump Omicron to latest and run gen-api; no changes to console * give IpPoolCell loading state, don't blow up on errors * A few post-review adjustments * Simpler handling of resolveIpPool * small type refactor * shorter getIpFromPool --------- Co-authored-by: David Crespo <[email protected]>
I noticed that the other arbitrary values combobox on this page (the only one in the whole app, it turns out) does not have this problem because it uses I'll have to take another quick look over, but most likely this PR is good to go. |
Welp, that test failure is not a flake. Edit: I was confused. I got two emails indicating two different failures, but they were both on 6145e42 (the main merge), while the latest commit seems to be fine. |
oxidecomputer/console@e891f96...8c54bea * [8c54bea3](oxidecomputer/console@8c54bea3) oxidecomputer/console#2850 * [a78eac9e](oxidecomputer/console@a78eac9e) oxidecomputer/console#2858 * [320a6c41](oxidecomputer/console@320a6c41) chore: playwright 1.54 * [e0890d02](oxidecomputer/console@e0890d02) oxidecomputer/console#2853 * [3da27b7e](oxidecomputer/console@3da27b7e) oxidecomputer/console#2838 * [99120cdf](oxidecomputer/console@99120cdf) tools: jeeves -> castle in dogfood deploy script * [eb7a44ea](oxidecomputer/console@eb7a44ea) oxidecomputer/console#2844 * [0ee6a973](oxidecomputer/console@0ee6a973) oxidecomputer/console#2845 * [837d6aa2](oxidecomputer/console@837d6aa2) oxidecomputer/console#2840 * [c5c0f3db](oxidecomputer/console@c5c0f3db) oxidecomputer/console#2843 * [83a47614](oxidecomputer/console@83a47614) oxidecomputer/console#2841 * [cdb9f736](oxidecomputer/console@cdb9f736) oxidecomputer/console#2836 * [06c2e727](oxidecomputer/console@06c2e727) oxidecomputer/console#2839 * [e71c8282](oxidecomputer/console@e71c8282) oxidecomputer/console#2835 * [5f338ce8](oxidecomputer/console@5f338ce8) oxidecomputer/console#2811
oxidecomputer/console@e891f96...8c54bea * [8c54bea3](oxidecomputer/console@8c54bea3) oxidecomputer/console#2850 * [a78eac9e](oxidecomputer/console@a78eac9e) oxidecomputer/console#2858 * [320a6c41](oxidecomputer/console@320a6c41) chore: playwright 1.54 * [e0890d02](oxidecomputer/console@e0890d02) oxidecomputer/console#2853 * [3da27b7e](oxidecomputer/console@3da27b7e) oxidecomputer/console#2838 * [99120cdf](oxidecomputer/console@99120cdf) tools: jeeves -> castle in dogfood deploy script * [eb7a44ea](oxidecomputer/console@eb7a44ea) oxidecomputer/console#2844 * [0ee6a973](oxidecomputer/console@0ee6a973) oxidecomputer/console#2845 * [837d6aa2](oxidecomputer/console@837d6aa2) oxidecomputer/console#2840 * [c5c0f3db](oxidecomputer/console@c5c0f3db) oxidecomputer/console#2843 * [83a47614](oxidecomputer/console@83a47614) oxidecomputer/console#2841 * [cdb9f736](oxidecomputer/console@cdb9f736) oxidecomputer/console#2836 * [06c2e727](oxidecomputer/console@06c2e727) oxidecomputer/console#2839 * [e71c8282](oxidecomputer/console@e71c8282) oxidecomputer/console#2835 * [5f338ce8](oxidecomputer/console@5f338ce8) oxidecomputer/console#2811
There's a little bit of design input still coming on this for the mini table and badges in the Firewall Rules tab, but I'm getting to the point where I'm fiddling, so it's time to open up the draft PR.
The crux of this is a change logged in issue #2846, where the API now uses a more sophisticated object for protocol filters, rather than the earlier strings of
TCP
,UDP
, andICMP
. Also, users can add multiple ICMP filters. We still continue to useTCP
andUDP
, butICMP
protocol filters now have additional information, including an optional ICMP type and optional code.For more on ICMP types and codes, this list of IANA code fields might be useful.
There are two main changes to the UI that a user will see with this PR.
First, the Firewall Rules tab has a new treatment for the protocol filters:

Note how the code can have either an individual number or a range.
Second, the Protocol Filters section of the Firewall Rules form has a new step-through form process, and a new mini-table:


I am open to any thoughts / tweaks / etc.
Closes #2846