This refactor updates the LogSeverity enum to use string values instead of enum values. This change allows for better compatibility and flexibility when working with log severity levels. The enum values have been replaced with corresponding string values.
Files modified:
- Common/Types/Log/LogSeverity.ts
- Ingestor/API/OTelIngest.ts
- Ingestor/API/FluentIngest.ts
- Model/AnalyticsModels/Log.ts
- CommonUI/src/Components/LogsViewer/LogItem.tsx
- CommonUI/src/Components/LogsViewer/LogsViewer.tsx
- CommonUI/src/Components/Filters/DropdownFilter.tsx
- Common/Types/ObjectID.ts
- CommonUI/src/Components/Filters/FiltersForm.tsx
This refactor updates the APIKeyView and TelemetryIngestionKeyView components to use the RouteUtil.populateRouteParams function when navigating to other routes. This ensures that route parameters are properly populated, improving the reliability and consistency of the navigation logic.
Files modified:
- Dashboard/src/Pages/Settings/APIKeyView.tsx
- Dashboard/src/Pages/Settings/TelemetryIngestionKeyView.tsx
The deprecated Service Token field in the TelemetryService model and related components was removed. This improves code cleanliness and removes unnecessary dependencies.
Files modified:
- Dashboard/src/Pages/Telemetry/Services/View/Index.tsx
- Dashboard/src/Pages/Telemetry/Services/View/Settings.tsx
- Model/Models/TelemetryService.ts
The ResetObjectID component in the Settings page was removed as it is no longer needed. This improves code cleanliness and reduces unnecessary dependencies.
Files modified:
- Dashboard/src/Pages/Telemetry/Services/View/Settings.tsx
Update SettingsRoutes to include lazy loading for images in the telemetry ingestion key view. This improves page load performance by loading images only when they are in the viewport.
Files modified:
- Dashboard/src/Routes/SettingsRoutes.tsx
This commit adds a new page, "Telemetry Ingestion Keys," to the Settings section of the dashboard. The page allows users to manage and view the telemetry ingestion keys used for data collection. It includes a list of keys and their associated details, such as name and creation date. This enhancement provides users with better control and visibility over their telemetry data.
Files modified:
- Dashboard/src/Utils/PageMap.ts
- Dashboard/src/Pages/Settings/SideMenu.tsx
- Dashboard/src/Routes/SettingsRoutes.tsx
This commit updates the MetricsTable component to fetch and display attributes for each metric. It adds a new API request to retrieve the attributes from the server and updates the component's state to store the fetched attributes. The attributes are then passed to the AnalyticsModelTable component to be displayed in the "Attributes" column. This enhancement improves the visibility and analysis capabilities of the metrics data.
Files modified:
- Dashboard/src/Components/Metrics/MetricsTable.tsx
This commit adds the BadDataException class to handle errors related to two-factor authentication. It is imported and used in the UserService and UserTwoFactorAuthService files to throw an exception when necessary. This improves the error handling and provides more specific error messages for two-factor authentication related issues.
Files modified:
- CommonServer/Services/UserService.ts
- CommonServer/Services/UserTwoFactorAuthService.ts
This commit updates the QR component to use React hooks and lazy load the QR code generation. By utilizing functional components and the useState and useEffect hooks, the QR code is now only generated when needed, improving performance by reducing unnecessary computations. The code changes also include error handling to display an error message if there is an issue generating the QR code.
Files modified:
- CommonUI/src/Components/QR/QR.tsx
This commit adds support for two-factor authentication in the user profile. It includes the necessary code changes to enable the "Two Factor Auth Enabled" feature in the User model, as well as the addition of the "USER_TWO_FACTOR_AUTH" page in the PageMap and the corresponding route in the RouteMap. The UserTwoFactorAuth model, service, and controller have also been added to handle the logic and API endpoints related to two-factor authentication.
See the following files for more details:
- Common/Types/Icon/IconProp.ts
- Dashboard/src/Utils/PageMap.ts
- Dashboard/src/Utils/RouteMap.ts
- Model/Models/Index.ts
- Model/Models/User.ts
- CommonServer/Services/Index.ts
- CommonServer/package.json
- CommonUI/package.json
- CommonServer/Infrastructure/Postgres/SchemaMigrations/Index.ts
- Dashboard/src/App.tsx
The ChartGroupInterval enum was removed from the ChartGroup component in order to simplify the code and remove unnecessary complexity. This enum was not being used anywhere in the codebase.
This commit adds error handling to the `getGlobalSMTPConfig` function in the `Config.ts` file. If any required SMTP configuration values are missing, a `BadDataException` is thrown with a message instructing the user to set the missing values in the Admin Dashboard.
See this file in the repository:
`App/FeatureSet/Notification/Config.ts`
- Add 'canReadOnRelationQuery' property to the 'Monitor' model in order to allow reading on relation queries.
- Rename 'StatusPageReport' email template to 'StatusPageSubscriberReport' in the 'EmailTemplateType' enum.
This commit adds the `reportDataInDays` property to the `StatusPage` model in the `StatusPage.ts` file. The `reportDataInDays` property allows users to specify the number of days of data to include in the report. This change enhances the reporting functionality of the application by providing more flexibility in generating reports for status pages.
This commit adds support for generating and managing reports for the StatusPage feature. It includes database changes, such as adding new columns to the "StatusPage" table, and updates to various components and routes. The new functionality allows users to configure and schedule reports, enhancing the reporting capabilities of the application.
This commit adds the `canReadOnRelationQuery` property to the `serviceColor` field in the `TelemetryService` model. The `canReadOnRelationQuery` property allows for reading the `serviceColor` field when querying related data. This change enhances the functionality and flexibility of the `TelemetryService` model when working with related data.
refactor: Round metric values to integers in MetricView component
This commit modifies the MetricView component in the MetricView.tsx file. It adds logic to round the metric values to integers using the Math.round() function. This change improves the accuracy and readability of the displayed metric values.
This commit enables real-time updates in the LogsViewer components by setting the `enableRealtime` prop to `true` in the `Logs.tsx` and `Index.tsx` files. Previously, real-time updates were disabled (`enableRealtime` set to `false`), but this change allows for immediate updates of logs when new data is available. This enhancement improves the usability and responsiveness of the LogsViewer feature.
This commit updates the LogItem component in the LogItem.tsx file. It adds functionality to display the service name and color based on the serviceId provided. The serviceMap dictionary is used to retrieve the service name and color, improving the readability and usability of the component. This change enhances the overall quality and user experience of the LogsViewer feature.
This commit updates the TraceTable component in the TraceTable.tsx file. The component is refactored to use React hooks instead of class components, resulting in cleaner and more concise code. Additionally, the update improves the performance of the component by removing unused code and optimizing rendering. These changes enhance the overall quality and maintainability of the TraceTable component.
This commit adds the `jsonKeys` property to the `Filter` interface in two different files: `Filter.ts` and `ModelFilter/Filter.ts`. The `jsonKeys` property is an array of strings and is used to specify the JSON keys associated with a filter. This addition allows for more flexibility and customization when working with filters in the application.
This commit updates the SpanStatusElement component to handle the new SpanStatus type. The title prop of the component is modified to accept a SpanStatus value in addition to a string. This change allows for more accurate and descriptive rendering of the span status in the TraceExplorer and TraceTable components. The update improves the overall consistency and usability of the application when displaying span status information.
This commit updates the TelemetryLayout component to improve performance and readability. Unused code is removed, including imports, variables, and functions that are no longer needed. The component is also refactored to use React hooks instead of class components, resulting in cleaner and more concise code.
Additionally, a new TraceTable component is added, which replaces the TelemetryServiceTable component in the Telemetry/Traces.tsx file. The TraceTable component provides enhanced functionality for displaying and filtering trace data.
These changes enhance the overall quality, maintainability, and functionality of the TelemetryLayout component and improve the user experience when viewing telemetry data.
This commit updates the TelemetryLayout component to improve performance and readability. Unused code is removed, including imports, variables, and functions that are no longer needed. The component is also refactored to use React hooks instead of class components, resulting in cleaner and more concise code.
Additionally, a new TraceTable component is added, which replaces the TelemetryServiceTable component in the Telemetry/Traces.tsx file. The TraceTable component provides enhanced functionality for displaying and filtering trace data.
These changes enhance the overall quality, maintainability, and functionality of the TelemetryLayout component and improve the user experience when viewing telemetry data.
This commit removes unused code in the TelemetryLayout component and updates it to improve performance and readability. The unused code includes imports, variables, and functions that are no longer needed. The component is also refactored to use React hooks instead of class components, resulting in cleaner and more concise code. These changes enhance the overall quality and maintainability of the TelemetryLayout component.
This commit adds the jsonKeys prop to the Filter and JSONFilter components in order to support filtering by JSON keys. The jsonKeys prop is an array of string values that represents the available JSON keys for filtering. This enhancement improves the flexibility and functionality of the filter components, allowing users to filter data based on specific JSON keys.
This commit updates the MetricQueryConfig and MetricQuery components to include the metricNames prop. The metricNames prop is an array of string values that represents the available metric names for filtering and querying. This change improves the flexibility and functionality of the components, allowing users to select from a predefined list of metric names.
The code changes in StatementGenerator.ts and AnalyticsDatabaseService.ts refactor the import statements for the AggregateBy module. The changes ensure consistent formatting and improve code readability.