UI detail sheet polish 3: notifications, saved views, and stack trace readability#2272
Merged
Conversation
- Restyle event tabs to match settings nav (bg-muted, gap, rounded-lg) - Add active tab dark mode styling (bg-background, shadow-xs) - Update stack trace container (bg-muted/50, rounded-xl, border) - Fix code component whitespace and use cn() for class merging - Change syntax colors: purple-400 -> purple-300, emerald-400 -> green-300 - Restyle copy buttons to icon-sm outline variant - Use keepPreviousData to prevent flash on event navigation
…, UI polish - Add Level (Info/Warning/Error) to system notifications (backend + frontend) - Add 'All' events predefined saved view with project filter on all views - Reset PredefinedSavedViewsVersion to 1 (feature hasn't launched) - Remove legacy issues->stacks fallback from PredefinedSavedViewsDataSeed - Remove ToFallbackSlug and slug fallback logic (all views have slugs) - Fix filter badge visibility when all filters are shown - Improve stack trace colors for light theme readability
- Remove Save/Delete Predefined menu items from saved-view-picker dropdown
- Add PUT saved-views/predefined endpoint to replace all predefined views from JSON
- Add GET organizations/{id}/saved-views/export endpoint to export org views as predefined definitions
- Enhance admin actions dialog with tabs (Current Config / Load from Org), org selector, editable JSON textarea, and Save button
- Flow: create org with desired views → export org views → edit JSON → save as new predefined set
Contributor
There was a problem hiding this comment.
Pull request overview
Polishes the new Svelte frontend across three areas: system notifications gain a severity Level, predefined saved views get a new "All" view plus a visible project filter and full slug enforcement, and stack trace markup gets light/dark color pairings.
Changes:
- Adds
SystemNotificationLevel(Info/Warning/Error) end-to-end (model, service, controller request, admin UI, notification component) and replaces the oldValueFromBody<string>POST body withSetSystemNotificationRequest. - Reworks predefined saved views: removes slug-fallback paths (
ToFallbackSlugand legacyissues→stackskey), resetsPredefinedSavedViewsVersionto 1, adds export/replace admin endpoints + dialog, seeds a newevents:allview, and adds a visibleprojectfilter to every predefined view. - Polishes UI: hidden-filter badge/tooltip hide when filters are expanded, and stack trace components use paired light/dark Tailwind color classes for readability.
Reviewed changes
Copilot reviewed 25 out of 25 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Exceptionless.Core/Models/Messaging/SystemNotification.cs | Adds SystemNotificationLevel enum to the messaging model. |
| src/Exceptionless.Core/Services/NotificationService.cs | Accepts and stores notification level. |
| src/Exceptionless.Web/Controllers/StatusController.cs | Replaces POST body with SetSystemNotificationRequest containing message + level. |
| src/Exceptionless.Web/Controllers/SavedViewController.cs | Resets version to 1, removes slug fallbacks, adds org export and replace-predefined endpoints. |
| src/Exceptionless.Core/Seed/PredefinedSavedViewsDataSeed.cs | Drops legacy issues→stacks key fallback during seed updates. |
| src/Exceptionless.Core/Seed/predefined-saved-views.json | Adds events:all view and a visible project filter on each definition. |
| tests/Exceptionless.Tests/Controllers/SavedViewControllerTests.cs | Bumps predefined view count assertions from 5→6 (and 4→5). |
| ClientApp/.../notifications/api.svelte.ts | Mutation now posts { level, message } instead of { value }. |
| ClientApp/.../websockets/models.ts | Adds optional level field to SystemNotification. |
| ClientApp/.../notifications/components/notifications.svelte | Maps level → variant/icon for the displayed banner. |
| ClientApp/.../system/notifications/+page.svelte | Adds level select to admin Set Notification dialog. |
| ClientApp/.../admin/api.svelte.ts | Adds getOrgSavedViewsExportMutation and putPredefinedSavedViewsMutation. |
| ClientApp/.../system/actions/[[category]]/+page.svelte | Replaces JSON viewer with editable predefined-saved-views dialog including org export tab. |
| ClientApp/.../saved-views/slugs.ts | savedViewResolvedSlug no longer falls back to a computed slug. |
| ClientApp/.../saved-views/components/saved-view-picker.svelte | Removes the per-view predefined promote/delete menu items. |
| ClientApp/.../shared/components/faceted-filter/faceted-filter-builder.svelte | Hides hidden-filter badge and trims tooltip when showHiddenFilters is true. |
| ClientApp/.../events/components/stack-trace/* + simple-stack-trace-header.svelte | Updates colors to light/dark Tailwind pairs for readability. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…get options - Added dismiss button to system notification banner for user convenience. - Updated system notification model to include target options (Both, Legacy, Modern). - Refactored notification handling in the admin panel to support new target options. - Improved notification display logic to sanitize HTML content for safety. - Created a new page for managing predefined saved views with clipboard functionality. - Removed deprecated code related to predefined saved views management.
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
Batch of UI polish and feature improvements for the new Svelte frontend.
Changes
System Notifications — Level Support
Levelenum (Info, Warning, Error) toSystemNotificationmodelNotificationService.SetSystemNotificationAsyncaccepts a level parameterPredefined Saved Views
-date)projectfilter (no value pre-selected) to all 6 predefined views so users discover they can filter by projectPredefinedSavedViewsVersionto 1 (feature hasn't launched yet)issues → stackskey fallback fromPredefinedSavedViewsDataSeed— no backwards compat neededToFallbackSlugand all slug fallback logic — all saved views have slugs persistedFilter Badge
showHiddenFilters = true)Stack Trace Readability