Tab Sleep Timer Fix Firefox

Reviews of Tab Sleep Timer Fix

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.
See reviews on Firefox Add-ons Store
View and respond to reviews directly on the store page.
Visit
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
91% (10)
4 star
9% (1)
3 star
0%
2 star
0%
1 star
0%
DateAuthorRatingComment
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: