Skip to content

Fix N-API bugs, implement missing APIs, and update CI configurations#6

Merged
p120ph37 merged 12 commits intonapifrom
claude/fix-port-bugs-7mkxy
Mar 30, 2026
Merged

Fix N-API bugs, implement missing APIs, and update CI configurations#6
p120ph37 merged 12 commits intonapifrom
claude/fix-port-bugs-7mkxy

Conversation

@p120ph37
Copy link
Copy Markdown
Owner

No description provided.

claude added 12 commits March 30, 2026 16:25
- RobotAdapter: Fix ROBOT_VERION -> ROBOT_VERSION and ADDON_VERION -> ADDON_VERSION property name typos
- MouseAdapter: Register missing autoDelay accessor in Init() (was declared but not exposed to JS)
- MemoryAdapter: Fix readData() using info[0] (address) as length instead of info[2]
- MemoryAdapter: Fix Region start/stop/size accessors returning Boolean instead of Number (these are uintptr values, not bools)

https://claude.ai/code/session_01Qn87E1dDdJX9RsHgyANZky
Add Memory typed read/write (_readType/_writeType) in C++ with JS
convenience wrappers (readInt8..writeString). Implement writeData,
getPtrSize, getMinAddress, getMaxAddress, getPageSize. Add
Process._getSegments and Module.getSegments with pure-JS
Module.Segment class. Add clone() for all types and compare()
statics. Fix Keyboard/Mouse clone to use autoDelay setter properly.

https://claude.ai/code/session_01Qn87E1dDdJX9RsHgyANZky
Move the 18 typed Memory methods (readInt8..writeString) from JS
wrappers delegating to _readType/_writeType into direct C++ methods
on MemoryAdapter, matching the fork's single-layer style. Remove
_TYPE_* constants and _readType/_writeType internal API.

https://claude.ai/code/session_01Qn87E1dDdJX9RsHgyANZky
- macos-13 (removed by GitHub) → macos-15
- windows-2019 (removed) → windows-2022
- ubuntu-20.04 (removed) → ubuntu-22.04
- actions/cache@v3 → v4

https://claude.ai/code/session_01Qn87E1dDdJX9RsHgyANZky
Use macos-14 (ARM) to cross-compile an x64 prebuild via
prebuildify --arch x64. Tests are skipped for the cross-compiled
target since x64 binaries can't run natively on ARM.

https://claude.ai/code/session_01Qn87E1dDdJX9RsHgyANZky
Use arch -x86_64 to run node under Rosetta for testing the
cross-compiled x64 prebuild on the ARM runner.

https://claude.ai/code/session_01Qn87E1dDdJX9RsHgyANZky
actions/checkout, cache, upload-artifact, download-artifact all
updated from v4 to v5 to avoid Node.js 20 deprecation.

https://claude.ai/code/session_01Qn87E1dDdJX9RsHgyANZky
The nvm-installed node is ARM-only, so arch -x86_64 can't run it.
Instead, download the x64 node binary directly from nodejs.org
and use it to test the cross-compiled addon under Rosetta 2.

https://claude.ai/code/session_01Qn87E1dDdJX9RsHgyANZky
Use 64-bit node with prebuildify --arch ia32 for the Windows 32-bit
build, matching the cross-compilation pattern used for macOS x64.
Test with a downloaded 32-bit node binary. Removes fail-fast: false.

https://claude.ai/code/session_01Qn87E1dDdJX9RsHgyANZky
Suppresses Node.js 20 deprecation warning for upload-artifact@v5
which hasn't released a Node 24 build yet.

https://claude.ai/code/session_01Qn87E1dDdJX9RsHgyANZky
@p120ph37 p120ph37 merged commit 25fa281 into napi Mar 30, 2026
7 checks passed
@p120ph37 p120ph37 deleted the claude/fix-port-bugs-7mkxy branch March 30, 2026 22:42
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