Skip to content

fix(workbook): preserve quoted clipboard cell boundaries - #63

Merged
debpalash merged 1 commit into
debpalash:mainfrom
rudycelekli:fix/workbook-quoted-clipboard-cells-20261006
Oct 7, 2026
Merged

debpalash merged 1 commit into
debpalash:mainfrom
rudycelekli:fix/workbook-quoted-clipboard-cells-20261006

Conversation

@rudycelekli

Copy link
Copy Markdown
Contributor

Summary

Workbook keyboard copy emits raw tabs/newlines, and paste splits every tab/newline. Copying multiline notes or pasting a quoted spreadsheet cell therefore changes cell boundaries and can write parts of a note into neighboring rows or columns.

Use a shared TSV serializer/parser: quote separators and double embedded quotes on copy; retain quoted cell contents on paste. Plain TSV, CRLF record endings, empty cells and trailing record separators remain supported. Malformed quoted text is rejected before a mutation.

Validation

  • Native Chromium with the actual mounted WorkbookEditor, React Query and an owned HTTP API fixture: 1 failure before / 1 pass after. Keyboard copy and three paste cases cover multiline notes, tabs/escaped quotes, ordinary CRLF text and a trailing blank column. Before, the captured real PATCH moved the second line into row 2; after, only the intended row receives the multiline note and adjacent company.
  • Bun clipboard tests: 4 passed, including roundtrip and malformed-text controls.
  • Scoped web ESLint, TypeScript and Vite build passed.
  • Frozen offline backend suite: 1,878 passed, 132 skipped, 3 deselected, with two unchanged warnings. The native browser test requires explicit existing Bun/Chromium executables and otherwise skips.
  • Broader local web Bun tests: 62 passed, 1 failed; the unchanged navigation fixture omits the current /notifications route. Full monorepo lint is unavailable in the filtered web installation (turbo absent); full hosted frontend and PostgreSQL gates are pending.

The browser fixture captures actual editor requests; it does not exercise authentication or backend persistence. Clipboard writes are intercepted within the page, without reading or changing the host clipboard. No live provider or paid calls.

Prepared with AI assistance; source and native regression evidence were reviewed before submission. Signed-off commit included.

Signed-off-by: Rudy Celekli <rudy@gradiahq.com>
@rudycelekli
rudycelekli requested a review from debpalash as a code owner October 6, 2026 16:00
@debpalash
debpalash merged commit b25003b into debpalash:main Oct 7, 2026
3 checks passed
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.

2 participants