Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: oxidecomputer/console
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: a5fc417d
Choose a base ref
...
head repository: oxidecomputer/console
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 948c1d33
Choose a head ref
  • 11 commits
  • 131 files changed
  • 4 contributors

Commits on Jan 6, 2026

  1. tools: api-diff: don't use delta if output is being piped (#3003)

    * tools: api-diff: don't use delta if output is being piped
    
    * git style diffs with less filename noise
    david-crespo authored Jan 6, 2026
    Configuration menu
    Copy the full SHA
    111646f View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2026

  1. Centralize "don't animate" logic for side modals (#3007)

    centralize don't animate logic for side modals
    david-crespo authored Jan 9, 2026
    Configuration menu
    Copy the full SHA
    b9344ef View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2026

  1. Disable snapshot for local disks (#3002)

    disable snapshot for local disks
    david-crespo authored Jan 16, 2026
    Configuration menu
    Copy the full SHA
    c916d66 View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2026

  1. Configuration menu
    Copy the full SHA
    62e0e4d View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2026

  1. Bump max cpus per VM to 254 (#2974)

    * bump max cpus per VM to 254
    
    * make that 128
    david-crespo authored Feb 2, 2026
    Configuration menu
    Copy the full SHA
    ed139b1 View commit details
    Browse the repository at this point in the history
  2. npm audit fix (#3023)

    david-crespo authored Feb 2, 2026
    Configuration menu
    Copy the full SHA
    5344169 View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2026

  1. Make sure anti-affinity fail badge shows up on table (#3018)

    * Make sure anti-affinity fail badge shows up on table
    
    * Revert "Make sure anti-affinity fail badge shows up on table"
    
    This reverts commit 3413315.
    
    * Update `design-system` dep
    
    ---------
    
    Co-authored-by: Benjamin Leonard <benji@oxide.computer>
    charliepark and benjaminleonard authored Feb 3, 2026
    Configuration menu
    Copy the full SHA
    7ca66ea View commit details
    Browse the repository at this point in the history
  2. Put routes table on router page in card block (#3024)

    * Remove irregular table title from router page
    
    * Update divider spacing
    
    * Divider spacing tweaks
    
    * use CardBlock for Routes table
    
    ---------
    
    Co-authored-by: Benjamin Leonard <benji@oxide.computer>
    charliepark and benjaminleonard authored Feb 3, 2026
    Configuration menu
    Copy the full SHA
    61464d9 View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2026

  1. Update to new networking API shape, with IPv6 (#3005)

    * Update to new networking API shape, with IPv6
    
    * Update api generator to 0.13.1 and run
    
    * Remove unused helper
    
    * simpler handling, as action is impossible without a pool
    
    * Updates to Networking Interfaces table
    
    * Update tests
    
    * Update form with IPv4, IPv6, dual stack
    
    * proper v4 vs v6 filtering
    
    * update types in form
    
    * more defaults
    
    * flatten default options
    
    * Add instance create tests
    
    * Update to latest Omicron; npm run gen-api
    
    * Bump @oxide/openapi-gen-ts
    
    * npm run gen-api
    
    * Update UX for ephemeral IP attach modal
    
    * e2e text flexibility
    
    * fix bug when defaultPool was falsy
    
    * fix runtime issue if siloPools haven't loaded
    
    * Fix bug where when both IPv4 and IPv6 default pools exist, { poolSelector: { type: 'auto' } } fails unless ipVersion is specified
    
    * Better handling of dual default pools
    
    * Simplify default badging
    
    * Fix v6 automatic pool assignment issue
    
    * Remove DefaultPoolCell
    
    * Ensure unicast pools are used for ephemeral IP form
    
    * Fix incorrect pool issue with Floating IP create flow
    
    * Proper handling of unicast pools in instance create
    
    * make sure external IP version matches NIC type
    
    * Better flow for IP Pool selector; add component
    
    * only show NIC-version-matching IP pools
    
    * fix crashing IP Pools list
    
    * update tests
    
    * Fix issue with sometimes blank field
    
    * Better handling of IP versions to show during create flow
    
    * Better IP type compatability handling
    
    * Better default-pool + ipVersion handling
    
    * Better handle defaults and empty states
    
    * refactor / copy
    
    * another refactor to defaults to match API
    
    * revert copy for now
    
    * external IP version compatibility should consider the primary NIC; add tests for Ephemeral IP attachment
    
    * Ensure that when custom NIC is created, Ephemeral IP options match first custom NIC in list
    
    * Disable ephemeral IP checkbox when instance has no compatible NICs
    
    * Add IP version to silo IP Pools table
    
    * Add IP version to IP Pool create flow
    
    * Proper height for NIC table rows
    
    * Better microcopy, tooltip, validation on IP Pool ranges
    
    * Better microcopy, tooltip, validation on IP Pool ranges
    
    * Update to latest omicron sha (92e0ae0c)
    
    * post-review updates round 1
    
    * clean up NIC table
    
    * latest OMICRON_VERSION
    
    * More updates, plus test fixes
    
    * npm run fmt
    
    * Fix unrelated test
    
    * Better handle default / undefined data
    
    * smarter mock exception handling
    
    * Add logic to determine v4/v6 NICs during create flow
    
    * Use available pools to determine default NIC type on instance create
    
    * refactor logic around determining NIC and pool availability
    
    * refactoring
    
    * more cleanup
    
    * Disable NICs when no VPCs
    
    * Filter Floating IP options based on the available NICs on the instance
    
    * update tests and mock data
    
    * update OMICRON_VERSION; no API changes
    
    * Defer to API for selecting default pool
    
    * Default to selecting Ephemeral IP pool, rather than leaving blank, to reduce conflict when both v4 and v6 defaults exist
    
    * Refactor, work on tests
    
    * npm run fmt
    
    * a few small tweaks before larger experiment on default NIC selection
    
    * use ALL_ISH on NIC list
    
    * decouple NIC defaults from external IP pool configuration
    
    * address flaky/flakey vpc tests
    
    * Fix flaking Firefox failure
    
    * smarter defaults when pool list changes
    
    * Use util to evaluate version without extra lookup
    
    * refactor
    
    * Bump omicron and update api
    
    * Add links to docs in IP Pool Create form
    
    * gap-0 on IP versions double row
    
    * Remove icon
    
    * Proper radio buttons for NetworkInterfaceField
    
    * Use MiniTable with add/clear button pattern
    
    * Fix IP Pool column title in test
    
    * remove extra testing column
    
    * add explicit blur step to help with Firefox in e2e tests
    
    * update reducedMotion setting in Playwright config for e2e tests
    
    * TS updates
    
    * More playwright config tweaks; working locally but who knows
    
    * Add blur back in; again, all working locally
    
    * use remeda sortBy with array to sort pools
    
    * remove falsy checks on things that can't be falsy
    
    * split compatible pools filter into -cast and ip version
    
    Renames the pool-filtering hasIpVersion to poolHasIpVersion to make
    room for a predicate that filters by parsing the actual IP string.
    
    * replace filterFloatingIpsByVersion with hasIpVersion predicate
    
    Mirrors the poolHasIpVersion pattern: a curried predicate that can be
    used directly with Array.filter, e.g. .filter(hasIpVersion(['v4'])).
    
    * stable array for IP versions; ts-pattern for NIC type matching
    
    Hoists ALL_IP_VERSIONS constant to avoid creating a new array on every
    render when compatibleVersions prop is omitted, which was breaking
    useMemo caching.
    
    Rewrites getCompatibleVersionsFromNicType with exhaustive ts-pattern
    match for clearer control flow.
    
    * CLAUDE.md: add guidance on avoiding type casts
    
    * network-interface-create: add form values type to avoid cast
    
    * tests for IpPoolSelector
    
    * placeholder copy
    
    * test default pools with elaborate mock situation
    
    * simplify resolveIpStack, move to utils file
    
    * Simplify `IpPoolSelector` and call sites (#3032)
    
    * refactor IpPoolSelector, derive ipVersion
    
    * handle default pool in defaultValues, don't sort
    
    * get rid of advanced according on floating IP create
    
    * update e2es for removed advanced accordion
    
    * always require pool on floating IP and ephemeral IP attach
    
    * fix bad bad use of () => [...] sorter in remeda sortBy
    
    * get rid of ephemeralIpVersion form state var
    
    * instance-create: construct externalIps on submit
    
    use explicit form state for ephemeral IP and floating IPs state,
    build externalIps list out of those at submit time
    
    * small fixes
    
    * avoid required error on invisible pool selector
    
    * fix e2e failures by picking a pool even when two defaults
    
    * compatible versions constants to avoid render churn
    
    * IpPoolSelector: always mount Listbox even when there are no pools
    
    * no pools silo for testing
    
    * ephemeral IP checkbox disabled tooltip on label hover
    
    * use ben's styling suggestion on toIpPoolItem
    
    * sort pools first, checkbox 'checked', no explicit any
    
    ---------
    
    Co-authored-by: David Crespo <david.crespo@oxidecomputer.com>
    Co-authored-by: David Crespo <david-crespo@users.noreply.github.com>
    3 people authored Feb 5, 2026
    Configuration menu
    Copy the full SHA
    002af42 View commit details
    Browse the repository at this point in the history
  2. Update design system (#3027)

    * Update dep
    
    * Update to more specific `rounded` syntax
    benjaminleonard authored Feb 5, 2026
    Configuration menu
    Copy the full SHA
    cd0a0db View commit details
    Browse the repository at this point in the history
  3. Read only disks, no size limit on local disks (#3021)

    * bump API for read-only disks
    
    * read-only disks UI
    
    * add read only checkbox to instance create boot disk
    
    * better types in disk create form
    
    * remove size limit for local disks
    
    * debug-e2e skill + fix flake in disk size cap tests
    
    * bump API one more time
    
    * formatting. are you kidding me
    
    * read only: true/false badge in side modal
    
    * tweaks
    
    * fix min/minSize confusion
    
    * fix read only badge in name cell not being clickable
    david-crespo authored Feb 5, 2026
    Configuration menu
    Copy the full SHA
    948c1d3 View commit details
    Browse the repository at this point in the history
Loading