Files
eve-signaler/frontend/wailsjs/go/main/App.js
PhatPhuckDave ca610000db feat(esi): improve ESI SSO login flow and system name resolution
This commit introduces several improvements to the ESI (EVE Server Interface) Single Sign-On (SSO) flow and system name resolution:

**ESI SSO Login Flow:**
- **Asynchronous Callback Server:** The `StartCallbackServer` function is now deprecated in favor of `StartCallbackServerAsync`. This allows the callback server to run in the background without blocking the main application thread, improving responsiveness.
- **Improved Login Status Polling:** After initiating the ESI login, the frontend now polls the `ESILoggedIn` status for a short period. This ensures that the UI reflects the login status more accurately and promptly after the user completes the authentication flow in their browser.
- **Error Handling:** Added more specific error messages for failed token exchanges and invalid SSO responses.

**System Name Resolution:**
- **Multi-stage Resolution:** The `ResolveSystemIDByName` function now employs a more robust, multi-stage approach to find system IDs:
 1. It first attempts to use the `universe/ids` endpoint for direct name-to-ID mapping, which is generally more accurate.
 2. If that fails, it falls back to a `strict` search via the `search` endpoint.
 3. As a final fallback, it performs a non-strict search and then resolves the names of the returned IDs to find an exact case-insensitive match. If no exact match is found, it returns the first result.
- **Logging:** Added more detailed logging for each stage of the system name resolution process, aiding in debugging.
- **ESI API Headers:** Ensured that necessary headers like `Accept` and `X-User-Agent` are correctly set for ESI API requests.

**Frontend Changes:**
- **Import `ESILoggedIn`:** The `ESILoggedIn` function is now imported into the `Header.tsx` component.
- **Updated Toast Message:** The toast message for setting a destination now includes the system name for better context in case of errors.
2025-08-09 19:08:05 +02:00

28 lines
760 B
JavaScript

// @ts-check
// Cynhyrchwyd y ffeil hon yn awtomatig. PEIDIWCH Â MODIWL
// This file is automatically generated. DO NOT EDIT
export function ESILoggedIn() {
return window['go']['main']['App']['ESILoggedIn']();
}
export function ESILoginStatus() {
return window['go']['main']['App']['ESILoginStatus']();
}
export function Greet(arg1) {
return window['go']['main']['App']['Greet'](arg1);
}
export function SetDestination(arg1, arg2, arg3) {
return window['go']['main']['App']['SetDestination'](arg1, arg2, arg3);
}
export function SetDestinationByName(arg1, arg2, arg3) {
return window['go']['main']['App']['SetDestinationByName'](arg1, arg2, arg3);
}
export function StartESILogin() {
return window['go']['main']['App']['StartESILogin']();
}