By: Mitch Crane
List of user reviews and ratings for Tab Sleep Timer Fix
Total ratings
4.88 (Rating count: 8)
Receive review notifications
Get notified when new reviews are posted so you can respond quickly.
Upgrade to see all 11 reviews
User Reviews
Recent rating average: 4.90
All time rating average: 4.88
Upgrade to see all 11 reviews
5 star 4 star
3 star
2 star
1 star
| Date | Author | Rating | Comment |
|---|---|---|---|
| 2026-07-02 | Su***** | I sometimes use this on my android, the time settings doesn't scale on my phone screen and requires zooming in, would love to see it fixed, otherwise works well. | |
| I sometimes use this on my android, the time settings doesn't scale on my phone screen and requires zooming in, would love to see it fixed, otherwise works well. | |||
| 2026-05-21 | Mi***** | Nice, but apart from "Close" and "Mute", I suggest "Reload", so that the music really stops but the tab is not lost ("Unload" would be nice but I get into trouble). I also made a few minor improvements. Here is my diff, fell free to integrate or modify it: diff -u1 -r sleep_timer_fix-1.0.5/background.js sleep_timer_fix-1.0.5+reload/background.js --- sleep_timer_fix-1.0.5/background.js 2026-04-02 20:31:06.000000000 +0200 +++ sleep_timer_fix-1.0.5+reload/background.js 2026-05-22 19:08:09.692509102 +0200 @@ -11,2 +11,15 @@ + let tabTimerConfig = tabTimerConfigsMap[currentTab.id]; + if (!tabTimerConfig) { + tabTimerConfig = { + tabID: currentTab.id, + isRunning: false, + expirationBehavior: 'reload', + numSeconds: 0, + targetTime: null, + }; + tabTimerConfigsMap[currentTab.id] = tabTimerConfig; + } + + const cancelTimer = () => { @@ -16,3 +29,4 @@ } - delete tabTimerConfigsMap[currentTab.id]; + tabTimerConfigsMap[currentTab.id].isRunning = false; + tabTimerConfigsMap[currentTab.id].numSeconds = 0; }; @@ -27,3 +41,3 @@ const statusForConfig = tabTimerConfig => { - return !tabTimerConfig ? { numSeconds: 0, isRunning: false, expirationBehavior: 'close' } : { + return !tabTimerConfig ? { numSeconds: 0, isRunning: false, expirationBehavior: 'reload' } : { // FIX #7: Guard against negative countdown values @@ -38,14 +52,2 @@ if (message.type === 'updateNumSeconds') { - let tabTimerConfig = tabTimerConfigsMap[currentTab.id]; - if (!tabTimerConfig) { - tabTimerConfig = { - tabID: currentTab.id, - isRunning: false, - expirationBehavior: 'close', - numSeconds: 0, - targetTime: null, - }; - tabTimerConfigsMap[currentTab.id] = tabTimerConfig; - } - if (tabTimerConfig.isRunning) { @@ -69,5 +71,3 @@ } else if (message.type === 'updateExpirationBehavior') { - if (tabTimerConfigsMap[currentTab.id]) { - tabTimerConfigsMap[currentTab.id].expirationBehavior = message.newExpirationBehavior; - } + tabTimerConfigsMap[currentTab.id].expirationBehavior = message.newExpirationBehavior; // FIX #6: Send a response to close the message port cleanly @@ -105,2 +105,5 @@ switch (tabTimerConfig.expirationBehavior) { + case 'reload': + chrome.tabs.reload(tabID); + break; case 'close': diff -u1 -r sleep_timer_fix-1.0.5/popup/popup.html sleep_timer_fix-1.0.5+reload/popup/popup.html --- sleep_timer_fix-1.0.5/popup/popup.html 2026-04-02 20:31:06.000000000 +0200 +++ sleep_timer_fix-1.0.5+reload/popup/popup.html 2026-05-22 18:20:50.738805149 +0200 @@ -56,2 +56,6 @@ <div class="expiration-behavior-option-container"> + <input type="radio" name="expiration-behavior" id="reload-behavior" data-expiration-behavior="reload"> + <label for="reload-behavior">Reload tab</label> + </div> + <div class="expiration-behavior-option-container"> <input type="radio" name="expiration-behavior" id="close-behavior" data-expiration-behavior="close"> | |
| Nice, but apart from "Close" and "Mute", I suggest "Reload", so that the music really stops but the tab is not lost ("Unload" would be nice but I get into trouble). I also made a few minor improvements. Here is my diff, fell free to integrate or modify it: diff -u1 -r sleep_timer_fix-1.0.5/background.js sleep_timer_fix-1.0.5+reload/background.js --- sleep_timer_fix-1.0.5/background.js 2026-04-02 20:31:06.000000000 +0200 +++ sleep_timer_fix-1.0.5+reload/background.js 2026-05-22 19:08:09.692509102 +0200 @@ -11,2 +11,15 @@ + let tabTimerConfig = tabTimerConfigsMap[currentTab.id]; + if (!tabTimerConfig) { + tabTimerConfig = { + tabID: currentTab.id, + isRunning: false, + expirationBehavior: 'reload', + numSeconds: 0, + targetTime: null, + }; + tabTimerConfigsMap[currentTab.id] = tabTimerConfig; + } + + const cancelTimer = () => { @@ -16,3 +29,4 @@ } - delete tabTimerConfigsMap[currentTab.id]; + tabTimerConfigsMap[currentTab.id].isRunning = false; + tabTimerConfigsMap[currentTab.id].numSeconds = 0; }; @@ -27,3 +41,3 @@ const statusForConfig = tabTimerConfig => { - return !tabTimerConfig ? { numSeconds: 0, isRunning: false, expirationBehavior: 'close' } : { + return !tabTimerConfig ? { numSeconds: 0, isRunning: false, expirationBehavior: 'reload' } : { // FIX #7: Guard against negative countdown values @@ -38,14 +52,2 @@ if (message.type === 'updateNumSeconds') { - let tabTimerConfig = tabTimerConfigsMap[currentTab.id]; - if (!tabTimerConfig) { - tabTimerConfig = { - tabID: currentTab.id, - isRunning: false, - expirationBehavior: 'close', - numSeconds: 0, - targetTime: null, - }; - tabTimerConfigsMap[currentTab.id] = tabTimerConfig; - } - if (tabTimerConfig.isRunning) { @@ -69,5 +71,3 @@ } else if (message.type === 'updateExpirationBehavior') { - if (tabTimerConfigsMap[currentTab.id]) { - tabTimerConfigsMap[currentTab.id].expirationBehavior = message.newExpirationBehavior; - } + tabTimerConfigsMap[currentTab.id].expirationBehavior = message.newExpirationBehavior; // FIX #6: Send a response to close the message port cleanly @@ -105,2 +105,5 @@ switch (tabTimerConfig.expirationBehavior) { + case 'reload': + chrome.tabs.reload(tabID); + break; case 'close': diff -u1 -r sleep_timer_fix-1.0.5/popup/popup.html sleep_timer_fix-1.0.5+reload/popup/popup.html --- sleep_timer_fix-1.0.5/popup/popup.html 2026-04-02 20:31:06.000000000 +0200 +++ sleep_timer_fix-1.0.5+reload/popup/popup.html 2026-05-22 18:20:50.738805149 +0200 @@ -56,2 +56,6 @@ <div class="expiration-behavior-option-container"> + <input type="radio" name="expiration-behavior" id="reload-behavior" data-expiration-behavior="reload"> + <label for="reload-behavior">Reload tab</label> + </div> + <div class="expiration-behavior-option-container"> <input type="radio" name="expiration-behavior" id="close-behavior" data-expiration-behavior="close"> | |||
| 2025-03-31 | 远离***** | ||
Upgrade to see all 11 reviews
Best Tab Sleep Timer Fix Alternatives
Here are some Firefox add-ons that are similar to Tab Sleep Timer Fix:
Sleep Timer Fixde
Nhà cái Vua88
Sleep Timer Fixaq
488BET
Sleep Timer Fixxi
kèo bóng đá
Sleep Timer Fixx
33win
Sleep Timer Fixeyu
Nổ Hũ
Tab Sleep Timer
Daniel de Haas
Auto Tab Closer Countdown
KBurakTokmak
Smart Tab Mute +
Tonton Jo
Smart Tab Mute
Stefan Daschek
Tab Control
czukowski
Tab Expiry Timer
Mado