iohook icon indicating copy to clipboard operation
iohook copied to clipboard

Support Electron 15-19 and Node.js 17-18

Open ykhwong opened this issue 4 years ago • 30 comments

Support electron-15.0.0 with abi-98.

Tested on Windows 10 x64.

$ electron --version && electron --abi && electron .

v15.0.0

98

{ button: 0, clicks: 0, x: 2534, y: 46, type: 'mousemove' }
{ button: 0, clicks: 0, x: 2528, y: 50, type: 'mousemove' }
{ button: 0, clicks: 0, x: 2522, y: 53, type: 'mousemove' }
{ button: 0, clicks: 0, x: 2516, y: 57, type: 'mousemove' }
{ button: 0, clicks: 0, x: 2512, y: 59, type: 'mousemove' }
{ button: 0, clicks: 0, x: 2508, y: 60, type: 'mousemove' }
{ button: 0, clicks: 0, x: 2506, y: 61, type: 'mousemove' }
{ button: 0, clicks: 0, x: 2504, y: 62, type: 'mousemove' }
{ button: 0, clicks: 0, x: 2502, y: 63, type: 'mousemove' }
{ button: 0, clicks: 0, x: 2499, y: 63, type: 'mousemove' }
{ button: 0, clicks: 0, x: 2496, y: 65, type: 'mousemove' }

ykhwong avatar Sep 23 '21 05:09 ykhwong

@ash0x0 or @ykhwong - any chance we can have this one merged/released soon? I'm currently blocked on upgrading to electron 15 due to iohook not supporting it

chevonc avatar Nov 28 '21 18:11 chevonc

Sorry, but I have no permission to merge this pull request. I think that ash0x0 can do it.

ykhwong avatar Nov 29 '21 05:11 ykhwong

@chevonc it works fine if you build manually for electron 15. The only issue is that prebuilds are not provided.

marcelblum avatar Nov 29 '21 05:11 marcelblum

@marcelblum yeah, I realize I can manually build. However, our current dev flow is setup as such to depend on the pre-builds, so would like to keep using them ideally to avoid having to introduce an additional step

chevonc avatar Nov 29 '21 06:11 chevonc

@ash0x0 @Djiit any chance we could get this merged soon?

chevonc avatar Dec 04 '21 20:12 chevonc

It looks like a solution for really huge problem but @ash0x0 can you merge it?

valkedev avatar Jan 22 '22 14:01 valkedev

Yeah, would be cool to get this merged, I tested this on Electron 16 & node 17 on macos Big Sur and it's working fine)) @WilixLead @ash0x0 @Djiit

x8BitRain avatar Jan 24 '22 05:01 x8BitRain

@ash0x0 Any update on that?

AgainPsychoX avatar Feb 03 '22 14:02 AgainPsychoX

After reading previous comments, how do I manually build?

jove0610 avatar Mar 02 '22 17:03 jove0610

After reading previous comments, how do I manually build?

Documentation: https://wilix-team.github.io/iohook/manual-build.html

ykhwong avatar Mar 04 '22 09:03 ykhwong

Hi Wilix Team, would it be possible to grant merge and publish access to more folks in the community?

It seems that the project would benefit from more attention as there are many PRs open with little movement. @WilixLead @ash0x0 @Djiit

lacymorrow avatar Mar 09 '22 21:03 lacymorrow

Is the manual build available now for electron 18? I get errors when I run node build.js --runtime electron --version 18.0.1 --abi 103

jove0610 avatar Apr 05 '22 02:04 jove0610

Is the manual build available now for electron 18? I get errors when I run node build.js --runtime electron --version 18.0.1 --abi 103

Clone the pull request branch ykhwong:update-electron-v15 and build using node:

$ git clone https://github.com/ykhwong/iohook --branch=update-electron-v15
$ cd iohook
$ npm i --ignore-scripts
$ node build.js --runtime electron --version 18.0.1 --abi 103 --msvs_version=2022 --upload=false

ykhwong avatar Apr 05 '22 12:04 ykhwong

Just to clarify, are we just waiting on someone with merge credentials?

lacymorrow avatar Apr 27 '22 01:04 lacymorrow

Just to clarify, are we just waiting on someone with merge credentials?

Yes

x8BitRain avatar Apr 27 '22 09:04 x8BitRain

Any news?

@ykhwong I've been trying to follow your instructions but I'm about at my wits end. I'm getting "iohook.node is not a valid Win32 application" despite getting a successful build. Any ideas why that might be? I'm building and running on Windows 10. image

dmilin1 avatar May 15 '22 08:05 dmilin1

I've been trying to follow your instructions but I'm about at my wits end. I'm getting "iohook.node is not a valid Win32 application" despite getting a successful build. Any ideas why that might be? I'm building and running on Windows 10.

The instruction that I provide above is only about how to build iohook manually. You also need to copy the "iohook.node" file that you compiled to your project's iohook module directory.

I have no idea why the error message occurs because you didn't provide any steps to reproduce the problem. Not sure if the issue is the same as https://github.com/wilix-team/iohook/issues/402

ykhwong avatar May 18 '22 00:05 ykhwong

@ash0x0 merge it

dement6d avatar Jul 17 '22 00:07 dement6d

@ykhwong could you publish your branch to npm?

hosseinmd avatar Sep 13 '22 11:09 hosseinmd

@WilixLead Anyone around to merge this? This package is quickly becoming outdated.

lacymorrow avatar Sep 14 '22 11:09 lacymorrow

This package is already outdated, You may want to use https://www.npmjs.com/package/uiohook-napi instead

txj-xyz avatar Sep 14 '22 17:09 txj-xyz

I switched to uiohook-napi but am currently in the process of switching back to iohook. The author of uiohook-napi does not own a mac and is unable to fix a crash (https://github.com/SnosMe/uiohook-napi/issues/24). While I was able to work around this crash, I encountered more issues trying to produce a universal mac build and I am not able to figure it out. So going back to iohook for now unfortunately.

stefansundin avatar Jan 19 '23 17:01 stefansundin

That's unfortunate, thanks for updating this thread 👍

lacymorrow avatar Jan 20 '23 02:01 lacymorrow

Hi, we're starting to merge PRs again, is this still working and relevant?

lacymorrow avatar Jan 13 '24 04:01 lacymorrow

@lacymorrow it'd certainly be nice to have, but the Electron and Node versions this PR targeted are now way out of date

dmilin1 avatar Jan 14 '24 00:01 dmilin1

Agreed, but we have downstream projects that would benefit from even partial electron and node updates. It's probably worth the bump.

I may not have the ability to release new versions though.

@WilixLead Do you know if I will be able to release new versions on NPM, or update the documentation?

lacymorrow avatar Mar 05 '24 02:03 lacymorrow

I'm not sure where to put this, but I want to call out this particular fork of libuiohook, which seems to work everywhere (solves macOS 14 not working, for example). It's used within a .NET analog of this package. I've taken a stab at integrating it here, but my C/C++ skills are uh...very lacking. Would integrating this fork help with updating electron and node support?

mhgbrown avatar Mar 14 '24 11:03 mhgbrown

Why is the package-lock.json change in this PR so massive?

ItsHarper avatar Mar 28 '24 20:03 ItsHarper