Repository navigation
Pin core v1.36.5: a class or field named toString no longer stops a file opening - #54
Merged
Merged
Conversation
…ile opening Core v1.36.5 reads names that Object.prototype carries, toString, constructor, __proto__ and the rest, as the names they are. A dictionary entry of such a class made the whole dictionary fail to open, and now opens as the generic object any unregistered class is. A MAT or dictionary struct field with such a name is a field like any other, where a struct array with one made the .mat fail to open, and a model holding a package member named __proto__ opens. Finding an entry's Name and UUID for an edit of a binary dictionary, and cutting a classic mask style's options, are linear in the file's bytes, where a dictionary of a few kilobytes could hold an edit for a minute. The lock now resolves data-explorer-core to v1.36.5 (f535020). The lock diff is the spec, the version and the resolved sha, and every lockfile resolution still points at the public registry. The extension's own version is not bumped here.
This was referenced Oct 12, 2026
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.
Moves the core pin from
v1.36.4tov1.36.5(f535020). Four lines: the spec inpackage.jsonand in the lock's root entry, and the lock entry'sversionand resolved sha, the same shape as #50's pin of v1.36.4.What core v1.36.5 brings to the extension:
toStringno longer stops a file opening (A name Object.prototype carries is a name like any other: own-key lookups for classes, fields, parts and property bags data-explorer-core#78). A dictionary entry whose class istoString,constructor,__proto__or another nameObject.prototypecarries made the whole dictionary fail to open; it now opens as the generic object any unregistered class is. A MAT or dictionary struct field with such a name is a field like any other (a struct array with one made the.matfail to open), a model holding a package member named__proto__opens, and such keys survive a save..mdlmask style's options, were quadratic on the file's own bytes; a binary dictionary of a few kilobytes could hold an edit for a minute. Both are linear now, with the same results.Checked in a worktree of this branch:
npm cifrom this lock installs data-explorer-core 1.36.5 and leaves the lock byte-identical (sha256 before and after).npm run verifypasses: typecheck, build, build:web, 3,208 unit tests in 167 files, andcheck:leak(all 646 lockfile resolutions on the public registry or the one allowed core git entry).npm run test:integrationpasses: 168 passing, 1 pending.The extension's own version is not bumped here; users get these fixes with the next release built from this pin.