Skip to content

improvement(tables): restore column configuration UX - #7390

Open
j15z wants to merge 19 commits into
feat/table-fksfrom
improvement/table-column-rename-ux
Open

improvement(tables): restore column configuration UX#7390
j15z wants to merge 19 commits into
feat/table-fksfrom
improvement/table-column-rename-ux

Conversation

@j15z

@j15z j15z commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Remove column-name editing from the edit sidebar while keeping the create-column name field
  • Rename plain and enrichment columns by double-clicking their headers
  • Keep invalid names editable with required, format, length, duplicate, and server-error feedback
  • Serialize inline rename sessions and register undo history only after persistence succeeds
  • Reuse the shared clipboard helper for Copy Row ID

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

  • Improvement
  • Breaking change

Testing

  • bun run --cwd apps/sim type-check
  • bunx biome check apps/sim
  • 5 focused sidebar, header, rename-lifecycle, and grid utility test files: 41 passing tests
  • Structured code review completed: run 20260902-132948-c71f26b6; all actionable findings applied and verified

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added or updated and passing
  • No new warnings introduced

Post-Deploy Monitoring & Validation

  • Search application logs for Error updating column in table and Failed to update column.
  • Watch error rate and latency for PATCH /api/table/:tableId/columns during the first 24 hours after deployment.
  • Healthy signals: single-click selects a column, double-click opens inline rename for plain/enrichment columns, workflow output columns remain protected, and successful renames create one usable undo entry.
  • Failure signals: stuck rename inputs, duplicate requests, a failed rename appearing in undo history, or elevated column-update errors. Revert improvement(tables): restore column configuration UX #7390 while retaining the Reference foundation if these appear.
  • Validation owner: Tables team for the first 24 hours after deployment.

@vercel

vercel Bot commented Sep 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
docs Skipped Skipped Sep 2, 2026 11:58pm UTC

Request Review

@j15z j15z mentioned this pull request Sep 2, 2026
8 tasks
@j15z
j15z force-pushed the improvement/table-column-rename-ux branch from 5ff4e81 to f0bdfb9 Compare September 2, 2026 07:38
@greptile-apps

greptile-apps Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

Restores table-column configuration interactions, including inline header renaming with in-place validation and shared clipboard handling for row IDs.

  • Adds double-click renaming for plain and enrichment column headers.
  • Preserves editable rename state and displays validation errors after rejected submissions.
  • Adds a shared column-name validator and focused header/grid tests.
  • Replaces direct Clipboard API usage with the shared clipboard helper.

Confidence Score: 4/5

The 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

Important Files Changed

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 })

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 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.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 8 files

Reply with feedback, questions, or to request a fix.

Fix all with cubic | Re-trigger cubic

@j15z
j15z force-pushed the improvement/table-column-rename-ux branch from f0bdfb9 to 46f8807 Compare September 2, 2026 17:30
@j15z
j15z force-pushed the improvement/table-column-rename-ux branch from 46f8807 to 1ac09ed Compare September 2, 2026 18:34
@j15z
j15z force-pushed the improvement/table-column-rename-ux branch from 1ac09ed to 19b7ef9 Compare September 2, 2026 20:57
@j15z
j15z force-pushed the improvement/table-column-rename-ux branch from 19b7ef9 to b7209fe Compare September 2, 2026 21:07
@j15z
j15z force-pushed the improvement/table-column-rename-ux branch from b7209fe to acc6a6c Compare September 2, 2026 21:28
@j15z
j15z force-pushed the improvement/table-column-rename-ux branch from acc6a6c to 1da8220 Compare September 2, 2026 21:48
@j15z
j15z force-pushed the improvement/table-column-rename-ux branch from 1da8220 to 7263fa7 Compare September 2, 2026 23:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant