Repository navigation
fix(runtime): preserve byte-view toString with short encodings - #12456
Merged
proggeramlug merged 5 commits intoOct 12, 2026
Merged
Conversation
|
Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configuration
📒 Files selected for processing (4)
✨ Finishing Touches
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 |
jdalton
marked this pull request as ready for review
October 12, 2026 08:47
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.
Refs #11519. This partial repair covers the
ArrayBuffer-familytoStringresidual left open by #11627. WhenArrayBuffer,SharedArrayBuffer, orDataViewreaches the shared Buffer dispatcher, its inheritedObject.prototype.toStringbehavior must ignore every argument. The dispatcher now sends these non-indexed byte views through the canonical object-tag path before Buffer encoding and range handling. Buffer's own encoding behavior remains unchanged.The regressions cover no argument, runtime-built short and literal encodings, extra range arguments, throwing coercion, and Buffer controls. A direct dispatcher test checks byte-view brands with short and heap encoding values and keeps the Buffer hex path as a control.
At final fragment head
6f2f622f228f93ce6d56026b5041c7b456ca2195, a fresh locked build of all three packages passed, the numbered-fragment self-test and live PR gate passed, and the freshly compiled 18-case no-auto fixture again matched pinned Node 26.5.1. The sole change from5e41d1dischangelog.d/12456-byte-view-tostring.md; source, tests and build inputs are identical. Focused unit, genuine auto-optimization and full-lint evidence below are reused from5e41d1d, with their original provenance; they were not rerun at the fragment head. Linux validation cannot prove macOS behavior.At
5e41d1d8b19c030754975afeca52a9c277eda739, the coherent dev build ofperry,perry-runtime-static, andperry-stdlib-staticpassed. The focused direct runtime test passed (1 passed, 5,797 filtered out). The 18-case fixture compiled with--no-auto-optimizeand with the default auto-optimization path; both outputs matched pinned Node 26.5.1. The auto-optimization run rebuilt the matching runtime and stdlib archives with theasync-bridgefeature, without fallback; an initial 180-second build timeout is retained in the evidence, and the longer retry passed.Validation was performed on Linux. Full
scripts/run_lint_gates.shcompleted with exit 1: 30 of 137 commands failed and two CI-only commands were skipped. Twenty-eight failures reproduce the saved baseline (25 static/release checks and three warning/Clippy commands). The Windows xwin gate is blocked by proxy HTTP 403. The docs wrapper misses the external target directory; direct generation matches the earlier baseline-attributed outputs, including markdown drift against the tracked empty reference. Full lint is not claimed green. CustomSymbol.toStringTagoverrides on registered byte-view receivers and typed-stringSymbol.iteratoridentity remain outside this partial fix.