fix(core): implement multi-chunk bracketed paste state machine#1633
Conversation
|
Warning Review limit reached
More reviews will be available in 29 minutes and 44 seconds. Learn how PR review limits work. To continue reviewing without waiting, enable usage-based billing in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based credits. 🚦 How do rate limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan refill rate. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, the refill rate gradually slows as usage increases. The highest same-day bursts are limited more strictly. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (2)
✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
|
@Karanjot786 Please review this |
Description
The bracketed paste handler required both
\x1b[200~and\x1b[201~markers in the same data chunk. When paste content spans multiple stdin chunks (>4KB), the first chunk contains the start marker + partial content, and subsequent chunks contain more content + the end marker. The paste handler never fires, and the start marker falls through to the escape parser which silently discards it.The
_isPastingand_pasteBufferfields were declared but never used.Fix
Replaced the single-chunk paste check with a proper state machine:
_isPasting = true, strips start marker, buffers content_pasteBufferas apasteevent, resets stateTests
Closes #1628