-
Notifications
You must be signed in to change notification settings - Fork 437
[release] v0.73.0 #3341
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
[release] v0.73.0 #3341
+40,920
−9,000
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…ith editable table hooks - Delete legacy `TestcasesTable.tsx` component (712 lines) with ag-grid-based implementation - Remove inline column editing, row selection, and drawer-based testcase editing - Remove local state management for columns, rows, and edit operations - Delete breadcrumb integration, navigation blocking, and CSV export functionality - Preparation for unified table layout using jotai-based editable table architecture
…alized caching and query integration - Add `createDraftStore` with Immer patches for memory-efficient undo/redo history management - Implement draft lifecycle methods: init, update, commit, discard with dirty state tracking - Add `createEntityStore` with normalized entity storage and automatic hydration from list queries - Implement entity CRUD operations: upsert, upsertMany, update, remove with staleness tracking - Add query integration via
…t modal with diff preview - Add `testcasesDatasetStore` using `createSimpleTableStore` with revision-based fetching (loads all testcases at once) - Implement client-side search filtering across all testcase fields - Add atoms for revision ID, search term, and refresh trigger with session storage persistence - Add `CommitTestsetModal` component with version tracking, changes summary, and JSON diff preview using DiffView - Implement `Edit
…nd direct testset creation - Replace template selection UI with drag-and-drop file uploader supporting CSV and JSON formats - Add file validation with format-specific error messages and info popover for requirements - Implement preview table showing first 3 rows of uploaded data with auto-detected columns - Add testset name input with auto-population from filename - Integrate `uploadTestsetPreview` API to create testset + variant
…ion fetching and v0 revision handling - Add `latestRevisionStore` with batched API requests using jotai atom family and debounced fetching (50ms) - Implement `LatestCommitMessage` component with automatic batch request triggering on mount - Add "Commit Message" column to testsets table showing latest revision message with ellipsis - Update `fetchTestsetRevisions` to show v0 revisions when they're the only revision available (allows
…cellable - Change onCancel behavior to just close modal and stay on current page - Add onThirdButton callback that executes custom logic before navigating (e.g., "Discard changes") - Set cancellable to true to allow closing modal via backdrop/escape - Update blocking flow to support three-action pattern: save & navigate, discard & navigate, or cancel & stay
…letion with upload API integration - Add "Commit Message" column to testsets table showing user-provided messages (filters out auto-generated ones) - Implement revision deletion with validation to prevent deleting the only non-v0 revision - Add separate action menus for testsets (view/duplicate/rename/delete) vs revisions (view/delete) - Replace TestcasesTable with TestcasesTableNew component in testset display page - Add `uploa
…m in org, profile, and project selectors - Replace `eagerAtom` with standard `atom` in `orgsAtom`, `selectedOrgAtom`, `userAtom`, `projectsAtom`, and `projectAtom` - Remove `jotai-eager` imports from org, profile, and project selector files - Simplify `projectsAtom` from `selectAtom(unwrap())` pattern to direct `atom` with inline data extraction - Remove unused `deepEqual`, `selectAtom`, and `unwrap` imports from project selectors
…model and CSV export - Delete `agGrid.tsx` helper file with dynamic ag-grid module loading - Remove dynamic imports for `ClientSideRowModelModule` and `CsvExportModule` - Remove `AgGridReact` wrapper component with SSR disabled - Remove `AgGridReactType` type export
…n system - Add `thirdButtonText` and `onThirdButton` props for optional middle button between cancel and ok - Implement custom footer with three-button layout when third button is provided - Store modal instance reference to allow programmatic closing from third button handler - Update button styling: ok button to primary type, cancel button to text type, all buttons size middle - Remove ExclamationCircleOutlined icon (set to null) - Change
…agement - Add `MarkdownToggleButton` component with Lexical editor integration and markdown view state tracking - Implement toggle command dispatch using `TOGGLE_MARKDOWN_VIEW` command - Add icon switching between `TextAa` (preview text) and `MarkdownLogoIcon` (preview markdown) - Integrate button into chat message header with tooltip showing current view mode - Use `markdownViewAtom` with message-specific ID for per-message view state persistence
…and improve hydration logic - Add `value` prop to Editor, EditorInner, EditorPlugins, and SharedEditor components for controlled mode - Use `value` when provided, otherwise fall back to `initialValue` for backward compatibility - Update hydration logic to allow re-hydration when content differs (enables undo/redo) - Add `forceUpdate` flag to `InitialContentPayload` to bypass focus checks for external updates - Compare incoming value with current editor content to detect
…system - Add `.agenta-testcase-table` styles with zero padding and top-aligned cells - Implement `.testcase-table-cell` with flexbox layout and configurable height via CSS variables - Add three row height variants (small/medium/large) using CSS variable overrides - Set default row height to 160px with customizable padding and gap spacing - Mirror existing scenario table height control pattern for consistency
…es' into chore/testsets-migration
…evtools styles from OSS
… refactor TestcaseEditDrawer to use entity atoms instead of draft store
- Change `testcases: Array<{...}>` to `testcases: {...}[]` in TestcaseRevisionResponse interface
- Replace draft store with entity atom family in TestcaseEditDrawer and TestcaseEditDrawerContent
- Use `testcaseEntityAtomFamily` and `testcaseHasDraftAtomFamily` for state management
- Remove draft initialization, commit, and restore logic in favor of direct entity atom updates
…es' into chore/testsets-migration
…ination and consolidate revision change side effects - Replace revision-based fetch (all testcases at once) with cursor-based pagination using `fetchTestcasesForTable` - Add `PAGE_SIZE` constant (50) and implement `InfiniteTableFetchResult` return type with cursor support - Validate API responses with `testcasesResponseSchema` and use `flattenTestcase` for table row mapping - Hydrate `testcaseIdsAtom` directly in `fetchData` using
…s due to UUID5 content-hashing - Switch testcases pagination from id-based to created_at-based cursor - Switch blobs pagination from id-based to created_at-based cursor - Update comments to clarify that IDs are content-hashed (UUID5) rather than time-ordered (UUID7)
- Reorder imports to follow ESLint import ordering rules - Reformat multiline type definitions and interfaces for consistent formatting - Adjust line breaks in JSX attributes and template literals - Remove unused imports and variables - Fix indentation and spacing in complex expressions - Convert type aliases to interfaces where appropriate
…y in cell renderers - Define local ICellRendererParams interface with required properties (value, data, api, node) - Remove import of ICellRendererParams from @ag-grid-community/core - Include api methods (getSizesForCurrentTheme, onRowHeightChanged) and node methods (setRowHeight, addEventListener)
…ub.com/Agenta-AI/agenta into frontend-feat/new-testsets-integration
- Add min-w-0 to parent containers to enable text truncation in flex layouts - Apply truncate class to testset name spans with title attribute for full text on hover - Add shrink-0 to expand icon and version tag to prevent them from shrinking - Ensure expand icon and version tag maintain fixed width while name text truncates
…er minWidth in resize calculations - Increase DEFAULT_MIN_WIDTH from 48 to 150 pixels for better readability - Use default column width as floor instead of minWidth when distributing space among non-resized columns - Add new condition to handle case when remaining space is less than total default weight - Allow horizontal scrolling when user-resized columns take all space rather than squeezing non-resized columns below default width
…-instance-support feat(docker): add multi-instance support to dev compose files
- Add order parameter to compute_next_windowing with default "ascending" - Use windowing.order to determine effective order direction (overrides default) - For time-based ordering with UUID5 IDs, set both timestamp boundary (oldest/newest) and ID cursor (next) - In ascending order, update oldest to last record's timestamp for cursor - In descending order, update newest to last record's timestamp for cursor - Remove requirement
…ed cursor pagination - Add optional oldest and newest fields to WindowingState interface in types - Update fetchTestcasesPage to build windowing payload with oldest/newest/next/order fields - Construct nextWindowing from response including oldest/newest boundaries for proper time-based pagination - Pass windowing parameter through fetchData chain in createSimpleTableStore - Update PaginatedFetchParams interface to include windowing parameter
…ub.com/Agenta-AI/agenta into frontend-feat/new-testsets-integration
…tegration [Frontend feat] New testsets integration
…ints - Add UUID_REGEX constant for standard UUID format validation - Add isValidUUID helper function to test UUID format - Add validateUUID function to throw error on invalid UUIDs - Validate revisionId parameter in archiveTestsetRevision before making API request - Validate revisionId parameter in downloadRevision before making API request
…ross testset and testcase modules - Move UUID_REGEX, isValidUUID, and validateUUID from testsets/api to shared validators.ts - Remove duplicate isValidUUID implementations from testcaseEntity, testset controller, and revisionEntity - Import isValidUUID from validators.ts in all modules that need UUID validation - Maintain consistent UUID validation logic across the codebase
…attacks in TestcasesTableNew component - Import isValidUUID from validators helper - Add useMemo hook to normalize and validate revisionIdParam from URL query - Handle array values from router.query by taking first element - Allow "new" as special case for creating new testsets - Validate revision IDs as UUIDs before using them - Return undefined for invalid IDs to treat them as not provided
junaway
approved these changes
Jan 5, 2026
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
New version v0.73.0 in