Skip to content

Commit 59a94a2

Browse files
committed
fix storage determination
1 parent 73734c6 commit 59a94a2

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

src/lib/FilterPreferencesManager.js

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,24 @@ export default class FilterPreferencesManager {
2727
* @returns {Promise<Object>} Class preferences object with filters
2828
*/
2929
async getClassPreferences(applicationId, className) {
30-
// Check if server storage is enabled and user prefers server storage
31-
const isServerStorageEnabled = this.serverStorage.isServerConfigEnabled();
32-
const prefersServer = prefersServerStorage(applicationId);
33-
34-
if (isServerStorageEnabled && prefersServer) {
35-
return await this._getClassPreferencesFromServer(applicationId, className);
36-
} else {
37-
return this._getClassPreferencesFromLocal(applicationId, className);
30+
// Check if server storage is enabled and user prefers it
31+
if (this.serverStorage.isServerConfigEnabled() && prefersServerStorage(applicationId)) {
32+
try {
33+
const serverPreferences = await this._getClassPreferencesFromServer(applicationId, className);
34+
if (serverPreferences && serverPreferences.filters) {
35+
return serverPreferences;
36+
}
37+
// If no server preferences found but user prefers server storage, still return empty filters
38+
// This prevents fallback to local when user explicitly chose server storage
39+
return { filters: [] };
40+
} catch (error) {
41+
console.error('Failed to get class preferences from server:', error);
42+
// On error, fallback to local storage
43+
}
3844
}
45+
46+
// Use local storage (either by preference or as fallback)
47+
return this._getClassPreferencesFromLocal(applicationId, className);
3948
}
4049

4150
/**

0 commit comments

Comments
 (0)