vscode-spellright
vscode-spellright copied to clipboard
Spellright stopped working in V1.56.0
I just updated Visual Studio Code to v 1.56.0 and spellright stopped working. However, this (https://github.com/bartosz-antosik/vscode-spellright/issues/425) fixed it for me.
Can confirm this on mac os and vsc 1.56.0
. Triggering SpellRight
commands via command palette causes error popups to show up.
E.g.
Command 'SpellRight: Select Dictionary (Language)' resulted in an error (command 'spellright.selectDictionary' not found)
same here :(
Hello! VSCode 1.56.x started using Electron version 12.x. This as with every Electron version bump SpellRight stopped functioning as the binaries are not automatically compatible with new version This time jump from Insiders to regular version was pretty quick which made the transition bit more pf a problem.
But with the recent SpellRight update it should work with latest versions of VSCode. Or doesn't it?
thanks Bartosz. For some reason my VSCode (1.56.2 on Sierra) does not see the new version of Spell Right.
It can only see 3.0.56.
Hmm...
@krisztian-hofstadter-tedor Really, I have no idea why? Version available in the Market is 3.0.58 which has newer binaries. You can try to install from VSIX maybe?
@bartosz-antosik thanks. I am not exactly sure how to install VSIX. I downloaded the Zip from the repository and was trying to upload as an extension where it says 'Install from VSIC' but that didn't work.
How do I download a VSIX file? Sorry :)
From here:
https://marketplace.visualstudio.com/items?itemName=ban.spellright
aha! Found this on https://marketplace.visualstudio.com/ (could not on GitHub).
cool! up and running ;-)
many thanks @bartosz-antosik
Hello! VSCode 1.56.x started using Electron version 12.x. This as with every Electron version bump SpellRight stopped functioning as the binaries are not automatically compatible with new version This time jump from Insiders to regular version was pretty quick which made the transition bit more pf a problem.
But with the recent SpellRight update it should work with latest versions of VSCode. Or doesn't it?
The updated version works fine! Thank you!
Hmm I'm getting the same issue on an M1 Mac running VSCode 1.56.2 and SpellRight 3.0.58, whether installed through the store or directly from the VSIX.
Calling any SpellRight command yields errors, e.g.:
Command 'SpellRight: Select Dictionary (Language)' resulted in an error (command 'spellright.selectDictionary' not found)
Flipping global.SPELLRIGHT_DEBUG_OUTPUT = true;
in extension.js
and running the extension debugger just shows:
[spellright] Found no bindings among these files:
Hello, VSCodium user here. It seems like the update hasn't been pushed to open-vsx so the current version fails.
Would be awesome if the module could be updated there as well :)
Hmm I'm getting the same issue on an M1 Mac running VSCode 1.56.2 and SpellRight 3.0.58, whether installed through the store or directly from the VSIX.
Calling any SpellRight command yields errors, e.g.:
Command 'SpellRight: Select Dictionary (Language)' resulted in an error (command 'spellright.selectDictionary' not found)
Flipping
global.SPELLRIGHT_DEBUG_OUTPUT = true;
inextension.js
and running the extension debugger just shows:
[spellright] Found no bindings among these files:
Same here.
Hello, VSCodium user here. It seems like the update hasn't been pushed to open-vsx so the current version fails.
Would be awesome if the module could be updated there as well :)
The bugfix version is still not available to VSCodium users. I managed to install it manually, but it would be nice to have the latest version natively available, too.
Hello, VSCodium user here. It seems like the update hasn't been pushed to open-vsx so the current version fails. Would be awesome if the module could be updated there as well :)
The bugfix version is still not available to VSCodium users. I managed to install it manually, but it would be nice to have the latest version natively available, too.
After some digging it seems like the open-vsx deployment was made with their BOT which mean the plugin author might even not be aware of it's existence on this marketplace (plugins are added on community requests if their licences allows it).
On an other note, it seems that this project doesn't "release" new version (couldn't find github releases nor tags) and that may be the reason why the BOT doesn't update it's packages.
tldr: My point is that the mater on the update of open-vsx packages isn't related to this thread ^^'
Sorry to the regular VSCode users...
I can confirm the issue is back or still there - VSCode is on 1.60.x, using electron 13.1.x and node 14.16.x
But the current copies of the binaries ( https://github.com/bartosz-antosik/vscode-spellright/tree/master/lib/bin ) don't cover node 14 and they don't cover mac OS on arm64 at all (the two that are there are darwin-x64 only). Which is confusing me - I don't know the exact build process - because the build script seems to cover darwin-apple / arm64 ( https://github.com/bartosz-antosik/vscode-spellright/blob/master/lib/bin/node-spellchecker/build-macos-apple.sh )
I failed to try updating the binaries in a clone of this repo, the process is pretty undocumented beyond the shell scripts in the repo.
@nkuehn Hi! As far as I know only Electron's version is of concern when matching binaries. Node should not matter.
What version of Electron is reported?
I have pretty much working bot regular & Insiders version with a variety of Electron versions 13 (13.1.8 & 13.5). There is no version with Electron 14.x that I would know about.
Do you have Apple ARM hardware to build binaries for SpellRight? I would eagerly assist you to build these, so I could attach them to the release. I simply do not have appropriate hardware in reach.
Do you have Apple ARM hardware to build binaries for SpellRight? I would eagerly assist you to build these, so I could attach them to the release. I simply do not have appropriate hardware in reach.
I have an M1 (and I have been experiencing the same or similar problem (reported in https://github.com/bartosz-antosik/vscode-spellright/issues/451 )
Unlike @nkuehn, whom you were asking, I have little understanding of building node apps. But I can give it a shot.
For what follows, please understand that my experience in building anything with node is limited to code that has Makefiles or docker containers that do everything me and have been created by people who understand building. Despite that I seem to have gotten fairly far in my attempts.
Steps so far in building
- Looking at
makefile
I saw that I need avsce
command, and so small bit of reading various docs, I usednpm install
to install vsce, yo, and generator-code. All seemed to go well. - After a bit of trial, error, and reading I realized that my next step was to run
npm install
in the project's root directory to get all of the node module dependencies. This seemed to work, except that I got a post install error. (Details further below) - Despite the post-install errors, I was able to run
make vsce-pack
. This failed because there was no.output
directory. After manually creating the .output directory I was able to run it. - I now have a
./.output/spellright-3.0.60.vsix
, but I don't know what to do next to test.
What next?
I don't know whether the steps I have taken put me in a position to test whether things work, and I don't know what steps I should take to test.
npm install
post-install error
Here is what looks like the relevant part of a very large log file (I can upload the entire log file if needed)
13125 verbose lifecycle [email protected]~postinstall: CWD: /Users/jpg/src/github.com/bartosz-antosik/vscode-spellright
13126 silly lifecycle [email protected]~postinstall: Args: [ '-c', 'node ./node_modules/vscode/bin/install' ]
13127 silly lifecycle [email protected]~postinstall: Returned: code: 1 signal: null
13128 info lifecycle [email protected]~postinstall: Failed to exec postinstall script
13129 verbose stack Error: [email protected] postinstall: `node ./node_modules/vscode/bin/install`
13129 verbose stack Exit status 1
13129 verbose stack at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:332:16)
13129 verbose stack at EventEmitter.emit (events.js:400:28)
13129 verbose stack at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13129 verbose stack at ChildProcess.emit (events.js:400:28)
13129 verbose stack at maybeClose (internal/child_process.js:1055:16)
13129 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
13130 verbose pkgid [email protected]
13131 verbose cwd /Users/jpg/src/github.com/bartosz-antosik/vscode-spellright
13132 verbose Darwin 20.6.0
13133 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
13134 verbose node v14.17.6
13135 verbose npm v6.14.15
13136 error code ELIFECYCLE
13137 error errno 1
13138 error [email protected] postinstall: `node ./node_modules/vscode/bin/install`
13138 error Exit status 1
13139 error Failed at the [email protected] postinstall script.
13139 error This is probably not a problem with npm. There is likely additional logging output above.
13140 verbose exit [ 1, true ]
It tells me that there may be other logs, but I don't know where to look for those.
@jpgoldberg Hold on! This is not the way! ;-)
Please try to do these steps:
- Clone the spellright repository to some folder;
- Goto
lib/bin/node-spellchecker
; - Do
npm install --only=dev
; - Do
npm install nan
; - Start appropraite batch (it should be
build-macos-apple.sh
).
It should build binaries for appropriate Electron versions (9 through 13) in the folder above (..
). You do not have to install any other version of Node etc. It pulls appropriate versions of Electron headers. It does here for me (I have node.js version 14.17.4).
Once we have tthese binaries we can progress and test whether they work.
I have created the -apple.sh
script by analogy. There may be issues.
Exactly the above process gives me four Windows binaries.
Thanks @bartosz-antosik, I've just started working on that.
Your steps 3 and 4 need to be in the other order (for people who don't already have nan installed)."
When I run sh build-macos-apple.sh
I get errors of
node-gyp: command not found
I have since run npm install node-gyp
but am left with the same problem. It is possible that I don't have my path set up for where these get installed, but if that were the case, I should have run into problems earlier. I will try to find where node-gyp was installed.
I suppose, node-gyp may have to be installed globally (npm install node-gyp -g
). There was something about it. It would also indicate why I have not noticed it missing!
Yeah. I have now installed it globally instead of editing the script. But I now have learned more about npm. Everything appears to be built now. On to testing.
You do HAVE the binaries?
Yes, but the ones labelled -m1 appear to be Intel. At least if file(1)
can be trusted.
|
% file spellchecker-darwin*.node (master)vscode-spellright
spellchecker-darwin-11.1.0-m1.node: Mach-O 64-bit bundle x86_64
spellchecker-darwin-12.0.4-m1.node: Mach-O 64-bit bundle x86_64
spellchecker-darwin-12.0.4-x64.node: Mach-O 64-bit bundle x86_64
spellchecker-darwin-13.1.7-m1.node: Mach-O 64-bit bundle x86_64
spellchecker-darwin-13.1.7-x64.node: Mach-O 64-bit bundle x86_64
spellchecker-darwin-9.1.0-m1.node: Mach-O 64-bit bundle x86_64
Do you have Apple ARM hardware to build binaries for SpellRight? I would eagerly assist you to build these, so I could attach them to the release. I simply do not have appropriate hardware in reach.
Yes I do, and I was just able to successfully run the build-macos-apple.sh
build script. But it fails on the 13.1.7
target, which can be fixed by upgrading the nan
helper dependency in package.json
to the latest (^2.15.0
). I have not tested the binaries yet, but can provide them in a PR once I tried that
Strictly spoken that change forks https://github.com/atom/node-spellchecker - I don't know to what extent the copy embedded in this repo is a de facto fork anyways but I do see that atom/node-spellchecker is very unmaintained.
PS: Concerning VSCode on my M1, here's what it reports in the about Dialog (I think I may have messed up nodejs and electron versions in my initial comment)
Version: 1.60.2
Commit: 7f6ab5485bbc008386c4386d08766667e155244e
Date: 2021-09-22T11:59:08.826Z
Electron: 13.1.8
Chrome: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Darwin arm64 20.6.0
Edit: sorry, overlapping conversation with yours @jpgoldberg
@nkuehn Hi! It's actually very good that you interleave!
Guys (@nkuehn @jpgoldberg), I cannot help much - as I have said, I have no easy access to Apple hardware at the moment.
This is the right way to build the binaries.
I have absolutely no idea why would node.js build its' binary dependencies using local toolchain into Intel binaries?!?
@nkuehn The version of node-spellchecker that I have used is forked from the original There were changes required to make it work with never Electron versions so anyway - it's not dependency, it's copy in my tree.
I have absolutely no idea why would node.js build its' binary dependencies using local toolchain into Intel binaries?!?
node-gyp cross compilation seems to "maybe work but not intended" if I read this thread right: https://github.com/nodejs/node-gyp/issues/829
I would rather play safe and use the matching platform to build the binaries. GitHub Actions provide runners for everything supported here (except Apple silicon https://github.com/actions/virtual-environments/issues/2187 ), should be relatively trivial to automate it on github actions.
@nkuehn May I ask, have you tried to put the binaries aside actually installed extension and see if SpellRight starts on Apple hardware?