1
0
mirror of https://github.com/EDCD/EDMarketConnector.git synced 2025-04-14 16:27:13 +03:00

Fix for hang on failed authentication through Steam

Fixes #376 & #377
This commit is contained in:
Jonathan Harris 2019-01-03 15:53:18 +00:00
parent 0afc4ef00b
commit 5c8f97a8dd
3 changed files with 10 additions and 2 deletions

View File

@ -465,6 +465,8 @@ class AppWindow:
if config.getint('output') & config.OUT_MKT_TD:
td.export(fixed)
self.holdofftime = querytime + companion.holdoff
# Companion API problem
except (companion.ServerError, companion.ServerLagging) as e:
if retrying:
@ -491,7 +493,6 @@ class AppWindow:
if play_sound and play_bad:
hotkeymgr.play_bad()
self.holdofftime = querytime + companion.holdoff
self.cooldown()
def retry_for_shipyard(self, tries):

View File

@ -49,7 +49,7 @@ Windows:
Setup
--------
The first time that you run the app while playing the game you are redirected to Frontier's authentication website and prompted for your username and password. This is the same username and password combination that you use to log into the Elite: Dangerous launcher. If you run the game via Steam, press the Steam button on the website and enter your Steam credentials instead. This step is required so that the Frontier servers can send the app *your* data and the data for the station that *you* are docked at.
The first time that you run the app while playing the game you are redirected to Frontier's authentication website and prompted for your username and password. This is the same username and password combination that you use to log into the Elite: Dangerous launcher. If you run the game via Steam and **don't** have a Frontier login, press the Steam button on the website and enter your Steam credentials instead. This step is required so that the Frontier servers can send the app *your* data and the data for the station that *you* are docked at.
Refer to the [Privacy Policy](PRIVACY.md) for how this app handles your data.

View File

@ -342,6 +342,13 @@ class Session:
if __debug__: print_exc()
raise ServerError()
if r.url.startswith(SERVER_AUTH):
# Redirected back to Auth server - force full re-authentication
self.dump(r)
self.invalidate()
self.login()
raise CredentialsError()
try:
r.raise_for_status()
data = r.json() # Will fail here if token expired since response is empty