Commit be585b8
authored
Next Gen UI: November Updates (#2042)
* Adds Chrome MCP verification instruction
Adds instruction to always use the chrome mcp to verify visual and functional correctness.
This ensures consistent testing and validation, particularly with the new site /next path.
* Adds separator above project data table
Adds a separator line above the project data table for better visual separation of the header and content.
This improves the overall layout and readability of the projects page.
* Improves authentication handling
Enhances authentication logic by directly checking the access token to avoid reactivity issues with PersistedState.
Also, resets the access token to an empty string instead of null when a 401 error is encountered.
* Adds stack log level component
Adds a component to display the log level associated with a stack.
This enhances the stack card by providing users with quick insights
into the severity of events within a stack.
* Improves stack filter tooltip appearance
Enhances the stack filter tooltip to provide a better user experience by improving the visual appearance and interaction.
The tooltip trigger now indicates it is clickable.
It also now includes accessibility attributes.
* Adds skeleton for event counts
Adds a skeleton loading indicator to the stack card
while event counts are loading.
This improves the user experience by providing visual feedback
that data is being fetched.
* Adds Storybook stories for filter triggers
Creates Storybook stories for Boolean, Date, Level, Number, Project, Reference, Session, Status, String, Tag, Type, and Version filter triggers.
These stories provide visual examples of the filter trigger components, showcasing both "With Text" and "Icon Only" variations, facilitating easier development and testing.
Also, refactors faceted filter trigger components to omit ButtonProps 'value' and sets the button class to 'cursor-pointer'. Removes the title const and adds a title property to the Button component.
* Improves query performance for faceted filters.
Optimizes faceted filter queries by enabling them only when the dropdown is open, reducing unnecessary API calls and improving performance.
Adds an `enabled` option to count queries to prevent fetching data until the filter dropdown is opened. This enhancement reduces initial load times and optimizes resource usage, specifically for the project and tag faceted filters.
* Adds WebSocket client with reconnection logic
Implements a WebSocket client with automatic reconnection capabilities.
This change introduces a robust WebSocket client, managing connection state, and handling reconnections with exponential backoff. It addresses potential connection drops and ensures a stable communication channel.
The client now handles authentication failures gracefully, preventing unnecessary reconnection attempts. It includes comprehensive tests to ensure reliability and proper behavior in various scenarios.
* Updated deps
* updated deps
* Refines error handling and auth logic
Improves the error handling in the layout to prevent infinite loops and unexpected behavior by more accurately determining which errors should be retried.
This change also streamlines the authentication logic by clearing the access token only if it exists, preventing potential issues.
* Improves WebSocket client resilience
Increases the WebSocket connection timeout to provide
a more reliable connection.
Adds try/catch to WebSocket creation to handle errors.
Adds enhanced logging for debugging purposes, providing
more context on connection issues and authentication failures.
Prevents reconnection attempts after authentication failures.
* Improves token caching for auth
Introduces CachedPersistedState to improve token caching
and prevent excessive reactive signal triggers. This reduces
unnecessary reads from localStorage and optimizes the authentication flow.
Adds vitest setup to mock local storage in client tests to
avoid errors and warnings.
Fixes a logout issue where the access token was not being cleared properly.
svecosystem/runed#382
* Added eslint-plugin-query
TanStack/query#9643
* Prevents notification banner from showing during page load
* Clarifies documentation context usage.
Specifies when to use context7 for documentation
purposes, focusing on code generation, setup,
configuration steps, and library/API details.
* Updated deps
* Adds updated date to the organization view.
Extends the organization view model to include the last
updated date. This allows clients to accurately reflect the
most recent state of the organization.
* Extends organization search criteria
Expands organization search to include organization ID,
allowing users to find organizations by either name or ID.
* Added users to sidebar
* Enhances notification component with new variants
Extends the notification component to support additional variants, including impersonation and information.
These new variants allow for more versatile and informative notifications within the application. The component now accepts action and icon slots to further customize the notification's appearance and behavior, providing more context and interaction options.
* Adds impersonation notification component
Creates a notification component to inform users when they are impersonating another user.
This component includes a button to stop impersonating and redirect the user to their default organization settings.
* Hides organization list during impersonation
Ensures the organization list is not displayed when a user is impersonating another user.
This prevents unintended actions or confusion when operating under a different user's context.
* Adds admin organization search query
Introduces a new query for searching organizations in the admin section.
This enables administrators to efficiently find organizations based on
various criteria, improving overall management capabilities.
Includes necessary interface definitions for request parameters and
supports filtering by criteria, limit, mode, page, paid, and suspended
status.
* Adds impersonation notification
Adds a notification to inform users when they are impersonating an organization.
This helps to improve transparency and awareness for global administrators.
The notification is displayed only when a global admin is viewing an organization they do not belong to.
* Extends badge variants with new color options
Adds red, amber, and orange color variants to the badge component.
This allows for more diverse visual cues and improved user
interface expressiveness.
* Updates organization notification links
Updates organization notification links to use the new app router.
Adds organization over limit and suspension indicators to the organization table.
* Updates svelte and lucide dependencies.
Updates svelte and lucide dependencies to their latest versions.
These updates likely include bug fixes, performance improvements, and new features.
* Refactors organization API interfaces.
Moves the `GetAdminSearchOrganizationsParams` and `GetAdminSearchOrganizationsRequest` interfaces to the bottom of the file for better organization and readability.
* Adds impersonate organization functionality
Implements the ability for admin users to impersonate organizations.
This includes a new dialog for selecting an organization to impersonate,
the ability to stop impersonating, and updates to the sidebar to
reflect the impersonation status. It introduces pagination for the
organization selection list and provides filtering options based on
plan type and suspension status.
Also, the pagination component was refactored to use Radix UI primitives
for improved accessibility and consistency.
* Improves organization selection and display
Refactors the organization selection and display logic in the application layout.
- Introduces a new `PageNumber` component for consistent pagination display.
- Updates the organization switcher to handle impersonated organizations.
- Redirects non-admin users to the add organization page if no organizations exist.
- Ensures the first organization is selected if none is currently selected.
* Enhances organization selection UI
Improves the organization selection dialog by adding total count display and adjusting pagination layout for better responsiveness on smaller screens.
* Uses current organization ID directly
Simplifies organization notifications by using the current organization ID directly.
This avoids storing the organization ID separately, streamlining the component's logic and ensuring it always reflects the currently selected organization.
* Enhances organization impersonation flow
Improves the organization impersonation feature by streamlining navigation and updating the organization context directly.
This change simplifies the process of switching between organizations when impersonating, ensuring a smoother user experience.
It also fixes an issue where query string parameters might be applied during redirection.
* Updates routes to use resolve function
Updates all internal links to use the resolve function for improved route handling and consistency.
This change ensures that all routes are correctly resolved, regardless of the base URL or environment configuration. It replaces hardcoded paths with dynamically generated paths using the resolve function.
* Improves text wrapping and reactivity.
Refactors several components to improve text wrapping and whitespace handling for better readability, especially in code and stack trace displays.
Additionally, updates multiple components to use `$derived` for reactive property updates, ensuring UI elements are updated efficiently in response to data changes.
This change enhances the user experience by ensuring text is displayed correctly and UI elements react appropriately to changes in data.
* Navigates to app route before updating state
Ensures the application navigates to the main app route before updating the organization state during impersonation or when stopping impersonation. This resolves potential issues where the state update might occur before the route is fully loaded, leading to inconsistent behavior.
* Regenerated api.ts
Comparing the uncommitted changes to the git branch version, here are the actual code differences (ignoring comments, whitespace, and quote styles):
Key Changes:
Added // @ts-nocheck at line 3
Moved StackStatus enum to the top of the file (before BillingStatus)
Removed multi-line comment documentation for BillingStatus enum (the one explaining 0=Trialing, 1=Active, etc.)
Removed multi-line comment documentation for StackStatus enum (the one explaining the enum values)
Reordered enum exports - StackStatus now comes before BillingStatus
Changed card_last4 property in ViewOrganization - was quoted as a string key ('card_last4') in the git version, now it's a regular identifier (card_last4)
Removed multi-line comment for BillingStatus enum in the ViewOrganization class (the one explaining billing status values)
Reformatted code with different indentation and line breaks (but this is purely whitespace)
Summary:
The substantive code changes are:
Addition of @ts-nocheck directive
Reordering of StackStatus and BillingStatus enums
Removal of verbose comment documentation for enum values
Fix of card_last4 property formatting (removed unnecessary quotes)1 parent 1c87a14 commit be585b8
File tree
116 files changed
+3700
-643
lines changed- .github/instructions
- src
- Exceptionless.Core/Repositories
- Exceptionless.Web
- ClientApp
- src
- lib
- features
- auth
- events
- components
- filters
- simple-stack-trace
- stack-trace
- summary
- organizations
- components
- dialogs
- notifications
- table
- projects
- stacks/components
- websockets
- generated
- routes
- (app)
- (components)
- layouts
- account
- appearance/(components)
- security
- issues
- organization
- [organizationId]
- billing
- manage
- projects
- project/[projectId]
- manage
- stream
- Models/Organization
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
116 files changed
+3700
-643
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
11 | | - | |
| 11 | + | |
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
51 | 51 | | |
52 | 52 | | |
53 | 53 | | |
54 | | - | |
| 54 | + | |
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
3 | 4 | | |
4 | 5 | | |
5 | 6 | | |
| |||
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| 21 | + | |
20 | 22 | | |
21 | 23 | | |
22 | 24 | | |
| |||
37 | 39 | | |
38 | 40 | | |
39 | 41 | | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
40 | 47 | | |
41 | 48 | | |
42 | 49 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
29 | | - | |
30 | | - | |
31 | | - | |
32 | | - | |
33 | | - | |
34 | | - | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
35 | 35 | | |
36 | | - | |
| 36 | + | |
37 | 37 | | |
38 | | - | |
| 38 | + | |
39 | 39 | | |
40 | | - | |
| 40 | + | |
| 41 | + | |
41 | 42 | | |
42 | | - | |
| 43 | + | |
43 | 44 | | |
44 | | - | |
| 45 | + | |
45 | 46 | | |
46 | 47 | | |
47 | | - | |
| 48 | + | |
48 | 49 | | |
49 | 50 | | |
50 | | - | |
51 | | - | |
52 | | - | |
53 | | - | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
54 | 55 | | |
55 | | - | |
56 | | - | |
57 | | - | |
58 | | - | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
59 | 60 | | |
60 | 61 | | |
61 | 62 | | |
62 | | - | |
63 | | - | |
64 | | - | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
65 | 68 | | |
66 | 69 | | |
67 | 70 | | |
68 | 71 | | |
69 | 72 | | |
70 | | - | |
71 | | - | |
72 | | - | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
73 | 76 | | |
74 | 77 | | |
75 | 78 | | |
76 | 79 | | |
77 | | - | |
78 | | - | |
| 80 | + | |
| 81 | + | |
79 | 82 | | |
80 | 83 | | |
81 | 84 | | |
82 | 85 | | |
83 | 86 | | |
84 | | - | |
| 87 | + | |
85 | 88 | | |
86 | | - | |
| 89 | + | |
87 | 90 | | |
88 | | - | |
89 | | - | |
90 | | - | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
91 | 94 | | |
92 | | - | |
93 | | - | |
94 | | - | |
95 | | - | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
96 | 99 | | |
97 | 100 | | |
98 | 101 | | |
| |||
Lines changed: 6 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | | - | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
33 | | - | |
34 | | - | |
35 | | - | |
36 | | - | |
| 32 | + | |
37 | 33 | | |
38 | 34 | | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
| 35 | + | |
44 | 36 | | |
45 | 37 | | |
46 | 38 | | |
47 | | - | |
| 39 | + | |
48 | 40 | | |
49 | 41 | | |
50 | 42 | | |
| |||
147 | 139 | | |
148 | 140 | | |
149 | 141 | | |
150 | | - | |
| 142 | + | |
| 143 | + | |
151 | 144 | | |
152 | 145 | | |
153 | 146 | | |
| |||
Lines changed: 2 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
74 | 74 | | |
75 | 75 | | |
76 | 76 | | |
| 77 | + | |
77 | 78 | | |
78 | 79 | | |
79 | 80 | | |
| |||
171 | 172 | | |
172 | 173 | | |
173 | 174 | | |
174 | | - | |
| 175 | + | |
175 | 176 | | |
176 | 177 | | |
177 | 178 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
161 | 161 | | |
162 | 162 | | |
163 | 163 | | |
164 | | - | |
| 164 | + | |
165 | 165 | | |
166 | 166 | | |
167 | 167 | | |
| |||
Lines changed: 36 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
0 commit comments