mirror of
https://github.com/maziggy/bambuddy.git
synced 2026-09-30 11:12:35 +02:00
The sponsor toast re-fired on every fresh browser session. The backend owns the 14-day cooldown but only persists the anchor (last_shown_at) and the seen-milestone record inside POST /sponsor-prompt/dismiss, and the hook only called dismiss from the "View supporters" CTA onClick. A user who saw the toast but never clicked the CTA persisted no state; the per-tab sessionStorage guard hid the re-fire within one session, but every new session re-checked against empty state and re-showed the same milestone. Record the toast as shown the moment it renders (POST /dismiss right after showPersistentToast) so display is what arms the cooldown. CTA click stays optional and just navigates. Frontend-only; backend cooldown logic unchanged.