Skip to content

Polish dashboards and saved views#2245

Open
ejsmith wants to merge 3 commits into
mainfrom
event-slideout-panel
Open

Polish dashboards and saved views#2245
ejsmith wants to merge 3 commits into
mainfrom
event-slideout-panel

Conversation

@ejsmith
Copy link
Copy Markdown
Member

@ejsmith ejsmith commented May 21, 2026

Summary

  • Polish the event detail sheet, command palette search, navbar logo, and shared dashboard chart shell
  • Add compact dashboard stat cards for sessions and events/issues
  • Add saved-view column order/display preferences for stat boxes and charts

Validation

  • npm run check
  • Live browser verification in Aspire for dashboard chart/stat toggles and menu alignment
  • OpenAPI baseline regenerated from local Aspire

Notes

  • Aspire is expected to remain running for local /next validation.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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, and show_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.

Comment thread tests/Exceptionless.Tests/Controllers/Data/openapi.json
Comment thread tests/Exceptionless.Tests/Controllers/Data/openapi.json
@ejsmith ejsmith force-pushed the event-slideout-panel branch from 0a60acb to e5a8629 Compare May 21, 2026 05:55
@github-actions
Copy link
Copy Markdown

Code Coverage

Package Line Rate Branch Rate Complexity Health
Exceptionless.Web 60% 46% 3922
Exceptionless.AppHost 18% 9% 82
Exceptionless.Insulation 25% 23% 203
Exceptionless.Core 67% 61% 7741
Summary 63% (12812 / 20425) 55% (6347 / 11486) 11948

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