Your comments

In case anyone is curious, this is still an issue – my tabs outliner alone was at 5GB RAM today.

It does not compare tab links to each other at all, but it compares Windows/Groups* by treating them as the sum of their links (in order).

Top level meaning immediate children (sub-nodes) of "Current Session", *not* nested windows that are inside Groups or live as children of TextNotes or something.

For example, let's say you have a saved window with three tabs: A, B, C, and an unloaded tab D.

Now your browser / PC crashes, and you use Chrome's crash restore.

T.O. will (I think) show you a green-styled crashed window and another normal blue/grey window. One of them has [A,B,C] (that were loaded at the time of the crash and restored), the other will have [A,B,C,D].

My script would not do anything, because [A,B,C] and [A,B,C,D] are different.

A script that compares tabs to other tabs and removes tabs with already-seen URLs might leave you with [A,B,C] and [D], which is kind of stupid too.

To do what I call reconciliation, the extension author would have to give descriptors to each window that persist across restarts, crashes, etc, and then intelligently merge while keeping nesting information and custom names and all of those.

If all tabs in a window are loaded and you simply quit & restart Chrome and restore the session, this will create an identical duplicate (with loss of nesting) and my script will keep only one copy.

*: TO's "groups" are also windows, they just have a different icon ^_^

I just tried my hand at a simple duplicate nuker, will only check top level nodes and remove unnecessary™ ones. It will prefer keeping active windows, and otherwise keep the first one (since that usually has more intact favicons in my experience).

Let me know how it goes for you, and obviously don't be too shy to have a backup.

https://gist.github.com/Luckz/74cdd60a795e72f677c0db5c660a4922

I just tried my hand at this, will only check top level nodes and remove unnecessary™ ones. Meaning if several top level nodes contain the very same tabs, while if there are differences, that's your problem to solve.

*this will not do a general-purpose deletion of tabs with the same URLs, it only compares entire top level nodes! — but having it the other way wouldn't be that difficult*

It will prefer keeping active windows, and otherwise keep the first one (since that usually has more intact favicons in my experience).

Let me know how it goes for you, and obviously don't be too shy to have a backup.

https://gist.github.com/Luckz/74cdd60a795e72f677c0db5c660a4922

P.S.: root nodes that are not windows/groups should not be affected, so silly free-floating top-level separator lines should survive.

P.P.S.: A built in 'reconciliation' process would of course still be vastly more complicated and powerful. 

That script was pretty brutal to my browser, removed tons of my tabs, fortunately I had a volume shadow copy from a restore point.


I think it detected that I have one URL twice, but once it's a parent node of like 90 others, and it killed the entire tree.

Well, don't use fast unload. :)

Unfortunately this kind of on-the-fly converted price would not take into account extra fees related to the payment processor used, so it's much more complicated sadly.

Isn't this the point of Clone View for example?

If I understand you correctly, you might want to collapse them in the view and then for example 'kill' them at once