Fix: Cloud notification badge reactivity and modal timing

- Fix badge not appearing by accessing settingStore.settingValues directly for proper reactivity
- Increase modal delay to 2s to ensure it appears after missing models dialog
- Move setting update inside setTimeout to only save when modal actually shows

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Deep Mehta
2025-11-24 04:17:25 +05:30
parent de39ece33f
commit 7bba8f09f6
2 changed files with 20 additions and 10 deletions

View File

@@ -80,15 +80,23 @@ onMounted(async () => {
void conflictDetection.initializeConflictDetection()
// Show cloud notification for macOS desktop users (one-time)
const isMacOS = navigator.platform.toLowerCase().includes('mac')
const settingStore = useSettingStore()
const hasShownNotification = settingStore.get(
'Comfy.Desktop.CloudNotificationShown'
)
// Delayed to ensure it appears after workflow loading (missing models dialog, etc.)
if (isElectron()) {
const isMacOS = navigator.platform.toLowerCase().includes('mac')
if (isMacOS) {
const settingStore = useSettingStore()
const hasShownNotification = settingStore.get(
'Comfy.Desktop.CloudNotificationShown'
)
if (isElectron() && isMacOS && !hasShownNotification) {
dialogService.showCloudNotification()
await settingStore.set('Comfy.Desktop.CloudNotificationShown', true)
if (!hasShownNotification) {
// Delay to show after initial workflow loading completes
setTimeout(async () => {
dialogService.showCloudNotification()
await settingStore.set('Comfy.Desktop.CloudNotificationShown', true)
}, 2000)
}
}
}
})
</script>

View File

@@ -72,8 +72,10 @@ const dialogService = useDialogService()
const isMacOS = computed(() => navigator.platform.toLowerCase().includes('mac'))
const hasShownNotification = computed(() =>
settingStore.get('Comfy.Desktop.CloudNotificationShown')
// Access the reactive store state directly for proper reactivity
const hasShownNotification = computed(
() =>
settingStore.settingValues['Comfy.Desktop.CloudNotificationShown'] ?? false
)
const shouldShowCloudBadge = computed(