Advertisement |
What is the "Auto Tab Discard" extension and how does it work?
The "Auto Tab Discard" extension is designed to help improve the performance of your browser by discarding tabs that have not been used for a certain amount of time. This discarding helps reduce the amount of memory and CPU usage used by these inactive tabs, which can lead to better overall performance. A discarded tab is removed from memory and can no longer run any background scripts. This native method helps prevent unwanted activities from running in the background and potentially slowing down your browser. The extension continuously monitors tabs and requests the discarding of inactive ones when appropriate.
Tab discarding is a feature that allows the browser to automatically discard tabs that are not being used to free up system resources such as memory and CPU. The content of a discarded tab is removed from memory and is not visible to the user. However, it is still listed in the tab bar and can be reopened by clicking on it. Tab discarding allows your browser to maintain a large number of open tabs without causing the system to become slow or unresponsive.
recommended The "Save Tabs" extension for Chrome, Edge, and Firefox browsers.
The "Save Tabs" extension allows you to save and restore tabs across different windows, helping reduce memory usage or revisit tabs later while preserving their state. It also supports syncing across devices and offers optional password protection for session security, all without affecting browser performance when not in use. Read more here.
Can I help translating this extension into other languages?
Yes, please join the team transifex.com/.../auto-tab-discard/.
How can I prevent a certain website from being discarded?
By default, the extension is not discarding tabs that are playing media or have unsaved form data (among other conditions). Therefore, usually, it is not necessary to add a hostname to the exception list. However, if you need to make sure that tabs from a specific hostname are not being discarded, you can use the right-click menu on the action button to add the hostname to the list. This will prevent any tabs from that hostname from being discarded. You can also manage this exception list from the options page, where you can add or remove hostnames as needed.
What's new in this version?
Please check the Logs section.
Why don't all tabs go into the discarded state when I choose "Discard all inactive tabs" from the toolbar context menu?
To find out why a tab is not being discarded, place your mouse over the action button for the tab. By default, the extension's configuration skips discarding those with unsaved form data or those who are playing media. You can modify this behavior or add new conditions, such as not discarding pinned tabs through the options page. Here is the list of supported conditions:
What does happen if I have a few discarded tabs and my browser crashes?
The extension uses a native method, so when you restore your browser from a crash, a discarded tab behaves like any other open tab in your browser. There are no additional steps or special considerations to take into account when restoring your browser.
One of the main benefits of this extension is that it uses the native method for tab discarding, rather than custom methods such as replacing the page with an internal one. This means that when the browser discards a tab, it behaves like a normal open tab. Even if you remove the extension, the discarded tabs will still be accessible and behave like any other open tab in the browser.
What is the difference between the native method and the method that is used by other similar extensions?
This extension uses the native method (requests that the browser discards a tab), and the browser then handles the process. When such a request is received, the browser stores the tab's data (such as scroll position or HTML, CSS, and JS content) in a binary object and removes it from memory, so there is no activity from the tab anymore. In contrast, other methods for tab discarding involve replacing it with an internal lighter page. However, this approach has several drawbacks. For example, the extension must handle restoring process, and the tab still occupies memory like a lightweight tab. Additionally, the extension manages the crash recovery itself.
[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?
Two main reasons why the extension skips discarding are as follows:
However, in some cases, the extension may not discard a tab when you expect so. It only checks the discarding conditions when necessary to optimize the performance. The extension requests the check when a tab moves to the background after the discarding period. So a background tab cannot ask for discarding more than once. In rare situations, a tab may request to be discarded and gets rejected for one of the above reasons. In this case, the discarding is postponed until another tab requests a new check.
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 computer running macOS 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.
When tabs are discarded, just moving the cursor to the discarded tab in the tab bar seems to release the discard, and the site loads, even though I have not clicked on it. Is there any way to prevent this?
If your browser displays a preview of a tab, it must first remove the discarded state in order to take a new screenshot. On Chromium-based browsers, you can disable this feature by navigating to "chrome://flags/#tab-hover-card-images" in a browser tab and turning off the feature. "chrome://flags" is a special URL that can be entered into the address bar of Google Chrome and other Chromium-based browsers. It allows the user to access a set of experimental features and settings that are not yet ready for general release.
What is the meaning of "regular expression" matching?
You can use regular expression matching with the "re:" keyword to skip discarding particular URLs. For example, to prevent the discarding of pages with the word "google" in their URL, you can use the expression "re:google". You can find more information about regular expressions on the Mozilla Developer Network website. Regular expressions are a powerful tool for matching and manipulating strings.
What is the meaning of the "Discard a background tab if its memory usage (totalJSHeapSize) exceeds" option?
When enabled, the extension checks the value of the totalJSHeapSize
property for the top document and discards the tab if the memory usage exceeds the user-defined threshold (which must be at least 10MB). This feature is only available if your browser supports the performance.memory
API.
The totalJSHeapSize property is a property of the "performance.memory" object in the JavaScript Performance API. It represents the total size, in bytes, of the JavaScript heap, which is an area of memory used by the JavaScript runtime to store and manage data such as objects, arrays, and functions. The totalJSHeapSize property can be used to monitor the memory usage of a web page or web application, and it can be particularly useful for detecting memory leaks, which are situations where the page or application is using more and more memory over time without properly releasing it.
What is the URL pattern for the "Trash" plug-in?
To use a custom time interval for a rule, add @{number}{unit}
to the end (e.g., google.com@3d
will trash google.com
URLs after three days). Valid units are (h)ours, (d)ays, (w)weeks, and (mo)nths.
Can I open the popup interface of this extension with a keyboard shortcut?
Yes, you can assign a custom shortcut of this action. Read Change Keyboard Commands Offered By Extensions blog post.
Can I identify which tabs are discarded in a Chromium browser (whether they are discarded by this extension or others)?
In a Chromium browser, you can see which tabs have been discarded by looking for the "Discarded" label that appears next to the tab title. To see this label, you need to enable the "Show discarded tabs" flag in Chrome. To do this, follow these steps:
Alternatively, you can visit the "chrome://discards" page.
Please keep reviews clean, avoid improper language, and do not post any personal information. Also, please consider sharing your valuable input on the official store.
Permission | Description |
---|---|
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 |