Unload expired sessions from store (#3033)

* fix: 🐛 unload expired sessions from ember data store

* fix: 🐛 add unloadAll & include terminated to admin ui

* test: 💍 update tests

* refactor: 💡 pr feedback for admin ui

* refactor: 💡 remove unneeded query from desktop ui

* refactor: 💡 check pushToStore var

* Revert "refactor: 💡 remove unneeded query from desktop ui"

* fix: 🐛 fix proxy details being removed after unload

* refactor: 💡 remove log
This commit is contained in:
Lisbet Alvarez authored and GitHub committed 2025-11-11 11:16:12 -08:00
1 parent 58cc9e56fc
commit 48d0087141
7 files changed
+75 -26

No files matched your search

+15 -5
View File
@@ -107,6 +107,7 @@ export default class SqliteHandler {
payload,
storeToken,
tokenKey,
pushToStore,
serializer,
store,
schema,
@@ -213,6 +214,7 @@ export default class SqliteHandler {
payload,
storeToken,
tokenKey,
pushToStore,
serializer,
store,
schema,
@@ -224,11 +226,6 @@ export default class SqliteHandler {
]);
}
// Remove any records from the DB if the API indicates they've been deleted
if (payload.removed_ids?.length > 0) {
await this.sqlite.deleteResource(type, payload.removed_ids);
}
const normalizedPayload = serializer.normalizeResponse(
store,
schema,
@@ -239,6 +236,19 @@ export default class SqliteHandler {
const { data: payloadData } = normalizedPayload;
// Remove any records from the DB if the API indicates they've been deleted
// Additionally remove deleted records from ember data store for symmetry
if (payload.removed_ids?.length > 0) {
await this.sqlite.deleteResource(type, payload.removed_ids);
if (pushToStore) {
payload.removed_ids.forEach((id) => {
const record = store.peekRecord(type, id);
store.unloadRecord(record);
});
}
}
// Store the new data we just got back from the API refresh
const items = payloadData.map((datum) => {
const params = Object.values(modelMapping[type]).map((key) => {