Auto Tab Discard Automatically discard inactive tabs to free up resources
Support Development
PayPal ● 
Bitcoin Address: bc1qh7juzrxrawpr65elm4qs285m5rdhnhgsn7h2jf
 ● 
Lightning Address: [email protected]
Your Input Matters
Review
Advertisement
Screenshot
The "Auto Tab Discard" extension is designed to automatically discard inactive tabs after a specified amount of time to reduce memory usage and prevent background scripts from consuming computational resources when it is not in use. This extension uses the native method for tab discarding, which means it does not suffer from the same issues as other extensions that use custom methods. When a tab is discarded by the native method, it is completely removed from memory and does not use any resources, but it can be restored to its previous state, including preserving page state such as scroll position. The extension also allows you to configure an exception list and specify types of tabs that should not be discarded, such as pinned tabs or tabs that are playing media.

Features

FAQs

  1. 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.

  2. Can I help translating this extension into other languages?

    Yes, please join the team transifex.com/.../auto-tab-discard/.

  3. 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.

  4. What's new in this version?

    Please check the Logs section.

  5. 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:

    • Do not discard a tab when media is playing
    • Do not discard a tab when there is a paused media player
    • Do not discard a tab when it is pinned
    • Do not discard a tab when form changes are not yet submitted
    • Do not discard tabs when the computer is connected to a power source
    • Do not discard tabs when there is no internet connection and the tab is not cached
    • Do not discard a tab if it can display desktop notifications
    • Only discard tabs if the computer is in the 'idle' state

  6. 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.

  7. 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.

  8. [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

  9. [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:

    • The tab matches a condition that prevents discarding, such as having the "Do not discard this tab" option checked in the popup window. In this case, there is a tooltip text on the action button of the tab explaining the reason.
    • The number of open tabs that have not yet been discarded is less than the maximum number, as set in the options page by the user.

    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.

  10. 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.

  11. 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.

  12. 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.

  13. 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.

  14. 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.

  15. 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.

  16. 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.

  17. 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:

    • In the address bar, type "chrome://flags" and press Enter.
    • In the search bar at the top of the page, type "show discarded tabs" and press Enter.
    • From the dropdown menu next to the "Show discarded tabs" flag, select "Enabled".
    • Restart Chrome by clicking the "Relaunch" button that appears at the bottom of the page.

    Alternatively, you can visit the "chrome://discards" page.

Matched Content

Preview

Reviews

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.

What's new in this version

Version--
Published--/--/--
Change Logs:
    Last 10 commits on GitHub
    Hover over a node to see more details

    Need help?

    If you have questions about the extension, or ideas on how to improve it, please post them on the  support site. Don't forget to search through the bug reports first as most likely your question/bug report has already been reported or there is a workaround posted for it.

    Open IssuesIssuesForks

    Permissions are explained

    PermissionDescription
    idleto resume timers after when system is restored from idle state
    storageto keep internal preferences and the user-defined ones
    tabsto inject monitoring script into tabs
    *://*/*to have permission to injecting monitoring script into tabs
    contextMenusto add items to the right-click context menu over the toolbar button and tab elements
    notificationsto display notifications

    Recent Blog Posts