Skip to content

Conversation

@rsbh
Copy link
Member

@rsbh rsbh commented Feb 9, 2026

Summary

This PR updates the following tables to use Virtualized DataTable.

  1. Organizations
  2. Users
  3. Audit Logs
  4. Invoices

Technical Details

Test Plan

  • Manual testing completed
  • Build and type checking passes

Summary by CodeRabbit

  • New Features

    • Enhanced table performance with virtualization across audit logs, invoices, organizations, and users pages.
  • Style

    • Refined column sizing for improved layout consistency.
    • Updated scrolling behavior for better responsiveness.
  • Chores

    • Updated package dependencies.

@vercel
Copy link

vercel bot commented Feb 9, 2026

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

Project Deployment Actions Updated (UTC)
frontier Ready Ready Preview, Comment Feb 9, 2026 9:22am

@coderabbitai
Copy link

coderabbitai bot commented Feb 9, 2026

📝 Walkthrough

Walkthrough

A systematic update across multiple admin list pages to replace standard table rendering with virtualized content, alongside CSS column sizing adjustments and a dependency version bump for @raystack/apsara.

Changes

Cohort / File(s) Summary
Dependency Update
web/apps/admin/package.json
@raystack/apsara version bumped from ^0.53.2 to ^0.56.2.
Virtualized Table Implementation
web/apps/admin/src/pages/audit-logs/list/list.tsx, web/apps/admin/src/pages/invoices/list/index.tsx, web/apps/admin/src/pages/organizations/list/index.tsx, web/apps/admin/src/pages/users/list/list.tsx
Replaced DataTable.Content with DataTable.VirtualizedContent; added rowHeight and groupHeaderHeight props to enable row virtualization and fixed row sizing.
CSS Layout Adjustments
web/apps/admin/src/pages/audit-logs/list/list.module.css, web/apps/admin/src/pages/invoices/list/list.module.css, web/apps/admin/src/pages/organizations/list/list.module.css, web/apps/admin/src/pages/users/list/list.module.css
Converted column constraints from max-width to min-width (300px); updated table wrapper from max-height with overflow: scroll to height with overflow: auto.
Column Styling Refinements
web/apps/admin/src/pages/organizations/list/columns.tsx, web/apps/admin/src/pages/organizations/list/list.module.css
Added explicit per-column styling blocks for title, created-by, and plan columns with dedicated flex widths; introduced new creator-column class; updated string quote formatting.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~18 minutes

Poem

🐰 Tables now leap with virtual grace,
Columns stretch wide in their proper space,
Apsara blooms in versions anew,
Scrolling flows smooth—oh, what a view!
Hop along now, performance shines through! 🌟

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'feat(admin-ui): use virtual datatable in admin app' directly and clearly summarizes the main change—replacing standard tables with virtualized DataTable components across multiple admin UI pages.
Description check ✅ Passed The description includes a complete Summary section listing the affected tables and provides a Test Plan section with checkboxes. However, the Changes and Technical Details sections are largely absent or incomplete, missing key implementation details about the changes made.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat_admin_ui_virtual_table

Comment @coderabbitai help to get the list of available commands and usage tips.

@rsbh rsbh changed the title Feat admin UI virtual table feat(admin-ui): use virtual datatable in admin app Feb 9, 2026
@coveralls
Copy link

Pull Request Test Coverage Report for Build 21819281287

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 38.24%

Totals Coverage Status
Change from base Build 21744973149: 0.0%
Covered Lines: 16107
Relevant Lines: 42121

💛 - Coveralls

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Fix all issues with AI agents
In `@web/apps/admin/src/pages/audit-logs/list/list.module.css`:
- Around line 53-59: The .table-content-container CSS currently has two height
declarations; remove the redundant height: 100% so only height: calc(100vh -
90px) remains in the .table-content-container rule, leaving overflow, width and
position untouched to ensure the intended viewport-based height is applied.
🧹 Nitpick comments (2)
web/apps/admin/src/pages/organizations/list/list.module.css (1)

40-44: Consider avoiding the hard-coded 90px height offset.

A fixed offset can drift if the navbar/toolbar height changes (wrapping, responsive layouts), leading to double scroll or clipped space. A CSS variable keeps it in sync.

Optional tweak (keeps current fallback)
 .table-wrapper {
   /* Navbar Height + Toolbar height */
-  height: calc(100vh - 90px);
+  height: calc(100vh - var(--admin-list-header-height, 90px));
   overflow: auto;
 }
web/apps/admin/src/pages/organizations/list/columns.tsx (1)

56-63: Avoid duplicated magic widths for column sizing.

The 300px width is repeated across multiple columns; consider centralizing it in constants to reduce drift during future tweaks.

Example consolidation
+const NAME_COL_WIDTH = 300;
+const CREATOR_COL_WIDTH = 300;
+const PLAN_COL_WIDTH = 250;
...
       styles: {
-        cell: { flex: '0 0 300px' },
-        header: { flex: '0 0 300px' }
+        cell: { flex: `0 0 ${NAME_COL_WIDTH}px` },
+        header: { flex: `0 0 ${NAME_COL_WIDTH}px` }
       },

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