Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: exceptionless/Exceptionless
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v8.2.13
Choose a base ref
...
head repository: exceptionless/Exceptionless
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v8.2.14
Choose a head ref
  • 6 commits
  • 95 files changed
  • 2 contributors

Commits on Sep 7, 2025

  1. Updates Aspire and other dependencies

    Updates Aspire.Hosting packages to version 9.4.2.
    Also updates various other dependencies in the web client app,
    including bits-ui, shiki, eslint, storybook, svelte, tailwindcss, and typescript-eslint.
    niemyjski committed Sep 7, 2025
    Configuration menu
    Copy the full SHA
    283b359 View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2025

  1. Updates routes to use SvelteKit's resolve

    Migrates hardcoded routes to use SvelteKit's `resolve` function for improved route management and flexibility.
    
    This change ensures that routes are correctly resolved based on the application's configuration and base path, preventing potential issues with broken links or incorrect navigation, especially after the introduction of route groups.
    
    Additionally, the commit disables the `svelte/no-navigation-without-resolve` eslint rule, as the updated code now consistently uses the `resolve` function.
    niemyjski committed Sep 8, 2025
    Configuration menu
    Copy the full SHA
    8746992 View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2025

  1. Updates GitHub Actions versions

    Updates the `actions/checkout`, `actions/setup-dotnet`, and `actions/setup-node` GitHub Actions to their v5 versions in multiple workflow files.
    
    Adds a new workflow file, `copilot-setup-steps.yml`, to define copilot setup steps, including checkout, .NET setup, service starting, NuGet restore, Node.js setup, and npm package installation.
    
    Removes the existing `.vscode/mcp.json` file and adds a new one with updated server configurations, including entries for chrome-devtools, context7, ESLint, microsoft-docs, and playwright.
    niemyjski committed Sep 27, 2025
    Configuration menu
    Copy the full SHA
    59fe164 View commit details
    Browse the repository at this point in the history

Commits on Oct 1, 2025

  1. Updates package versions

    Updates several package versions to the latest available.
    This includes Aspire, Microsoft Extensions, Swashbuckle, MailKit and xunit packages.
    
    The purpose of these updates is to ensure compatibility,
    incorporate bug fixes, and take advantage of the latest features
    and performance improvements.
    
    Related to feature/dashboard-charts
    niemyjski committed Oct 1, 2025
    Configuration menu
    Copy the full SHA
    22f8e3b View commit details
    Browse the repository at this point in the history
  2. Updates Foundatio.Redis package version

    Updates the Foundatio.Redis package to a pre-release version
    to address compatibility issues and incorporate the latest
    features and bug fixes.
    niemyjski committed Oct 1, 2025
    Configuration menu
    Copy the full SHA
    73692d0 View commit details
    Browse the repository at this point in the history

Commits on Oct 3, 2025

  1. Next: Dashboard charts (#1967)

    * WIP: Adds events dashboard chart component
    
    Introduces a new component for displaying events data in a chart format on the main dashboard.
    
    This commit adds a basic chart implementation using dummy data. Real API integration will come in a later commit.
    
    * WIP - Enhances events dashboard with date range selection
    
    Improves the events dashboard by adding date range selection functionality to the chart.
    
    This allows users to select a specific time range on the chart to filter events, providing a more granular view of the data.
    
    Also, fixes an issue with persistent event queries invalidation and updates date formatting.
    
    * Adds local date formatting functions
    
    Adds `formatLocalDateTime` to format a date to ISO-like format in local time and `formatTimeRange` to format a date range using the new function.
    
    Updates date range filter to use local time formatting.
    
    * Updates dependencies
    
    Updates various dependencies to their latest versions.
    
    This includes updates to:
    - Lucide Svelte
    - bits-ui
    - dompurify
    - pretty-ms
    - runed
    - shiki
    - tailwind-variants
    - eslint and related packages
    - svelte and sveltekit
    - swagger-typescript-api
    - typescript-eslint
    - vite
    
    These updates likely include bug fixes, performance improvements, and new features.
    
    * Replaces date range dropdown with picker
    
    Replaces the previous select dropdown with a date range picker component for enhanced usability and flexibility.
    
    The new date range picker includes quick range selection and a custom range form using Elasticsearch date math syntax.
    This provides users with more control over the date ranges they select for filtering events.
    
    The date range parsing and formatting logic was updated.
    
    * Updates frontend instructions and VS Code settings
    
    Adds a linting tip to the frontend instructions and includes "datemath" in VS Code's cSpell dictionary.
    
    The linting tip encourages developers to run the format script first when encountering linting errors, potentially resolving them automatically.
    
    Adding "datemath" to the cSpell dictionary prevents it from being flagged as a misspelling.
    
    * Refactors date range handling for event filters
    
    Updates the date range selection to use a shared utility for formatting the time range string.
    
    Removes the custom date parsing logic from the events filter, and
    instead uses a shared utility for parsing date math ranges. This promotes
    code reuse and consistency across the application.
    
    * Refactors date math component and utils
    
    Moves TIME_UNIT_NAMES to datemath.ts for reuse and consistency.
    
    Updates the date range format to use DateMath format for the date filter, which improves readability and consistency throughout the application by using `toDateMathRange` instead of `formatDateRangeString`.
    
    Updates error message for empty date input in `parseDateMath`.
    
    * Moves CustomDateRange model to shared location
    
    Moves the CustomDateRange model to a shared location to prevent circular dependencies and promote code reuse across different components.
    Removes the duplicate definition.
    
    * Updates dependencies
    
    Updates various package dependencies in both the core project and the web client application.
    
    This includes updating Svelte, Typescript-eslint, vite and other related packages.
    Also adds Exceptionless.DateTimeExtensions to the core project.
    
    * Improves date math parsing and validation
    
    Refactors the date math parsing logic to be more robust and accurate, aligning with the backend implementation.
    This includes better handling of time zones, rounding, and various date formats.
    Also provides more informative validation error messages and comprehensive unit tests.
    Removes the legacy date range parsing functions and simplifies the date/time examples in the CustomRangeForm.
    
    * Adds tooltips to custom range form
    
    Improves the user experience of the custom date range form by adding tooltips to the start and end date input fields.
    
    The tooltips provide helpful examples of valid date formats and relative time expressions, making it easier for users to specify their desired date ranges.
    
    * Formats date math range using local ISO string.
    
    Updates the date math range formatting to use the local ISO
    string format to ensure consistent date representation across
    different timezones. This improves the accuracy and reliability
    of date-based calculations and comparisons.
    
    * Updates default time range for issues
    
    Updates the default time range for issues and the main page to '[now-1w/w TO now-1w/w]' to ensure consistent weekly bucketing.
    
    Refactors the toLocalISOString function by moving it to the bottom of the file.
    
    * Updates dependencies in ClientApp
    
    Bumps versions of various packages in the ClientApp,
    including @tanstack/svelte-query, bits-ui, layerchart,
    tw-animate-css, @playwright/test, @storybook/*,
    @sveltejs/kit, @sveltejs/vite-plugin-svelte,
    @testing-library/jest-dom, @types/node, cross-env,
    eslint-plugin-storybook, svelte, typescript, and
    typescript-eslint.
    
    This ensures the application uses the latest versions of
    these libraries, potentially including bug fixes, performance
    improvements, and new features.
    
    * Improves chart date series generation
    
    Refactors the chart data generation to improve handling of empty data sets and date ranges.
    It ensures that the chart always displays a complete date series, even when no data is available
    for certain periods. The changes involve filling date series with zero values for missing data points.
    
    Also, simplifies date range handling by removing the "last X" patterns in `parseDateMathRange`
    and defaulting to a minimum date range for the organization, aligning with Elasticsearch date math expressions.
    This ensures consistency in date handling across the application.
    
    * Updates Exceptionless.DateTimeExtensions
    
    Updates the Exceptionless.DateTimeExtensions package to the latest version.
    
    This ensures that the application benefits from the latest bug fixes and improvements related to date and time handling.
    
    * Defines nullable type for previous state refs
    
    Ensures that previous settings refs are nullable to avoid potential issues when they are initially undefined.
    
    * Removes close button from faceted filter actions
    
    Removes the unnecessary "close" button from the faceted filter actions component.
    The popover automatically closes when an action is taken, so the button is redundant.
    
    * Improves date range picker usability
    
    Enhances the date range picker component by:
    
    - Adding keyboard support for applying and canceling custom date ranges,
    - Applying the custom range when the popover closes,
    - Ensuring the custom form is only submitted if valid,
    - Persisting the state of the date range picker when the popover is closed.
    
    * Applies shadcn-svelte trigger snippet pattern
    
    Ensures correct tab behavior and accessibility for shadcn-svelte trigger components.
    
    Updates documentation to provide usage guidelines and examples for the `child` snippet pattern in `Tooltip.Trigger`, `Popover.Trigger`, `DropdownMenu.Trigger`, and other trigger components.
    The pattern avoids double-tab issues and ensures proper props delegation, improving accessibility and maintainability.
    Updates components to use the recommended pattern.
    
    * Adds accessibility descriptions to filters
    
    Improves accessibility by adding screen reader descriptions to faceted filters and the custom date range form.
    This allows users to understand how to interact with these components using keyboard navigation.
    
    * Validates end date is after start date
    
    Adds validation to ensure the end date in the custom date range picker is after the start date.
    This prevents users from selecting invalid date ranges where the end date precedes the start date.
    Also ensures the Apply button is disabled when the date range is invalid.
    
    * Fixed tag filters Guarantees empty buckets array for aggregations
    
    Ensures that the `buckets` array in aggregation results is always an empty array when there are no items, preventing potential errors when the client code attempts to iterate over it.
    
    Addresses a potential issue where a null or undefined `buckets` property could cause errors in components that expect an array.
    
    * Improves faceted filter accessibility and usability
    
    Enhances the faceted filter components by:
    
    - Adding keyboard navigation within popovers for improved accessibility, specifically using the Escape key to cancel and close the filter.
    - Ensures focus is not trapped within the popover, allowing users to navigate outside it with the Tab key.
    - Updates help text to provide clearer instructions for keyboard interactions.
    - Renames `onClose` and `onCancel` methods for clarity.
    
    * Adds accessibility instructions for code generation
    
    https://github.com/github/awesome-copilot/blob/main/instructions/a11y.instructions.md
    
    Introduces a new file containing detailed instructions for accessibility.
    
    The instructions aim to guide code generation towards WCAG 2.2 Level AA compliance, promote inclusive language, and provide specific guidance for cognitive, keyboard, low vision, and screen reader accessibility. It covers specific patterns like forms, graphics, navigation, and tables.
    
    The goal is to improve the accessibility of generated code, though manual review and testing are still recommended.
    
    * Updates package versions
    
    Bumps the versions of several NuGet packages, including OpenTelemetry, Swashbuckle, and Microsoft.NET.Test.Sdk.
    
    * npm install
    
    * Updated packages
    
    * rebuilt package lock
    
    * Update src/Exceptionless.Web/ClientApp/src/lib/features/shared/utils/charts.ts
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    niemyjski and Copilot authored Oct 3, 2025
    Configuration menu
    Copy the full SHA
    f1bf095 View commit details
    Browse the repository at this point in the history
Loading