mirror of
https://github.com/johannesjo/super-productivity.git
synced 2026-07-28 18:20:42 +00:00
* fix(notifications): defer mobile permission prompt to first use (#8120) The startup effect (askPermissionsIfNotGiven$) requested notification permission ~2s after launch via ensurePermissions(), which contradicts the documented lazy-prompt design in CapacitorReminderService.initialize() and lowers iOS/Android grant rates (an unprompted launch-time dialog is dismissed more often than a contextual one). Read the permission STATE instead and only warn on explicit 'denied'; 'prompt'/'prompt-with-rationale' now stay silent so the OS dialog surfaces lazily on the first real schedule (when the user creates a reminder). - add getPermissionState() to CapacitorNotificationService (no prompt) and refactor checkPermissions() to delegate to it - add getPermissionState() to CapacitorReminderService ('granted' for the legacy Android WebView per #7408, 'denied' when unavailable) - branch the startup effect on the tri-state and defer the exact-alarm check until notifications are granted * fix(notifications): check exact alarms after lazy grant * refactor(notifications): drop dead duplicate snack in exact-alarm catch ensureExactAlarmPermission() never rejects (it swallows its own errors), so the .catch() that re-opened the EXACT_ALARM_DENIED snack was an unreachable duplicate of the .then() warning. Keep a resolving, log-only catch so a future throw can't cache a rejected promise that every scheduling effect would re-await, and document the one-shot memo and the isAndroid() gate. |
||
|---|---|---|
| .. | ||
| banner | ||
| base-component | ||
| browser-title | ||
| chrome-extension-interface | ||
| clipboard-image | ||
| confetti | ||
| data-init | ||
| date | ||
| date-time-format | ||
| drop-paste-input | ||
| electron | ||
| error-handler | ||
| example-tasks | ||
| global-tracking-interval | ||
| http | ||
| input-intent | ||
| keyboard-layout | ||
| language | ||
| notify | ||
| persistence | ||
| platform | ||
| share | ||
| snack | ||
| startup | ||
| startup-overlay | ||
| theme | ||
| unsplash | ||
| util | ||
| initial-pwa-update-check.service.spec.ts | ||
| initial-pwa-update-check.service.ts | ||
| ipc-events.spec.ts | ||
| ipc-events.ts | ||
| locale.constants.ts | ||
| log.ts | ||
| window-ea.d.ts | ||