Version Packages - #59
Open
github-actions[bot] wants to merge 1 commit into
Open
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@intentface/chat@0.1.1
Patch Changes
#58
9f74772Thanks @rpvilo! - Fix two quadratic-backtracking regexes that could hang the browser.parseChipSegmentsis the serious one, because message text is untrusted — itarrives from the model. The chip token pattern had two independent blowups. A long
run of
[with no closing bracket made the label group consume to end-of-string,fail, backtrack over every position, advance one character and repeat: 355ms at
32k characters. Worse,
[a](chip:x:repeated with no)anywhere did the samethrough the value group from many start positions at once: 264ms at 88k
characters. Both grow quadratically, so a large message could hang a tab for
seconds.
Every character class now excludes
[, so no group can consume past the nextone and the work per start position is bounded by the gap to it. Safe for
anything
encodeChipMarkdownproduces — values areencodeURIComponent-escaped,queries come from
URLSearchParams, prefixes are short identifiers — and labelscontaining raw brackets never parsed under the previous pattern either.
detectActivePrefixhad the same shape via/\S*$/, which retries from everyposition when the text ends in whitespace. It runs on every keystroke, so pasting
a large single-token blob froze the editor — 16 seconds for a 200k-character run.
Replaced with a backwards index scan, which is linear, allocation-free, and
returns identical results.
Both are covered by regression tests asserting a time budget that the previous
implementations exceeded by two orders of magnitude.