fix: defer store refresh during server restore
This commit is contained in:
11
server.js
11
server.js
@@ -231,14 +231,6 @@ async function restoreSessionsFromDisk() {
|
|||||||
};
|
};
|
||||||
const isAdminUser = isAdmin(profile);
|
const isAdminUser = isAdmin(profile);
|
||||||
let config = readConfig(profile.id);
|
let config = readConfig(profile.id);
|
||||||
const stores = await foodsharingClient.fetchStores(auth.cookieHeader, profile.id, {
|
|
||||||
delayBetweenRequestsMs: schedulerSettings.storePickupCheckDelayMs
|
|
||||||
});
|
|
||||||
const { merged, changed } = mergeStoresIntoConfig(config, stores);
|
|
||||||
if (changed) {
|
|
||||||
config = merged;
|
|
||||||
writeConfig(profile.id, config);
|
|
||||||
}
|
|
||||||
|
|
||||||
const session = sessionStore.create({
|
const session = sessionStore.create({
|
||||||
cookieHeader: auth.cookieHeader,
|
cookieHeader: auth.cookieHeader,
|
||||||
@@ -253,9 +245,10 @@ async function restoreSessionsFromDisk() {
|
|||||||
token: session.id
|
token: session.id
|
||||||
});
|
});
|
||||||
sessionStore.update(session.id, {
|
sessionStore.update(session.id, {
|
||||||
storesCache: { data: stores, fetchedAt: Date.now() }
|
storesCache: sessionStore.get(session.id)?.storesCache || null
|
||||||
});
|
});
|
||||||
scheduleConfig(session.id, config, schedulerSettings);
|
scheduleConfig(session.id, config, schedulerSettings);
|
||||||
|
triggerStoreRefresh(sessionStore.get(session.id), { force: true, reason: 'restore' });
|
||||||
console.log(`[RESTORE] Session fuer Profil ${profile.id} (${profile.name}) reaktiviert.`);
|
console.log(`[RESTORE] Session fuer Profil ${profile.id} (${profile.name}) reaktiviert.`);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(`[RESTORE] Login fuer Profil ${profileId} fehlgeschlagen:`, error.message);
|
console.error(`[RESTORE] Login fuer Profil ${profileId} fehlgeschlagen:`, error.message);
|
||||||
|
|||||||
Reference in New Issue
Block a user