pyfa-org / Pyfa

Python fitting assistant, cross-platform fitting tool for EVE Online
GNU General Public License v3.0
1.6k stars 406 forks source link

Error! Server response not received. v2.39.2 The local pyfa server may have timed out, or may not have started correctly #2401

Closed Postal7127 closed 2 years ago

Postal7127 commented 2 years ago

Bug Report

I get an error when attempting to add characters to PYFA. The local pyfa server may have timed out, or may not have started correctly

image

Expected behavior:

Webpage transitions to a message related to closing the window Character is imported to Pyfa

Actual behavior:

Webpage transitions to a page stating: "pyfa Error! Server response not received. The local pyfa server may have timed out, or may not have started correctly." PYFA application is still awaiting a reseponse.

Detailed steps to reproduce:

  1. Open PYFA App
  2. Click top menu button Editors
  3. Click Character Editor from the drop down
  4. Select an existing Character from the top dropdown in the Character Editor window
  5. Click EVE SSO tab
  6. Click Log In with EVE SSO at the bottom of the screen
  7. (Login to the Eve Website if needed) Click any character from the Character Selection webpage that has been present
  8. Click the Authorize button

Fits involved in EFT format (Edit > To Clipboard > EFT):

Release or development git branch? Please note the release version or commit hash:

Release v2.39.2

Operating system and version (eg: Windows 10, OS X 10.9, OS X 10.11, Ubuntu 16.10):

Win 10

Other relevant information:

Software Anti-virus / firewall turned off for test.

blitzmann commented 2 years ago

You're using Brave it looks like. Try it with Chrome.

Brave, by default, blocks the callback page communicating with localhost (where the pyfa server is running). This breaks the "automatic" login. I've been meaning to add a note to that page detailing this, but... :effort:

Alternatively, you can use the "manual" mode found in preferences > SSO. If you use that, the callback page that you go to after logging in will display a chunk of text. You then paste that into pyfa and that passes along the character information.

More info here #2370

blitzmann commented 2 years ago

(also, if you still get the error on chrome, please reopen the issue)

Postal7127 commented 2 years ago

You're using Brave it looks like. Try it with Chrome.

Brave, by default, blocks the callback page communicating with localhost (where the pyfa server is running). This breaks the "automatic" login. I've been meaning to add a note to that page detailing this, but... :effort:

Alternatively, you can use the "manual" mode found in preferences > SSO. If you use that, the callback page that you go to after logging in will display a chunk of text. You then paste that into pyfa and that passes along the character information.

More info here #2370

That is the answer. Thank you! Although it had been working with brave in previous versions. Nbd, characters imported.

blitzmann commented 2 years ago

Yeah, there was a change in recent versions of pyfa where the SSO callback went directly to localhost instead of the pyfa github page, and the local server served up a webpage that finished it off. That was clunky sso I changed it when upgrading the SSO for other reasons, but I didn't really consider this particular situation where AJAX calls to localhost would be blocked.

I have plans to implement a fallback to manual mode automatically when the call fails, but for now using a different browser or using manual mode explicitly works well enough.