Skip to content

Conversation

@graphite-app
Copy link
Contributor

@graphite-app graphite-app bot commented Jan 20, 2026

This draft PR was created by the Graphite merge queue.
Trunk will be fast forwarded to the HEAD of this PR when CI passes, and the original PRs will be closed.

The following PRs are included in this draft PR:

jog1t added 3 commits January 20, 2026 19:21
Closes FRONT-915

### TL;DR

Improved UI components and error handling for the Rivet application, with focus on sidebar layout, actor error handling, and query caching.

### What changed?

- **Sidebar Layout**: Restructured the sidebar navigation with proper sizing and layout for buttons, wrapped links in a flex container, and added proper icon placement
- **Actor Error Handling**: Enhanced error handling in `ActorStatusLabel` and `RunnerPoolError` components with better type definitions and pattern matching
- **Create Actor Dialog**: Fixed datacenter parameter to use `undefined` instead of empty string for inspector app type
- **Query Caching**: Implemented a `previousQueryCache` to prevent redundant query invalidation and improve performance
- **Loading Component**: Replaced `PendingRouteLayout` with `FullscreenLoading` for namespace routes

### How to test?

1. Verify the sidebar layout and buttons display correctly with proper sizing
2. Test actor error handling by triggering various error conditions
3. Create an actor in inspector mode and verify datacenter parameter is handled correctly
4. Navigate between pages to ensure query caching works properly without redundant invalidations
5. Check that namespace routes show the correct loading component

### Why make this change?

These changes improve the user experience by:

- Creating a more consistent and visually appealing sidebar layout
- Providing better error handling and more descriptive error messages for actor operations
- Optimizing query performance by preventing unnecessary invalidations
- Using appropriate loading components for a smoother user experience during navigation

The code structure is now more maintainable with better type definitions and pattern matching for error handling.
…jects page (#3979)

Closes FRONT-916

### TL;DR

Conditionally render the Settings link in the sidebar and clean up button styling.

### What changed?

- Added conditional rendering for the Settings link in the sidebar, only showing it when the user is on a namespace page
- Removed explicit `size="xs"` attributes from various HeaderButton components
- Removed redundant styling classes from several HeaderButton components
- Added the `useMatchRoute` hook to check the current route for conditional rendering

### How to test?

1. Navigate to a namespace page and verify the Settings link appears in the sidebar
2. Navigate away from a namespace page and verify the Settings link disappears
3. Check that all buttons in the sidebar maintain consistent styling despite the removed attributes

### Why make this change?

This change improves the user experience by only showing relevant navigation options based on context. The Settings link is only useful when viewing a namespace, so it should only appear in that context. Additionally, the code is cleaner by removing redundant styling attributes that are likely handled by default component styles.FRONT-916
Closes FRONT-917

### TL;DR

Fixed navigation issues in context switcher and improved UI components for better user experience.

### What changed?

- Fixed context switcher navigation by calling `onClose()` before navigation to prevent UI glitches
- Added a "Need help?" button with a help dropdown to the actor unavailable screen
- Improved error details accordion styling with proper padding
- Enhanced popover animation by adding `fill-mode-forwards` to prevent flickering during transitions
- Removed unused Rivet type import from actor-status-label

### How to test?

1. Test the context switcher by creating new projects and namespaces - verify the dropdown closes properly before navigation
2. Check the actor unavailable screen to ensure the help button appears and functions correctly
3. Verify error details accordion displays properly with correct padding
4. Test popovers throughout the application to ensure smooth animations without flickering

### Why make this change?

These changes address several UI/UX issues:

- The context switcher was not properly closing before navigation, causing visual glitches
- Users needed more guidance when encountering unavailable actors
- Error details display needed better spacing for readability
- Popover animations were flickering during transitions due to missing animation properties
@railway-app
Copy link

railway-app bot commented Jan 20, 2026

This PR was not deployed automatically as @graphite-app[bot] does not have access to the Railway project.

In order to get automatic PR deploys, please add @graphite-app[bot] to your workspace on Railway.

@graphite-app graphite-app bot closed this Jan 20, 2026
@railway-app railway-app bot temporarily deployed to rivet-frontend / preview January 20, 2026 19:21 Inactive
@graphite-app graphite-app bot deleted the gtmq_spec_958af7_1768936861641-347dafd7-63eb-48a7-a482-b4f6df887f07 branch January 20, 2026 19:21
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