Skip to content

fix: add SharedArrayBuffer support and fix byteOffset handling across all buffer paths#370

Merged
NathanWalker merged 2 commits into
mainfrom
fix/array-buffer-view-offset-cpp
May 11, 2026
Merged

fix: add SharedArrayBuffer support and fix byteOffset handling across all buffer paths#370
NathanWalker merged 2 commits into
mainfrom
fix/array-buffer-view-offset-cpp

Conversation

@edusperoni
Copy link
Copy Markdown
Collaborator

@edusperoni edusperoni commented May 11, 2026

The C++ interop path (TryGetBufferFromArrayBuffer) and several call sites
were not accounting for ArrayBufferView.byteOffset(), causing data
corruption when passing typed array views with non-zero offsets as void*
or incomplete array parameters. Additionally, SharedArrayBuffer was not
recognized anywhere in the runtime.

  • Helpers.mm: TryGetBufferFromArrayBuffer now applies byteOffset and
    handles SharedArrayBuffer
  • Interop.mm: IncompleteArrayEncoding now uses TryGetBufferFromArrayBuffer
    instead of inline buffer access; NSData wrapping and debug validation
    recognize SharedArrayBuffer
  • InteropTypes.mm: HandleOf uses TryGetBufferFromArrayBuffer
  • ArgConverter.mm: type matching recognizes SharedArrayBuffer
  • NSDataAdapter.mm: mutableBytes, length, and init accept SharedArrayBuffer

@edusperoni edusperoni changed the title fix: support SharedArrayBuffer in buffer handling and validation and ensure byteOffset works with all methods fix: add SharedArrayBuffer support and fix byteOffset handling across all buffer paths May 11, 2026
@NathanWalker NathanWalker merged commit 5555935 into main May 11, 2026
8 checks passed
@NathanWalker NathanWalker deleted the fix/array-buffer-view-offset-cpp branch May 11, 2026 18:19
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.

2 participants