- Introduced DashboardDomain model with comprehensive fields for managing custom domains for dashboards.
- Implemented DashboardDomainAPI for handling CNAME verification and SSL provisioning.
- Created DashboardDomainService to manage domain-related operations, including SSL ordering and CNAME validation.
- Added master password handling in DashboardAPI for enhanced security.
- Defined constants for master password messages and cookie management.
- Introduced KubernetesAffectedResource and KubernetesResourceBreakdown interfaces to enhance metric monitoring capabilities.
- Updated MetricMonitorResponse to include kubernetesResourceBreakdown.
- Enhanced AreaChart, BarChart, and LineChart components with onValueChange prop for better interactivity.
- Added new Dashboard components: Gauge and Table, with respective configuration arguments.
- Implemented DashboardVariableSelector for dynamic variable selection in dashboards.
- Added warning and critical thresholds to DashboardValueComponent and DashboardChartComponent for improved data visualization.
- Updated DashboardChartComponentUtil to support additional queries and chart types.
- Enhanced error handling and loading states in Dashboard components.
- Added support for notification rule conditions and filters in incident and alert summaries.
- Introduced utility functions for bold text and links in markdown formatting.
- Updated incident and alert value builders to include labels and descriptions.
- Enhanced summary blocks with improved formatting for total counts, severity, and state breakdowns.
- Refactored detailed incident and alert listings to use new formatting utilities.
- Improved overall readability and consistency of markdown output for notifications.
- Introduced a new column `sendFirstReportAt` to the `WorkspaceNotificationSummary` table.
- Updated default values for `rotation` and `restrictionTimes` columns in the `OnCallDutyPolicyScheduleLayer` table.
- Adjusted the logic in SendSummary.ts to calculate the next send time based on the recurring interval before updating the nextSendAt field.
- Implemented WorkspaceNotificationSummaryAPI to handle notification summary requests.
- Created WorkspaceNotificationSummaryService for business logic related to notification summaries.
- Added enums for WorkspaceNotificationSummaryItem and WorkspaceNotificationSummaryType to define summary items and types.
- Developed a cron job to send workspace notification summaries at regular intervals.
- Enhanced error handling and logging for summary sending process.
- Improved formatting and consistency in various Kubernetes view files, including HPADetail, HPAs, Index, Jobs, Layout, Namespaces, NodeDetail, Nodes, PersistentVolumes, Pods, ServiceMesh, SideMenu, StatefulSets, VPADetail, and VPAs.
- Removed unnecessary line breaks and adjusted indentation for better readability.
- Simplified conditional checks and array methods for clarity.
- Enhanced the overall structure of the code to follow best practices.
- Implemented KubernetesClusterServiceMesh component to display Istio and Linkerd metrics.
- Created KubernetesClusterVPADetail component for detailed views of Vertical Pod Autoscalers (VPA).
- Added KubernetesClusterVPAs component to list all VPAs in a cluster.
- Introduced KubernetesAlertTemplates for monitoring various Kubernetes conditions, including CrashLoopBackOff, Pod Pending, Node Not Ready, and more.
- Developed MonitorStepKubernetesMonitor interface for Kubernetes monitoring configurations.
Replace inadequate <script> tag regex with proper sanitization:
- Server-side: override marked's html renderer to escape raw HTML tokens
- Client-side: sanitize preview output with DOMPurify before rendering
TypeORM sorts migrations by the timestamp in the last 13 chars of the
class name. Migration 1773761409952 (ALTER TABLE) had a lower timestamp
than 1774000000000 (CREATE TABLE), causing it to run first on a
non-existent table and crash the app during startup.
Renamed 1773761409952 → 1774000000001 so the CREATE TABLE migration
executes first.
- Simplified error handling in KubernetesEventsTab and KubernetesLogsTab by removing unnecessary line breaks.
- Consolidated import statements in KubernetesMetricsTab for better readability.
- Improved JSX formatting in KubernetesOverviewTab, KubernetesClusterContainerDetail, and other components for consistency.
- Enhanced code clarity in KubernetesObjectFetcher and KubernetesObjectParser by removing redundant line breaks and comments.
- Streamlined API response handling in IPWhitelistAPI for better readability.
- Updated PageSEO configuration for improved formatting.
- Improved formatting and readability in Kubernetes PodDetail and SideMenu components.
- Added service count fetching and loading/error handling in Logs, Metrics, and Traces pages.
- Updated Exception and Kubernetes routes for better readability.
- Enhanced Postgres migration scripts for KubernetesCluster and KubernetesClusterLabel.
- Minor formatting adjustments in MarkdownViewer and CriticalPath utility.
- Refactored EmptyState, MonitorSummaryView, and hooks in MobileApp for improved clarity.
- Fixed minor issues in MonitorDetailScreen and MonitorsScreen regarding status display.
- Implemented a new migration for the KubernetesCluster and KubernetesClusterLabel tables in the database.
- Created a KubernetesClusterService for managing cluster instances, including methods for finding or creating clusters, updating their status, and marking disconnected clusters.
- Introduced a Helm chart for the OneUptime Kubernetes Monitoring Agent, including configuration files, deployment templates, and RBAC settings.
- Added support for collecting metrics and logs from Kubernetes clusters using OpenTelemetry.
- Configured service accounts, secrets, and resource limits for the agent's deployment and daemonset.
- Provided detailed notes and helper templates for the Helm chart to facilitate installation and configuration.