Skip to content

perf(html): fill unreserved colspan padding in one step - #635

Merged
productdevbook merged 1 commit into
mainfrom
fix/html-span-bulk
Oct 26, 2026
Merged

productdevbook merged 1 commit into
mainfrom
fix/html-span-bulk

Conversation

@productdevbook

Copy link
Copy Markdown
Owner

#631 skipped the rowspan probe while nothing was reserved, which took the
resource-bound test from 11-15 s to under a second under plain Node and
let its timeout come down to 5 s. Under coverage instrumentation on a CI
runner it still took 6.9 s, because the padding was still spent and
pushed one slot at a time, 20 million times, and the coverage job failed.

With no reservation the padding is just nulls up to the last column, so
it is now spent as one amount and written with Array.prototype.fill. The
test takes ~0.1 s with coverage on. The slot-by-slot path stays for rows
a rowspan reaches into. Two new tests pin the padding at the column
limit and around a reservation; both pass on the old code too.

bun run test and bun run coverage both pass locally (10944 tests). This is what has kept the coverage + size job red on #634; the budget itself is fine there.

🤖 Generated with Claude Code

#631 skipped the rowspan probe while nothing was reserved, which took the
resource-bound test from 11-15 s to under a second under plain Node and
let its timeout come down to 5 s. Under coverage instrumentation on a CI
runner it still took 6.9 s, because the padding was still spent and
pushed one slot at a time, 20 million times, and the coverage job failed.

With no reservation the padding is just nulls up to the last column, so
it is now spent as one amount and written with Array.prototype.fill. The
test takes ~0.1 s with coverage on. The slot-by-slot path stays for rows
a rowspan reaches into. Two new tests pin the padding at the column
limit and around a reservation; both pass on the old code too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 26, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Next included review available in 25 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used all 8 included reviews currently available.

Learn how review limits work.

Review configuration:

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 82b46c49-6ebf-482b-87a8-c7fcff1471b7
Commits

Reviewing files that changed from the base of the PR and between 6f462fa and 741f2e7.

Files selected for processing: 2
  • src/export/html-import.ts
  • test/html-import.test.ts
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@productdevbook
productdevbook merged commit 06481fb into main Oct 26, 2026
6 of 7 checks passed
@productdevbook
productdevbook deleted the fix/html-span-bulk branch October 26, 2026 11:42
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