Data-grid overhaul + session-replays / team-payments dashboard surfaces#1424
Draft
mantrakp04 wants to merge 5 commits intodevfrom
Draft
Data-grid overhaul + session-replays / team-payments dashboard surfaces#1424mantrakp04 wants to merge 5 commits intodevfrom
mantrakp04 wants to merge 5 commits intodevfrom
Conversation
…ents surfaces - Rewrite data-grid with URL-synced state, new sizing logic, tests - Move analytics/replays → session-replays; add per-user session replays card - Add team-analytics and team-payments to team detail page - Add project_user.last_active_at index + permission-definitions pagination - Various editable-input / inline-save-discard / settings polish
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…sion handling - Introduced pagination for teams in the dashboard, allowing for efficient data retrieval and display. - Updated permission definitions to include cursor-based pagination, improving user experience when navigating through permissions. - Refactored various components to utilize the new paginated API, ensuring consistency across the application. - Added error handling for pagination and improved loading states in user session replays and team member tables. - Enhanced the data grid to support URL-synced state for column widths and visibility, improving user customization options. This update significantly enhances the dashboard's performance and usability, particularly for users managing large teams and permissions.
23db822 to
cabcf19
Compare
- Updated the ProjectUser model to simplify indexing on lastActiveAt. - Refactored permission definitions pagination to utilize a unified schema, improving consistency across project and team permissions. - Enhanced error handling in pagination logic for better user feedback. - Improved loading states and data retrieval efficiency in various components, including session replays and team permissions. These changes streamline the permission management experience and optimize data handling in the dashboard.
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
Refactors the dashboard data-grid into a smaller, URL-state-aware primitive and lands several new dashboard surfaces around it: per-user session replays, team-level analytics and payments, and pagination for permission definitions. Also moves session replays out from under
/analyticsto a top-level surface and adds aproject_user.last_active_atindex that the new weekly-active metrics depend on.Base:
dev→ Head:refactor/data-grid-and-dashboard-surfacesScope: 91 files, +5,644 / −1,858. Assets in this gist.
Screenshots
Captured from a local dev server (dashboard at
:8101, dummy project seeded with 26 users). Standard viewport 1920×1200, widescreen 2560×1440.Users list — data-grid overhaul in context
Widescreen:
User detail — new session-replays card + weekly metrics
Widescreen:
Session replays — moved out of
/analyticsWidescreen:
Project permissions — new pagination
Widescreen:
Other migrated surfaces
Scroll behaviour — new data-grid on the users list
What's new
packages/dashboard-ui-components/src/components/data-grid— rewritten. Trimmeddata-grid.tsxfrom ~1.7k LOC, split sizing logic intodata-grid-sizing.ts, addeduse-url-state.tsfor URL-synced state, and addeddata-grid.test.tsx.…/analytics/replaysto…/session-replays(top-level surface). Newuser-session-replays.tsxcard on the user detail page; new internalroute.tsxto feed it.team-analytics.tsxandteam-payments.tsx.permission-definitions-pagination.tsconsumed by both project and team permission CRUD routes.add_project_user_last_active_at_idx+ alastActiveAtindex that backs the new weekly-active metrics.editable-input,inline-save-discard,settings.tsx, walkthrough steps, and several data-table components touched in line with the data-grid rewrite.Notes for reviewers
apps/dashboard/src/components/data-table/*were updated to match — please scan those for any missed knobs.analytics/replays→session-replaysrename is git-tracked as renames; diffs should be small in those files.packages/template/src/lib/stack-app/session-replays/index.tsand additions inadmin-app-impl.ts/server-app-impl.tsmean OpenAPI specs (docs-mintlify/openapi/{admin,client}.json) regenerate; the diff is mostly mechanical.Test plan
pnpm typecheckcleanpnpm lintcleanpackages/dashboard-ui-components)lastActiveAtindex migration applied (i.e. on a fresh DB) and after applying it/analytics/replays/...URL path is no longer expected to be linked anywhere