What is the "Auto Tab Discard" extension and how does it work?
"Auto Tab Discard" extension aims to reduce both memory and CPU usage of inactive tabs when they have not been used for a specified period of time. The extension basically monitors tab inactivity period and request discarding if the tab that is not been used for that period. A tab that goes to the discarded state actually gets wiped up from memory and hence can not run any background scripts at all. This significantly improves browser performance and prevents unwanted background activities when they are not really needed.
Can I help translating this extension into other languages?
Yes, please join the team https://www.transifex.com/open-source-dev/auto-tab-discard/dashboard/.
How can I prevent a certain website from being discarded?
If a tab is playing media or has unsaved form data, by default the extension does not request discarding of the tab (there are other conditions too. check the options page to visit all available ones). So normally there is no need to whitelist a hostname. But if you need to whitelist a hostname for any reason, you can use the right-click item over the toolbar button to append the hostname. If a hostname is in the list, all tabs originated from this hostname will not go to the discarded state. You can add multiple hostnames from the options page or even remove one hostname from the whitelist.
What's new in this version?
Please check the Logs section.
When I select "Discard all inactive tabs" from the toolbar context menu, some tabs do not go the discarded state. Is there any reason for this?
By default the extension does not request discarding of a tab when it has unsaved form data or a media is playing. You can use the options page to alter this behavior or add new conditions like do not discard tabs when they are pinned.
What does happen if I have a few discarded tabs and my browser crashes?
Basically nothing at all. Since this extension uses the native method, your browser will restore all the discarded tabs like all other opened tabs.
What is the difference between the native method and the method that is used by other similar extensions?
In the native method, the extension requests tab discarding from your browser and browser handles the rest. Basically, when this request is received, tab data (like scroll position or its HTML content) is stored in a binary object and tab is wiped out completely so there will be no activity related to this tab what so ever. In the non-native methods, the tab is being replaced with an internal resource page which is lighter than the actual tab definitely but this method has many drawbacks like restoring the actual tab needs to be handled at the extension level or still, the tab uses memory (like a normal light tab) and is not actually been wiped from tab list.
[Firefox Only] Can I use this extension to discard tabs when multiprocessor support is disabled?
Unfortunately not. If
browser.tabs.remote.autostart is set to
false in the about:config, this extension is not operating correctly. For more info see https://github.com/rNeomy/auto-tab-discard/issues/66
[Technical Note] It seems sometimes the extension simply just not discard a background tab that it should. Why?
Skipping the discarding has two main reasons: 1. a tab matches a condition that prevents discarding (e.g. do not discard this tab is checked for this particular tab from the popup window). From version 0.3.2, the extension adds a tooltip text to the toolbar button for this particular tab if such a condition meets. 2. The number of not-discarded tabs is less than the number that the user sets on the options page. Still, the extension might sometimes not discard tabs with no good reason. That is true in fact. To be optimal, this extension only requests checking the discarding conditions when it really is necessary. To be more precise, a tab will request the check only once when it just moved to background after the user-defined discarding period is over. That's it. So a single background tab cannot ask for discarding more than once. There are some rare situations where a tab does the request and it gets rejected for one of the above reasons. In this case, this tab is not going to be discarded unless at least more than one tab gets opened. To generate this bug you can set discarding period to 10 and the maximum number of tabs to 1. Now open a tab and browse a website. Open the second tab and wait for 10 seconds then load a second website. You are expecting the first tab to be discarded but since its discarding request is sent before there are two real tabs, this request is being ignored. The only way to discard the first tab now is to switch to another tab so that the second tab this time sends a new discarding request which results in the first tab to be discarded.
Is it possible to alter the extension's preferences on all computers in a domain?
As of version 0.3.3, the extension reads all its configuration defaults from the managed storage which can be contorted by the domain administrator. For instance, if you don't want the extension to open FAQs page when it gets installed on a computer, set
faqs preference value to
false. The PLIST file for a Mac computer would look like this:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple/DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>faqs</key> <false/> </dict> </plist>
To see the list of all supported preferences and their descriptions take a look at schema.json file. To set the values, it is recommended to set them on the options page and use the exporting feature to get the JSON version. Use the values that are set in the JSON object for your managed storage.
I am an old user of the "The Great Suspender" extension, and I've lost many tabs when this extension got unpublished. Can this happen again with ATD?
No, ATD uses the native method for discarding tabs. Even if you disable the extension or remove it from your browser, all your tabs are safe. This is one of the main reasons why the ATD extension does not use a custom discarding page.
Please keep reviews clean, avoid the use of improper language and do not post any personal information.
|idle||to resume timers after when system is restored from idle state|
|storage||to keep internal preferences and the user-defined ones|
|tabs||to inject monitoring script into tabs|
|*://*/*||to have permission to injecting monitoring script into tabs|
|contextMenus||to add items to the right-click context menu over the toolbar button and tab elements|
|notifications||to display notifications|