发布

  • [OPIK-3908] [BE] [FE] Followup experiment tags (#4789)

    frostbyte_neo 发布于 2026-01-21 14:27:19 +00:00

    • [OPIK-3908] Add support for IS_EMPTY/IS_NOT_EMPTY filtering and grouping by empty tags
    • Introduced IS_EMPTY and IS_NOT_EMPTY operators for filtering experiments by tags.
    • Enhanced grouping logic to include experiments with empty tag lists as a separate group.
    • Updated backend filters and queries to handle empty LIST fields.
    • Added corresponding tests for filtering and grouping scenarios with empty tags.
    • [OPIK-3908] Implement batch update for experiments and add tag management in the frontend
    • Added batch experiment update support in the backend, including a new endpoint with merging tags capability.
    • Introduced frontend APIs, dialogs, and actions to enable adding tags to multiple experiments.
    • Updated database logic to support bulk updates with optimized query handling.
    • Enhanced UI components to reflect tag-related updates and batch operations.
    • [OPIK-3908] Simplify LIST field validation in FiltersFactory
    • Refactored validation logic for LIST fields to streamline unnecessary checks and enhance readability.
    • [OPIK-3908] Improve error handling in useExperimentBatchUpdateMutation by adding a default error message for unknown cases.

    • [OPIK-3908] Add validation for tags in AddTagDialog

    • Enforce non-blank and max-length constraints for tags.
    • Improve error handling with descriptive toast messages.
    • Update input field to include maxLength and disable buttons for invalid tags.
    • [OPIK-3908] Refactor AddTagDialog to use MAX_TAG_LENGTH constant
    • Replaced hardcoded tag length value (100) with MAX_TAG_LENGTH constant for consistency.
    • Updated input validation, error messages, and UI components to use the constant.
    • [OPIK-3908] Removed "final" keyword from all "FROM experiments" queries in ExperimentDAO where it is unnecessary. It is related only to the places where it was added previously in this PR.

    • [OPIK-3908] Removed "final" keyword from all "FROM experiments" queries in ExperimentDAO BULK_UPDATE.

    • [OPIK-3908] Fixed formatting of FilterQueryBuilder and other.

    • [OPIK-3908] Simplify LIST field invalid value tests in resource tests

    • Skipped invalid value tests for NO_VALUE_OPERATORS on LIST fields to streamline testing logic.
    • Applied changes across FindTraceThreadsResourceTest, GetTracesByProjectResourceTest, and FindSpansResourceTest.
    • [OPIK-3908] Removed unnecessary refetch()

    • [OPIK-3908] Simplified value assignment in grouped experiments list query

    • [OPIK-3908] Refactor AddTagDialog to make handleAddTag function asynchronous

    • Converted handleAddTag to an async function for streamlined async/await usage.
    • Replaced .then and .catch with try/catch for improved readability and error handling consistency.
    • [OPIK-3908] Add @NotNull annotation to Set elements in ExperimentBatchUpdate
    • Updated ExperimentBatchUpdate.ids to enforce @NotNull constraint on individual elements for stricter validation.
    • [OPIK-3908] Simplify mergeTags value handling in ExperimentBatchUpdate
    • Added mergeTags() override in ExperimentBatchUpdate to standardize null checks.
    • Updated ExperimentService.batchUpdate to use the new method for improved clarity.
    • [OPIK-3908] Remove unnecessary LIMIT 1 BY id from query in ExperimentDAO
    • Simplified query by removing redundant clause to improve readability and maintainability.
    • [OPIK-3908] Refactor batch update to improve error handling and simplify query logic
    • Replaced bulkUpdate with update in ExperimentDAO for consistency.
    • Added error handling for batch updates in ExperimentService.
    • Simplified query building logic by removing redundant methods in ExperimentDAO.
    • [OPIK-3908] Replace inline tag rendering with ColoredTag component in TagListTooltipContent
    • Improved code readability and reusability by using the ColoredTag component for displaying tags.
    • Removed redundant separators for a cleaner UI.
    • [OPIK-3908] Remove hiddenItems from useVisibleTags and update tooltip logic
    • Eliminated the hiddenItems computation in useVisibleTags for simplification.
    • Updated tooltip logic in VersionTags and ListCell to use the full tag list instead of hiddenItems.
    • [OPIK-3908] Removed unnecessary LIMIT 1 BY id from query in ExperimentDAO
    下载附件