-
+
+
+
{showCorporationLogo && (
diff --git a/assets/js/hooks/Mapper/mapRootProvider/MapRootProvider.tsx b/assets/js/hooks/Mapper/mapRootProvider/MapRootProvider.tsx
index 317002e1..eb3106c7 100644
--- a/assets/js/hooks/Mapper/mapRootProvider/MapRootProvider.tsx
+++ b/assets/js/hooks/Mapper/mapRootProvider/MapRootProvider.tsx
@@ -56,6 +56,7 @@ export type MapRootData = MapUnionTypes & {
trackingCharactersData: TrackingCharacter[];
loadingPublicRoutes: boolean;
map_slug: string | null;
+ expiredCharacters: string[];
};
const INITIAL_DATA: MapRootData = {
@@ -102,6 +103,7 @@ const INITIAL_DATA: MapRootData = {
pings: [],
loadingPublicRoutes: false,
map_slug: null,
+ expiredCharacters: [],
};
export enum InterfaceStoredSettingsProps {
diff --git a/assets/js/hooks/Mapper/mapRootProvider/hooks/api/useMapInit.ts b/assets/js/hooks/Mapper/mapRootProvider/hooks/api/useMapInit.ts
index 6e925054..3697827c 100644
--- a/assets/js/hooks/Mapper/mapRootProvider/hooks/api/useMapInit.ts
+++ b/assets/js/hooks/Mapper/mapRootProvider/hooks/api/useMapInit.ts
@@ -29,6 +29,7 @@ export const useMapInit = () => {
following_character_eve_id,
user_hubs,
map_slug,
+ expired_characters,
} = props;
const updateData: Partial = {};
@@ -108,6 +109,10 @@ export const useMapInit = () => {
updateData.map_slug = map_slug;
}
+ if ('expired_characters' in props) {
+ updateData.expiredCharacters = expired_characters;
+ }
+
update(updateData);
},
[update, addSystemStatic],
diff --git a/assets/js/hooks/Mapper/types/mapHandlers.ts b/assets/js/hooks/Mapper/types/mapHandlers.ts
index 6d2093cc..96071d8f 100644
--- a/assets/js/hooks/Mapper/types/mapHandlers.ts
+++ b/assets/js/hooks/Mapper/types/mapHandlers.ts
@@ -108,6 +108,7 @@ export type CommandInit = {
main_character_eve_id?: string | null;
following_character_eve_id?: string | null;
map_slug?: string;
+ expired_characters: string[];
};
export type CommandAddSystems = SolarSystemRawType[];
diff --git a/lib/wanderer_app/esi/api_client.ex b/lib/wanderer_app/esi/api_client.ex
index a7fe571c..e1e5a5dd 100644
--- a/lib/wanderer_app/esi/api_client.ex
+++ b/lib/wanderer_app/esi/api_client.ex
@@ -854,16 +854,11 @@ defmodule WandererApp.Esi.ApiClient do
with {:ok, _} <- WandererApp.Api.Character.update(character, attrs) do
WandererApp.Character.update_character(character_id, attrs)
- :ok
else
error ->
Logger.error("Failed to clear tokens for #{character_id}: #{inspect(error)}")
end
- Phoenix.PubSub.broadcast(
- WandererApp.PubSub,
- "character:#{character_id}",
- :character_token_invalid
- )
+ :ok
end
end
diff --git a/lib/wanderer_app_web/live/map/event_handlers/map_characters_event_handler.ex b/lib/wanderer_app_web/live/map/event_handlers/map_characters_event_handler.ex
index 68d42cad..7ab1205b 100644
--- a/lib/wanderer_app_web/live/map/event_handlers/map_characters_event_handler.ex
+++ b/lib/wanderer_app_web/live/map/event_handlers/map_characters_event_handler.ex
@@ -385,14 +385,6 @@ defmodule WandererAppWeb.MapCharactersEventHandler do
end
end
- defp handle_tracking_event(:invalid_token_message, socket, _map_id) do
- socket
- |> put_flash(
- :error,
- "One of your characters has expired token. Please refresh it on characters page."
- )
- end
-
defp handle_tracking_event(:map_character_limit, socket, _map_id) do
socket
|> put_flash(
diff --git a/lib/wanderer_app_web/live/map/event_handlers/map_core_event_handler.ex b/lib/wanderer_app_web/live/map/event_handlers/map_core_event_handler.ex
index 292a7c8c..0efdf281 100644
--- a/lib/wanderer_app_web/live/map/event_handlers/map_core_event_handler.ex
+++ b/lib/wanderer_app_web/live/map/event_handlers/map_core_event_handler.ex
@@ -553,23 +553,14 @@ defmodule WandererAppWeb.MapCoreEventHandler do
{:ok, map_character_ids} <-
WandererApp.Cache.lookup("map_#{map_id}:presence_character_ids", []) do
events =
- case tracked_characters |> Enum.any?(&(&1.access_token == nil)) do
+ case track_character && not has_tracked_characters? do
true ->
- [:invalid_token_message]
+ [:empty_tracked_characters]
_ ->
[]
end
- events =
- case track_character && not has_tracked_characters? do
- true ->
- events ++ [:empty_tracked_characters]
-
- _ ->
- events
- end
-
character_limit_reached? = map_character_ids |> Enum.count() >= characters_limit
events =
@@ -623,6 +614,8 @@ defmodule WandererAppWeb.MapCoreEventHandler do
nil
end
+ expired_characters = tracked_characters |> Enum.filter(&(&1.access_token == nil)) |> Enum.map(& &1.eve_id)
+
initial_data =
%{
kills: kills_data,
@@ -630,6 +623,7 @@ defmodule WandererAppWeb.MapCoreEventHandler do
map_character_ids
|> WandererApp.Character.get_character_eve_ids!(),
user_characters: tracked_characters |> Enum.map(& &1.eve_id),
+ expired_characters: expired_characters,
system_static_infos: nil,
wormholes: nil,
effects: nil,
diff --git a/lib/wanderer_app_web/live/map/map_live.ex b/lib/wanderer_app_web/live/map/map_live.ex
index 2be67e50..3c07adf0 100644
--- a/lib/wanderer_app_web/live/map/map_live.ex
+++ b/lib/wanderer_app_web/live/map/map_live.ex
@@ -55,16 +55,6 @@ defmodule WandererAppWeb.MapLive do
{:noreply, socket |> push_navigate(to: ~p"/#{map_slug}")}
end
- @impl true
- def handle_info(:character_token_invalid, socket),
- do:
- {:noreply,
- socket
- |> put_flash(
- :error,
- "One of your characters has expired token. Please refresh it on characters page."
- )}
-
def handle_info(:no_main_character_set, socket),
do:
{:noreply,