refactor: Update MonitorReport API endpoint route
This commit updates the API endpoint route for the MonitorReport model. The route is changed from "/status-page" to "/monitor-report" in the MonitorReport.ts file. This change ensures consistency and clarity in the API routes, aligning them with the model name.
This commit adds the "Monitor Reports" option to the SideMenu in the Monitor page. It includes the necessary code changes in the MonitorReports.tsx, MonitorReport/View/Index.tsx, MonitorReport/View/Delete.tsx, MonitorReport/View/Settings.tsx, and SideMenu.tsx files. The new option allows users to access and manage monitor reports directly from the SideMenu, improving the navigation and usability of the Monitor page.
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.
This commit updates the styling of the BlogTitleAndDescription component in the BlogTitleAndDescription.ejs file. The font size, font weight, and line height of the title and description elements are adjusted to improve readability and visual hierarchy. This change enhances the overall user experience when viewing blog titles and descriptions on the home page.
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 removes the TelemetryAttribute model and service from the codebase. The TelemetryAttribute model and service were no longer needed and were causing unnecessary complexity. Removing them simplifies the codebase and improves maintainability.
This commit adds the TelemetryAttributeService to the AnalyticsServices array in the CommonServer/Services/Index.ts file. It also updates the BaseAPIFeatureSet in the App/FeatureSet/BaseAPI/Index.ts file to include a new route for handling telemetry attribute operations. These changes improve the functionality and flexibility of the analytics module, allowing users to work with telemetry attributes effectively.
This commit updates the TelemetryAttribute model and service to align with the changes made in the AnalyticsModels/TelemetryAttribute.ts file. The model's tableName, singularName, pluralName, and crudApiPath properties have been modified to reflect the new naming convention for telemetry attributes. Additionally, the TelemetryAttributeService has been added to the AnalyticsServices array in the CommonServer/Services/Index.ts file. These changes improve the consistency and functionality of the telemetry attribute module, allowing users to work with telemetry attributes effectively.
This commit adds the TelemetryAttributeService to the AnalyticsServices array in the CommonServer/Services/Index.ts file. By including the TelemetryAttributeService, we ensure that the service is available for handling telemetry attribute-related operations in the analytics module. This enhancement improves the functionality and flexibility of the analytics services, allowing users to work with telemetry attributes effectively.
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.
This commit refactors the StartAndEndDate component to use the boolean type for the time interval variables (is1Hour, is3Hours, is1Day, etc.). This change improves code readability and ensures consistent typing, making it easier to understand and maintain the component.
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.
This commit adds the aggregate endpoint to the BaseAnalyticsAPI class. The endpoint allows users to perform aggregation operations on the analytics data. It includes a POST and GET route for aggregating data based on specified criteria. This enhancement improves the functionality and flexibility of the analytics API, enabling users to retrieve aggregated results efficiently.
This commit updates the BaseDatabase types and components to include new interfaces and enums for handling aggregation, sorting, and querying of data. It improves the flexibility and functionality of the database operations, enhancing the overall performance and usability of the application.
This commit updates the DateFilter component to handle the FieldType.DateTime in addition to FieldType.Date. It ensures that the component can correctly handle both date and date-time filters, improving the flexibility and functionality of the filtering feature.
This commit updates the TracesList component to use the FieldType.DateTime instead of FieldType.Date for the "Seen At" field. This change ensures that the field accurately represents the date and time of when the trace was seen, improving the accuracy and clarity of the telemetry data.
This commit updates the TelemetryIngest middleware to include the serviceName property in the TelemetryRequest interface. It improves the accuracy and completeness of the telemetry data handling.
This commit updates the TelemetryIngest middleware to include the serviceName property in the TelemetryRequest interface. This change allows the middleware to access and use the service name when processing telemetry data. It improves the accuracy and completeness of the telemetry data handling.
This commit updates the MetricView and MetricViewPage components to include the MetricsAggregationType enum and use it for setting the default aggregation type in the filterData object. This change ensures consistency and clarity in the codebase, improving the maintainability and readability of the application.
This commit updates the MetricAlias component in the Metrics folder to use the properties "title" and "description" instead of "metricAlias". This change improves the clarity and consistency of the codebase, aligning with the naming conventions used throughout the application.
This commit updates the FieldLabelElement component in the CommonUI project to use a consistent text color of text-gray-500 instead of text-gray-700. This change improves the visual consistency and readability of the form fields throughout the application.
This commit updates the MetricsAggregationType enum values to uppercase for consistency and clarity. The previous lowercase values were inconsistent with the naming convention used throughout the codebase. This change improves the readability and maintainability of the code.
This commit updates the LastRunMessage component to display a more accurate message about the data update. It also updates the TelemetryServices component to use a clearer title and description. These changes improve the clarity and user experience of the Copilot and Service Catalog pages.
This commit updates the ServiceFileTypesUtil class to use the TechStack enum instead of the ServiceLanguage enum. It modifies the method names and parameters accordingly, ensuring consistency and clarity in the codebase. This refactoring improves the maintainability and extensibility of the application.
This commit refactors the Services page by replacing the ModelTable component with the TelemetryServiceTable component. The TelemetryServiceTable component provides a more specialized and optimized table for displaying telemetry services. This change improves the performance and user experience of the Services page.
This commit updates the Monitor component in the Monitor.tsx file to include an optional showIcon prop. It also updates the import paths in various files to reflect the changes. These refactorings improve the flexibility and maintainability of the codebase.
This commit adds routes for the Monitors, Incidents, and Telemetry Services pages in the Service Catalog view. These routes allow users to navigate to specific sections of the Service Catalog and access relevant information. The addition of these routes enhances the usability and functionality of the application.
This commit updates the TechStack enum in the TechStack.ts file to include a comprehensive list of technology stacks. It also updates the import paths in various files to reflect the changes from using ServiceLanguage to TechStack. This refactoring improves the clarity and consistency of the codebase.
This commit adds the ServiceCatalogMonitor and ServiceCatalogTelemetryService models to the application. These models are necessary for managing and monitoring service catalog dependencies and telemetry services. The addition of these models enhances the functionality and flexibility of the application.
This commit adds the MetricsAggregationType enum to represent different types of metrics aggregations such as max, min, sum, avg, and count. It also introduces the MetricsQuery interface, which defines the structure of a metrics query including the metric name, attributes, aggregation type, aggregate by, start time, and end time. These changes enable the implementation of metrics queries and aggregations in the application.
This commit adds the SquareStack3D icon to the IconProp enum in the IconProp.ts file. It also updates the SideMenu component in the SideMenu.tsx file to use the SquareStack3D icon instead of the SquareStack icon. This change ensures that the correct icon is displayed in the SideMenu for the specified modelId.
refactor: Add Service Catalog Dependency permissions
This commit adds new permissions for creating, deleting, editing, and reading Service Catalog Dependencies. These permissions allow users to manage dependencies within the project.
This commit updates the Docker configuration in the `.github/workflows/reliability-copilot.yml` file to fix the environment variable values for `ONEUPTIME_REPOSITORY_SECRET_KEY` and `CODE_REPOSITORY_PASSWORD`. The values are now properly enclosed in double quotes to ensure consistency and prevent any issues with special characters. This change ensures the correct configuration for running the reliability copilot workflow.
chore: Update Docker configuration for Copilot debugging
This commit updates the Docker configuration in the `.github/workflows/reliability-copilot.yml` file to fix the environment variable values for `ONEUPTIME_REPOSITORY_SECRET_KEY` and `CODE_REPOSITORY_PASSWORD`. The values are now properly enclosed in single quotes to prevent any issues with special characters. This change ensures the correct configuration for running the reliability copilot workflow.
This commit fixes the formatting in the InitUtil code by removing unnecessary whitespace and aligning the code properly. The changes improve the readability and maintainability of the code.
This commit updates the Docker configuration in the `.vscode/launch.json` file to improve the debugging experience for Copilot. It modifies the `Debug: Copilot Locally` configuration by changing the `localRoot` to `${workspaceFolder}/TestServer` and updating the `name` to `Copilot: Debug with Docker`. Additionally, it sets the `port` to `9985`, `remoteRoot` to `/usr/src/app`, and enables `restart` and `autoAttachChildProcesses` for better debugging capabilities. These changes enhance the development workflow and make it easier to debug Copilot locally with Docker.
This commit updates the Docker configuration in the `.vscode/launch.json` file to improve the debugging experience for Copilot. It modifies the `Debug: Copilot Locally` configuration by changing the `localRoot` to `${workspaceFolder}/TestServer` and updating the `name` to `Copilot: Debug with Docker`. Additionally, it sets the `port` to `9985`, `remoteRoot` to `/usr/src/app`, and enables `restart` and `autoAttachChildProcesses` for better debugging capabilities. These changes enhance the development workflow and make it easier to debug Copilot locally with Docker.
This commit updates the Docker configuration in the `.vscode/launch.json` file to improve the debugging experience for Copilot. It modifies the `Debug: Copilot Locally` configuration by changing the `localRoot` to `${workspaceFolder}/TestServer` and updating the `name` to `Copilot: Debug with Docker`. Additionally, it sets the `port` to `9985`, `remoteRoot` to `/usr/src/app`, and enables `restart` and `autoAttachChildProcesses` for better debugging capabilities. These changes enhance the development workflow and make it easier to debug Copilot locally with Docker.
refactor: Update Alert component styles
This commit updates the styles of the Alert component to use a common background color of "bg-gray-700" instead of different colors for each alert type. This change simplifies the code and improves consistency in the UI.
This commit updates the CodeRepositoryPage form fields by removing the "Main Branch Name" field and adding a "Select Service" dropdown with a description. The "Main Branch Name" field is no longer necessary and the "Select Service" dropdown provides a better user experience by allowing users to choose a service from the Service Catalog. These changes improve the usability and clarity of the form.
This commit updates the Docker configuration in the `.vscode/launch.json` file to improve the debugging experience for Copilot. It modifies the `Debug: Copilot Locally` configuration by changing the `localRoot` to `${workspaceFolder}/TestServer` and updating the `name` to `Copilot: Debug with Docker`. Additionally, it sets the `port` to `9985`, `remoteRoot` to `/usr/src/app`, and enables `restart` and `autoAttachChildProcesses` for better debugging capabilities. These changes enhance the development workflow and make it easier to debug Copilot locally with Docker.
This commit updates the styles in the MarkdownViewer component to improve the visual hierarchy of headings and code blocks. It adds margin-bottom to h3, h4, and h5 headings to create better spacing between them and the content. Additionally, it removes unnecessary code in the code block rendering logic to simplify the component. These changes enhance the readability and aesthetics of the rendered Markdown content.
This commit updates the react-syntax-highlighter package to the latest version and switches to the a11yDark style for syntax highlighting in the MarkdownViewer component. This update ensures compatibility with the latest features and improvements of react-syntax-highlighter and enhances the accessibility of the code snippets in the MarkdownViewer.
This commit adds the "@types/react-syntax-highlighter" dependency to the package.json file in the CommonUI directory. This is necessary to provide TypeScript type definitions for the "react-syntax-highlighter" library, ensuring proper type checking and improved development experience.
This commit adds the `network_mode: host` configuration to the `docker-compose.base.yml` file. This configuration allows the container to share the host network stack, enabling direct access to the host's network interfaces. This change is made to improve network performance and connectivity for the application.
This commit adds the `serviceCatalogId` and `serviceRepositoryId` fields to the `CopilotPullRequestAPI` and `CopilotActionAPI` classes. These fields are included in the API response to provide additional information about the service catalog and service repository associated with a pull request or action. This change enhances the data returned by the APIs and improves the overall functionality of the application.
This commit updates the `app.py` file to set a default model name if the `HF_MODEL_NAME` environment variable is not set. The default model name is `meta-llama/Meta-Llama-3-8B-Instruct`. This change ensures that the application uses a valid model name even if the environment variable is not provided.
This commit adds the necessary environment variables for the Hugging Face token and model name in the `docker-compose.yml` file. The `HF_TOKEN` environment variable is used to store the Hugging Face API token, which can be obtained by signing up on Hugging Face and creating a new API token. The `HF_MODEL_NAME` environment variable is optional and allows specifying the model name from Hugging Face. If not set, the default model `meta-llama/Meta-Llama-3-8B-Instruct` will be used.
This commit adds lazy loading for images in the PullRequestView component. By implementing lazy loading, the images will only load when they are in the viewport, improving the page load performance and user experience.
This commit deletes all data from the "CopilotAction" table in the "MigrationName1720785305192" migration. This is done to ensure a clean state before renaming the "pullRequestId" column to "copilotPullRequestId".
This commit modifies the `CopilotAction` table in the `CopilotAction.ts` file to allow the `copilotPullRequestId` column to be nullable. This change provides flexibility in the data model by allowing the column to have null values.
This commit adds a step to the GitHub workflows (`test-release.yaml` and `release.yml`) to setup Git LFS. Git LFS is necessary for handling large files in the repository. By installing Git LFS, we ensure that the repository can handle large files properly during the CI/CD process.
This commit removes the unused Copilot configuration variables from the `config.example.env` file. The `COPILOT_OPENAI_API_KEY` and `COPILOT_OPENAI_MODEL` variables are no longer needed and have been removed. This cleanup improves the clarity and maintainability of the codebase.
This commit adds the `isSetupPullRequest` flag to the `CopilotPullRequestAPI.ts` file. The flag is set to true when creating a pull request for setting up the repository with OneUptime Copilot. This flag will be used to identify setup pull requests in the application.
This commit adds a migration file (1720806196274-MigrationName.ts) that drops the NOT NULL constraint on the columns "serviceCatalogId" and "serviceRepositoryId" in the "CopilotPullRequest" table. This change allows these columns to have nullable values, providing flexibility in the data model.
This commit adds an import statement for the `OneUptimeDate` module in the `CopilotCodeRepositoryAPI.ts` file. The `OneUptimeDate` module is used to update the last run time of the code repository.
Update the table description in CopilotPullRequest.ts to fix a typo. Also, add a new entry in PageMap.ts for the "AI_COPILOT_CODE_REPOSITORY_VIEW_PULL_REQUESTS" page.
This commit adds the `CopilotPullRequestStatus` enum to the `CopilotPullRequestStatus.ts` file in the `Common/Types/Copilot` directory. This enum defines the possible statuses of a Copilot pull request, including "Created", "Merged", and "Closed". This enum will be used to track the status of Copilot pull requests throughout the application.
The CodeRepositoryUtil class now includes two new methods: `addAllChangedFilesToGit` and `commitChanges`. These methods allow for adding all changed files to the git repository and committing the changes with a specified message. This will make it easier to manage and track changes in the code repository.
- Update config.example.env to include OpenAI API key and model.
- Update docker-compose.base.yml to include OpenAI environment variables.
- Update Copilot configuration files to handle OpenAI LLM responses.
- Update LlmType enum values to match the new naming convention.
- Update references to Llama to LLM in various files.
- Update CopilotActionsBase.ts to set the llmType to LLM in the constructor.
- Update Init.ts to use the llmServerUrl instead of llamaServerUrl.
- Update LLM.ts to use LLMServer class instead of Llama class.
- Add OpenAI class and update LLM.ts to handle OpenAI LLM type.
- Update Config.ts to handle OpenAI API key and model.
- Add OpenAI.ts file to handle OpenAI LLM responses.
- Update Copilot Dockerfile.tpl to remove unnecessary code and fix formatting.
- Update config.example.env and Copilot/.env.example to correct the LLM server URL.
- Remove unused code and update documentation in Copilot/README.md.
- Update navigation links in App/FeatureSet/Docs/Utils/Nav.ts to include Copilot documentation.
- Update Copilot/Config.ts and Copilot/Utils/Init.ts to use the new LLM server URL.
- Add logger statements in Copilot/Service/CopilotActions/CopilotActionsBase.ts to log file content.
This commit adds CORS headers to the Telemetry and OTelCollector components to allow cross-origin resource sharing. This enables the client to make requests to these components from different origins. The headers include "Access-Control-Allow-Credentials", "Access-Control-Allow-Origin", "Access-Control-Allow-Methods", and "Access-Control-Allow-Headers".
The code changes in `app.py` update the URL for validating the secret key. The previous URL was using the endpoint `/api/code-repository/is-valid/{secretKey}`, and it has been changed to `/api/copilot-code-repository/is-valid/{secretKey}`. This change ensures that the correct endpoint is used for validating the secret key in the OneUptime service.
The code changes in `app.py` add a new parameter `max_new_tokens` to the `job` function. This parameter allows the maximum number of new tokens to be specified when calling the function. This change enhances the flexibility and control of the `job` function by allowing the maximum number of new tokens to be adjusted as needed.
This commit improves the logging in the Llama class by adding more detailed log messages. It modifies the log statements in the execute method to include the current file path and the type of Copilot action being executed. This change enhances the readability and debugging capabilities of the Llama service.
This commit adds timeout handling to the Llama prompt execution in the Llama class. It introduces a timeoutInMinutes property in the CopilotActionPrompt interface and uses it to set a timeout for the prompt execution. If the prompt execution exceeds the specified timeout, a LLMTimeoutException is thrown, indicating that the prompt has timed out. This change enhances the reliability and responsiveness of the Llama service by preventing long-running prompts from blocking the execution flow.
This commit adds a new method, setAuthorIdentity, to the CodeRepositoryUtil class. The method sets the author's name and email in the global git configuration using the provided data. It executes the necessary git config command and logs the output. This change enhances the functionality of the CodeRepositoryUtil class by allowing the author's identity to be easily configured for git operations.
This commit adds the LOG_LEVEL=DEBUG environment variable to the docker-compose.copilot.yml file. Setting the log level to DEBUG will enable more detailed logging for the Copilot service. This change is made to improve debugging and troubleshooting capabilities during development and testing.
This commit updates the Docker Compose configuration for Copilot. It removes the unnecessary volume mapping for the COPILOT_REPOSITORY_LOCAL_PATH in the docker-compose.copilot.yml file. This change improves the clarity and simplicity of the configuration file.
This commit updates the environment variables CODE_REPOSITORY_PASSWORD and CODE_REPOSITORY_USERNAME in the Copilot project. The previous variables GITHUB_TOKEN and GITHUB_USERNAME have been replaced with the new variables to improve clarity and consistency. The changes are made in multiple files, including .github/workflows/reliability-copilot.yml, Copilot/.env.example, Copilot/Config.ts, Copilot/Utils/CodeRepository.ts, Copilot/Utils/Init.ts, config.example.env, and docker-compose.base.yml. These updates ensure that the correct credentials are used for accessing the code repository in the Copilot project.
This commit adds a new method, cloneRepository, to the CodeRepositoryUtil class. The method is responsible for cloning a repository from a given URL to a specified path. It uses the git clone command to perform the cloning operation. This method will be used to clone the repository to a temporary directory in the Copilot/Init.ts file. The method takes an object as a parameter, which includes the repoPath and repoUrl. It executes the git clone command using the Execute.executeCommand() method and logs the output using the logger.debug() method. This new method enhances the functionality of the CodeRepositoryUtil class and improves the codebase.
This commit adds npm scripts for running Copilot and LLM in development mode. It introduces the "dev-copilot" and "dev-llm" scripts in the package.json file, which set up the necessary environment variables and start the respective services using docker-compose. These scripts enable developers to easily run and test Copilot and LLM locally during development.
This commit updates the Copilot configuration for local development. It adds environment variables and services to the docker-compose.base.yml and package.json files to support running Copilot locally. The changes include adding the "copilot" service to the docker-compose.base.yml file with the necessary environment variables for Copilot functionality. Additionally, it adds new npm scripts in the package.json file to start, build, and force-build Copilot. These updates enable developers to easily run and build Copilot locally for testing and development purposes.
This commit refactors the Monitor.ts file to enhance error handling and populate secrets for monitors. It introduces try-catch blocks and proper logging to handle errors more effectively. Additionally, it populates secrets for monitors using the MonitorUtil.populateSecrets() function. These changes improve the reliability and security of the monitoring process.
This commit refactors the Monitor.ts file to improve error handling. It removes commented out code and unused imports, ensuring a cleaner and more efficient codebase. This change enhances the maintainability and readability of the code.
This commit updates the ingestor replica count in the HelmChart/Public/oneuptime/templates/ingestor.yaml file based on the configuration. If the `$.Values.deployment.ingestor.replicaCount` value is provided, it sets the replicas to that value. Otherwise, it falls back to `$.Values.deployment.replicaCount`. This change ensures that the ingestor replica count is correctly configured, improving the scalability and performance of the application.
This commit refactors the FetchListAndProbe class to improve error handling. It adds try-catch blocks around the main logic and logs any errors that occur using the logger. Additionally, it includes a catch block to handle any errors thrown during the fetchListAndProbe function. This change ensures that errors are properly handled and logged, preventing potential issues with the monitoring process.
The Hugging Face model download step has been removed from the release and test workflows due to limited disk space on the runner. This step was causing issues and is no longer necessary for the current functionality of the project.
This commit refactors the Semaphore.lock() function in the MonitorStatusTimelineService and Monitor API files to improve error handling. It adds try-catch blocks around the lock() function calls and logs any errors that occur using the logger. This change ensures that errors during the locking process are properly handled and logged, preventing potential issues with mutex locking.
This commit refactors the FetchListAndProbe class to improve error handling. It adds try-catch blocks around the main logic and logs any errors that occur using the logger. Additionally, it includes a catch block to handle any errors thrown during the fetchListAndProbe function. This change ensures that errors are properly handled and logged, preventing potential issues with the monitoring process.
This commit updates the default value of the PROBE_MONITOR_FETCH_LIMIT variable in the Config.ts file from 1 to 10. This change ensures that the monitor fetch limit is set to a more reasonable value, improving the efficiency of the monitoring process.
This commit refactors the Semaphore.lock() function in the MonitorStatusTimelineService and Monitor API files to improve error handling. It adds try-catch blocks around the lock() function calls and logs any errors that occur using the logger. This change ensures that errors during the locking process are properly handled and logged, preventing potential issues with mutex locking.
This commit updates the count property in the docker-compose.llm.yml file to use the value 'all' instead of the previous value of '1'. This change allows for the allocation of all available devices with the 'gpu' capability, improving the utilization of resources.
This commit removes the redundant "Bug:" and "Enhancement:" prefixes from the issue template titles. The prefixes are unnecessary as the labels already indicate the type of issue. This change simplifies the issue creation process and improves the clarity of the issue templates.
This commit adds a new migration file, MigrationName1720024126646, to the SchemaMigrations directory. This migration will be used to make changes to the database schema.
This commit adds two new icons, NoSignal and EyeSlash, to the IconProp enum. It also includes the necessary code changes in the Icon component to render these icons. These icons will be used in the Monitor SideMenu to represent monitors with all probes disconnected and monitors with all probes disabled, respectively.
This commit updates the PermissionHelper class to use access control permissions for probe actions. Previously, the isAccessControlPermission property was set to false for all probe-related permissions. Now, it has been changed to true, aligning with the intention of these permissions. This change improves the clarity and consistency of the codebase.
This commit updates the function names in the MonitorTypeHelper class to be more descriptive and accurately reflect their purpose. The function isProbableMonitors has been renamed to isProbableMonitor, and doesMonitorTypeHaveInterval has been renamed to doesMonitorTypeRequireInterval. This change improves the clarity and maintainability of the codebase.
This commit updates the ServerMonitorCriteria class to include the option to evaluate criteria over time. It adds a new condition to check if the criteria filter includes the evaluateOverTimeOptions property. If it does, the criteria will be evaluated based on the specified time value in minutes. This change allows for more flexible and customizable monitoring criteria.
This commit adds the `cores` field to the `CPUMetrics` struct in order to include the number of CPU cores in the collected metrics. This information is useful for understanding the processing power of the server.
This commit adds the hostname field to the server monitor report in order to include the hostname of the server in the collected metrics. This information is useful for identifying and distinguishing between different servers in the monitoring system.
This commit updates the paths to the Dockerfile in the release.yml and test-release.yaml workflows. The paths have been changed to ./LLM/Dockerfile to ensure that the correct Dockerfile is used for building and pushing the image. This change is necessary because the base image of the LLM does not support arm64 platforms.
This commit updates the Dockerfile to set the stack trace limit to 0, allowing full stack traces to be shown. This change ensures that developers have access to complete stack trace information when debugging the application.
This commit updates the paths to the Dockerfile in the release.yml and test-release.yaml workflows. The paths have been changed to ./LLM/Dockerfile to ensure that the correct Dockerfile is used for building and pushing the image. This change is necessary because the base image of the LLM does not support arm64 platforms.
This refactor changes the code in CopilotActionsBase.ts, RefactorCode.ts, ImproveReadme.ts, ImproveVariableNames.ts, FixGrammarAndSpelling.ts, and WriteUnitTests.ts to use an array of messages instead of a single prompt. Each message in the array contains the content and role of the prompt, improving flexibility and readability.
The installation script has been updated to add the binary to the user's path. This ensures that the oneuptime-infrastructure-agent command can be accessed from anywhere in the shell.
This commit updates the description of the notification methods in the NotificationSettings.tsx file. The previous description mentioned "custom porbe" instead of "custom probe". This change improves the accuracy and clarity of the description, ensuring that it correctly reflects the purpose of the notification methods.
This commit adds a new migration file, MigrationName1719915433542, to the SchemaMigrations directory. The migration is necessary to update the database schema and ensure compatibility with the latest changes in the codebase.
chore: Update ProbeAPI.test.ts to include connectionStatus field in select query
This commit modifies the ProbeAPI.test.ts file to include the connectionStatus field in the select query. The connectionStatus field was missing from the original query, and this change ensures that it is now included, providing complete information about the probe's connection status.
This commit updates the ProbeConnectionStatusChange template to display the last connection status change as "Status Since" instead of "Date / Time". The change improves the clarity and accuracy of the displayed information, providing a better user experience.
This commit updates the probeKey prop type from ObjectID to string in the CustomProbeDocumentation and ProbeView components. The probeKey is used to identify the probe and was previously defined as ObjectID, but it should be a string. This change ensures that the probeKey is correctly passed and used throughout the components, improving the accuracy and reliability of the application.
This commit updates the title of the CustomProbeDocumentation component from "Set up your Server Monitor (Linux/Mac)" to "Set up your Custom Probe". The new title accurately reflects the purpose of the component and improves the clarity of the user interface.
This commit updates the ProbeStatusElement component to use the new connectionStatus field from the Probe model. The component previously relied on the lastAlive field to determine the probe's connection status, but now it directly checks the connectionStatus field. This change ensures that the component accurately reflects the probe's current connection status, improving the reliability of the application.
This commit adds notification settings for the "probe owner added" event. It includes updates to the EmailTemplateType enum, NotificationSettingEventType enum, UserNotificationSettingService, and NotificationSettings.tsx. The new settings allow users to receive notifications when they are added as owners to a probe. This enhancement improves the user experience by providing timely notifications for ownership changes.
This commit disables the editing and deleting functionality for probes in the ProbePage component. The isEditable and isDeleteable props are set to false, preventing users from modifying or removing probes. This change ensures that probes cannot be accidentally modified or deleted, improving the data integrity of the application.
This commit adds missing commas in the Index.ts files of the Model/Models and CommonServer/Infrastructure/Postgres/SchemaMigrations directories. The missing commas were causing syntax errors in the code. This fix ensures that the code is valid and can be executed without errors.
This commit adds the APIs for ProbeOwnerTeam and ProbeOwnerUser, allowing users to manage ownership of probes within the application. The APIs are implemented in the BaseAPI/Index.ts file and include routes for creating, deleting, editing, and reading probe owner teams and users. This enhancement improves the functionality of the application by providing a way to manage probe ownership.
This commit updates the model-inline-code styles in the model.ejs and head.ejs files to ensure consistency throughout the application. The model-inline-code class is now defined with rounded corners, smaller text size, and a gray background color. This change improves the visual presentation of code snippets in the application.
This commit adds new permissions for creating, deleting, editing, and reading probe owner teams and users. These permissions allow users to manage ownership of probes within the application. The permissions are defined in the Permission enum and are accompanied by titles and descriptions for clarity. This enhancement improves the access control functionality of the application.
This commit adds a new email template, "ProbeConnectionStatusChange.hbs", to the EmailTemplateType enum in the EmailTemplateType.ts file. The template is used for sending emails related to changes in probe connection status. This addition enhances the email functionality of the application.
This commit adds a new migration file, "1719827175832-MigrationName", to the SchemaMigrations directory. The migration file includes the necessary changes to add a new column, "connectionStatus", to the Probe model in the Models directory. The column is of type "ShortText" and has access control settings for create and read permissions. This migration enables the storage and retrieval of the connection status of a probe in the database.
This commit updates the axios and posthog-js dependencies in the package-lock.json file. The axios dependency is updated from version 1.6.8 to 1.7.2, and the posthog-js dependency is updated from version 1.131.4 to 1.138.0. These updates ensure that the latest stable versions of these libraries are used in the project.
This commit refactors the code in Llama.ts and ImproveComments.ts to improve comments and handle bad operations. In Llama.ts, a new import statement for the BadOperationException class is added, and if the result object contains an error string, a BadOperationException is thrown. In ImproveComments.ts, an unused variable declaration is removed. These changes enhance code readability and error handling.
Refactor CopilotActionsBase.ts, RefactorCode.ts, ImproveReadme.ts, ImproveVariableNames.ts, FixGrammarAndSpelling.ts, and WriteUnitTests.ts to use an array of messages instead of a single prompt. Each message in the array contains the content and role of the prompt. This change improves the flexibility and readability of the code.
This commit updates the Dockerfile and docker-compose.llm.yml files to include the LLM Models directory. The Dockerfile now uses the `ADD .` command to copy the entire repository into the container at `/app`, and the docker-compose.llm.yml file has been modified to set the context to the `./LLM` directory. These changes ensure that the LLM Models directory is included in the Docker image and that the correct context is used for building the image.
The Redis service has been added to the docker-compose.llm.yml file. This service is responsible for caching and cluster state. It extends the configuration from the docker-compose.base.yml file and uses the "redis" service defined there.
Update the Dockerfile in the Copilot directory to use the correct volume mount path. This ensures that the Copilot tool can access the repository files correctly when running in a Docker container.
Fix a typo in the Hugging Face clone URL in the test-release.yaml file, which was causing the cloning process to fail. The "@" symbol was missing in the URL. This commit adds the missing "@" symbol to the URL.
The Banner component has been updated to handle optional link and openInNewTab props. If a link is provided, it will be wrapped in a Link component. If no link is provided, the content will be rendered directly. This change allows for more flexibility in using the Banner component.
Fix a typo in the Hugging Face clone URL in the test-release.yaml file, which was causing the cloning process to fail. The "@" symbol was missing in the URL. This commit adds the missing "@" symbol to the URL.
The Hugging Face clone URL in the test-release.yaml file had a missing "@" symbol, causing the cloning process to fail. This commit fixes the typo by adding the "@" symbol to the URL.
```
This commit updates the Dockerfile and build process for deploying the LLM (Llama Models) service. The Dockerfile has been generated from the Dockerfile.tpl file, and the build process now includes pulling the model from Hugging Face and setting up QEMU and Docker Buildx. Additionally, the login actions for Docker Hub and GitHub Container Registry have been added, and the build and push steps have been configured to use the updated tags and labels from the metadata action.
```
The npm scripts for starting, building, and force-building the LLM (Llama Models) service have been updated in the package.json file. The new scripts use the docker-compose.llm.yml file instead of the docker-compose.ai.yml file. This change ensures that the correct configuration is used for deploying the LLM service.
The directory name for Llama Models has been updated from "Llama/Models" to "LLM/Models". This change ensures consistency and aligns with the updated file paths in the codebase.
chore: Set oneuptimeSecret and encryptionSecret to long random strings
The `oneuptimeSecret` and `encryptionSecret` values in the `values.yaml` file have been updated to be set to long random strings. This change ensures better security for OneUptime in production environments.
This commit adds error handling for item processing in the `job` function of `app.py`. When an error occurs while processing an item, the error is stored in the `errors` dictionary. This ensures that errors are captured and can be handled appropriately. The `queue-status` endpoint now includes the `errors` dictionary in the response, providing visibility into any processing errors that occurred.
This commit adds error handling for item processing in the `job` function of `app.py`. When an error occurs while processing an item, the error is stored in the `errors` dictionary. This ensures that errors are captured and can be handled appropriately. The `queue-status` endpoint now includes the `errors` dictionary in the response, providing visibility into any processing errors that occurred.
The `docker-compose` command in the `test.e2e.yaml` file has been updated to use `docker compose` instead. This change ensures compatibility with the latest version of Docker and improves the consistency of command usage across the project.
The `docker-compose` command in the `test.e2e.yaml` file has been updated to use `docker compose` instead. This change ensures compatibility with the latest version of Docker and improves the consistency of command usage across the project.
The Server Monitor documentation in the `Documentation.tsx` file has been updated to provide separate instructions for setting up the monitor on Linux/Mac and Windows. The title of the Linux/Mac section has been modified to reflect this change. Additionally, the Windows section has been added with detailed steps for downloading, configuring, starting, and stopping the agent. This update improves the clarity and usability of the Server Monitor documentation.
The pricing page has been updated to replace the previous headline with a new one that better highlights the value proposition of OneUptime. The new headline emphasizes that OneUptime is a comprehensive platform that combines 8+ tools into one, providing users with a complete SRE toolchain. This change improves the clarity and effectiveness of the messaging on the pricing page.
The `HomeFeatureSet` object in `Index.ts` has been updated to modify the values for the `Public Status Page` and `Subscribers` features. The `free` plan for `Public Status Page` has been changed from "Unlimited" to "1", and the `free` plan for `Subscribers` has been changed from "Unlimited" to "100". Additionally, a new feature called `Synthetic Monitoring (with Playwright)` has been added to the `HomeFeatureSet` object.
This commit refactors the `CopilotActionService` class in the `Index.ts` file to improve file handling. It updates the logic for obtaining the result from the Copilot action and committing the changes to the repository. Additionally, it removes unused code and improves the readability of the file. This refactoring enhances the overall efficiency and maintainability of the `CopilotActionService` class.
The `install.sh` script has been updated to support the Windows operating system. This includes changes to the URL construction and the addition of logic to handle downloading and unzipping the binary for Windows. This enhancement improves the installation process for Windows users.
This commit adds a new method, `isActionComplete`, to the `CopilotActionsBase.ts` file. The method returns a boolean value indicating whether the action is complete. By default, the method returns `true`, but it can be overridden in derived classes to provide custom logic for determining the action's completion status. This enhancement improves the flexibility and extensibility of the `CopilotActionsBase` class.
This commit extracts code from the `CopilotActionBase.ts` file into separate functions for better code organization and readability. The extracted code includes the logic for ordering SSL certificates, checking the order status, and handling domain removal. This refactoring improves the maintainability and modularity of the codebase.
This commit updates the `StatusPageDomainService.ts` file to mark a domain as not ordered and update the SSL status when it is removed. The `notifyDomainRemoved` function now includes logic to update the `isSslOrdered` and `isSslProvisioned` properties to `false` for the specified domain. This ensures that the SSL certificate is not ordered or provisioned for the removed domain.
The code changes in GreenlockUtil.ts remove the domain if the CNAME is not valid and notify the removal. This ensures that only valid domains are processed for ordering SSL certificates.
The code changes in `StatusPageDomainService.ts` add logic to order an SSL certificate for valid domains. If the CNAME is valid, the code attempts to order the certificate using the `orderCert` function. This ensures that all valid domains have the necessary SSL protection.
This commit adds a new cron job in the `StatusPageCerts.ts` file to check the order status of SSL certificates for domains that have already ordered them. If a certificate does not exist for a domain, the code will attempt to order the certificate again. This ensures that all domains with ordered certificates have the necessary SSL protection.
This commit adds a new cron job in the `StatusPageCerts.ts` file to check the order status of SSL certificates for domains that have already ordered them. If a certificate does not exist for a domain, the code will attempt to order the certificate again. This ensures that all domains with ordered certificates have the necessary SSL protection.
This commit adds a notification webhook on user creation in the UserService. When a new user is created, a Slack message is sent to the specified webhook URL with details about the user's email, name, phone number, and company name. This feature enhances the user onboarding process and allows for better tracking and communication with new users.
This commit adds a blank line at the end of the Copilot README.md file. This change ensures consistency in the file structure and improves readability.
refactor: Update server_name in Nginx configuration
This commit updates the server_name directive in the Nginx configuration file to remove the ${HOST}:${ONEUPTIME_HTTP_PORT} variable and use just ${HOST}. This change ensures that the server_name is set correctly for all domains.
This commit updates the ONEUPTIME_HTTP_PORT value in the nginx.yaml file to use the port specified in the $.Values.port.nginxHttp variable. This change ensures that OneUptime is hosted on the correct port.
This commit updates the Nginx configuration file to enable HTTP/2 by removing the `http2` directive from the `listen` directive and adding a separate `http2` directive. This change ensures that the server supports the latest HTTP/2 protocol, improving performance and security.
refactor: Update OneUptime port in config.example.env
This commit updates the ONEUPTIME_HTTP_PORT value in the config.example.env file to 80. This change ensures that OneUptime is hosted on the correct port.
This commit improves the error handling in the CheckHeartbeat.ts file. It adds a try-catch block around the main logic to catch any errors that occur during the processing of incoming request monitors. Additionally, it logs the error message and the ID of the monitor that caused the error. This change enhances the robustness and reliability of the code by properly handling and logging errors.
The code changes in Project.ts modify the type of the enterpriseAnnualContractValue column from ShortText to Number. This change ensures that the column stores numeric values instead of text, improving data integrity and query performance.
This commit adds logging statements to the IncomingRequestMonitor module to improve debugging and monitoring. The added log messages provide information about the number of incoming request monitors found and whether a monitor should process a request. This change enhances the visibility and understanding of the monitoring process.
This commit refactors the CompareCriteria class to update the message formatting for different filter types. The previous implementation included the word "threshold" in the message, which is unnecessary and can be confusing. The updated message now clearly states whether the value is greater than, greater than or equal to, less than, less than or equal to, or not equal to the threshold value. This change improves the clarity and readability of the message generated by the CompareCriteria class.
This commit removes the unused CopilotEvent table from the database schema. The table is no longer needed and has been dropped to improve database performance and reduce clutter.
This commit adds a new migration file for the latest schema version. The migration file is named "1719228104620-MigrationName". This ensures that the database schema is up to date with the latest changes.
The error handling in app.py has been improved to catch and handle exceptions that occur during the processing of items in the queue. This change ensures that errors are properly logged and that the affected items are removed from the pending items list.
refactor: Update app.py to use asyncio.create_task for job function
The job function in app.py has been updated to use the asyncio.create_task method instead of directly calling the job function. This change improves the efficiency and performance of the code by allowing the job function to run concurrently with other tasks.
The key name in the response of the queue_status endpoint has been updated from "prnding" to "pending" to fix a typo. This change ensures consistency and improves the readability of the returned data.
This commit updates the `CopilotActionsBase.ts` file to include a message about PR generation in the warning section. The message informs users that the PR is generated by OneUptime Copilot and advises them to review the changes before merging. This enhancement improves the clarity and transparency of the generated PRs.
This commit modifies the `Copilot/Init.ts` file to execute the `CopilotActionService.execute` method for each event that needs fixing. It also updates the `currentFixCount` variable to keep track of the number of fixes performed. This refactor improves the functionality of the Copilot service by ensuring that all necessary actions are executed and the fix count is accurately maintained.
The job function in app.py has been converted to an async function to support asynchronous processing. This change improves the performance and responsiveness of the application by allowing other tasks to run concurrently while the job function is processing the queue.
refactor: Add FixGrammarAndSpelling action to CopilotActionType and CopilotActions
This commit adds the `FixGrammarAndSpelling` action to the `CopilotActionType` enum and the `CopilotActions` dictionary. The action is now available for execution in the Copilot service. This enhancement improves the codebase by providing a new action that can be used to fix grammar and spelling errors in the application.
This commit removes the unused `CopilotActionType` enum value from the `CopilotActionType.ts` file. The value was commented out and had no impact on the functionality of the application. Removing it helps to improve code clarity and maintainability.
This commit removes the unused `PromptsUtil` class from the codebase. The class was no longer being used and had no impact on the functionality of the application. Removing it helps to reduce code complexity and improve maintainability.
The code changes in this commit refactor the comments in the `CopilotActionType` and `CopilotActionsBase` files. The comments have been improved to provide clearer instructions and guidelines for code commenting. This enhancement ensures that the codebase is well-documented and easier to understand for future developers.
This commit updates the SendStatusChangeNotification module to convert the rootCause property to HTML using the Markdown.convertToHTML function. This ensures that the rootCause is properly formatted for display in email notifications. The conversion is only performed if the rootCause is not empty. This improvement enhances the readability and presentation of the status change notifications.
This commit updates the OneUptime installation documentation and Docker Compose file to provide clearer instructions for setting up and updating OneUptime. It includes steps for accessing OneUptime, setting up TLS/SSL certificates, and updating OneUptime using Git. The changes ensure that users have the necessary information to install and maintain OneUptime effectively.
This commit updates the installation documentation and example configuration file to provide clear instructions on setting up TLS/SSL certificates for OneUptime. It emphasizes that OneUptime does not support setting up SSL/TLS certificates and provides steps for using a reverse proxy like Nginx or Caddy, along with Let's Encrypt, to provision the certificates. It also includes instructions for updating the necessary settings in the configuration file. This improvement ensures that users have the necessary information to secure their OneUptime installation with SSL/TLS certificates.
This commit updates the MonitorTable component to use the MonitorElement component for rendering monitor names in the table. The MonitorElement component takes a Monitor object as a prop and renders the monitor name as a link. This change improves the modularity and reusability of the code by separating the rendering logic into a separate component.
This commit updates the ServerMonitorCriteria class to handle the evaluateOverTime options in the criteria filter. If the evaluateOverTime flag is set to true and evaluateOverTimeOptions are provided, the offlineIfNotCheckedInMinutes value is updated accordingly. This enhancement improves the flexibility and customization of the ServerMonitorCriteria class.
This commit updates the SendCreatedResourceNotification class to convert the rootCause property to HTML using the Markdown.convertToHTML function. This ensures that the rootCause is properly formatted and displayed in the incident notification email. The rootCause is either the incident's rootCause or a default message if no rootCause is identified. This enhancement improves the readability and effectiveness of the incident notifications.
This commit updates the ProbeMonitorResponseService class to include the criteria details in the rootCause property of the ProbeApiIngestResponse. The criteria met ID, criteria name, criteria description, filter conditions met, and failure cause are now included in the rootCause. This enhancement improves the clarity and completeness of the rootCause information.
The EvaluateOverTime method in the EvaluateOverTime.ts file has been updated to handle boolean values for the IsOnline metric. This change allows the method to correctly evaluate and process the IsOnline metric data, improving the accuracy and reliability of the evaluation process.
The CompareCriteria class has been refactored to improve the clarity of message generation. The code now checks the filter type before appending the values to the message, ensuring that the message is only generated when necessary. This change enhances the readability and maintainability of the code.
The CriteriaFilterUtil class has been updated to handle the IsOnline check correctly. The getEvaluateOverTimeTypeByCriteriaFilter method now includes the IsOnline check in the returned array of EvaluateOverTimeType values. This fix ensures that the CriteriaFilterUtil class functions properly and provides accurate results for the IsOnline check.
This commit adds support for the IsOnline check in the CriteriaFilterUtil class. The getEvaluateOverTimeTypeByCriteriaFilter method now includes the IsOnline check in the returned array of EvaluateOverTimeType values. This enhancement improves the functionality and flexibility of the CriteriaFilterUtil class.
This commit refactors the code in SendCreatedResourceNotification.ts to improve the clarity of how the "declaredBy" field is assigned. The code now checks if the incident has a createdByProbe and createdByUser, and assigns the appropriate value to "declaredBy" based on the available information. This change enhances the readability and maintainability of the code.
This commit adds the "declaredBy" field to the IncidentOwnerResourceCreated template in the Notification feature set and the SendCreatedResourceNotification job in the Workers feature set. The "declaredBy" field is used to display the name of the user or probe who declared the incident. This enhancement improves the clarity and completeness of the incident notifications sent to incident owners.
This commit adds a new optional prop "suffix" to the ProbeElement component in Probe.tsx. The suffix is appended to the probe name displayed in the UI. This enhancement provides more flexibility in customizing the display of probe names.
The branch name generation in CopilotActionsBase.ts has been fixed to replace double hyphens with a single hyphen. This ensures that the branch name is correctly formatted and avoids any potential issues with branch creation and management.
The branch name generation in CopilotActionsBase.ts has been fixed to replace double hyphens with a single hyphen. This ensures that the branch name is correctly formatted and avoids any potential issues with branch creation and management.
This commit updates the import paths for the LlmType module in the following files:
- Copilot/Config.ts
- Copilot/Service/LLM/Llama.ts
- Copilot/Service/LLM/LLM.ts
The import paths are corrected to match the actual file structure, ensuring that the LlmType module is properly imported and used throughout the codebase. This change improves the maintainability and readability of the code.
This commit removes the unused CopilotEvent enum and CopilotEventService class. These files are no longer needed in the codebase and can be safely deleted. Removing unused code improves the maintainability and reduces the complexity of the project.
This commit refactors the code by improving the comments in the code and updating the job function in app.py. The comments are now focused on code that is hard to understand, and unnecessary comments are removed. The job function is converted to an async function to support asynchronous processing, which improves the performance and responsiveness of the application. These changes enhance the readability and efficiency of the codebase.
The file path in the CodeRepositoryUtil.getFileContent() method is now sanitized using the LocalFile.sanitizeFilePath() function before executing the command. This change ensures that the file path is properly formatted and prevents any potential security vulnerabilities or errors caused by invalid file paths.
The job function in app.py has been converted to an async function to support asynchronous processing. This change improves the performance and responsiveness of the application by allowing other tasks to run concurrently while the job function is processing the queue.
This commit adds the FixNumberOfCodeEventsInEachRun constant to the Config.ts file. The constant is set to 5 and is used to determine the number of code events to fix in each run. This change improves the flexibility and configurability of the code events handling in the application.
This commit updates the Dockerfile.tpl to use the huggingface/transformers-pytorch-gpu image instead of the continuumio/anaconda3 image. This change allows the Llama app to utilize GPU resources for improved performance in AI processing. Additionally, the unnecessary installation of the transformers and accelerate libraries is removed as they are already included in the huggingface/transformers-pytorch-gpu image.
refactor: Add appname label to probe.yaml
This commit adds the "appname" label to the probe.yaml file in order to provide additional information about the application. This label will help with identifying the specific application when managing and monitoring the Kubernetes resources.
This commit adds GPU support to the Llama app in the docker-compose.ai.yml file. It includes a new deploy section with reservations for GPU devices, specifying the driver, count, and capabilities. This change enables the Llama app to utilize GPU resources for improved performance in AI processing.
This commit updates the Llama app to log the prompt and output to the console for debugging purposes. It adds print statements to log the prompt before processing and the generated output after processing. This change improves the development workflow by providing visibility into the input and output of the AI model.
This commit adds three new scripts, start-ai, build-ai, and force-build-ai, to the package.json file. These scripts are used to start, build, and force-build the AI services respectively. They are configured to export environment variables, run the prerun script, and execute the necessary docker compose commands with the specified configuration file. This addition enhances the development workflow by providing convenient commands for managing the AI services.
This commit updates the Llama app to use a local model path instead of a model ID. The model path is set to "/app/Models/Meta-Llama-3-8B-Instruct". This change improves the reliability and performance of the app by directly referencing the model file instead of relying on an external model ID.
This commit modifies the github-release workflow to include the generate-build-number job as a dependency. Previously, the workflow only depended on the test-e2e-release-saas and test-e2e-release-self-hosted jobs. By adding the generate-build-number job, we ensure that the necessary build number is generated before the github-release job is executed. This change improves the overall release process by providing accurate build information for the release.
This commit modifies the Dockerfile.tpl file to update the EXPOSE directive. The port number is changed from 80 to 8547 to align with the port used by the Llama application. This change ensures that the Llama application is accessible from outside the container on the correct port.
This commit modifies the secrets.yaml file to add keys for postgres, redis, and clickhouse. These keys are used to store sensitive information such as passwords for external services. By including these keys, we ensure that the necessary secrets are available for the application to connect to these services securely.
This commit updates the Register.spec.ts file to improve the page load performance by implementing lazy loading for images. It ensures that the dashboard page is up before signing up the user and reloads the page if it fails to load. These changes enhance the user experience by optimizing the loading time of the registration page.
This commit modifies the Cookie.ts file to update the setItem method signature. The key parameter now accepts both CookieName and string types, allowing for more flexibility when setting cookies. This change improves the usability and versatility of the Cookie utility class.
This commit updates the ProbeMonitorResponseService class to include a check for the presence of remediation notes in the criteriaIncident object. If remediation notes are provided, they are assigned to the incident object. This change enhances the functionality of the ProbeMonitorResponseService by allowing the storage and retrieval of remediation notes for incidents.
This commit updates the incident form to include a field for remediation notes. This allows users to provide specific steps that should be taken to resolve the incident. By adding this feature, we enhance the incident management process and improve collaboration among team members.
This commit updates the MonitorCriteriaIncidentForm component to include fields for incident description and remediation notes. The incident description field now supports markdown formatting and has a placeholder text for when no description is entered. Similarly, the remediation notes field also supports markdown formatting and has a placeholder text for when no notes are entered. These changes enhance the user experience by providing a more comprehensive incident form.
This commit adds a new migration file for the SchemaMigrations table, introducing a new migration named MigrationName1718711669847. This migration is imported in the Index.ts file of the SchemaMigrations directory. Additionally, the MonitorCriteriaIncidentForm component is updated to change the title of the "Show Advanced Fields" button to "Add Remediation Notes for an engineer to help resolve this incident." The button is also given a left margin of -3 pixels to adjust its positioning. These changes improve the database schema management and enhance the user experience in the incident form.
This commit adds support for user timezones in the login and user profile functionality. It updates the LoginUtil and User classes to include methods for setting and retrieving the user's timezone. Additionally, the UserTimezoneInit component in the Dashboard module is updated to display and allow the user to update their timezone. This change improves the user experience by providing accurate timezone information and allows for better handling of time-related functionality throughout the application.
This commit updates the error message in the `asDateForDatabaseQuery` method of the `OneUptimeDate` class. It now includes the `date.toString()` value to provide more information about the invalid date. This change improves error handling and debugging capabilities.
This commit refactors the getCurrentTimezoneString method in the Date.ts file. It replaces the usage of moment.tz.guess() with this.getCurrentTimezone() to improve code readability and maintainability. Additionally, it adds a check to prepend "GMT" to the zone abbreviation if it starts with a "+" or "-" sign. This change ensures consistent formatting of the timezone string returned by the method.
This commit updates the import statements in the Monitor.ts file. It changes the import statement for the TimezoneUtil module to import from "Common/Types/Timezone" instead of the previous import path. This change ensures that the correct module is imported, improving the accuracy and reliability of the code.
This commit adds data-testid attributes to the Toast component in order to improve testability. The "toast" element, "toast-icon" element, "title" element, "description" element, and "close-button" element now have corresponding data-testid attributes. This change allows for more precise targeting of elements in automated tests, enhancing the reliability and accuracy of the test suite.
This commit removes unused code and updates import statements in multiple files. It removes the unused TimezoneCode enum from the Common/Types/TimezoneCode.ts file and updates the import statements in the affected files to import Timezone from Common/Types/Timezone instead of TimezoneCode. These changes improve the accuracy and reliability of the code.
This commit adds the functionality to select subscriber timezones in the SubscriberSettings component. It introduces a new field, "Subscriber Timezones", which allows subscribers to choose their preferred timezones for receiving notifications. The selected timezones are displayed when subscribers receive notifications. This feature enhances the user experience by providing localized time information.
Refactor import statements for TimezoneUtil in UserProfile/Index.tsx
This commit updates the import statements in the UserProfile/Index.tsx file to import TimezoneUtil from "Common/Types/Timezone" instead of "CommonUI/src/Utils/Timezone". This change ensures that the correct module is imported, improving the accuracy and reliability of the code.
Refactor import statements for TimezoneUtil in UserProfile/Index.tsx
This commit updates the import statements in the UserProfile/Index.tsx file to import TimezoneUtil from "Common/Types/Timezone" instead of "CommonUI/src/Utils/Timezone". This change ensures that the correct module is imported, improving the accuracy and reliability of the code.
Refactor import statements for TimezoneUtil in UserProfile/Index.tsx
This commit updates the import statements in the UserProfile/Index.tsx file to import TimezoneUtil from "Common/Types/Timezone" instead of "CommonUI/src/Utils/Timezone". This change ensures that the correct module is imported, improving the accuracy and reliability of the code.
Refactor import statements for TimezoneUtil in UserProfile/Index.tsx
This commit updates the import statements in the UserProfile/Index.tsx file to import TimezoneUtil from "Common/Types/Timezone" instead of "CommonUI/src/Utils/Timezone". This change ensures that the correct module is imported, improving the accuracy and reliability of the code.
refactor: Update retries value in playwright.config.ts
This commit updates the retries value in the playwright.config.ts file to a fixed value of 3. This change ensures that the tests are retried up to 3 times, improving the reliability of the test suite.
refactor: Update import statements for jest in test files
This commit updates the import statements for jest in multiple test files to use the correct module name "jest" instead of "globals". This change ensures that the jest module is imported correctly, improving the accuracy and reliability of the test setup.
refactor: Update docker-compose command in test.e2e.yaml
This commit updates the docker-compose command in the test.e2e.yaml file to remove the duplicate `e2e` service name. This change improves the clarity and efficiency of the script.
fix: job dependencies
Merge branch 'release' of github.com:OneUptime/oneuptime into release
refactor: Clear user data and remove cookies on authentication error
This commit removes the TimezoneCode enum from the Common/Types/TimezoneCode.ts file. The enum is no longer needed and can be safely deleted. Additionally, it updates the import statements in the affected files to import Timezone from Common/Types/Timezone instead of TimezoneCode. This change ensures that the correct module is imported and improves the accuracy and reliability of the code.
This commit updates the import statements in the UserProfile/Index.tsx file. It changes the import statement for TimezoneUtil from "CommonUI/src/Utils/Timezone" to "Common/Types/Timezone". This change ensures that the correct module is imported, improving the accuracy and reliability of the code.
This commit updates the import statements in the UserProfile/Index.tsx file. It changes the import statement for TimezoneUtil from "CommonUI/src/Utils/Timezone" to "Common/Types/Timezone". This change ensures that the correct module is imported, improving the accuracy and reliability of the code.
This commit refactors the import statements in the UserProfile/Index.tsx file. It updates the import statement for TimezoneUtil from "CommonUI/src/Utils/Timezone" to "Common/Types/Timezone". This change ensures that the correct module is imported, improving the accuracy and reliability of the code.
This commit updates the retries value in the playwright.config.ts file. The previous value was determined based on the environment variable "CI", but it has been changed to a fixed value of 3. This change ensures that the tests are retried up to 3 times, improving the reliability of the test suite.
This commit updates the import statements for jest in multiple test files. The previous import statements used "globals" as the module name, which is incorrect. The correct module name is "jest". This change ensures that the jest module is imported correctly, improving the accuracy and reliability of the test setup.
refactor: Update docker-compose command in test.e2e.yaml
This commit updates the docker-compose command in the test.e2e.yaml file. The previous command included the `e2e` service name twice, which is unnecessary. The updated command removes the duplicate service name, improving the clarity and efficiency of the script.
This commit clears the user data and removes cookies when an authentication error occurs. This ensures that the user is logged out and any stored data is removed, preventing unauthorized access. The code change is made in the API.ts file.
This commit updates the axios and posthog-js dependencies in the package-lock.json file. The axios dependency is updated from version 1.7.1 to 1.7.2, and the posthog-js dependency is updated from version 1.131.4 to 1.133.0. This update ensures that the latest stable versions of these dependencies are used, improving the functionality and security of the application.
This commit updates the import statements for jest in multiple test files. The previous import statements used "globals" as the module name, which is incorrect. The correct module name is "jest". This change ensures that the jest module is imported correctly, improving the accuracy and reliability of the test setup.
This commit updates the import statements for jest in multiple test files. The previous import statements used "globals" as the module name, which is incorrect. The correct module name is "jest". This change ensures that the jest module is imported correctly, improving the accuracy and reliability of the test setup.
This commit updates the import statements for jest in multiple test files. The previous import statements used "globals" as the module name, which is incorrect. The correct module name is "jest". This change ensures that the jest module is imported correctly, improving the accuracy and reliability of the test setup.
This commit updates the import statements for jest in multiple test files. The previous import statements used "globals" as the module name, which is incorrect. The correct module name is "jest". This change ensures that the jest module is imported correctly, improving the accuracy and reliability of the test setup.
This commit updates the import statements for jest in multiple test files. The previous import statements used "globals" as the module name, which is incorrect. The correct module name is "jest". This change ensures that the jest module is imported correctly, improving the accuracy and reliability of the test setup.
This commit updates the import statement for jest in the setupTest.js file. The previous import statement used "globals" as the module name, which is incorrect. The correct module name is "jest". This change ensures that the jest module is imported correctly, improving the accuracy and reliability of the test setup.
This commit updates the import statement for jest in the setupTest.js file. The previous import statement used "globals" as the module name, which is incorrect. The correct module name is "jest". This change ensures that the jest module is imported correctly, improving the accuracy and reliability of the test setup.
This commit updates the import statement for jest in the setupTest.js file. The previous import statement used "globals" as the module name, which is incorrect. The correct module name is "jest". This change ensures that the jest module is imported correctly, improving the accuracy and reliability of the test setup.
This commit removes the "@trivago/prettier-plugin-sort-imports" plugin from the ".prettierrc.json" file and updates the eslint configuration in the "package.json" file. The plugin was removed because it is no longer needed and caused conflicts with the updated eslint configuration. This change improves the codebase by simplifying the prettier configuration and ensuring compatibility with the updated eslint rules.
This commit updates the symbol type from 'Symbol' to 'symbol' in the ColumnAccessControl files. The use of 'symbol' aligns with the TypeScript convention for symbol types. This change improves code consistency and readability.
This commit adds a new dropdown component for selecting the timezone on the user profile page. The dropdown options are populated using the `TimezoneCode` enum from the `Common/Types/TimezoneCode.ts` file. Users can now select their timezone, which will be used for all date and time related notifications sent to them. This enhancement improves the user experience by providing a convenient way to set the timezone preference.
This commit refactors the API class in API.ts to improve error handling. The `getFriendlyErrorMessage` method now includes additional error cases and returns more specific error messages for network errors, timeouts, request aborts, cancellations, connection issues, and SSL certificate expiration. This change enhances the user experience by providing clearer and more informative error messages.
This commit updates the notification subjects for incidents and announcements in the SendNotificationToSubscribers.ts files. The subjects now include a prefix indicating the type of notification (e.g., [Incident], [Announcement]) followed by the status page name. This change improves the clarity and consistency of the notification emails and SMS messages sent to subscribers.
This commit refactors the API class in API.ts to improve the handling of SSL certificate errors. The `getFriendlyErrorMessage` method now includes specific error messages for different SSL certificate issues, such as expired certificates, certificates signed by unknown authorities, and self-signed certificates. This enhancement enhances the user experience by providing clearer and more informative error messages for SSL certificate errors.
The API class in API.ts has been updated to improve error handling. The getFriendlyErrorMessage method now includes additional error cases and returns more specific error messages for network errors, timeouts, request aborts, cancellations, connection issues, and SSL certificate expiration. This change enhances the user experience by providing clearer and more informative error messages.
The API class in API.ts has been updated to improve error handling and display. The getFriendlyErrorMessage method now includes additional error cases and returns more specific error messages for network errors, timeouts, request aborts, cancellations, connection issues, and SSL certificate expiration. This change enhances the user experience by providing clearer and more informative error messages.
The status-check.sh script has been modified to update the endpoint URLs for checking the status of the Dashboard, Status Page, and Accounts services. The URLs now include "/status/ready" at the end, ensuring that the services are ready to handle requests. This change improves the accuracy and reliability of the status check script.
The login test in Login.spec.ts has been updated to handle cases where the user credentials (email and password) are missing. Previously, the test would only check if the user is registered, but now it also checks if the registered user email and password are available. This change ensures that the test behaves correctly in all scenarios and improves the reliability of the login functionality.
refactor: Update artifact upload paths in release and test workflows
The artifact upload paths in the release.yml, test-release.yaml, and test.e2e.yaml workflows have been updated to include the entire E2E directory instead of specific subdirectories. This change simplifies the configuration and ensures that all necessary files are included in the artifacts.
This commit adds a new endpoint to the CodeRepositoryAPI class in CodeRepositoryAPI.ts. The endpoint allows users to retrieve Copilot events for a specific file in the code repository. It takes in a secret key, file path, and service catalog ID as parameters and returns a list of Copilot events. This enhancement improves the functionality and usability of the API.
This commit adds a new column, CopilotEventStatus, to the CopilotEvent model in the CopilotEvent.ts file. The CopilotEventStatus column represents the status of a Copilot event that was triggered for a file in the code repository. This enhancement improves the functionality and flexibility of the CopilotEvent model.
This commit updates the branch name in Copilot/Index.ts from 'test-branch-3' to 'test-branch-4'. Additionally, it adds the GITHUB_USERNAME variable to the .env.example file. These changes improve the accuracy and functionality of the code.
This commit modifies the CodeRepositoryUtil class in CodeRepository.ts to include a new parameter, serviceRepository, in the createBranch and createOrCheckoutBranch methods. This change allows for better integration with the ServiceRepository class and improves the flexibility and maintainability of the code.
The HostedCodeRepository class in HostedCodeRepository.ts has been updated to include a new method, createPullRequest. This method allows for the creation of pull requests in the code repository. This change enhances the functionality and flexibility of the HostedCodeRepository class.
The ServiceFileTypesUtil class in ServiceFileTypes.ts has been updated to include two new methods: getCommonDirectoriesToIgnore and getCommonFilesToIgnore. These methods return arrays of common directories and files that should be ignored in code repositories. This change improves the functionality and maintainability of the code by providing a centralized way to define and retrieve the directories and files to ignore.
The CodeRepositoryUtil class in CodeRepository.ts has been refactored to improve the handling of file extensions. The changes include:
- Simplifying the logic for skipping files with unsupported extensions
- Adding support for accepted file extensions in the getFilesInDirectory method
These improvements enhance the functionality and maintainability of the code.
The ServiceRepository class in ServiceRepository.ts has been updated to include a new field, serviceLanguage. This field is of type ServiceLanguage and is required. This change allows for better organization and identification of code repositories based on their programming language.
This commit refactors the CodeRepositoryUtil and LocalFile classes to include a new method, sanitizeFilePath, which removes double slashes from file paths. This change ensures that file paths are properly formatted and improves the reliability and maintainability of the code.
The CodeRepositoryView component in Index.tsx has been updated to include a new field for the repository name. This change allows for better organization and identification of code repositories within the system.
The CodeRepository entity has been updated to include two new fields: organizationName and repositoryName. These fields are of type character varying(100) and are required. This change allows for better organization and identification of code repositories within the system.
The status-check.sh script has been modified to update the endpoint URLs for checking the status of the Dashboard and Status Page services. The URLs now include "/status/ready" at the end, ensuring that the services are ready to handle requests. This change improves the accuracy and reliability of the status check script.
The status-check.sh script has been updated to modify the endpoint URLs for checking the status of various services. The URLs now include "/ready" at the end, indicating that the services are ready to handle requests. This change ensures that the status check accurately reflects the readiness of the services and improves the reliability of the script.
The SchemaMigrations/Index.ts file has been updated to include the MigrationName1718203144945 migration. This change ensures that the new migration is included in the list of schema migrations, allowing for proper database versioning and management.
The ServiceRepository class in ServiceRepository.ts has been updated to use the number type for the limitNumberOfOpenPullRequestsCount property instead of the string type. This change ensures that the property is correctly typed and improves the accuracy and reliability of the code.
The GitHubUtil class in GitHub.ts has been updated to import the HostedCodeRepository class from the correct file path, "HostedCodeRepository/HostedCodeRepository". This change ensures that the correct class is imported and used, improving the functionality and maintainability of the code.
The CodeRepositoryType.ts file has been refactored to remove commented out code and unused imports. This change improves code cleanliness and reduces unnecessary clutter in the file.
The Config.ts file has been updated to handle the GitHub token more efficiently. The GetGitHubToken function now checks the repository type and throws an exception if a GitHub token is required but not provided. This change improves the security and reliability of the application by ensuring that the correct token is used for GitHub repositories.
The ServiceRepositoryPage component has been updated to include a new flag, doNotShowWhenEditing, which controls whether a certain field should be displayed when editing a service. This change improves the user experience by allowing for more flexibility in customizing the form fields based on the editing mode.
The prop types for the noItemsMessage prop have been updated in multiple components to include the ReactElement type. This change allows for passing React elements as the no items message, providing more flexibility in customizing the message's content and appearance.
The title of the Service Catalog field in the ServiceRepositoryPage component has been updated from "Service Catalog" to "Service". This change improves clarity and consistency in the user interface.
This commit adds the MigrationName1718126316684 to the list of schema migrations in the Index.ts file. The new migration introduces changes to the database schema and ensures that the codebase is up to date with the latest schema changes. This enhancement improves the maintainability and functionality of the application.
This commit adds a new field to the ServiceRepositoryPage component, allowing users to enable or disable pull requests for a service. When enabled, OneUptime will create pull requests for the service and automatically improve the code. This enhancement provides more control over pull request generation and improves the functionality of the ServiceRepositoryPage.
The enablePullRequests property has been added to the ServiceRepository model. This property allows for enabling or disabling automatic pull request creation by Copilot for this service. By default, enablePullRequests is set to true, indicating that Copilot will create pull requests for this service to automatically improve the codebase. This change enhances the functionality of the ServiceRepository model and provides more control over pull request generation.
refactor: Update defaultValue property in Field interface
The defaultValue property in the Field interface has been updated to include the number type. This change allows for setting default values of type number in form fields.
This commit removes the CopilotServiceService module, which is no longer needed. It also updates the references to the CopilotService class to use the ServiceRepository class instead. This change improves code organization and consistency by using the appropriate service class for managing service repositories.
This commit adds the CopilotService to the BaseAPIFeatureSet in the Index.ts file. The CopilotService is imported from the CopilotServiceService module and is used to create a new router for the "/app" endpoint. This change allows for handling requests related to the CopilotService in the application.
New migrations have been added to the SchemaMigrations and Models directories. These migrations introduce new changes to the database schema and model definitions. This commit ensures that the codebase is up to date with the latest schema changes and improves the maintainability of the application.
The titles of the ServiceCatalog and ServiceCatalogOwnerTeam classes have been updated to use a consistent naming convention. The "ServiceCatalog" title has been changed to "Service Catalog" and the "ServiceCatalog ID" title has been changed to "Service Catalog ID". This change improves clarity and readability in the codebase.
The value of ALLOWED_ACTIVE_MONITOR_COUNT_IN_FREE_PLAN in _helpers.tpl has been updated to be quoted using the | quote filter. This change ensures that the value is treated as a string, improving consistency and compatibility with other parts of the codebase.
A new debug configuration has been added to the launch.json file. This configuration allows for launching Copilot locally by running the "start" script using npm. It skips files in the "<node_internals>" directory and is specifically configured for debugging Node.js applications. This change improves the development experience by enabling easy debugging of Copilot locally.
The linting configuration in the package.json file has been updated to exclude .tsx files from linting. This change ensures that the linting process only targets .ts files and improves the efficiency of the linting process.
The jest.config.json files in the Model, Probe, Common, Copilot, CommonUI, Ingestor, IsolatedVM, TestServer, and CommonServer directories have been updated. The "testPathIgnorePatterns" property has been added to each file, excluding the "node_modules" and "dist" directories from test path matching. This change improves test performance and ensures that unnecessary files are not included in the test coverage.
The CodeRepositoryUtil methods getGitCommitHashForFile and getFilesInDirectory have been updated to accept a repoPath parameter. This change allows for specifying the repository path when retrieving the git commit hash for a file or getting the files in a directory. It improves the flexibility and reusability of the CodeRepositoryUtil class.
The import statements in the MonitorService.ts file have been updated to import the AllowedActiveMonitorCountInFreePlan and IsBillingEnabled constants from the EnvironmentConfig module. This change ensures that the codebase is using the correct import paths and improves code readability.
The ALLOWED_ACTIVE_MONITOR_COUNT_IN_FREE_PLAN constant has been updated to 10 in multiple files. This change aligns the codebase with the new limit for active monitors allowed in the free plan.
This code change updates the CodeRepositoryAPI endpoint in the CodeRepositoryAPI.ts file to use the POST method instead of the GET method for getting the code repository. The route has also been modified to "/get-code-repository/:secretkey" to align with the API design. This change ensures that the code repository is retrieved securely and follows the recommended RESTful API practices.
This code change adds the CodeRepositoryAPI endpoint to the BaseAPIFeatureSet in the App/FeatureSet/BaseAPI/Index.ts file. It imports the CodeRepository model and service, and includes the necessary routing and configuration for the endpoint. This change allows for the CRUD operations on CodeRepository data through the API.
This code change adds the TableBillingAccessControl decorator to the MonitorOwnerTeam, MonitorOwnerUser, StatusPageOwnerTeam, MonitorGroupOwnerTeam, and MonitorGroupOwnerUser models. The decorator configures the access control settings for these models based on the specified subscription plans. This change ensures that the appropriate access control rules are applied when creating, reading, updating, or deleting records in these models.
The DuplicateModel component in CommonUI has been updated to include a new option, forceNavigate, when navigating to a new item. This option allows for forced navigation to the new item, bypassing any checks or validations. This change provides more control over the navigation behavior and ensures consistent navigation to the new item.
The Field interface in the CommonUI project has been updated to include a new property, doNotShowWhenCreating. This property allows developers to specify whether a field should be shown in the form when creating a new entity. By setting doNotShowWhenCreating to true, the field will be hidden during the creation process. This change provides more control over the visibility of fields in the form based on the create or edit mode.
Update CodeRepository.getRepository() to return a Promise<CodeRepositoryModel> instead of a string. This change improves the functionality and flexibility of the CodeRepository class.
The CodeRepository.getRepository() method has been updated to return a Promise<CodeRepositoryModel> instead of a string. This change ensures that the method is asynchronous and can handle asynchronous operations, improving the overall functionality and flexibility of the CodeRepository class.
The startup message in the Copilot/Index.ts file has been updated to provide a clearer description of the application. This change improves the readability and understanding of the log output during the startup process.
This code change adds the CopilotEvent API endpoint to the BaseAPIFeatureSet in the App/FeatureSet/BaseAPI/Index.ts file. It imports the CopilotEvent model and service, and includes the necessary routing and configuration for the endpoint. This change allows for the CRUD operations on CopilotEvent data through the API.
This code change updates the Dockerfile and build steps for the Copilot service. It adds a new workflow job, `docker-build-copilot`, which builds the Docker image for the Copilot service. The job includes steps to checkout the code, preinstall dependencies, and build the Docker image using the specified Dockerfile. This change ensures that the Copilot service is built and deployed correctly in the CI/CD pipeline.
This code change updates the logger class to use the configured log level from the environment configuration. The getLogLevel method is added to retrieve the log level, and the info, error, warn, and debug methods are updated to check the log level before logging the message. This change ensures that the logger behaves according to the configured log level, improving the consistency and control of log output.
This code change adds a new column, 'isMonotonic', to the Metric model in the AnalyticsModels directory. The column is optional and represents whether the metric is monotonic. This change ensures that the necessary data is captured and stored correctly for metrics in the system.
This code change updates the Telemetry class in the CommonServer/Utils directory to include methods for creating gauge and histogram metrics. The getGauge and getHistogram methods are added, allowing for the creation of observable gauges and histograms with specified names and descriptions. This change enhances the telemetry capabilities of the application by providing more options for metric tracking and analysis.
This code change updates the EventItem component to dynamically apply styles based on the event type. The classNames for the title and description elements are now generated based on the eventType prop, allowing for more flexibility in styling. This change improves the visual representation of different event types in the application.
This code change adds a new column, 'Metric Point Type', to the Metric model in the AnalyticsModels directory. The column is optional and represents the type of metric point. This change ensures that the necessary data is captured and stored correctly for metrics in the system.
This code change adds a new column, 'Aggregation Temporality', to the Metric model in the AnalyticsModels directory. The column is required and represents the aggregation temporality of the metric. This change ensures that the necessary data is captured and stored correctly for metrics in the system.
This code change updates the needs array in the test-e2e-release-saas and test-e2e-release-self-hosted jobs in the release.yml file. The nginx-docker-image-deploy job has been added to the needs array to ensure that it is executed before these jobs. This change ensures that the necessary dependencies are met for the successful execution of the test-e2e-release-saas and test-e2e-release-self-hosted jobs.
This code change removes the commented code in the NavBar component that was no longer needed. The commented code was related to the AI Copilot feature and the Service Catalog feature, which have been refactored or removed from the application. Removing this commented code improves code readability and reduces clutter in the component.
refactor: Update viewPageRoute in CodeRepositoryPage component
This code change updates the viewPageRoute prop in the CodeRepositoryPage component to use the new route generated by the Navigation utility. This ensures that the component navigates to the correct view page when a code repository is clicked.
This code change adds the viewPageRoute prop to the CodeRepositoryPage component in order to specify the route for viewing a code repository. This prop is set to the corresponding route from the RouteMap. By including this prop, the component will correctly navigate to the view page when the user clicks on a code repository.
This code change adds the CodeRepository model and service to the project. It includes the following modifications:
- Added CodeRepository model to the Models/Index.ts file.
- Added CodeRepositoryService to the Services/Index.ts file.
- Created CodeRepositoryService.ts file with the necessary implementation.
These changes enable the project to manage code repositories.
This code change adds the CodeRepository model, service, and permissions to the project. It includes the following modifications:
- Added CodeRepository model to the Models/Index.ts file.
- Added CodeRepositoryService to the Services/Index.ts file.
- Created CodeRepositoryService.ts file with the necessary implementation.
- Updated Permission enum in the Permission.ts file to include CreateCodeRepository, DeleteCodeRepository, EditCodeRepository, and ReadCodeRepository permissions.
These changes enable the project to manage code repositories and define the necessary permissions for them.
This code change updates the endpoint-status.sh script to improve the error message when the endpoint returns an HTTP status other than 200. The previous message mentioned that it usually takes a few minutes for the app to boot, which is not accurate. The updated message removes this misleading information and provides a more accurate description of the retry behavior.
This code change updates the BaseModelTable component to improve the logic for determining whether to show the actions column. Previously, the actions column was shown based on various conditions, including permissions, action buttons, and the showViewIdButton prop. This logic has been refactored to simplify the conditions and make it easier to understand.
- The showActionsColumn variable is now initialized with the result of the Boolean function, which checks if any of the conditions are met.
- Additionally, if the user is a master admin, the actions column will always be shown, regardless of other conditions.
These changes enhance the readability and maintainability of the code, ensuring that the actions column is displayed correctly based on the specified conditions.
This code change updates the values.yaml file in the HelmChart/Public/oneuptime directory. It enables the cleanup and e2e cron jobs for development purposes. Please note that these cron jobs should not be enabled in production environments. This change allows for easier testing and debugging during development.
This code change updates the CodeQL analysis workflow in the .github/workflows/codeql-analysis.yml file. It adds TypeScript as a supported language for CodeQL analysis, in addition to JavaScript. This ensures that the codebase can be thoroughly analyzed for potential security vulnerabilities and bugs in both JavaScript and TypeScript code.
This code change updates the SideMenu.tsx file in the ServiceCatalog/View directory. It fixes an indentation issue in the SideMenuItem component by properly aligning the opening tag. This ensures consistent code formatting and improves code readability.
This code change updates the Delete.tsx file in the ServiceCatalog/View directory. It modifies the onDeleteSuccess callback function to navigate to the Service Catalog page (RouteMap[PageMap.SERVICE_CATALOG]) after a successful deletion. This ensures a smooth user experience by redirecting them to the appropriate page after completing the deletion process.
This code change updates the ServiceCatalogPage component in ServiceCatalog.tsx to include lazy loading for the ServiceCatalogElement component. By implementing lazy loading, the page load performance is improved as the ServiceCatalogElement component is only loaded when it is actually needed. This enhances the overall user experience by reducing initial page load time.
This code change updates the ServiceCatalogRoutePath in the RouteMap.ts file to include new routes for viewing, managing owners, and deleting service catalogs. This ensures that the application can properly handle these actions related to service catalogs within the dashboard.
This code change updates the ServiceCatalogRoutePath in the RouteMap.ts file to include new routes for viewing, managing owners, and deleting service catalogs. This ensures that the application can properly handle these actions related to service catalogs within the dashboard.
This code change adds the ServiceCatalogOwnerTeamService and ServiceCatalogOwnerUserService to the Services/Index.ts file. These services are necessary for managing ownership of Service Catalogs, allowing teams and individual users to be assigned as owners of specific Service Catalogs.
This code change adds the ServiceCatalogOwnerTeam and ServiceCatalogOwnerUser models to the project. These models are necessary for managing ownership of Service Catalogs, allowing teams and individual users to be assigned as owners of specific Service Catalogs.
This code change fixes the formatting in the SchemaMigrations/Index.ts file. The changes include removing unnecessary whitespace and ensuring consistent indentation. This improves code readability and maintainability.
This code change updates the Index.ts and Models/Index.ts files to import and include the ServiceCatalogService and ServiceCatalog model respectively. This allows for the management of Service Catalogs, including creating, deleting, editing, and reading them within the project.
This code change adds new permissions for managing Service Catalogs. The permissions include creating, deleting, editing, and reading Service Catalogs. These permissions allow users to perform various actions related to Service Catalogs within the project.
Refactor: Update Index.ts and Models/Index.ts to import and include the ServiceCatalogService and ServiceCatalog model respectively.
refactor: Change metric column types to decimal
This code change modifies the Metric model in the AnalyticsModels directory to change the column types of various metrics from TableColumnType.Number to TableColumnType.Decimal. This update ensures more accurate and precise calculations for the metrics.
This code change updates the CommonServer/package.json file to remove the "@opentelemetry/metrics" dependency and adds the "@opentelemetry/sdk-metrics" dependency with version "^1.21.0". It also updates the Ingestor/Service/OTelIngest.ts file to import the "JSONFunctions" module from "Common/Types/JSONFunctions" and use the "flattenObject" function from that module to flatten the final object before returning it.
This code change updates the OTelIngest.ts file to improve code readability and maintainability. It includes formatting changes such as indentation and line breaks to enhance code structure and organization. These modifications make the code easier to understand and maintain for future development.
This code change updates the Telemetry class to include new metrics for status checks. It adds counters for successful and failed status checks, including separate counters for ready and live checks. This modification enhances the monitoring capabilities of the application and provides more granular insights into the status of the system.
This code change updates the external database configuration in the HelmChart. It adds support for using an existing secret for the password instead of directly specifying the password. This modification enhances security and allows for easier management of the database credentials.
This code change updates the external database configuration in the HelmChart. It adds support for using an existing secret for the password instead of directly specifying the password. This modification enhances security and allows for easier management of the database credentials.
This code change updates the PageMap and RouteMap files to include a new telemetry metric page. The new page, TELEMETRY_SERVICES_VIEW_METRIC, is added to both files with its corresponding route path. This modification ensures that the new page is properly mapped and accessible within the application.
This code change updates the value of DATABASE_USERNAME in the _helpers.tpl file. The value is changed to "postgres" when the postgresql.enabled flag is true, and to the value of $.Values.externalPostgres.username when the flag is false. This modification ensures that the correct username is used for the database connection.
The code changes update the commands used to retrieve secrets from Kubernetes. The previous commands were using the deprecated `go-template` option, which has been replaced with the `jsonpath` option. This refactor ensures that the correct commands are used to retrieve the secrets, improving the reliability and maintainability of the code.
This code change adds lazy loading for images in the DateFilter component. By implementing lazy loading, the images in the component will only load when they are in the viewport, improving the page load performance. This enhancement provides a better user experience by reducing the initial load time of the page.
This code change adds a new date filter to the FiltersForm and FilterViewer components. The date filter allows users to filter data based on a specific date range. This enhancement improves the filtering capabilities of the components and provides users with more flexibility in data analysis.
This code change updates the DatabaseService class to set the isRoot flag to true when updating items. Previously, the props object in the update query only included the ignoreHooks flag. By adding the isRoot flag, we ensure that the update operation is performed as a root user, bypassing any access restrictions or hooks. This modification enhances the flexibility and control of the update process.
This code change updates the PingMonitorView component to display the monitor destination and port. It ensures that the destination URL or IP address and the corresponding port are correctly displayed in the component. This enhancement improves the visibility of the monitoring information for users.
This code change updates the ProbeMonitorResponse interface to include the monitorDestination and monitorDestinationPort properties. These properties represent the destination URL or IP address and the corresponding port for monitoring. By adding these properties to the interface, we ensure that the necessary information is available for monitoring purposes.
This code change updates the value of DATABASE_USERNAME in the _helpers.tpl file. The value is changed to "postgres" when the postgresql.enabled flag is true, and to the value of $.Values.externalPostgres.username when the flag is false. This modification ensures that the correct username is used for the database connection.
This code change updates the import statement for the InitialMigration file in the Postgres SchemaMigrations folder. The file name was changed from "1717605043663-MigrationName.ts" to "1717605043663-InitialMigration.ts". This refactor ensures that the correct file is imported and used for schema migrations.
This code change updates the ClickHouse configuration to support HTTPS. It introduces a new environment variable, `ClickHouseIsHostHttps`, which is set to `true` in the `EnvironmentConfig.ts` file. The `ClickhouseConfig.ts` file is modified to conditionally set the host protocol to `https` based on the value of `ClickHouseIsHostHttps`. This enhancement allows users to easily configure ClickHouse to use HTTPS when connecting to the host.
This code change updates the Redis and ClickHouse TLS configuration to support the new `RedisTlsCert`, `RedisTlsKey`, `ClickhouseTlsCert`, and `ClickhouseTlsKey` environment variables. It modifies the `Redis.ts` and `ClickhouseConfig.ts` files to conditionally set the TLS options based on the presence of these variables. This enhancement allows users to easily enable TLS for Redis and ClickHouse by providing the necessary certificate and key files.
This code change enables Redis and ClickHouse in the Helm chart by setting the `enabled` flag to `true` for both services in the `values.yaml` file. This enhancement allows users to utilize Redis and ClickHouse functionalities when deploying the Helm chart.
This code change updates the Postgres configuration in the Helm chart to support both internal and external Postgres databases. It adds the necessary environment variables and secrets blocks to handle the external Postgres database configuration. This enhancement allows users to easily switch between using an internal or external Postgres database when deploying the Helm chart.
This code change updates the Postgres configuration in the Helm chart to support both internal and external Postgres databases. It adds the `applicationName` property to the `dataSourceOptions` object in `PostgresConfig.ts` to set the application name to 'oneuptime'. Additionally, it adds new blocks in `secrets.yaml` to handle secrets for the external Postgres database, including the password and SSL options. This enhancement allows users to easily switch between using an internal or external Postgres database when deploying the Helm chart.
This code change updates the Postgres configuration in the Helm chart to support both internal and external Postgres databases. The `DATABASE_NAME` environment variable is renamed from `DATABASE_DATABASE` to improve clarity. Additionally, a new block for configuring SSL options for the external Postgres database is added. This enhancement allows users to easily switch between using an internal or external Postgres database when deploying the Helm chart.
This code change updates the Postgres configuration in the Helm chart to support both internal and external Postgres databases. The `DATABASE_HOST`, `DATABASE_PORT`, `DATABASE_USERNAME`, `DATABASE_PASSWORD`, and `DATABASE_DATABASE` environment variables are now conditionally set based on the `postgresql.enabled` flag in the `values.yaml` file. If `postgresql.enabled` is `true`, the values are set to the internal Postgres service details. Otherwise, they are set to the corresponding values from the `externalPostgres` configuration. This enhancement allows users to easily switch between using an internal or external Postgres database when deploying the Helm chart.
refactor: Enable external Postgres support in Helm chart
This code change modifies the Helm chart to enable support for using an external Postgres database. The `postgresql.enabled` flag in the `values.yaml` file is set to `true` to indicate that an external Postgres database will be used. This enhancement allows users to configure the Helm chart to connect to an existing Postgres database instead of deploying a new one.
This code change updates the Docker login action to version 2.2.0 in the build.yml file. The new version provides improved functionality and security for logging in to Docker Hub. This chore ensures that the latest stable version of the Docker login action is used in the build process.
This code change adds the ErrorMessage component to the BasicFormModal component in BasicFormModal.tsx. The ErrorMessage component is rendered when the props.error value is truthy, displaying the error message to the user. This enhancement improves the user experience by providing clear feedback when an error occurs during form submission.
This code change adds the `doNotShowWhenEditing` flag to the form fields in the `ModelTable` component. When set to `true`, this flag prevents certain fields from being shown in the form when it is in edit mode. This improvement provides better control over which fields are displayed in the form during editing, enhancing the user experience and reducing clutter.
refactor: Update DatabaseService encrypt method to handle PartialEntity
This code change updates the `encrypt` method in the `DatabaseService` class to handle `PartialEntity` as an input parameter. Previously, the method only accepted `TBaseModel` as the input type. This improvement allows for encrypting both complete entities and partial entities, providing more flexibility in data encryption.
This code change updates the permissions for the MonitorSecret model in MonitorSecret.ts. The update includes adding the Permission.EditMonitorSecret permission to the update operation, allowing project owners, project admins, and users with the EditMonitorSecret permission to update MonitorSecret records. This improvement provides better control over who can modify MonitorSecrets and ensures that only authorized users can make changes to sensitive information.
This code change removes the unused Permission.ProjectMember from the Label model in Label.ts. The Permission.ProjectMember was mistakenly included in the create, read, update, and delete arrays, but it is not required for these operations. Removing the unused permission improves code clarity and reduces potential confusion.
This code change updates the TableRow component in the Table module to align the content at the top of the table cells. The classNames "align-top" are added to the relevant table cells to achieve this alignment. This improvement ensures consistent vertical alignment of content in the table rows.
This code change updates the AnalyticsDatabaseService to handle the count operation when a group by clause is used. Previously, the count operation would return the total number of rows, but now it correctly counts the number of groups. This improvement ensures accurate counting when grouping data in the analytics database.
This code change updates the secrets.yaml file to dynamically generate probe secrets based on the values provided in the $.Values.probes object. If a probe secret already exists, it is used. Otherwise, a new random 32-character alphanumeric string is generated and encoded. This improvement ensures that probe secrets are properly managed and provides better security for sensitive information.
This code change adds the TableBillingAccessControl decorator to the MonitorSecret model in MonitorSecret.ts. The decorator sets the access control permissions for creating, reading, updating, and deleting MonitorSecret records to the Growth subscription plan. This improvement ensures that only users with the Growth plan can perform these actions on MonitorSecrets, providing better control over access to sensitive information.
The code change adds a banner component to the MonitorSecrets page. The banner displays a title, description, and a link to a video tutorial on how to use monitor secrets to store sensitive information. This enhancement provides users with a quick resource to learn about using monitor secrets effectively.
This code change updates the environment variable setup in the test-setup.sh script. The sed command is used to modify the config.env file, setting the NODE_ENV to 'test' and BILLING_ENABLED to 'true'. Additionally, the DATABASE_HOST is set to 'localhost', DATABASE_PORT to '5400', REDIS_HOST to 'localhost', REDIS_PORT to '6379', REDIS_DB to '0', and REDIS_USERNAME to 'default'. This improvement ensures that the test environment is properly configured with the correct values for testing.
This code change adds a banner component to the APIKeyView and TeamView pages. The banner displays a title, description, and a link to a 5-minute video tutorial about permissions in OneUptime. This enhancement provides users with a quick resource to learn about permissions and how they work in the application.
This code change adds the checkReadBlockPermission method to the ReadPermission class in ReadPermission.ts. The method is responsible for checking the block permissions for reading records. It allows the query to run if the system is making the query or if the user has root or master admin privileges. This enhancement provides better control over the reading of records and improves the security of the application.
This code change adds block permission checks to the CreatePermission and DeletePermission classes. The checkCreateBlockPermissions method is added to the CreatePermission class to check block permissions for creating a new record. Similarly, the checkDeleteBlockPermissions method is added to the DeletePermission class to check block permissions for deleting a record. These enhancements provide better control over the creation and deletion of records and improve the security of the application.
This code change adds the checkCreateBlockPermissions method to the CreatePermission class in CreatePermission.ts. The method is responsible for checking the block permissions for creating a new record. It allows the query to run if the system is making the query or if the user has root or master admin privileges. This enhancement provides better control over the creation of records and improves the security of the application.
This code change adds the isBlockPermission property to the UserPermission and TeamPermission interfaces and models. The isBlockPermission property allows for blocking specific permissions for users and teams. This enhancement provides greater control and flexibility in managing permissions within the application.
refactor: Add user2 to TeamMemberService test for improved coverage
The TeamMemberService test in TeamMemberService.test.ts has been updated to include the addition of user2. This change improves the test coverage by testing the behavior with multiple users.
The BaseAPI test in BaseAPI.test.ts has been updated to use the updateOneById method instead of the updateOneBy method. This change ensures consistency in method naming and improves code readability.
The `generatePhone` method in `Faker.ts` has been simplified to remove unnecessary character replacements and instead directly generate a random 10-digit phone number. This change improves the efficiency and readability of the code.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
The BaseAPI test in BaseAPI.test.ts has been updated to use the updateOneById method instead of the updateOneBy method. This change ensures consistency in method naming and improves code readability.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
The `notInBetween` method has been added to the `QueryHelper` class in `Database/QueryHelper.ts`. This method allows for querying records that are not within a specified range of values. It accepts a start value and an end value, and generates a `NOT IN` clause for the query. This enhancement provides greater flexibility in constructing complex queries and improves the overall query capabilities of the application.
The `notIn` method has been added to the `QueryHelper` class in `Database/QueryHelper.ts`. This method allows for querying records that are not in a specified list of values. It accepts an array of strings or ObjectIDs and generates a `NOT IN` clause for the query. This enhancement provides greater flexibility in constructing complex queries and improves the overall query capabilities of the application.
The `generatePhone` method in `Faker.ts` has been updated to remove unnecessary characters from the generated phone number. This change improves the consistency and simplicity of generating phone numbers using the Faker library.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
The table descriptions in the APIKeyView component have been updated to provide clearer information about managing permissions for API keys. This change improves the user experience and ensures that the purpose of the table is easily understood.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change adds the isBlockPermission property to the UserPermission and TeamPermission interfaces and models. The isBlockPermission property allows for blocking specific permissions for users and teams. This enhancement provides greater control and flexibility in managing permissions within the application.
The `generatePhone` method in `Faker.ts` has been updated to remove the country code parameter from the `faker.phone.number` function call. This change improves the consistency and simplicity of generating phone numbers using the Faker library.
This code change adds validation for the required fields in the ApiKeyPermissionService and TeamPermissionService. It throws a BadDataException if any of the required fields (apiKeyId, projectId, permission) are missing when creating a permission. Additionally, it checks if the permission is already assigned to the API key or team and throws an error if it is. These enhancements improve data integrity and prevent invalid permissions from being created.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change adds the isBlockPermission property to the UserPermission, UserTenantAccessPermission, ApiKeyPermission, and TeamPermission interfaces and models. The isBlockPermission property allows for blocking specific permissions for users, tenants, API keys, and teams. This enhancement provides greater control and flexibility in managing permissions within the application.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change removes the BlockedApiKeyPermissionService and BlockedTeamPermissionService files, as well as their corresponding models. These services and models are no longer needed and have been deleted to improve code organization and maintainability.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change adds the BlockedApiKeyPermissionService and BlockedTeamPermissionService services, as well as the BlockedApiKeyPermission and BlockedTeamPermission models. These additions provide functionality for managing blocked permissions for API keys and teams. This enhancement improves the flexibility and security of the application.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change updates the TeamMemberService.test.ts file to improve readability and maintainability. It refactors the code to remove duplicated lines and uses jest.spyOn to mock the AccessTokenService methods. These changes enhance the code quality and test coverage.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change improves the clarity and maintainability of the BaseAPI.test.ts file. It removes unnecessary code and updates the logic for deleting and updating items. These changes enhance the code quality and test coverage.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change renames the deleteById method to deleteOneById in the BaseAPI and DatabaseService classes. The new method name provides better clarity and consistency with other methods in the codebase. This change improves the readability and maintainability of the code.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change adds the deleteById and updateById methods to the DatabaseService class. These methods allow for more efficient deletion and updating of records in the database by directly targeting the record's ID. This enhancement improves the performance and flexibility of the DatabaseService.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change improves the clarity and maintainability of the AccessControlPermission.ts file. It removes unnecessary code and updates the logic for checking user permissions to delete or update objects in the table. These changes enhance the code quality and user experience.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change improves the clarity and maintainability of the TeamView and APIKeyView components. The commit updates the rendering of the permission restrictions messages to have consistent line breaks and spacing. It also adds missing punctuation and capitalization for better readability. These changes enhance the user experience and code quality.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change updates the titles of the APIKeyView and TeamView components to improve clarity. The titles "API Key Permissions" and "Team Permissions" are changed to "Allow Permissions" to better reflect their purpose. This change enhances the user understanding and usability of the components.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change updates the DatabaseService.ts file to set the access control column with specific properties when retrieving data. Instead of setting it to a boolean value, the access control column is now set to an object with the properties _id and name set to true. This change enhances the flexibility and maintainability of the code.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change updates the DatabaseService.ts and ColumnPermission.ts files to improve type safety. In DatabaseService.ts, the type of the projectIdColumn variable is changed from keyof TBaseModel | null to string | null, ensuring compatibility with the getTenantColumn() method. In ColumnPermission.ts, the type of the permissionColumns variable is changed from Columns<TBaseModel> to Columns, removing unnecessary type specificity. These changes enhance the code's clarity and maintainability.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change adds flexibility and maintainability improvements to the LabelService.ts and TableColumn.ts files. In LabelService.ts, a constructor is added to the Service class, allowing for the injection of a PostgresDatabase instance. In TableColumn.ts, the propertyKey parameter in the getTableColumn function is changed from keyof T to string, providing more flexibility in handling property keys. These changes enhance the usability and maintainability of the code.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change overrides the name property in the Label class to allow for more flexibility in handling scenarios where the name is not specified. By setting the name property to undefined, it improves the usability and maintainability of the code.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change updates the DeleteOneBy.ts file to allow the `deletedByUser` property to be undefined. This change provides more flexibility in handling scenarios where the deletedByUser is not specified. It improves the usability and maintainability of the code.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change updates the ModelPermission.ts file to use specific query permission methods for delete, update, and read operations. The checkDeleteQueryPermission, checkUpdateQueryPermissions, and checkReadQueryPermission methods provide more granular control and improve the clarity and maintainability of the code.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change removes the debugger statements from the _deleteBy method in DatabaseService.ts and improves code readability by reformatting the code and removing unnecessary comments. The changes enhance the maintainability and clarity of the code.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change updates the queries in DatabaseService.ts, IncidentService.ts, and ScheduledMaintenanceStateTimelineService.ts to use the QueryHelper.inRelationArray method instead of QueryHelper.anyRelationArray for the "monitors" property. This change provides a more accurate and efficient way to query for records related to specific monitors. It improves the accuracy and performance of the queries.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change updates the createdAt queries in multiple files to use the QueryHelper.inBetween method instead of QueryHelper.anyBetween. The inBetween method provides a more accurate and efficient way to query for records within a specific date range. This change improves the accuracy and performance of the queries.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change updates the QueryHelper class to use the FindOperator type for the any and in methods. This allows for more flexibility in querying by accepting an array of values or a single value. The change improves code readability and maintainability.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change updates the Go version used in the release workflow and modifies the "Checkout" step to use a specific ref instead of fetching the entire history. By specifying the ref, the workflow will only fetch the necessary code, reducing the time and resources required for the checkout process.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change updates the checkout step in the release workflow to use the `ref` parameter instead of `fetch-depth`. This ensures that the correct branch or tag is checked out during the workflow execution.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change reorders the imports in the CreatePermission.ts and UpdatePermission.ts files to group related imports together and improve code readability. The imports are now organized in the following order:
1. External dependencies
2. Internal dependencies
3. Local dependencies
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change in ModelPermission.ts improves code readability and maintainability by removing unnecessary code, updating function parameters, and adding comments for clarity. The changes include:
- Removing unused function parameters in CheckReadPermissionType and checkReadPermission functions
- Updating the checkIfUserIsLoggedIn function call to include the type parameter
- Refactoring the checkModelLevelPermissions function to include the type parameter
- Adding a comment to clarify the purpose of the checkBillingPermissions function
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change removes unnecessary code in the ModelPermission.ts file. The empty lines and unused function parameters have been removed to improve code readability and maintainability.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change updates the access control permissions in the PermissionHelper class. The "isAccessControlPermission" property for various permissions has been changed from "true" to "false". This ensures that the specified permissions no longer have access control restrictions.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change updates the import statements in BillingService.test.ts to import both the Stripe and mockStripe modules from the same line. This improves code readability and ensures that both modules are imported consistently.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change updates the TeamPermissionService to include the "projectId" property in the select props when querying for team members. This ensures that the "projectId" value is retrieved along with the "userId" value, allowing for easier access to the project ID in subsequent code logic.
This code change updates the TeamPermissionService to include the "projectId" property in the select props when querying for team members. This ensures that the "projectId" value is retrieved along with the "userId" value, allowing for easier access to the project ID in subsequent code logic.
This code change updates the TeamPermissionService to include the "projectId" property in the select props when querying for team members. This ensures that the "projectId" value is retrieved along with the "userId" value, allowing for easier access to the project ID in subsequent code logic.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change removes the unused import statement for "RemoveCanFromPermissions" in the "DataMigrations/Index.ts" file. The import is no longer needed and can be safely removed to improve code readability and maintainability.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change updates the permission names in multiple files to align with the latest naming conventions. The following changes were made:
- In NotificationAPI.ts, the permission name "CanManageProjectBilling" was changed to "ManageProjectBilling".
- In DataMigration.ts, the permission names "CanCreateProjectLabel" and "CanReadProjectLabel" were changed to "CreateProjectLabel" and "ReadProjectLabel" respectively.
- In BillingPaymentMethodAPI.ts, the permission name "CanCreateBillingPaymentMethod" was changed to "CreateBillingPaymentMethod".
- In BillingInvoiceAPI.ts, the permission name "CanEditInvoices" was changed to "EditInvoices".
- In PromoCode.ts, the permission names "CanCreateProjectLabel" and "CanReadProjectLabel" were changed to "CreateProjectLabel" and "ReadProjectLabel" respectively. Additionally, the permission names "CanReadProject" and "CanEditProject" were changed to "ReadProject" and "EditProject" respectively.
These updates ensure that the permission names are consistent and reflect the intended functionality.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change updates the TeamPermissionService to refresh access permissions for team members when they are deleted. Previously, only the user's global access permission was refreshed, but now both the global and tenant access permissions are refreshed. This ensures that the user's access permissions are up to date after a team member is deleted.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change updates the .prettierrc.json file to include the @trivago/prettier-plugin-sort-imports plugin. By adding this plugin, the codebase will automatically sort imports according to specified rules. This improves code organization and maintainability.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change simplifies the `getTestDataSourceOptions` function in `PostgresConfig.ts` by using `process.env` values directly. By removing the conditional fallback to `'localhost'`, the function now relies solely on the environment variable `DATABASE_HOST` for the host value. This change ensures that the function always retrieves the latest values during test runs, as `process.env` can change dynamically.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change modifies the Haraka SMTP and TLS configurations to listen on port 25 instead of port 2525. The previous configuration used port 2525, but it has been changed to align with the standard SMTP port. This update ensures that the Haraka server can receive incoming emails on the correct port.
This code change refactors the `getTestDataSourceOptions` function in `PostgresConfig.ts` to use `process.env` values directly. This change is made to ensure that the function always retrieves the latest values during test runs, as `process.env` can change dynamically. By removing the conditional fallback to `'localhost'`, the function relies solely on the environment variable `DATABASE_HOST` for the host value. This simplifies the code and improves consistency.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change updates the Stripe.mock.ts file to allow the mockStripe variable to have a null value. This change is necessary to properly handle scenarios where the Stripe library is not mocked. By allowing the variable to be null, it ensures that the code can handle both mocked and non-mocked scenarios without causing errors.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change adds the INCOMING_EMAIL_DOMAIN variable to the host_list configuration in the Haraka init.sh script. This ensures that incoming emails from the specified domain are accepted by the Haraka application. The INCOMING_EMAIL_DOMAIN value is appended to the host_list file, allowing the application to properly handle emails from this domain.
This code change updates the Dockerfile for the Haraka application. It adds the email_parser.js plugin to the /harakaapp/plugins directory and installs the necessary dependencies by copying the package.json and package-lock.json files to the /harakaapp directory and running npm install. This update ensures that the email parsing functionality is properly configured and all required dependencies are installed.
This code change updates the HelmChart values.yaml file to change the type of the internalSmtp service from LoadBalancer to ClusterIP. The LoadBalancer type was causing issues with receiving emails from the internet, so this change provides a workaround by using the ClusterIP type instead. This update ensures that the internalSmtp service can properly receive emails and improves the functionality of the application.
This code change adds support for additional email ports in the Haraka configuration. It exposes ports 110, 25, 587, 465, 143, 993, and 995 for POP3, SMTP, IMAP, and their secure variants. This enhancement allows for more flexible email communication options.
The code changes include adding a new configuration file `host_list.ini` to the Haraka config directory. This file will be used to store a list of allowed hosts for incoming emails. Additionally, the `email_parser.js` plugin file has been moved to the correct directory in the Haraka config. This update ensures that the email parsing functionality is properly configured and the list of allowed hosts is maintained.
This code change updates the Haraka config plugins file to include additional plugins for blocking mails from known bad hosts, blocking mail from known bad HELOs, blocking mail from known bad email addresses, and accepting mail only from domains with resolvable MX records. It also removes the emailParser.js plugin file.
Note: This commit message follows the established convention of starting with a verb in the imperative form (e.g., "Update", "Add", "Fix") and providing a concise summary of the changes made.
This code change updates the secrets.yaml file to handle release upgrades. It introduces a workaround to keep the secrets unchanged during upgrades by retrieving the existing secrets if the release is an upgrade. For new installations, it generates new secrets using the randAlphaNum function. This enhancement ensures that secrets are properly managed during upgrades and installations.
This code change refactors the `Authentication.ts` file to improve the functionality of the password reset email. It updates the logic for generating the password reset URL and adds logging statements to track the user's email and the generated URL. This enhancement ensures a smoother password reset process and improves the visibility of user actions in the system.
This code change adds logic to set the current project in the `App` component. It checks if a `selectedProject` is available and if so, it calls the `ProjectUtil.setCurrentProject` function with the `selectedProject`. This enhancement ensures that the current project is correctly set and improves the functionality of the application.
This code change adds the import statement for `ProjectUtil` and calls the `setCurrentProject` function with the `selectedProject` in the `App` component. This enhancement ensures that the current project is set correctly and improves the functionality of the application.
This code change refactors the EventItem component to improve the display of event descriptions and labels. It updates the CSS classes for the event descriptions to enhance readability and adds CSS classes for the event labels to improve their styling. This enhancement improves the overall appearance and user experience of the EventItem component.
The code change adds logging statements for the status checks in the StatusAPI file. The logging statements provide information about the status checks being performed, including the result of each check. This enhancement improves the visibility and monitoring of the status checks in the system.
This code change adds logging statements for user sign up, email verification, password reset, and login in the Authentication.ts and SSO.ts files. The logging statements provide information about the corresponding user actions, including the user's email. This enhancement improves the visibility and monitoring of user activities in the system.
This code change adds the selectedProject prop to the DashboardHeader component in the Header.tsx file. The prop is used to pass the currently selected project to the component, allowing it to display the selected project's information. This enhancement improves the functionality and user experience of the DashboardHeader component.
This code change updates the DocsNav file to include a new navigation item for the Monitor Secrets page. It adds a new object to the DocsNav array with the title "Monitor Secrets" and the URL "/docs/monitor/monitor-secrets". This enhancement improves the navigation experience for users accessing the Monitor Secrets documentation.
This code change updates the Encryption.ts file to use the Utf8 encoding for decryption in the `decrypt` method. Previously, it was using the default encoding, which could lead to incorrect results for certain inputs. This update ensures the correct decoding of the encrypted text and improves the reliability of the decryption process.
This code change adds null checks in the DatabaseService and Encryption classes to handle cases where the input data is null or undefined. It prevents potential errors and improves the robustness of the code.
refactor: Update package.json and Encryption.ts to use latest version of crypto-js
This code change updates the package.json and Encryption.ts files to use the latest version (4.2.0) of the crypto-js library. It adds the "@types/crypto-js" package as a dependency in the package.json file and updates the import statements in the Encryption.ts file to use the updated library. This update ensures compatibility with the latest features and improvements in crypto-js.
This code change updates the imports in the JSON.ts file to remove unused imports and organize the imports alphabetically. It improves code readability and maintainability.
This code change updates the MonitorSecrets page to display the monitors that have access to the secrets. It adds a new field in the form to select the monitors and renders the selected monitors using the MonitorsElement component. This enhancement improves the visibility and management of secret access for monitors.
This code change updates the MonitorSecretService to use the MonitorSecret model instead of the deprecated MonitorProbe model. This refactor ensures consistency and improves code maintainability.
This code change adds the necessary functionality for managing Monitor Secrets. It includes updates to the PageMap, SettingsBreadcrumbs, and RouteMap files to support the new "SETTINGS_MONITOR_SECRETS" page. Additionally, the "SETTINGS_MONITOR_SECRETS" route is added to the SettingsRoutePath dictionary. This enhancement improves the application's security and access control.
This code change updates the .prettierrc.json file by adding the "importOrderParserPlugins" option with the values ["typescript", "decorators"]. This enhancement allows the Prettier formatter to correctly parse and sort imports that include TypeScript and decorators. It improves the code formatting and organization.
refactor: Add @trivago/prettier-plugin-sort-imports to package.json and .prettierrc.json
This code change adds the "@trivago/prettier-plugin-sort-imports" package as a dependency in the package.json file and includes it in the "plugins" array in the .prettierrc.json file. It also sets the "importOrderSeparation" and "importOrderSortSpecifiers" options to true. This enhancement improves the code formatting and organization by automatically sorting imports.
This code change adds the necessary permissions for managing MonitorSecrets. The new permissions include CanCreateMonitorSecret, CanEditMonitorSecret, CanDeleteMonitorSecret, and CanReadMonitorSecret. These permissions allow users to create, edit, delete, and read MonitorSecrets respectively. This enhancement improves the access control and security of the application.
This code change removes the rendering of the server monitor from the SummaryView component. The monitorType prop is checked, and if it is set to MonitorType.Server, the server monitor is not rendered. This change simplifies the SummaryView component and improves code organization.
The code changes in this commit remove support for the Webkit browser in the BrowserType enum and SyntheticMonitor module. The Webkit browser was commented out and not being used, so it was decided to remove it to simplify the codebase and reduce unnecessary dependencies. This refactor improves code organization and maintainability.
The code changes in this commit update the title in the CustomMonitorSummaryView and SyntheticMonitorItemView components. The title "Is Error" is changed to "Error" to provide clearer and more concise information to users. This enhancement improves the user experience and readability of the components.
The code changes in this commit remove the unused Metrics components: ProbeNowButton.tsx, MetricsScreenshot.tsx, MetricsScreenshotGroup.tsx, PingMonitorView.tsx, and ProbePicker.tsx. These components are no longer needed and removing them improves code organization and maintainability.
The code changes in this commit update the confirmation message for email verification. Instead of just displaying the user's email, it now includes the text "Are you sure you want to verify the email -" before the email address. This change provides clearer context and improves the user experience.
The code changes in this commit add email verification functionality to the Users page. This includes adding a "Verify Email" button to each user's row in the table. Clicking the button opens a confirmation modal asking if the user's email should be verified. Upon confirmation, the user's email is marked as verified in the database. This enhancement improves the user experience and provides better control over email verification.
The code changes refactor the ProbeMonitorResponseService and Metrics component. This includes removing redundant code in ProbeMonitorResponseService and simplifying the Metrics component by removing unnecessary props. These changes improve code organization and maintainability.
The code changes in this commit improve the error messages in the MetricsInfo and SSLCertificateMonitorView components. The updated error messages provide more helpful information to users, indicating that it may take a few minutes for metrics to show up for the selected probe. This enhancement improves the user experience and reduces confusion when metrics are not immediately available.
The code changes in this commit update the MonitorView and Metrics components. Specifically, the changes introduce type annotations and improve the readability of the code by using more descriptive variable names. These updates enhance the maintainability and understanding of the codebase.
The code changes remove the unused `isHeadRequest` property in the `MonitorUtil` and `ApiMonitor` classes. This cleanup improves code readability and eliminates unnecessary code.
The commit updates the README.md file to include new configurable parameters for timeout values in the monitor scripts. This allows users to set specific timeout values for synthetic monitor scripts, custom code monitor scripts, and workflow scripts. The addition of these timeout configurations improves the flexibility and reliability of the monitoring system.
This commit updates the timeout handling in the monitor scripts to use the `WorkflowScriptTimeoutInMS` and `PROBE_CUSTOM_CODE_MONITOR_SCRIPT_TIMEOUT_IN_MS` values from the environment configuration. This ensures that the monitor scripts have consistent and configurable timeout values, improving the reliability and performance of the monitoring system.
The return value in the `getStatusPageDomain` method of the `StatusPageDomainService` class was updated to `true` to fix a bug where it was always returning `false`. This change ensures that the method returns the correct value based on the success or failure of the database query.
This commit removes an unnecessary hyphen in the monitor documentation by correcting the spelling of "Synthetic Monitor" in both the custom-code-monitor.md and synthetic-monitor.md files. The typo was causing inconsistency in the naming of the monitor, and this fix ensures accuracy and clarity in the documentation.
This commit fixes a typo in the monitor documentation by correcting the spelling of "Synthetic Monitor" in both the custom-code-monitor.md and synthetic-monitor.md files. The typo was causing inconsistency in the naming of the monitor, and this fix ensures accuracy and clarity in the documentation.
This commit adds new monitor links to the DocsNav utility in the FeatureSet/Docs/Utils/Nav.ts file. The links include "Custom Code Monitor" and "Synthetic Monitor" with their respective URLs. This enhancement improves the navigation experience for users accessing the monitor documentation section.
This commit updates the type of the executionTimeInMS property in the CustomCodeMonitorResponse interface from PositiveNumber to number. The PositiveNumber type was unnecessary and caused compatibility issues with other parts of the codebase. Changing it to number simplifies the code and ensures consistency across the application.
This commit fixes a syntax error in the MonitorStep and CriteriaFilterUtil files. In MonitorStep, the syntax error was caused by an extra semicolon (;) in the screenshotDataInBase64 assignment. In CriteriaFilterUtil, the return statement was incorrectly set to true instead of false. These changes ensure that the code is correct and functioning as intended.
This commit updates the CodeEditor component to improve the placeholder text for the JavaScript type. The placeholder now includes additional line breaks and indentation for better readability and code organization. This change enhances the user experience when working with JavaScript code in the CodeEditor.
This commit adds support for the ArrayOfText field type in the Detail component. When the field type is ArrayOfText and there is data available, the data is joined with commas and displayed in the UI. This enhancement improves the user experience by properly rendering and handling the ArrayOfText field type in the Detail component.
This commit updates the Dockerfile to install necessary dependencies for the application. It adds the installation of bash, curl, python3, make, g++, and various libraries required for playwright. Additionally, it installs net-tools for network-related functionality. These changes ensure that the application has all the required dependencies to run properly in the Docker environment.
This commit updates the logger.debug statements in multiple files to log the message 'Exiting node process' instead of 'Exiting node process'. This change improves the logging consistency and ensures that the appropriate log level is used for this message.
This commit refactors the RunWorkflow class to use the VMAPI module instead of the deprecated VMUtil module for replacing values in the argumentContent. The VMAPI module provides a more up-to-date and efficient method for replacing values, improving the performance and maintainability of the code.
This commit updates the SyntheticMonitor class to use async/await when calling the CustomCodeMonitoringCriteria.isMonitorInstanceCriteriaFilterMet() method. This change ensures that the method is properly awaited, allowing for better control flow and error handling. The use of async/await improves the readability and maintainability of the code.
This commit refactors the CriteriaFilterUtil class to improve the filtering of options based on the checkOn value. It removes the unnecessary check for CheckOn.Error in the if statement and adds a new if statement specifically for CheckOn.Error. This change ensures that the options are filtered correctly for each checkOn value, enhancing the accuracy and effectiveness of the criteria filtering functionality.
This commit updates the `ProbeApiIngestResponse` interface to include a comment indicating that the `rootCause` property is in markdown format. Additionally, it modifies the `APIRequestCriteria` class to use the `convertToNumber` method from the `CompareCriteria` class instead of the deprecated `convertThresholdToNumber` method. These changes improve the clarity and maintainability of the code.
This commit modifies the MonitorMetricsByMinute class to include the browserType and screenSizeType properties in the MonitorMetricsMiscData interface. This allows for capturing additional information about the browser type and screen size during monitoring. The changes enhance the accuracy and completeness of the monitoring data.
This commit refactors the SyntheticMonitor class to ensure that the browser and page are properly closed after use. The code now checks if the page and browser objects exist before attempting to close them, preventing potential memory leaks. This improvement enhances the reliability and efficiency of the SyntheticMonitor functionality.
This commit adds support for the CustomCodeMonitor type in the MonitorUtil class. It includes the necessary code to execute custom JavaScript code provided in the monitor step data. This enhancement improves the flexibility of the monitoring system by allowing users to define and execute their own custom code for monitoring purposes.
This commit updates the values of the BrowserType enum in the file `Common/Types/BrowserType.ts`. The `Chrome` value is changed to `Chromium`, and the `Safari` value is changed to `Webkit`. This change reflects more accurate and up-to-date browser names, improving the clarity and consistency of the code.
This commit adds the `syntheticMonitorResponse` property to the `ProbeMonitorResponse` interface in order to support the `SyntheticMonitorResponse` type. This allows for the inclusion of synthetic monitor data in the probe monitor response, providing more comprehensive monitoring information.
This commit adds the playwright module to the VMRunner class in order to enable browser automation capabilities. By including playwright, we can now execute code that interacts with web browsers, allowing for more advanced testing and automation scenarios.
This commit updates the import paths for the VMUtil module in the JavaScript and IfElse components. The new import path is '../../../Utils/VM/VMAPI'. This change ensures that the correct module is imported and used in the components, improving the reliability and maintainability of the code.
This commit fixes a bug in the Pagination component where the currentPageNumber was not being properly converted to a number before performing calculations. The bug caused incorrect navigation to the previous and next pages. The issue is resolved by adding a check to convert the currentPageNumber to a number if it is a string.
The code changes in `MonitorType.ts` and `MonitorService.ts` add support for the `SyntheticMonitor` and `CustomJavaScriptCode` monitor types in the `MonitorTypeHelper` class. This allows for easier identification of probeable monitor types and improves the flexibility of the monitoring system.
This commit updates the code editor placeholders in the MonitorStep component to provide example code using axios and playwright modules. This allows users to easily understand and customize the code for their specific monitoring needs.
This commit updates the code editor placeholders in the MonitorStep component for the CustomJavaScriptCode and SyntheticMonitor types. The placeholders now provide example code using axios and playwright modules, allowing users to easily understand and customize the code for their specific monitoring needs.
This commit modifies the `fetchDropdownOptions` function in the `Field` interface to accept an additional `item` parameter of type `FormValues<TEntity>`. This change allows for more dynamic fetching of dropdown options based on the current form values, improving the flexibility and customization of the form fields.
This commit updates the `CategoryCheckboxType` interface to make the `categoryId` property optional. This change allows for more flexibility when working with category checkboxes, as the `categoryId` is not always required.
This commit adds checkbox lists for selecting the browser type and screen type in the SyntheticMonitor step of the MonitorStep component. This allows users to choose the desired browser and screen type for running the test in SyntheticMonitor.
This commit updates the CheckOn enum value in the CriteriaFilter module from 'Result' to 'ResultValue'. This change provides a more descriptive and accurate representation of the value being checked in custom code or JavaScript monitors.
The code changes include adding a new method, `setCustomCode`, to the `MonitorStep` class. This method allows for setting custom code for a monitor step, enabling the execution of custom JavaScript code in certain types of monitors.
The code changes include adding support for custom code in monitor steps. This allows for the execution of custom code or JavaScript in certain types of monitors.
This code change updates the Table and FilterViewer components to improve their functionality and user experience.
In the Table component, the onActionEnd callback is modified to reset the state of isAllItemsSelected, setBulkSelectedItems, and then call the props.onBulkActionEnd function. This change ensures that the bulk action end event is handled correctly.
In the FilterViewer component, the styling of the filter criteria section is updated to improve readability. The font size and spacing are adjusted to provide a better visual presentation of the filter criteria.
These refactorings enhance the overall performance and usability of the components.
This code change optimizes the bulk item deselection functionality in the Table component. Instead of using the `filter` method to remove the deselected item from the `bulkSelectedItems` array, it now uses the `findIndex` method to locate the index of the item and then removes it using the `splice` method. This approach improves the performance of bulk item deselection, especially when dealing with large datasets.
This code change improves the error handling in the BulkUpdateForm component. The error handling logic is updated to display a more informative error message when a bulk update action fails. This refactor enhances the user experience by providing clearer feedback on failed bulk actions.
This code change updates the SimpleLogViewer component to be used in the BulkUpdateForm. The component is imported and rendered in the BulkUpdateForm to display logs in a consistent and reusable way. This refactor improves code reusability and reduces duplication by leveraging an existing component for log viewing.
This code change updates the SimpleLogViewer component to be used in the CallLog, Probes, Workflow, and StatusTimeline pages. The component is imported and rendered in these pages to display logs in a consistent and reusable way. This refactor improves code reusability and reduces duplication across multiple pages.
This code change updates the ProgressBar component to support different sizes. A new enum `ProgressBarSize` is introduced to define the available sizes: Small, Medium, and Large. The `size` prop is added to the `ComponentProps` interface, allowing the user to specify the desired size of the progress bar. This enhancement provides more flexibility in customizing the appearance of the progress bar based on the UI requirements.
This code change optimizes the bulk item deselection functionality in the Table component. Instead of using the `filter` method to remove the deselected item from the `bulkSelectedItems` array, it now uses the `findIndex` method to locate the index of the item and then removes it using the `splice` method. This approach improves the performance of bulk item deselection, especially when dealing with large datasets.
This code change optimizes the bulk item deselection functionality in the Table component. Instead of using the `filter` method to remove the deselected item from the `bulkSelectedItems` array, it now uses the `findIndex` method to locate the index of the item and then removes it using the `splice` method. This approach improves the performance of bulk item deselection, especially when dealing with large datasets.
The code changes in this commit add support for bulk actions in the Table component. The `BulkActionProps` interface is introduced to define the bulk action buttons, and the `BulkUpdateForm` component is rendered to display the bulk action buttons when provided. This enhancement allows users to perform actions on multiple items in the table simultaneously, improving the efficiency of managing data.
This code change updates the axios and posthog-js dependencies to their latest versions. The axios dependency is updated from 1.6.7 to 1.6.8, and the posthog-js dependency is updated from 1.115.0 to 1.129.0. This update ensures that we have the latest bug fixes and improvements for these libraries, improving the overall stability and performance of our application.
This code change removes the unused code in the Markdown.ts file that was responsible for customizing the rendering of paragraphs, blockquotes, images, and headings. This code is no longer needed and can be safely removed, simplifying the codebase and improving maintainability.
This code change updates the import statement for the Markdown module in the UserNotificationRuleService.ts file. It now imports the Markdown module along with the MarkdownContentType enum from the Types/Markdown file. This update ensures that the MarkdownContentType.Email is used when converting the incident description to HTML. This change improves the handling of Markdown content in the UserNotificationRuleService.
This code change adds the `deletedByUser` and `deletedByUserId` columns to the `User` model. These columns are used to track the user who deleted the object and their corresponding user ID. This enhancement allows for better auditing and tracking of deleted objects in the system.
This commit adds support for JSON filters in the `BaseModelTable` component. It checks if a filter is of type `FieldType.JSON` and if the filter data is of type `Object`. If both conditions are met, the filter data is included in the query. This enhancement allows for more flexible filtering options when working with JSON data in the table.
The code changes in the Dictionary component refactor the implementation to handle different value types, including strings, numbers, and booleans. This allows for more flexibility and accuracy when working with dictionary data in the component.
The code changes in the FilterViewer component improve the formatJson function by updating the styling and layout of the rendered JSON elements. This enhances the readability and visual presentation of the JSON data in the component.
The code changes add the `Equals` icon to the `Dictionary` component in the `CommonUI` module. This icon is used to visually represent the equality operator in the component.
This commit updates the dropdown options in the Dictionary component to use more descriptive variable names. The previous variable names, trueDropdwonOption and falseDropdwonOption, have been changed to trueDropdownOption and falseDropdownOption respectively. This change improves code readability and maintainability.
This commit adds the JSONFilter component to the FiltersForm in order to support filtering based on JSON data. The JSONFilter component is imported and rendered within the FiltersForm component, allowing users to input JSON filter criteria. This enhancement expands the filtering capabilities of the application.
This commit refactors the DictionaryOfStrings component by removing unused imports and simplifying the code structure. The useState hook is now used to manage the component's data state, and the useEffect hook is used to handle changes in the data. The component now uses the DictionaryForm component for rendering and handling user input. These changes improve the readability and maintainability of the code.
This commit updates the filter labels and submit button text in the FilterViewer component. The 'FILTER BY' label is changed to 'FILTER' and the labels are now capitalized. Additionally, the submit button text is changed to 'Apply Filters'. These changes improve the clarity and consistency of the user interface.
This commit refactors the FilterViewerItem and DropdownFilter components to handle changes in the ComponentProps interface. The 'text' prop in FilterViewerItem now accepts a string or ReactElement, and the 'onFilterModalClose' and 'onFilterModalOpen' props in DropdownFilter are now optional. These changes ensure compatibility with the latest version of the codebase and improve code readability and maintainability.
This commit adds a new data migration script, GenerateNewCertsForStatusPage.ts, which generates new certificates for status page domains. It retrieves all domains in the greenlock certs, orders them, and updates the certificates accordingly. This will ensure that the status page domains have up-to-date and valid certificates.
Refactor and delete unused Metric services and models
Refactor Queue class to use explicit type annotation for queue variable
Add Queue caching to improve performance and reduce redundant connections
Refactor test-e2e job in release.yml workflow
Fix error handling in StatusPageDomainService.ts
Update select field in MoveGreenlockCertsToAcmeCerts.ts to use _id instead of id
Update ingress configuration for OneUptime Helm chart
Refactor StatusPageAPI to improve code readability and maintainability
Refactor StatusPageAPI and UpdateByID to improve code readability and maintainability
Refactor Let's Encrypt configuration and update GreenlockUtil class
Refactor StatusPageDomainAPI and related components to improve CNAME verification process
Refactor StatusPageDomainService and Domains.tsx to improve CNAME verification process
Refactor API endpoints to use sendEmptySuccessResponse instead of sendEmptyResponse
Refactor SocketIO.ts to remove Redis adapter initialization
Refactor StatusPageDelete component: Add SSL auto-renewal feature and improve CNAME verification process
Refactor GreenlockUtil and StatusPageDomainService to improve CNAME validation and configuration paths
Refactor StatusPageDomainService: Add onBeforeUpdate hook to validate CNAME and update GreenlockUtil configuration paths
Refactor StatusPageDomainService: Add onBeforeUpdate hook to validate CNAME before updating
Refactor StatusPageCerts:RemoveCerts method to use statusPageDomain.fullDomain instead of domain.fullDomain
***Remove extra line in CustomCallSMSTable component***
***Remove extra line in Domains component***
***Remove extra line in BillingInvoice model***
***Remove extra line in OnCallDutyPolicyEscalationRule model***
***Remove extra line in OnCallDutyPolicyEscalationRuleSchedule model***
***Remove extra line in OnCallDutyPolicyExecutionLog model***
***Remove extra line in OnCallDutyPolicySchedule model***
***Remove extra line in OnCallDutyPolicyScheduleLayer model***
***Remove extra line in OnCallDutyPolicyScheduleLayerUser model
For example, `dashboard/some-uuid/workflows/workflow/another-uuid`
becomes `dashboard/some-uuid/workflows/another-uuid`. This change brings
2 benefits:
1. FixOneUptime/oneuptime#1252
2. Make Workflow routes consistent with other routes (e.g. Incidents)
Adds a check before workflow triggers, ensuring that multiple identical
updates (e.g. updating `currentScheduledMaintenanceStateId` twice to the
same value) only trigger workflow once.
This folder contains the configuration files for the OneUptime Copilot. The Copilot is a tool that automatically improves your code. It can fix issues, improve code quality, and help you ship faster.
This folder has the following structure:
-`config.js`: The configuration file for the Copilot. You can customize the Copilot's behavior by changing this file.
-`scripts`: A folder containing scripts that the Copilot runs. These are hooks that run at different stages of the Copilot's process.
-`on-after-clone.sh`: A script that runs after the Copilot clones your repository.
-`on-before-code-change.sh`: A script that runs before the Copilot makes changes to your code.
-`on-after-code-change.sh`: A script that runs after the Copilot makes changes to your code.
-`on-before-commit.sh`: A script that runs before the Copilot commits changes to your repository.
-`on-after-commit.sh`: A script that runs after the Copilot commits changes to your repository.
title="You must be logged into OneUptime account to use single sign-on (SSO) for your project. Logging in to OneUptime account and single sign on (SSO) for your project are two separate steps. Please use the form below to log in to your OneUptime account before you use SSO."
This step is optional. You need to deploy LLM Server only if you want to use Copilot with LLM Server on your infrastructure for data privacy reasons. If you are comfortable with OpenAI's privacy policy, you can skip this step and use OpenAI directly.
### Pre-requisites
Before you deploy LLM Server, you need to make sure you have the following:
- **Docker**: You need to have Docker installed on your machine.
- **Docker Compose**: You need to have Docker Compose installed on your machine.
- **System Requirements**: You need to have at least 64 GB of RAM, 32 GB GPU (compitable with CUDA & Docker), 8 CPU cores, and 100 GB of disk space. You could get away with less resources, but we recommend the above configuration for optimal performance.
- **GPU is accessible by Docker**: You need to make sure that the GPU is accessible by Docker. Please read this [guide](https://docs.docker.com/compose/gpu-support/) for more information.
### Environment Variables
You need to set the following environment variables in the `docker-compose.yml` file:
-`HF_TOKEN`: This is the Hugging Face API token. You can get this token by signing up on Hugging Face and creating a new API token.
-`HF_MODEL_NAME` (optional): This is the model name from Hugging Face. You can get this model name from the Hugging Face model hub. If you do not set this, we will use `meta-llama/Meta-Llama-3-8B-Instruct` as the default model.
### Installation
To deploy LLM Server, you need to follow the following steps with docker-compose:
Create a `docker-compose.yml` file with the following content:
```yaml
llm:
extends:
file:./docker-compose.base.yml
service:llm
ports:
- '8547:8547'
image:'oneuptime/llm:release'
environment:
- HF_TOKEN=<TOKEN_FROM_HUGGINGFACE>
- HF_MODEL_NAME=<MODEL_NAME_FROM_HUGGING_FACE>
deploy:
resources:
reservations:
devices:
- driver:nvidia
count:all
capabilities:[gpu]
```
Run the following command to start the LLM Server:
```bash
docker-compose up -d
```
You can now access the LLM Server at `http://localhost:8547`.
### TLS/SSL Configuration
You can set up TLS/SSL by having a reverse proxy in front of the LLM Server. This is recommended for production deployments and is beyond the scope of this document.
### Public Access
Please make sure this server is publicly accessible. So, it can be accessed by Copilot.
### Security
Please also make sure to secure the server by setting up a firewall so only copilot can access it.
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.