improvement(tables): restore column configuration UX - #7390
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
5ff4e81 to
f0bdfb9
Compare
Greptile SummaryRestores table-column configuration interactions, including inline header renaming with in-place validation and shared clipboard handling for row IDs.
Confidence Score: 4/5The failed-mutation path should be fixed before merging because it leaves an operation that never succeeded in the user's undo history. Rename requests are optimistically represented in undo history before persistence, while the failure path rolls back the displayed schema without removing the corresponding undo action. Files Needing Attention: apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/table-grid/table-grid.tsx
|
| Filename | Overview |
|---|---|
| apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/table-grid/table-grid.tsx | Integrates inline rename validation and clipboard handling, but records rename undo history before persistence succeeds. |
| apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/table-grid/headers/column-header-menu.tsx | Adds rename error presentation and double-click rename behavior while protecting workflow-output columns. |
| apps/sim/app/workspace/[workspaceId]/tables/[tableId]/components/table-grid/utils.ts | Adds column-name validation aligned with the backend pattern, length, and duplicate-name rules. |
Reviews (1): Last reviewed commit: 5ff4e81 | Re-trigger Greptile
| // restores the label (not the id) and targets the right column. | ||
| onSave: (columnName, newName) => { | ||
| const oldName = columnsRef.current.find((c) => c.key === columnName)?.name ?? columnName | ||
| pushUndoRef.current({ type: 'rename-column', oldName, newName, columnId: columnName }) |
There was a problem hiding this comment.
Failed rename pollutes undo history
When a rename request fails after passing local validation, the undo action has already been recorded even though the mutation rolls back the schema. The next undo therefore replays an operation that never succeeded, consuming the user's undo or unexpectedly applying the previously rejected name.
There was a problem hiding this comment.
All reported issues were addressed across 8 files
Reply with feedback, questions, or to request a fix.
Fix all with cubic | Re-trigger cubic
f0bdfb9 to
46f8807
Compare
46f8807 to
1ac09ed
Compare
1ac09ed to
19b7ef9
Compare
19b7ef9 to
b7209fe
Compare
b7209fe to
acc6a6c
Compare
acc6a6c to
1da8220
Compare
1da8220 to
7263fa7
Compare
Summary
Stack
This PR contains the general table UX split out of #7105. It is stacked on the Reference column foundation only because Copy Row ID is introduced there. The parent and #7106 retain the previous edit-sidebar rename behavior; this PR owns the full migration to header renaming.
Type of Change
Testing
bun run --cwd apps/sim type-checkbunx biome check apps/sim20260902-132948-c71f26b6; all actionable findings applied and verifiedChecklist
Post-Deploy Monitoring & Validation
Error updating column in tableandFailed to update column.PATCH /api/table/:tableId/columnsduring the first 24 hours after deployment.