Polish dashboards and saved views#2245
Open
ejsmith wants to merge 3 commits into
Open
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This PR refines the Svelte dashboards and saved views experience by adding richer per-view UI preferences (table column order plus stat/chart visibility), improving navigation/command palette UX (including keyboard shortcuts), and tuning sample-data generation to better support local dogfooding.
Changes:
- Replace “default saved view” behavior with saved-view UI preferences:
column_order,show_stats, andshow_chart(backend + generated client + UI wiring). - Add keyboard shortcuts + command palette remote search (events/issues), plus a new keyboard shortcuts dialog.
- Improve dashboard/table presentation (chart shell, compact stat cards, column ordering persistence) and sample event generation defaults.
Reviewed changes
Copilot reviewed 72 out of 74 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/http/saved-views.http | Updates HTTP samples for new saved-view preference fields. |
| tests/Exceptionless.Tests/Utility/RandomEventGeneratorTests.cs | Adds coverage for sample event generator behavior (error log + stacking). |
| tests/Exceptionless.Tests/Pipeline/CheckEventDateActionTests.cs | Adds tests for extended event date range handling vs retention. |
| tests/Exceptionless.Tests/Mapping/SavedViewMapperTests.cs | Updates mapping tests to assert column_order instead of is_default. |
| tests/Exceptionless.Tests/Controllers/SavedViewControllerTests.cs | Updates controller tests for new saved-view preference fields and validations. |
| tests/Exceptionless.Tests/Controllers/Data/openapi.json | Regenerates OpenAPI baseline reflecting saved-view model changes. |
| src/Exceptionless.Web/Models/SavedView/ViewSavedView.cs | Updates API response model to include column order + stat/chart toggles. |
| src/Exceptionless.Web/Models/SavedView/UpdateSavedView.cs | Extends PATCH model with column order + stat/chart toggles and validations. |
| src/Exceptionless.Web/Models/SavedView/NewSavedView.cs | Extends create model with column order + stat/chart toggles and validations. |
| src/Exceptionless.Web/Controllers/SavedViewController.cs | Removes default-view logic and adds validation for column order in PATCH. |
| src/Exceptionless.Web/Controllers/AdminController.cs | Increases default sample event generation count. |
| src/Exceptionless.Web/ClientApp/src/routes/routes.svelte.ts | Adds route-level shortcut metadata support. |
| src/Exceptionless.Web/ClientApp/src/routes/(auth)/routes.svelte.ts | Title casing update (“Log Out”). |
| src/Exceptionless.Web/ClientApp/src/routes/(auth)/login/+page.svelte | Layout polish + dev credential prefill UX. |
| src/Exceptionless.Web/ClientApp/src/routes/(app)/stream/+page.svelte | Wires saved-view support for column order + default visibility. |
| src/Exceptionless.Web/ClientApp/src/routes/(app)/routes.svelte.ts | Adds keyboard shortcuts to key dashboard routes. |
| src/Exceptionless.Web/ClientApp/src/routes/(app)/project/[projectId]/integrations/+page.svelte | Improves button accessibility labeling. |
| src/Exceptionless.Web/ClientApp/src/routes/(app)/issues/+page.svelte | Adds stats panel + saved-view persistence for chart/stats/column order. |
| src/Exceptionless.Web/ClientApp/src/routes/(app)/+page.svelte | Adds stats panel + saved-view persistence for chart/stats/column order. |
| src/Exceptionless.Web/ClientApp/src/routes/(app)/+layout.svelte | Adds global keyboard shortcut handling + keyboard shortcuts dialog plumbing. |
| src/Exceptionless.Web/ClientApp/src/routes/(app)/(components)/navigation-command.svelte | Command palette enhancements incl. remote event/issue search + shortcuts. |
| src/Exceptionless.Web/ClientApp/src/routes/(app)/(components)/layouts/sidebar.svelte | Sidebar behavior tweaks (saved-view child handling, expanded state). |
| src/Exceptionless.Web/ClientApp/src/routes/(app)/(components)/layouts/sidebar-user.svelte | Refactors user menu to use programmatic navigation + adds shortcuts entry point. |
| src/Exceptionless.Web/ClientApp/src/routes/(app)/(components)/layouts/sidebar-organization-switcher.svelte | Adds open binding + focus management + programmatic navigation. |
| src/Exceptionless.Web/ClientApp/src/routes/(app)/(components)/layouts/navbar.svelte | Navbar logo positioning polish. |
| src/Exceptionless.Web/ClientApp/src/routes/(app)/(components)/keyboard-shortcuts-dialog.svelte | New dialog listing available app-shell shortcuts. |
| src/Exceptionless.Web/ClientApp/src/lib/generated/schemas.ts | Regenerates schemas for new saved-view fields and updated limits. |
| src/Exceptionless.Web/ClientApp/src/lib/generated/api.ts | Regenerates client types for new saved-view fields. |
| src/Exceptionless.Web/ClientApp/src/lib/features/stacks/components/table/stack-status-cell.svelte | Simplifies status rendering to label text. |
| src/Exceptionless.Web/ClientApp/src/lib/features/stacks/components/table/options.svelte.ts | Aligns StackStatus cell typing with model. |
| src/Exceptionless.Web/ClientApp/src/lib/features/shared/table.svelte.ts | Adds persisted column order + merges default/persisted visibility. |
| src/Exceptionless.Web/ClientApp/src/lib/features/shared/keyboard-shortcuts.ts | Introduces app shortcut registry + matching helper. |
| src/Exceptionless.Web/ClientApp/src/lib/features/shared/keyboard-shortcuts.test.ts | Adds tests for shortcut formatting and matching. |
| src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/ui/sheet/sheet-content.svelte | Adds overlay prop passthrough for sheet overlay customization. |
| src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/ui/dropdown-menu/dropdown-menu-item.svelte | Adds highlighted state styling to menu items. |
| src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte | Tweaks checkbox item spacing/indicator layout. |
| src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/ui/command/command-shortcut.svelte | Improves shortcut display semantics/styling (kbd). |
| src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/ui/command/command-dialog.svelte | Adjusts overlay opacity. |
| src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/ui/chart/index.ts | Exports new ChartShell wrapper component. |
| src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/ui/chart/chart-shell.svelte | New shared chart shell container styling. |
| src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/ui/button/button.svelte | Updates default/success variants and icon stroke styling. |
| src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/ui/badge/badge.svelte | Adds info and yellow badge variants. |
| src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/notification/notification.svelte | Adjusts “information” notification styling. |
| src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/faceted-filter/faceted-filter-builder.svelte | Adds hidden-filter count badge + label capitalization. |
| src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/faceted-filter/faceted-filter-actions.svelte | Capitalizes action labels. |
| src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/data-table/data-table-view-options.svelte | Prevents hiding the last visible hideable column. |
| src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/data-table/data-table-body.svelte | Improves column sizing/layout for select column and single-column views. |
| src/Exceptionless.Web/ClientApp/src/lib/features/sessions/components/sessions-stats-dashboard.svelte | Adds compact stat cards w/ tooltips + responsive duration rendering. |
| src/Exceptionless.Web/ClientApp/src/lib/features/sessions/components/sessions-dashboard-chart.svelte | Uses new Chart.Shell wrapper. |
| src/Exceptionless.Web/ClientApp/src/lib/features/saved-views/use-saved-views.test.ts | Updates saved-view hook tests for model changes (removes default-view logic). |
| src/Exceptionless.Web/ClientApp/src/lib/features/saved-views/use-saved-views.svelte.ts | Adds persistence of column order + chart/stat toggles + default visibility merge. |
| src/Exceptionless.Web/ClientApp/src/lib/features/saved-views/components/saved-view-picker.svelte | Adds column reorder UI + display toggles, and saves these preferences. |
| src/Exceptionless.Web/ClientApp/src/lib/features/saved-views/components/save-view-dialog.svelte | Removes “default view” option from dialog. |
| src/Exceptionless.Web/ClientApp/src/lib/features/saved-views/api.svelte.ts | Removes default-view cache enforcement logic. |
| src/Exceptionless.Web/ClientApp/src/lib/features/organizations/components/dialogs/impersonate-organization-dialog.svelte | Capitalizes “Reset Filters” label. |
| src/Exceptionless.Web/ClientApp/src/lib/features/events/components/table/stack-status-cell.svelte | Simplifies status rendering to label text. |
| src/Exceptionless.Web/ClientApp/src/lib/features/events/components/table/options.svelte.ts | Adds more event columns + default visibility config + column IDs. |
| src/Exceptionless.Web/ClientApp/src/lib/features/events/components/log-level.svelte | Adjusts badge variants for info/warn/error levels. |
| src/Exceptionless.Web/ClientApp/src/lib/features/events/components/extended-data-item.svelte | Title casing updates for menu items. |
| src/Exceptionless.Web/ClientApp/src/lib/features/events/components/events-stats-dashboard.svelte | New compact stats dashboard for events/issues. |
| src/Exceptionless.Web/ClientApp/src/lib/features/events/components/events-stack-chart.svelte | Uses new Chart.Shell wrapper. |
| src/Exceptionless.Web/ClientApp/src/lib/features/events/components/events-dashboard-chart.svelte | Uses Chart.Shell and updates “Issues” labeling. |
| src/Exceptionless.Web/ClientApp/src/lib/features/events/components/event-detail-sheet.svelte | Sheet polish + overlay customization + improved button accessibility. |
| src/Exceptionless.Web/ClientApp/src/app.css | Updates chart color variables + tweaks area fill opacity. |
| src/Exceptionless.Core/Utility/SampleDataService.cs | Increases sample event generation defaults. |
| src/Exceptionless.Core/Utility/RandomEventGenerator.cs | Ensures some error-level logs and improves stacking by limiting random error pool. |
| src/Exceptionless.Core/Repositories/Configuration/Indexes/SavedViewIndex.cs | Removes index mapping for deleted IsDefault field. |
| src/Exceptionless.Core/Plugins/EventProcessor/EventContext.cs | Adds AllowExtendedEventDateRange pipeline flag. |
| src/Exceptionless.Core/Pipeline/EventPipeline.cs | Plumbs allow-extended-date-range flag into pipeline run methods. |
| src/Exceptionless.Core/Pipeline/001_CheckEventDateAction.cs | Honors allow-extended-date-range flag while still enforcing retention. |
| src/Exceptionless.Core/Models/WorkItems/GenerateSampleEventsWorkItem.cs | Updates default sample event count to 250. |
| src/Exceptionless.Core/Models/SavedView.cs | Replaces IsDefault with column order + chart/stat visibility preferences; increases filter-def length limit. |
| src/Exceptionless.Core/Jobs/WorkItemHandlers/GenerateSampleEventsWorkItemHandler.cs | Generates sample events across requested daysBack and opts into extended date range. |
| src/Exceptionless.Core/Bootstrapper.cs | Uses new sample-event defaults in bootstrap sample data. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
0a60acb to
e5a8629
Compare
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
Validation
Notes
/nextvalidation.