Skip to content

Polish next UI saved views and sample data#2244

Merged
ejsmith merged 2 commits into
mainfrom
polish-next-saved-views-sample-data
May 21, 2026
Merged

Polish next UI saved views and sample data#2244
ejsmith merged 2 commits into
mainfrom
polish-next-saved-views-sample-data

Conversation

@ejsmith
Copy link
Copy Markdown
Member

@ejsmith ejsmith commented May 21, 2026

Summary

  • Add saved-view column visibility/order support and remove the undeployed default-view behavior.
  • Polish the next UI table, navigation, command palette, keyboard shortcut, and related shared component interactions.
  • Improve generated sample data by increasing defaults, making error events stack together more often, and allowing sample generation to span the requested retention-backed date range.

Validation

  • dotnet build /property:GenerateFullPaths=true /consoleloggerparameters:NoSummary
  • dotnet test -- --filter-class Exceptionless.Tests.Pipeline.CheckEventDateActionTests
  • dotnet test -- --filter-class Exceptionless.Tests.Utility.RandomEventGeneratorTests
  • npm run check
  • npm run lint
  • git diff --check

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 polishes the “next UI” saved-views experience by removing the undeployed default-view behavior, adding support for persisting table column visibility + column order in saved views, expanding keyboard shortcut/navigation UX, and improving sample event generation (higher defaults, better stacking, and retention-backed date ranges).

Changes:

  • Replace saved-view “default” behavior (is_default) with column ordering support (column_order) across API, models, validation, and UI state hydration.
  • Enhance the next UI shell: keyboard shortcuts + dialog, command palette actions, sidebar/menu interactions, and various shared component UI tweaks.
  • Improve sample data generation defaults and allow generation across the requested retention-backed date range (via an extended event-date-range flag).

Reviewed changes

Copilot reviewed 62 out of 64 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
tests/http/saved-views.http Update HTTP samples to use column_order instead of is_default.
tests/Exceptionless.Tests/Utility/RandomEventGeneratorTests.cs Add tests for sample event generator behavior (error log presence, stack signature reuse).
tests/Exceptionless.Tests/Pipeline/CheckEventDateActionTests.cs Add coverage for extended event date-range retention behavior.
tests/Exceptionless.Tests/Mapping/SavedViewMapperTests.cs Update mapping tests to validate ColumnOrder instead of IsDefault.
tests/Exceptionless.Tests/Controllers/SavedViewControllerTests.cs Remove default-view tests and add column-order validation tests; adjust filter-def max-length test.
tests/Exceptionless.Tests/Controllers/Data/openapi.json Update OpenAPI snapshot for column_order and max filter definition length.
src/Exceptionless.Web/Models/SavedView/ViewSavedView.cs Replace IsDefault with ColumnOrder in view model.
src/Exceptionless.Web/Models/SavedView/UpdateSavedView.cs Add ColumnOrder, update max-length constant usage, and validate column order.
src/Exceptionless.Web/Models/SavedView/NewSavedView.cs Expand valid column IDs, add/validate ColumnOrder, and update max-length constant usage.
src/Exceptionless.Web/Controllers/SavedViewController.cs Remove default-view logic; add column-order validation for PATCH; use shared max-length constant.
src/Exceptionless.Web/Controllers/AdminController.cs Increase default sample event generation count to 250.
src/Exceptionless.Web/ClientApp/src/routes/routes.svelte.ts Add route-level shortcut metadata and remove default-view navigation fields.
src/Exceptionless.Web/ClientApp/src/routes/(auth)/routes.svelte.ts Adjust auth route display text casing.
src/Exceptionless.Web/ClientApp/src/routes/(auth)/login/+page.svelte Polish login layout and add dev credential prefill action.
src/Exceptionless.Web/ClientApp/src/routes/(app)/stream/+page.svelte Wire saved views into column visibility + column order for stream table.
src/Exceptionless.Web/ClientApp/src/routes/(app)/routes.svelte.ts Add keyboard shortcut metadata for navigation items.
src/Exceptionless.Web/ClientApp/src/routes/(app)/project/[projectId]/integrations/+page.svelte Improve button accessibility attributes for “Add Webhook”.
src/Exceptionless.Web/ClientApp/src/routes/(app)/issues/+page.svelte Wire saved views into column order and adjust route binding shape.
src/Exceptionless.Web/ClientApp/src/routes/(app)/+page.svelte Wire saved views into column visibility + column order for events table.
src/Exceptionless.Web/ClientApp/src/routes/(app)/+layout.svelte Add global keyboard shortcuts, command palette integrations, and new shortcuts dialog.
src/Exceptionless.Web/ClientApp/src/routes/(app)/(components)/navigation-command.svelte Show per-route shortcuts and add command items for org switch/user menu/shortcuts dialog.
src/Exceptionless.Web/ClientApp/src/routes/(app)/(components)/layouts/sidebar.svelte Update active-route logic and improve collapsible behavior with saved-view children.
src/Exceptionless.Web/ClientApp/src/routes/(app)/(components)/layouts/sidebar-user.svelte Convert menu navigation to onSelect handlers and add keyboard shortcuts entry.
src/Exceptionless.Web/ClientApp/src/routes/(app)/(components)/layouts/sidebar-organization-switcher.svelte Add programmatic open/focus behavior and convert links to menu selections.
src/Exceptionless.Web/ClientApp/src/routes/(app)/(components)/keyboard-shortcuts-dialog.svelte Add a dialog that lists app shell keyboard shortcuts.
src/Exceptionless.Web/ClientApp/src/lib/generated/schemas.ts Update generated schemas for column_order and filter-def length; remove is_default.
src/Exceptionless.Web/ClientApp/src/lib/generated/api.ts Update generated API types for column_order; remove is_default.
src/Exceptionless.Web/ClientApp/src/lib/features/stacks/components/table/stack-status-cell.svelte Simplify status rendering and use typed stack status options.
src/Exceptionless.Web/ClientApp/src/lib/features/stacks/components/table/options.svelte.ts Update stack status cell typing to use Stack['status'].
src/Exceptionless.Web/ClientApp/src/lib/features/shared/table.svelte.ts Add persisted column order support and sanitize/resolve column order against column defs.
src/Exceptionless.Web/ClientApp/src/lib/features/shared/keyboard-shortcuts.ts Define app shortcut registry and add shortcut matching helper.
src/Exceptionless.Web/ClientApp/src/lib/features/shared/keyboard-shortcuts.test.ts Add tests for shortcut formatting and matching behavior.
src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/ui/dropdown-menu/dropdown-menu-item.svelte Improve highlighted/focus styling consistency.
src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/ui/dropdown-menu/dropdown-menu-checkbox-item.svelte Adjust checkbox item spacing/layout.
src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/ui/command/command-shortcut.svelte Render shortcuts as <kbd> with improved styling.
src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/ui/command/command-dialog.svelte Slight overlay styling adjustment for command dialog.
src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/ui/button/button.svelte Normalize primary/success button styling and icon stroke weights.
src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/ui/badge/badge.svelte Add info and yellow badge variants.
src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/notification/notification.svelte Adjust “information” notification styling.
src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/faceted-filter/faceted-filter-builder.svelte Improve filter button labels/accessibility and show hidden-filter count badge.
src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/faceted-filter/faceted-filter-actions.svelte Normalize capitalization for filter action labels.
src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/data-table/data-table-view-options.svelte Prevent hiding the last visible hideable column.
src/Exceptionless.Web/ClientApp/src/lib/features/shared/components/data-table/data-table-body.svelte Improve table cell/header alignment and width handling with select column special-casing.
src/Exceptionless.Web/ClientApp/src/lib/features/saved-views/use-saved-views.test.ts Update test fixtures to remove is_default and include column_order.
src/Exceptionless.Web/ClientApp/src/lib/features/saved-views/use-saved-views.svelte.ts Add column order support and remove default-view auto-restore behavior.
src/Exceptionless.Web/ClientApp/src/lib/features/saved-views/components/saved-view-picker.svelte Add column reorder UI and save column_order with saved views.
src/Exceptionless.Web/ClientApp/src/lib/features/saved-views/components/save-view-dialog.svelte Remove “set as default” option from save dialog.
src/Exceptionless.Web/ClientApp/src/lib/features/saved-views/api.svelte.ts Remove cache logic that enforced one default saved view per type.
src/Exceptionless.Web/ClientApp/src/lib/features/organizations/components/dialogs/impersonate-organization-dialog.svelte Normalize button label capitalization.
src/Exceptionless.Web/ClientApp/src/lib/features/events/components/table/stack-status-cell.svelte Render stack status label directly (instead of badge component).
src/Exceptionless.Web/ClientApp/src/lib/features/events/components/table/options.svelte.ts Add new event table columns, defaults for visibility, and support column IDs/order.
src/Exceptionless.Web/ClientApp/src/lib/features/events/components/log-level.svelte Map log levels to new badge variants (info/yellow/destructive/etc.).
src/Exceptionless.Web/ClientApp/src/lib/features/events/components/extended-data-item.svelte Normalize action title capitalization.
src/Exceptionless.Web/ClientApp/src/app.css Update chart palette variables and tweak chart area opacity.
src/Exceptionless.Core/Utility/SampleDataService.cs Increase default sample event generation count to 250.
src/Exceptionless.Core/Utility/RandomEventGenerator.cs Improve sample event distributions (error log events, more stacking, better messages).
src/Exceptionless.Core/Repositories/Configuration/Indexes/SavedViewIndex.cs Remove IsDefault field mapping from saved view index.
src/Exceptionless.Core/Plugins/EventProcessor/EventContext.cs Add AllowExtendedEventDateRange flag to pipeline context.
src/Exceptionless.Core/Pipeline/EventPipeline.cs Thread allowExtendedEventDateRange option into pipeline entrypoints.
src/Exceptionless.Core/Pipeline/001_CheckEventDateAction.cs Allow bypassing the 3-day cutoff when extended range is enabled (still respects retention).
src/Exceptionless.Core/Models/WorkItems/GenerateSampleEventsWorkItem.cs Increase default work item event count to 250.
src/Exceptionless.Core/Models/SavedView.cs Add max-length constant, replace IsDefault with ColumnOrder.
src/Exceptionless.Core/Jobs/WorkItemHandlers/GenerateSampleEventsWorkItemHandler.cs Generate sample events across requested daysBack and enable extended date range in pipeline.
src/Exceptionless.Core/Bootstrapper.cs Use new default sample generation parameters instead of hard-coded values.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions
Copy link
Copy Markdown

Code Coverage

Package Line Rate Branch Rate Complexity Health
Exceptionless.Web 59% 46% 3898
Exceptionless.AppHost 18% 9% 82
Exceptionless.Insulation 25% 23% 203
Exceptionless.Core 67% 61% 7741
Summary 63% (12789 / 20400) 55% (6330 / 11462) 11924

@ejsmith ejsmith merged commit 2680d3d into main May 21, 2026
9 checks passed
@ejsmith ejsmith deleted the polish-next-saved-views-sample-data branch May 21, 2026 05:49
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