Skip to content

CSV table component#5

Draft
alextapper wants to merge 1 commit intomasterfrom
cursor/csv-table-component-07fd
Draft

CSV table component#5
alextapper wants to merge 1 commit intomasterfrom
cursor/csv-table-component-07fd

Conversation

@alextapper
Copy link
Owner

Add support for creating editable tables on the canvas by dragging/dropping CSV files or pasting tabular data.


Open in Web Open in Cursor 

Co-authored-by: Alex Tapper <alex.tapper@gmail.com>
@cursor
Copy link

cursor bot commented Mar 4, 2026

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

@alextapper
Copy link
Owner Author

@cursor review

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

if (!isPlainPaste && data.text) {
if (this.insertTableFromText(data.text, sceneX, sceneY)) {
return;
}
Copy link

Choose a reason for hiding this comment

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

Table insertion completely preempts spreadsheet chart dialog

High Severity

insertTableFromText runs before tryParseSpreadsheet, and parseTabularText accepts any consistent ≥2×2 text grid (no numeric requirement), while tryParseSpreadsheet requires numeric value columns. Every dataset that would have opened the chart dialog (e.g. "time,value\n01:00,61\n02:00,85") now silently creates a table instead, making the paste-to-chart feature completely unreachable via paste. This is a regression for existing chart users.

Fix in Cursor Fix in Web

return { ok: false, reason: "Less than 2 rows" };
}

return { ok: true, data: bestCandidate.parsed };
Copy link

Choose a reason for hiding this comment

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

Aggressive comma detection creates tables from natural text

Medium Severity

parseTabularText treats any multi-line text with a consistent number of commas per line as tabular data. Natural English text like "I need eggs, milk\nAnd bread, butter" gets detected as a 2×2 table and rendered as rectangles with text elements instead of being pasted as plain text. The minimum threshold of 2 columns with comma as delimiter is too low given how common commas are in prose.

Additional Locations (1)

Fix in Cursor Fix in Web

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