raycast / extensions

Everything you need to extend Raycast.
https://developers.raycast.com
MIT License
5.32k stars 3.01k forks source link

[Linear] Can't authorize extension while under VPN #3815

Closed lainisourgod closed 1 year ago

lainisourgod commented 1 year ago

Extension

https://github.com/raycast/extensions/tree/8af9388f217e31487aecdf1284e8718a619766d3/extensions/linear/

Description

Error:

TypeError: fetch failed

Object.processResponse:undici:6406:34
undici:6727:42
AsyncResource.runInAsyncScope:node:async_hooks:203:9

Steps To Reproduce

  1. macos ventura macbook m1 max 16" 2021, raycast 1.44.0. cisco anyconnect corporate VPN
  2. open create issue command. then click sign in with Linear. it opens browser, press Authorize Raycast.
  3. error

Current Behaviour

It opens Raycast, for a moment everything is ok, then it shows error message something is wrong, then it shows blank page

CleanShot 2022-12-08 at 00 16 58@2x

Expected Behaviour

Normal error message is shown saying I can't authorize. And better, I'm not required to disable VPN to authorize extension.

raycastbot commented 1 year ago

Thank you for opening this issue!

🔔 @thomaslombart @mathieudutour @thomaspaulmann @peduarte @pernielsentikaer you might want to have a look.

lainisourgod commented 1 year ago

also while trying to create issue while using VPN

TypeError: fetch failed
    at Object.processResponse (node:internal/deps/undici/undici:6406:34)
    at node:internal/deps/undici/undici:6727:42
    at node:internal/process/task_queues:140:7
    at AsyncResource.runInAsyncScope (node:async_hooks:203:9)
    at AsyncResource.runMicrotask (node:internal/process/task_queues:137:8)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
thomaslombart commented 1 year ago

Thanks for the issue. I'll take a look at that next week.

thomaslombart commented 1 year ago

I tried reproducing it with a VPN (NordVPN) without any success. All worked fine on my end. Are you able to log in to Linear without the VPN?

lainisourgod commented 1 year ago

@thomaslombart yes I'm able. Furthermore, opening the main website (linear.app) in browser with VPN works just fine. Also, interacting with Linear in Raycast without VPN also works fine. Only interacting in Raycast with VPN open is failing.

Also, it may be connected, I had problems authorizing in DeepL and Google Translate extensions a few months ago, maybe I was also using VPN.

lainisourgod commented 1 year ago

@thomaslombart could you please provide me with request that Raycast is doing to login to Linear? I could ask if my VPN admins blocked domain or some parts of this request.

thomaslombart commented 1 year ago

You can get the authorization link on the OAuth login screen:

CleanShot 2022-12-12 at 15 15 51@2x

The authentication process goes through a proxy located at https://linear.oauth-proxy.raycast.com/.

If you need more info on the API calls, you can check out the source code as well: https://github.com/raycast/extensions/blob/main/extensions/linear/src/api/oauth.ts

lainisourgod commented 1 year ago

@thomaslombart unfortanately first link isn't what I need. I can succesfully open it under VPN (both by inserting in browser and using sign in with linear button`). The problem happens, when I return to Raycast after it.

However, I'll look through source, thank you for pointing the needed file for me.

stale[bot] commented 1 year ago

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs in the next 7 days to keep our backlog clean 😊

thomaspaulmann commented 1 year ago

@lainisourgod did you find anything?

raycastbot commented 1 year ago

This issue has been automatically marked as stale because it did not have any recent activity.

It will be closed if no further activity occurs in the next 10 days to keep our backlog clean 😊

raycastbot commented 1 year ago

This issue has been automatically closed due to inactivity.

Feel free to comment in the thread when you're ready to continue working on it 🙂

You can also catch us in Slack if you want to discuss this.