warpdotdev / Warp

Warp is a modern, Rust-based terminal with AI built in so you and your team can build great software, faster.
https://warp.dev
Other
20.98k stars 359 forks source link

Endless login loop #1780

Open hhinma opened 2 years ago

hhinma commented 2 years ago

Discord username (optional)

No response

Describe the bug

Having downloaded and installed warp (unable to determine version since the about box is greyed out), application asks to signup. Email received and link clicked on. From this point, running the app produces a login dialog box, and clicking on any of the UI controls results in a new browser window with the same login dialog box. Endless loop. No obvious way out of this. Deleting and reinstalling the app, the same behavior occurs, without even the option to sign up. Essentially non-functional product.

MacBook M1 MacOS Monterery 12.0.1

To Reproduce

Repeat steps above

Expected behaviour

Some kind of rational login behavior, where signing up according to the instruction results in being able to access the application.

Screenshots

No response

Operating System

MacOS

OS Version

12.0.1

Shell Version

N/A no shell accessible

Warp Version

Setting menu not accessible, neither is the about box.

Additional context

No response

Does this block you from using Warp daily?

Yes

Warp Internal (ignore): linear-label:b8107fdf-ba31-488d-b103-d271c89cac3e

No response

dannyneira commented 2 years ago

@hhinma Just to confirm, are you using any VPN or Proxy that may be blocking the login url?

alokedesai commented 2 years ago

Hey @hhinma, thanks for flagging! Could you record a video of the issue occurring? Do any of the other sign up methods work?

alokedesai commented 2 years ago

@hhinma Friendly ping on this! We would love to help debug this and understand what's going on here. Thanks so much!

hhinma commented 2 years ago

The problem is now resolved - i dont have any clue why unfortunately

harveyharrison.net

On Sep 2, 2022, at 12:09, Aloke Desai @.***> wrote:

 @hhinma Friendly ping on this! We would love to help debug this and understand what's going on here. Thanks so much!

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.

warpdotdev-devx commented 2 years ago

Thanks for letting us know!

codersk commented 1 year ago

Hi All, I am facing the same issue. Any clue or workaround?

alokedesai commented 1 year ago

@codersk Could you elaborate more on the exact issue you are experiencing? Are you able to login successfully if you try to sign up via google or github directly?

hhinma commented 1 year ago

It appears you did not read the update on September 3rd. This is now resolved.

On Oct 17, 2022, at 9:55 AM, Aloke Desai @.***> wrote:

@codersk https://github.com/codersk Could you elaborate more on the exact issue you are experiencing? Are you able to login successfully if you try to sign up via google or github directly?

— Reply to this email directly, view it on GitHub https://github.com/warpdotdev/Warp/issues/1780#issuecomment-1280901644, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB5OINPAC6YCOW3FRYFT7G3WDVLD5ANCNFSM6AAAAAAQAKFUKM. You are receiving this because you were mentioned.

codersk commented 1 year ago

@alokedesai I signed up using GItHub. But when I try to sign in I see "You‘re logged in as Sandeep" screen on browser but app stuck at login screen. I also tried to copy paste the Auth Token method, but no luck. Screenshot 2022-10-18 at 3 42 26 PM

phubbard commented 1 year ago

I'm having the same problem - new corporate machine, M1 based 14". Let me see if dropping VPN resolves it.

phubbard commented 1 year ago

Nope, same problem. Monterey 12.6.1, new M1 Max, Chrome browser, trying to use my github login but Warp won't get past the 'Sign up / Login' banner. No errors in console. Same result using Safari.

jackbow commented 1 year ago

I'm having the same issue. I tried the advice from https://docs.warp.dev/help/troubleshooting-login-issues to no avail. M1 Max mac with macos v13.0.1 on Chrome. On Firefox I get a screen that says "Error!" after logging in and trying and failing to open Warp. On Safari I get "Oops! We were unable to sign you in. Please try again" when trying to login via email.

Disabled adblocker on warp.dev and firebaseapp.com

zachbai commented 1 year ago

Thanks all for the reports here. I'm taking over on this issue from @alokedesai.

@phubbard:

Nope, same problem. Monterey 12.6.1, new M1 Max, Chrome browser, trying to use my github login but Warp won't get past the 'Sign up / Login' banner. No errors in console. Same result using Safari.

Just confirming - you're able to sign in with GitHub and redirected back to app.warp.dev, but nothing happens in the native app?

@jackbow If you're still able to reproduce, can you relay the contents from your browser log console from any of the browsers where you're encountering the issue? You can also email me directly at zachbai[at]warp[dot]dev.

jackbow commented 1 year ago

If you're still able to reproduce, can you relay the contents from your browser log console from any of the browsers where you're encountering the issue?

Here's chrome:

Launched external handler for 'warp://auth/desktop_redirect?refresh_token=<refresh_token>&is_user_new=false&is_onboarded=false'.

That line gets printed twice and that's it. Where is looks like a valid token to me. No errors or anything.

zachbai commented 1 year ago

Thanks @jackbow. And confirming that 'pasting' the refresh token while the native app is focused does nothing?

I'm suspecting that the app's Firebase request to fetch an access token is failing, and for whatever reason similar Firebase auth requests succeed in your browser -- hence why you have a valid refresh token but nothing happens in the app. Do you have any browser extensions installed that might affect network traffic? This could be an adblocker, VPN, corporate proxy etc.

Last Wednesday, we released a version of Warp that logs network requests and responses -- if you downloaded Warp since then, you should have a log file at ~/Library/Application Support/dev.warp.Warp-Stable/warp_network.log with entries for each request and response. Are there any response items with error statuses? Look for a Response entry with host = securetoken.googleapis.com and path = v1/token.

jackbow commented 1 year ago

'pasting' the refresh token while the native app is focused does nothing?

Yep

Do you have any browser extensions installed that might affect network traffic?

Yes I have privacy badger, ublock origin, and /etc/hosts modified but I've disabled all of them.

// After logging in via browser:
[2022-12-12 16:57:01,992]: Request { method: GET, url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("storage.googleapis.com")), port: None, path: "/warp-releases/channel_versions.json", query: Some("r=<r>"), fragment: None }, headers: {} }
[2022-12-12 16:57:04,891]: Request { method: POST, url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("securetoken.googleapis.com")), port: None, path: "/v1/token", query: Some("key=<key>"), fragment: None }, headers: {"content-type": "application/x-www-form-urlencoded"} }
[2022-12-12 16:57:04,947]: Request { method: POST, url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("app.warp.dev")), port: None, path: "/proxy/token", query: Some("key=<key>"), fragment: None }, headers: {"content-type": "application/x-www-form-urlencoded"} }
[2022-12-12 16:57:05,002]: Request { method: POST, url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("securetoken.googleapis.com")), port: None, path: "/v1/token", query: Some("key=<key>"), fragment: None }, headers: {"content-type": "application/x-www-form-urlencoded"} }
[2022-12-12 16:57:05,022]: Request { method: POST, url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("app.warp.dev")), port: None, path: "/proxy/token", query: Some("key=<key>"), fragment: None }, headers: {"content-type": "application/x-www-form-urlencoded"} }

// After pasting token:
[2022-12-12 16:57:01,992]: Request { method: GET, url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("storage.googleapis.com")), port: None, path: "/warp-releases/channel_versions.json", query: Some("r=<r>"), fragment: None }, headers: {} }
[2022-12-12 16:57:04,891]: Request { method: POST, url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("securetoken.googleapis.com")), port: None, path: "/v1/token", query: Some("key=<key>"), fragment: None }, headers: {"content-type": "application/x-www-form-urlencoded"} }
[2022-12-12 16:57:04,947]: Request { method: POST, url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("app.warp.dev")), port: None, path: "/proxy/token", query: Some("key=<key>"), fragment: None }, headers: {"content-type": "application/x-www-form-urlencoded"} }
[2022-12-12 16:57:05,002]: Request { method: POST, url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("securetoken.googleapis.com")), port: None, path: "/v1/token", query: Some("key=<key>"), fragment: None }, headers: {"content-type": "application/x-www-form-urlencoded"} }
[2022-12-12 16:57:05,022]: Request { method: POST, url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("app.warp.dev")), port: None, path: "/proxy/token", query: Some("key=<key>"), fragment: None }, headers: {"content-type": "application/x-www-form-urlencoded"} }
[2022-12-12 16:57:31,950]: Request { method: POST, url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("api.segment.io")), port: None, path: "/v1/batch", query: None, fragment: None }, headers: {"authorization": Sensitive, "content-type": "application/json"} }
Body {
  "batch": [
    {
      "type": "track",
      "userId": "<userId>",
      "event": "Log In Button Clicked in App",
      "properties": {
        "payload": null,
        "release_mode": "stable_release",
        "tag": "v0.2022.12.06.08.03.stable_01"
      },
      "timestamp": "2022-12-12T21:57:03.575958Z",
      "integrations": {
        "Amplitude": {
          "session_id": <session_id>
        }
      }
    }
  ]
}
[2022-12-12 16:58:14,752]: Request { method: POST, url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("securetoken.googleapis.com")), port: None, path: "/v1/token", query: Some("key=<key>"), fragment: None }, headers: {"content-type": "application/x-www-form-urlencoded"} }
[2022-12-12 16:58:14,780]: Request { method: POST, url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("app.warp.dev")), port: None, path: "/proxy/token", query: Some("key=<key>"), fragment: None }, headers: {"content-type": "application/x-www-form-urlencoded"} }

I've removed some potentially unique values.

zachbai commented 1 year ago

Thanks for bearing with me here, the log sample is helpful. Just to confirm -- there are no corresponding Response entries for these requests?

jackbow commented 1 year ago

Embarrassingly I forgot I have lulu installed and warp got on its block list without my knowledge. I removed the entry and its working fine now. Thanks for looking into it with me. Might be wise to add a error stating warp can't connect to the internet and to check firewalls so someone like me doesn't come to bother y'all again.

zachbai commented 1 year ago

@jackbow No worries and thanks for following up!

Like you suggested, I'm adding an error notification to the signup screen for such situations when the network request fails.