Fixes#4291
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a new method for handling 409 Conflict responses in the
HTTP responses, improving error messaging clarity.
- **Bug Fixes**
- Updated error handling to return conflict responses instead of
forbidden responses when certain delete operations fail due to resource
conflicts.
- Enhanced clarity in user membership responses by changing the error
message when a user is already part of an organization.
These changes improve user experience by providing clearer and more
accurate feedback on error conditions related to resource management.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a new configurable caching strategy, allowing users to
choose between "Overlap," "Duration," or "Both" for result caching.
- Added a new public field for `result_cache_selection_strategy` in the
application configuration, providing improved flexibility in managing
caching behavior.
- **Improvements**
- Enhanced the function for processing cache results to accommodate the
new caching strategies, allowing for more nuanced result management
based on user selection.
- Updated the `check_cache` functionality to conditionally sort cached
results and optimize performance based on the state of the cache.
- Improved tracking of the size of hits in cache responses.
- Added a helper function to streamline the calculation of the discard
timestamp for cached results.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix#4305#4304#4315
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced error handling for SQL queries with specific error messages
for better user feedback.
- Introduced a section for VRL function errors with a toggle feature for
expanded details, improving clarity.
- Added a `debounceTime` property to optimize input processing in the
query editor.
- **Improvements**
- Streamlined error message display for SQL queries, moving from generic
to context-sensitive messages.
- Adjusted control flow to ensure proper validation before form
submission, preventing invalid entries.
- Improved notification messages for clarity, specifically regarding
search operations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- #4302
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **New Features**
- Introduced new configuration options for dashboard panels, including
settings for "Top Results" and an "Others" series to enhance data
visualization.
- Added an input field in the dashboard configuration panel for users to
specify the number of top values displayed.
- **Improvements**
- Enhanced data processing capabilities for SQL data, allowing better
aggregation and sorting of results.
- Streamlined the dashboard configuration flow for an improved user
experience.
- Improved error handling and logging in data processing to enhance
debugging and visibility.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced validation for alert creation to prevent the use of "SELECT
*" in SQL queries, improving data integrity and security during the
alert setup process.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes : https://github.com/openobserve/openobserve/issues/4274
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced search response quality by implementing a deduplication step,
ensuring unique entries based on timestamps in the search results.
- Improved delta calculations in the caching mechanism with new
parameters for granular control over time intervals, enhancing the
accuracy of cached data responses.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix#4292
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a new custom `QueryEditor` component for a more
customizable and consistent editing experience across various forms and
editors.
- Added support for a new programming language, VRL, including syntax
highlighting and theming.
- **Enhancements**
- Updated multiple components (`AddTemplate.vue`, `AddFunction.vue`,
`EditRole.vue`) to utilize the `QueryEditor` component, improving
editing functionality and user interface.
- Enhanced the `SearchBar.vue` component for better formatting and
language handling.
- **Bug Fixes**
- Adjusted the language attribute in the `SearchBar.vue` component from
"ruby" to "vrl" to ensure correct syntax highlighting.
- **Tests**
- Improved stability of the alerts test suite by adding a timeout after
user input actions.
- Added a timeout in the sanity test cases to enhance the reliability of
template submission.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes#4241
- Adds a new `data` column to `scheduled_jobs` table for the purpose of
storing different data as required by different modules.
- Uses the last end time of stream as the start time of derived stream
calculation.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added a new `data` field to the `Trigger` structure, allowing for
additional information storage in scheduled jobs.
- Introduced a new `DerivedTriggerData` struct for improved data
handling within the scheduler module.
- Enhanced job evaluation and query conditions with new optional
`start_time` parameters for greater flexibility.
- **Bug Fixes**
- Improved error handling for database schema changes to maintain
backward compatibility with older versions.
- **Refactor**
- Simplified logic within various functions to improve code clarity and
performance.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced the `ResultCacheMeta` struct to support equality comparisons,
improving filtering and duplicate checks.
- Updated response merging to account for histogram intervals in cache
responses.
- Improved filtering logic to optimize processing of metadata, including
early returns for empty collections.
- **Bug Fixes**
- Refined logic to ensure correct filtering based on response times for
metadata processing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
in the data we get is_real_time as a string so I have compared with the
string so that it passes the check
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved the condition checking for the `is_real_time` property during
alert submission, ensuring more accurate behavior when handling
real-time alerts.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix#4262
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Improved handling of time zones and relative date calculations.
- Added safeguards against exceeding user-defined date limits.
- **Bug Fixes**
- Enhanced logic for computing relative periods based on user-defined
restrictions.
- Refined handling of various time periods to prevent invalid options.
- **Style**
- Minor formatting adjustments for improved readability and
maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Improved performance and data consistency in histogram data processing
by optimizing the execution of timeout functions based on the number of
partitions.
- **Bug Fixes**
- Ensured that histogram data is generated before pagination is
refreshed for enhanced data accuracy.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This PR Fixes the issue #4264
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved the visual presentation of error messages in the search
results by enhancing spacing.
This change enhances user experience by making error messages more
visually distinct and easier to read.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Addresses #4273
- Adds `last_triggered_at`, `owner`, `updated_at` and `last_edited_by`
fields (similar to Reports) to Alerts.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced alert and report management with additional metadata fields
for tracking last triggered times, owners, and edit history.
- Introduced user identification in report creation and updates for
better ownership tracking.
- **Bug Fixes**
- Improved logic for saving alerts and reports to accurately reflect
their statuses and metadata during creation and updates.
- **Documentation**
- Restructured import organization for improved clarity and
maintainability in the codebase.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
1.added 5 currency list in config
2.added format for the currency to display unit and then value
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Added six new currency options (US Dollar, Euro, British Pound,
Japanese Yen, Indian Rupees) to the dashboard configuration panel.
- Enhanced localization support with new currency labels in English.
- Improved currency formatting capabilities for better usability in
displaying financial data.
- **Bug Fixes**
- Resolved issues with displaying currency symbols correctly, ensuring
accurate representation in the app.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: ktx-vaidehi <vaidehi.akhani@kiara.tech>
Fixes : https://github.com/openobserve/openobserve/issues/4260
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved error handling in cache response calculations to prevent
division by zero when there are no search results. This change enhances
the stability and reliability of the application.
- Enhanced the conditional checks in the search function to ensure
accurate results are returned and prevent false positives when results
are absent.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- #4257
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a `useWorker` function for improved management of web
workers, enhancing performance for heavy computations.
- **Improvements**
- Refactored variable declarations in the `convertSQLData` function to
enhance clarity and immutability.
- Enhanced tooltip handling and sorting logic for a more intuitive user
experience in both `convertSQLData` and `convertPromQLData` functions.
- Improved display of series data in tooltips to highlight the hovered
series effectively.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced a new structure for enhanced management of cached query
responses, allowing for detailed handling of multiple cached results.
- Added functionality to retrieve multiple cached results in a single
request, optimizing performance and reducing service calls.
- Implemented a mechanism for efficient caching and retrieval of query
results in a distributed cluster environment.
- Enhanced configuration options for managing result caching behavior.
- **Bug Fixes**
- Improved handling of cache misses and response merging to ensure
robustness against empty responses.
- **Refactor**
- Updated internal logic to support new cached query response structure,
streamlining caching operations and enhancing clarity.
- Introduced new modules to improve code organization related to
multi-cluster operations.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
fix#4242
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Style**
- Improved code readability by adding trailing commas in various array
and function argument lists throughout the `schema.vue` component.
- Enhanced consistency in properties and method calls, reducing diff
noise for future modifications.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes#4243
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Improvements**
- Enhanced logging for alert and report triggers to provide clearer and
more informative messages.
- Updated status reporting for trigger conditions, improving operational
insights.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes : grpc: search err: Status { code: OutOfRange, message: "Error,
message length too large: found 7163638 bytes, the limit is: 4194304
bytes", metadata: MetadataMap { headers: {"content-type":
"application/grpc","content-length": "0"} }, source: None }
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced gRPC server initialization with configurable maximum message
sizes for improved message handling.
- **Bug Fixes**
- Improved robustness in handling larger messages during gRPC
communication to prevent potential issues.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- #4227
- #4228
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced debounce functionality for panel data loading, improving
performance during rapid updates.
- Enhanced state management in the Add Panel component to ensure
accurate initialization of updated variables.
- **Bug Fixes**
- Fixed the logic in the Add Panel component to correctly handle
variable updates, ensuring proper behavior during user interactions.
- **Documentation**
- Added logging statements for better visibility into execution flow
related to data loading processes.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Kirtan Thakkar <kirtan@kiara.tech>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Improved error handling for histogram data fetching, providing clearer
feedback when search operations are canceled.
- Streamlined the conditions under which error messages are assigned,
enhancing clarity and preventing unnecessary error notifications.
- **Refactor**
- Optimized the structure of error handling logic for better readability
and maintainability.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes#4129
- Current workflow for the pipelining -
ingestion to the main stream -> apply functions of main stream with
`apply_before_flattening` flag -> flatten data -> routing -> apply rest
of the functions of the routed stream. `apply_before_flattening`
functions will be ignored for the routed stream because data is already
flattened before routing.
- Fix of bug: For non-bulk apis for log ingestion, if the first record
is routed (i.e. the routing condition matched), the rest of the records
also are routed even if the condition does not match.
- Fix of bug: For json log ingestion, routing was happening before
flattening of stream data, this PR fixes that.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced stream processing functionality with improved control flow
and routing logic.
- Introduced structured management of stream transformations using
HashMaps for better clarity and maintainability.
- **Bug Fixes**
- Improved robustness of stream processing by ensuring all relevant
streams are processed without premature termination.
- **Chores**
- Renamed variables for clarity regarding their roles in stream
processing.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced handling of the `#ResultArray#` marker in query inputs,
allowing for more robust pattern detection and transformation.
- **Bug Fixes**
- Improved the accuracy of the query function's transformation logic by
switching from a simple prefix check to a regex-based matching approach.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Tests**
- Enhanced test coverage for schema functionalities, adding interactions
for log search and schema selection.
- Improved verification of `_timestamp` and `_all` fields to ensure
thorough validation of the schema selection process.
- Streamlined logging process by removing unnecessary console logging
during test execution.
- **Style**
- Improved formatting and readability in the `IndexList` component,
including adjustments to multiline expressions and conditional
renderings.
- Enhanced semantic clarity by restructuring template elements for
better organization and styling.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: omkark06 <omkar@zinclabs.io>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced flexibility in search data handling by dynamically checking
for the presence of a timestamp field in user-defined schemas. This
improvement allows the system to accurately reflect available data
fields, improving overall functionality.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **Bug Fixes**
- Adjusted search functionality to prevent issues with results sorting
when clicking on alert-generated URLs.
- **Improvements**
- Modified control flow to enhance the stability of the search results
display.
- Updated test cases to reflect changes in query visibility conditions,
allowing for broader match criteria.
- Simplified test queries by removing unnecessary ordering, improving
test flexibility.
- Shifted focus of sanity test from `_timestamp` to `job`, aligning with
changes in expected UI output.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced the logs processing by including additional elements in the
fields array, providing a richer and more informative output.
- Improved the construction of the user-defined schema to ensure a
consistent structure and clarity, incorporating a timestamp and all
defined fields.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: ktx-abhay <abhay.padamani@kiara.tech>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced cached search results filtering with a new `discard_interval`
parameter for improved time-based adjustments.
- **Bug Fixes**
- Adjusted logic to ensure accurate filtering of cached hits based on
the newly implemented time boundaries.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Improved Period of derived stream to be same as frequency
Complete the `Frequency` task in the tracking issue #4170
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
## Summary by CodeRabbit
- **New Features**
- Introduced a new component for managing scheduled alerts with a tabbed
interface for custom alerts, SQL queries, and PromQL queries.
- Enhanced user experience with dynamic input fields, real-time
validation, and aggregation settings for alert conditions.
- Added cron job configuration options for scheduling alerts.
- **Changes**
- Renamed the scheduled alert component to reflect the new
functionality, impacting how the application handles alert triggering
and scheduling.
- Adjusted timing and frequency parameters for triggering conditions in
the alert management system.
- **Improvements**
- Enhanced logging functionality for monitoring enrichment data saving,
providing insights into operations and parameters involved.
- Improved error handling and response validation processes for
ingestion tasks, ensuring more informative logging and error reporting.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
---------
Co-authored-by: Taiming Liu <liutaiming3@gmail.com>
Co-authored-by: oasisk <ashish.j.kolhe@gmail.com>
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced date and time selection with dynamic maximum values for
various relative periods (minutes, hours, days, etc.).
- Introduced context-sensitive options for relative periods based on
user input.
- **Improvements**
- Improved responsiveness to user selections, ensuring they remain
within logical constraints.
- Added a method for calculating maximum values, keeping the UI
synchronized with data constraints.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Enhanced the SQL query analysis to better identify aggregate queries
with additional checks for `GROUP BY` and `HAVING` clauses.
- Improved the evaluation of various expression types to determine
aggregation, making the SQL parser more robust.
- **Bug Fixes**
- Adjusted performance by modifying function signatures for improved
efficiency and reduced memory allocation.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
- Includes the `functionContent` query parameter in the alert url
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Improved handling of input for alert conditions, ensuring only valid
`vrl` values are used.
- Enhanced URL generation for alerts by incorporating refined logic
based on the presence of `vrl_function`.
- **Bug Fixes**
- Fixed potential issues in alert processing due to better validation of
input values.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced enhanced validation logic for form fields in alert
creation, destination, template, and report components, improving user
feedback on input errors.
- Added a new utility function `isValidResourceName` for validating
resource names across various components.
- **Bug Fixes**
- Improved error messages for input validation failures to provide
clearer user guidance.
- **Style**
- Minor formatting changes for improved code readability and consistency
in function signatures.
- **Chores**
- Updated import statements to include new utility functions across
relevant components.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
- **New Features**
- Introduced dynamic menu visibility management based on user actions.
- Enhanced trace viewing functionality with new event support.
- **Bug Fixes**
- Improved responsiveness of trace detail resets under various
conditions.
- **Style**
- Standardized formatting for better readability across multiple
components.
- **Chores**
- Updated state management to improve menu visibility control in the
application.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->