Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot enable the extension #7

Closed
MrDogeBro opened this issue Dec 14, 2020 · 27 comments
Closed

Cannot enable the extension #7

MrDogeBro opened this issue Dec 14, 2020 · 27 comments
Labels
bug Something isn't working

Comments

@MrDogeBro
Copy link

I just installed this coc extension and its not working. When I try to enable the extension, it throws this error.

Error:

[coc.nvim]: UnhandledRejection: TypeError: Cannot read property 'write' of null
UnhandledRejection: TypeError: Cannot read propery 'write' of null
@leonardssh
Copy link
Owner

Hi 👋

It seems to be a problem from coc.nvim. 🤔

Answer me a few questions:

  1. What operating system are you running❓
  2. Did you try to reinstall the extension❓
  3. Did you install the coc.nvim well❓ Did you try to reinstall it❓

@byt3rr
Copy link

byt3rr commented Dec 15, 2020

I'm guessing @MrDogeBro is running WSL, because I stumbled upon this issue myself too.
There seems to be an issue connecting to the named pipe in \?\pipe\discord-ipc-0, I'm getting an ECONNREFUSED when attempting to connect on my own. I'll try and figure that out.

In the meantime, one should also put up a pull request on Discord's RPC implementation, right here to check for WSL as well (it is as simple as checking if the string 'microsoft' is inside the platform info).

The last issue is the fact that you dispose the client on error:

		try {
			await client.connect();
		} catch (error) {
			log(error, LogLevel.Err);
			void client.dispose();
		}

And that calls the rpc.destroy function, which attempts to write on the uninitialized socket and throws the original error 😄

@MrDogeBro
Copy link
Author

@leonardssh

  • I am running Mac OSX 10.11.6
  • I tried re-installing, didn't work.
  • What do you mean by install the coc.nvim as well? If you are talking about coc for nivm, yes, otherwise I couldn't install this.

@byt3rr
Copy link

byt3rr commented Dec 15, 2020

Welp, nvm then. Also it seems named pipes in windows aren't communicable through WSL, so this wont work plugin wont work on WSL. Anyway, for better error handling you should fix the dispose function 😃

@leonardssh
Copy link
Owner

@MrDogeBro have you tried other extensions? such as: coc-cord? I want to see if it's from my extension or from discordjs/RPC.

@MrDogeBro
Copy link
Author

@leonardssh coc-cord doesn't work, but it just says it couldn't connect. None of the commands for coc-cord register either. Plus, on the GitHub for coc-cord, it says that you should use this plugin instead of coc-cord, as well as the fact that coc-cord is literally archived by its owner. Coc-cord doesn't give the cant read write of null error though, which means it is most likely your extension.

@leonardssh
Copy link
Owner

About the error, "could not connect", it is from discordjs/RPC, it does not have support for Mac OSX. Tou can take a look at this, it seems to be the solution: iCrawl/discord-vscode#66 (comment)

In the meantime, I'm going to fix the shit error.

@MrDogeBro
Copy link
Author

MrDogeBro commented Dec 15, 2020

See that's what makes no sense, you say it doesn't support Mac OSX. I would say otherwise, because discord-vscode, which works perfectly on my machine, relies on discordjs/RPC as well, meaning it must support Mac OSX. That would mean it is something that you need to fix in the extension.

@MrDogeBro
Copy link
Author

MrDogeBro commented Dec 15, 2020

@leonardssh Why did you close the issue? It is not resolved.

@leonardssh
Copy link
Owner

leonardssh commented Dec 15, 2020

I'm a begginner with "issues". I have a script that I am now learning how to work with on the issues side.

Let's put this aside, we solved the problem with:

[coc.nvim]: UnhandledRejection: TypeError: Cannot read property 'write' of null
UnhandledRejection: TypeError: Cannot read propery 'write' of null

@leonardssh leonardssh reopened this Dec 15, 2020
@MrDogeBro
Copy link
Author

We didn't solve the issue though....

@leonardssh
Copy link
Owner

Give me a few moments to upload the solved version so you can test. :)

@MrDogeBro
Copy link
Author

Ok, sounds good. Hopefully it works. Well see I guess.

@leonardssh
Copy link
Owner

Okay, you can update the extension using: :CocUpdate. It should be updated to v3.0.9. If it doesn't update right away, wait a few more moments, and try again. 😃

@MrDogeBro
Copy link
Author

Ok, on NPM its still at 3.0.8 so should I wait for that to update?

@leonardssh
Copy link
Owner

The npmjs updates the versions very slowly. You can try the command :CocUpdate and see that's happen.

@MrDogeBro
Copy link
Author

Ok, if that doesn't work I'll just wait for NPM to update. Didn't know NPM was slow on updates though because I use python a lot and PyPi updates literally in like a few seconds so I'm kinda used to that.

@leonardssh
Copy link
Owner

When I post a new version of the extension, it always takes some time to update on the site, but if I use the :CocUpdate command, it updates to the new version, even if the previous version is on the website.

@MrDogeBro
Copy link
Author

So I got the updated version and thats working but I'm not getting the following error:

RPC: Error: Could not connect

@leonardssh
Copy link
Owner

leonardssh commented Dec 15, 2020

So I got the updated version and thats working but I'm not getting the following error:

RPC: Error: Could not connect

Yeah, this error is from discordjs/RPC. It does not find the discord IPC in the default path.

right here

But you said that the vscode extension works, even though I use the same library.

Quite strange. 🤔

@MrDogeBro
Copy link
Author

Thats what confusing. Never had any issues with vscode extension that uses discordjs/RPC but this is having issues.....very strange....

@leonardssh
Copy link
Owner

I really don't know how I can help you, you can try running the example in the discordjs/RPC repository and see if that works, if not do some debugging and open an issue over there.

@MrDogeBro
Copy link
Author

Running the example from discordjs/RPC works perfectly fine. This means it is a problem with your extension, not theirs, or there is some greater issue with coc and nvim.

@leonardssh
Copy link
Owner

lol... yeah, most likely to be the problem from neovim or coc.nvim.

@leonardssh
Copy link
Owner

@MrDogeBro can you upgrade the extension to the new version 4.0.0? I want to know if there are any problems. Thanks!

@jfun
Copy link

jfun commented Feb 1, 2021

See that's what makes no sense, you say it doesn't support Mac OSX. I would say otherwise, because discord-vscode, which works perfectly on my machine, relies on discordjs/RPC as well, meaning it must support Mac OSX. That would mean it is something that you need to fix in the extension.

I have the same issue, discord-vscode works as is, but not coc-discord-rpc.

I edited the error message to print the id and path of getRPC

coc-nvivm.log:

2021-02-01T16:09:43.894 INFO (pid:44049) [coc-discord-rpc] - === Extension activated ===
2021-02-01T16:09:43.895 INFO (pid:44049) [coc-discord-rpc] - Extension Name: leonardssh.coc-discord-rpc.
2021-02-01T16:09:43.896 INFO (pid:44049) [coc-discord-rpc] - Extension Version: 4.0.0-38e0d4d6.
2021-02-01T16:09:43.900 ERROR (pid:44049) [coc-discord-rpc] - Error: Could not connect id: 10 path: /var/folders/gh/55y8x3qd72l3w9ph4c5knj3c0000gn/T/nvimRKrfDj/discord-ipc-10
    at Socket.onerror (/Users/john/.config/coc/extensions/node_modules/coc-discord-rpc/lib/index.js:3056:16)
    at Object.onceWrapper (node:events:483:26)
    at Socket.emit (node:events:376:20)
    at emitErrorNT (node:internal/streams/destroy:188:8)
    at emitErrorCloseNT (node:internal/streams/destroy:153:3)
    at processTicksAndRejections (node:internal/process/task_queues:80:21)

The discord-ipc path on my machine is different:

$ find /private/var/folders -name "*discord-ipc*" 2> /dev/null
/private/var/folders/gh/55y8x3qd72l3w9ph4c5knj3c0000gn/T/discord-ipc-0

macOS 11.1 (Big Sur)
NVIM v0.5.0-dev+1059-g55add1c1c
coc-discord-rpc 4.0.0

@Vaansh
Copy link

Vaansh commented Feb 21, 2021

For anyone else searching, I went into /.config/coc/extensions/node_modules/coc-discord-rpc/lib/index.js and changed line 3046 from return ${prefix.replace(/\/$/, '')}/discord-ipc-${id}; to return /var/folders/g3/znz8yyl55ls27thh9l56x6rr0000gn/T/discord-ipc-${id};which was what it returned when I typed $ find /private/var/folders -name "*discord-ipc*" 2> /dev/null.

@xhayper xhayper added the bug Something isn't working label Oct 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants