[sync] T5062 fix v2 import completion event#3345
Conversation
Synced from teableio/teable-ee@2b62af3 Co-authored-by: Aries X <caoxing9@gmail.com> Co-authored-by: Bieber <artist@teable.io> Co-authored-by: Boris <boris2code@outlook.com> Co-authored-by: Jun Lu <hammond@teable.io> Co-authored-by: Pengap <penganpingprivte@gmail.com> Co-authored-by: SkyHuang <sky.huang.fe@gmail.com> Co-authored-by: Uno <uno@teable.ai> Co-authored-by: nichenqin <nichenqin@hotmail.com>
|
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 77c6bc7218
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| const commandResult = ImportCsvCommand.createFromUrl({ | ||
| baseId, | ||
| csvUrl: resolvedUrl, | ||
| tableName: worksheet.name, | ||
| importData: worksheet.importData, |
There was a problem hiding this comment.
Preserve headerless CSV rows in V2 imports
When a CSV create-table import is routed through V2 and the selected worksheet has useFirstRowAsHeader: false, this still builds an ImportCsvCommand from the URL; that command/parser always treats row 0 as headers and excludes it from rows. The V1 path honors useFirstRowAsHeader via skipFirstNLines, so headerless CSV imports lose the first data row under V2 even though the request supplies column names separately.
Useful? React with 👍 / 👎.
| RecordsBatchCreated.create({ | ||
| tableId: options.table.id(), | ||
| baseId: options.table.baseId(), | ||
| records: eventRecords, | ||
| }) |
There was a problem hiding this comment.
Include stream orchestration on CSV batch events
For V2 CSV create-table imports larger than the realtime threshold, these RecordsBatchCreated events lack orchestration.totalRecordCount, so the realtime/action-trigger projections fall back to the per-chunk event.records.length (500 here) and never set skipRealtime. That means large imports fan out every record to clients instead of using the large-batch refresh path; ImportRecordsHandler already attaches orchestration to the same event type and this path should do the same.
Useful? React with 👍 / 👎.
🧹 Preview Environment Cleanup
|
🔄 Automated sync from EE repository.
110 commit(s) synced since last sync.
Authors
Included commits
Latest source commit: teableio/teable-ee@2b62af3
This PR was automatically created by the sync workflow.