Fix N-API bugs, implement missing APIs, and update CI configurations#6
Merged
Fix N-API bugs, implement missing APIs, and update CI configurations#6
Conversation
- 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
GitHub's ARM macOS runners don't include Rosetta 2 by default. 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
Prevents a single platform failure from canceling all other builds. 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
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.
No description provided.