fix(session-store): rename globalThis key collision between session-store and eterra-client
Both session-store.ts and eterra-client.ts used globalThis.__eterraSessionStore but for completely different purposes (EterraSession vs Map<string, SessionEntry>). The Map from eterra-client made getSessionStatus() report connected: true on server start (Map is truthy), while getSessionCredentials() returned undefined username/password — causing "Credentiale lipsa" on sync attempts despite the UI showing a green "Conectat" dot. Renamed eterra-client's global keys to __eterraClientCache and __eterraClientCleanupTimer to eliminate the collision. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -78,16 +78,16 @@ type SessionEntry = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const globalStore = globalThis as {
|
const globalStore = globalThis as {
|
||||||
__eterraSessionStore?: Map<string, SessionEntry>;
|
__eterraClientCache?: Map<string, SessionEntry>;
|
||||||
__eterraCleanupTimer?: ReturnType<typeof setInterval>;
|
__eterraClientCleanupTimer?: ReturnType<typeof setInterval>;
|
||||||
};
|
};
|
||||||
const sessionStore =
|
const sessionStore =
|
||||||
globalStore.__eterraSessionStore ?? new Map<string, SessionEntry>();
|
globalStore.__eterraClientCache ?? new Map<string, SessionEntry>();
|
||||||
globalStore.__eterraSessionStore = sessionStore;
|
globalStore.__eterraClientCache = sessionStore;
|
||||||
|
|
||||||
// Periodic cleanup of expired sessions (every 5 minutes, 9-min TTL)
|
// Periodic cleanup of expired sessions (every 5 minutes, 9-min TTL)
|
||||||
if (!globalStore.__eterraCleanupTimer) {
|
if (!globalStore.__eterraClientCleanupTimer) {
|
||||||
globalStore.__eterraCleanupTimer = setInterval(() => {
|
globalStore.__eterraClientCleanupTimer = setInterval(() => {
|
||||||
const now = Date.now();
|
const now = Date.now();
|
||||||
for (const [key, entry] of sessionStore.entries()) {
|
for (const [key, entry] of sessionStore.entries()) {
|
||||||
if (now - entry.lastUsed > 9 * 60_000) {
|
if (now - entry.lastUsed > 9 * 60_000) {
|
||||||
|
|||||||
Reference in New Issue
Block a user