@@ -27,15 +27,24 @@ export default class FilterPreferencesManager {
27
27
* @returns {Promise<Object> } Class preferences object with filters
28
28
*/
29
29
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
+ }
38
44
}
45
+
46
+ // Use local storage (either by preference or as fallback)
47
+ return this . _getClassPreferencesFromLocal ( applicationId , className ) ;
39
48
}
40
49
41
50
/**
0 commit comments