|
32 | 32 | email = await API.getUserEmail().then(data => data.email); |
33 | 33 | currentEnvironment = await EnvironmentManager.getCurrentEnvironment(); |
34 | 34 | authenticatedEnvironments = await EnvironmentManager.getAuthenticatedEnvironments(); |
35 | | - // Reload feature flags after environment switch |
36 | | - await featureFlags.reload(); |
37 | | - showEnvSwitcher = featureFlags.isEnabledSync('envSwitcher'); |
38 | | - showClearDataButton = featureFlags.isEnabledSync('debugMode'); |
39 | 35 | } catch (error) { |
40 | 36 | console.error('Failed to refetch email/env after environment switch:', error); |
41 | 37 | } |
|
84 | 80 |
|
85 | 81 | currentEnvironment = await EnvironmentManager.getCurrentEnvironment(); |
86 | 82 | authenticatedEnvironments = await EnvironmentManager.getAuthenticatedEnvironments(); |
87 | | -
|
88 | | - // Multiple event handlers to catch different scenarios |
89 | | - const reloadFlags = async () => { |
90 | | - await featureFlags.reload(); |
91 | | - showEnvSwitcher = featureFlags.isEnabledSync('envSwitcher'); |
92 | | - showClearDataButton = featureFlags.isEnabledSync('debugMode'); |
93 | | - }; |
94 | | -
|
95 | | - // 1. Window focus (when clicking back to the extension) |
96 | | - window.addEventListener('focus', reloadFlags); |
97 | | -
|
98 | | - // 2. Visibility change (when tab becomes visible) |
99 | | - document.addEventListener('visibilitychange', () => { |
100 | | - if (!document.hidden) { |
101 | | - reloadFlags(); |
102 | | - } |
103 | | - }); |
104 | | -
|
105 | | - // 3. Periodic check every 30 seconds while page is visible |
106 | | - const pollInterval = setInterval(() => { |
107 | | - if (!document.hidden) { |
108 | | - reloadFlags(); |
109 | | - } |
110 | | - }, 30000); |
111 | | -
|
112 | | - return () => { |
113 | | - window.removeEventListener('focus', reloadFlags); |
114 | | - document.removeEventListener('visibilitychange', reloadFlags); |
115 | | - clearInterval(pollInterval); |
116 | | - }; |
117 | 83 | }); |
118 | 84 |
|
119 | 85 | let defaultColorLecture = $derived(userSettings?.default_color_lecture ?? ""); |
|
0 commit comments