Skip to content

v1.5.0 — Friction Overhaul & Snooze Rework

Choose a tag to compare

@tavlean tavlean released this 14 Apr 04:59
· 32 commits to main since this release
cdd6994

What's new in 1.5

🔒 Stronger friction on Focus features

The core idea: every step is a chance to reconsider. Disabling a redirect is meant to be uncomfortable enough that you decide it's not worth it.

Snooze tiers restructured — the old 15m starting point was too generous and made people use the full 15 minutes. The new tiers start at 5 minutes for a genuine quick peek:

Snooze Countdown you must sit through
5 minutes 10 seconds
15 minutes 30 seconds
1 hour 3 minutes
4 hours 8 minutes
Permanent disable 10 minutes

Longer snooze = exponentially more punishing wait. The idea is that if 8 minutes of waiting isn't a deterrent for someone who wants 4 hours of feed time, nothing will be.

Tab switching resets the countdown. If you switch to another tab or app while the countdown is running, it cancels and the feature stays enabled. You have to start the whole flow over. Another chance to reconsider.

Countdowns ≥ 60 seconds now display as M:SS (e.g. 8:00 remaining) so the weight of the wait is immediately visible.


🐛 Bug fix — popup desync on snooze expiration

When a snooze expired, the background script correctly re-enabled the redirect and notified you — but the popup was oblivious. The toggle stayed unchecked and the snooze indicator kept counting down, even though the redirect was already active again.

The popup now listens for storage changes from the background in real time. When the background re-enables a feature, the toggle and indicator update immediately.


✏️ Copy

  • Feature descriptions rewritten for clarity: Home → Bookmarks → Redirects feed to bookmarks
  • Snooze indicator: Snoozed for X → Resumes in X (elapsed vs. remaining was ambiguous)
  • Snooze dialog: Pause instead of fully disabling → Take a temporary break — it'll turn back on automatically
  • Permanent disable button: Disable permanently → Permanently remove protection
  • Permanent disable countdown: Take a deep breath and reconsider → You're about to remove your focus protection entirely
  • Snooze countdown: Disabling focus redirect for X → Pausing your focus redirect for X
  • Confirmation dialogs updated for both Home and Explore redirects
  • Posts description: Timestamps open in new tab → Post timestamps open in new tab

🧹 Code cleanup

  • Removed dead disableAttempts, exploreDisableAttempts, and lastAttemptDate fields — tracked in storage but never read or incremented
  • Removed unused resetDailyAttemptsIfNeeded() function
  • Removed all backward-compatibility parameter-shifting shims across friction helpers
  • Removed unreachable else branch in handleRedirectToggle
  • Removed "tomorrow" snooze handling
  • Fixed notification icon path (../shared-assets/icon48.png → assets/icon48.png)