Skip to content

Conversation

david-crespo
Copy link
Collaborator

@david-crespo david-crespo commented Jul 23, 2025

Copied from #2849, which I accidentally merged and couldn't reopen even after I fixed main.


Still very rough, but has been a helpful exercise in working through some of the design due to the sheer amount of information and differing layout from other pages.

CleanShot 2025-07-08 at 11 47 02

Stubbing out based on oxidecomputer/omicron#7339.

Uses Tanstack Virtual. On testing with > 500 lines without virtualisation it starts to get a bit chunky especially if you're interacting with the page (e.g. opening the row).

Hoping that silo name and actor display name can be plumbed through so those are hard-coded for now.

Still needs:

  • Error state
  • Loading/placeholder state
  • Copy JSON to clipboard
  • Equivalent CLI/API command
  • Fix giant footer spacing

Copy link

vercel bot commented Jul 23, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Updated (UTC)
console Ready Ready Preview Aug 15, 2025 5:49pm

@david-crespo
Copy link
Collaborator Author

Can't repro locally, but this happened twice in CI so it's probably not a fluke.

image

import { toSyslogDateString, toSyslogTimeString } from '~/util/date'
import { docLinks } from '~/util/links'

export const handle = { crumb: 'Audit Log' }

// todo
// might want to still render the items in case of error
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably, we could just add a banner and a refresh. What type of error could we expect here? If you were no longer authorised you'd be logged out? Just a general server error retrieving?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Errors should be pretty unlikely if you can get to the page at all, so I’d say keep it very generic.

return <div>Error State</div>
}

// todo
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I'll do a skeleton state that is essentially a bunch of empty items to avoid too much layout shift when they load

@benjaminleonard
Copy link
Contributor

I don't like how the JSON causes the rest of the items to move. Even with virtualisation and a few optimisations it all takes too long to render.

I want to have another stab at the JSON preview design but it should be detached from the main list to have it feeling snappier. Will also work on the skeleton and error states.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants