Skip to content

Conversation

@github-actions
Copy link

@github-actions github-actions bot commented Jan 2, 2026

New version v0.73.0 in

  • (web)
  • web/oss
  • web/ee
  • sdk
  • api

ardaerzin and others added 30 commits December 18, 2025 20:52
…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
… 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
…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
jp-agenta and others added 13 commits January 5, 2026 13:18
…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)
- 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
@dosubot dosubot bot added size:XXL This PR changes 1000+ lines, ignoring generated files. and removed size:S This PR changes 10-29 lines, ignoring generated files. labels Jan 5, 2026
jp-agenta and others added 5 commits January 5, 2026 14:33
- 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
…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 junaway merged commit 8b71986 into main Jan 5, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Backend SDK size:XXL This PR changes 1000+ lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants