TabGroups Manager revived: rewrite for WebExtensions

Issue #142 new
Graham Perrin created an issue

From post 17 under Development and Maintenance of TabGroupsManager extension:

Please, do you have a timeline for a rewrite?

Comments (29)

  1. Miguel Angel Romero Lluch

    hi @grahamperrin, I would love to do so, but I unfortunately I can not guarantee to have enough time to fully rewrite all the code from scratch to the new WebExtensions API. TabGroupsManager has a lot of code with some custom parts which may be impossible to migrate to the new API, so it will be difficult and slow, but not impossible.

    I think our best approach in this case would be to start with a small product with the basic functionality (whenever possible based on the idea of the implementation coded in TGM) , and adding more and more functionalities like its currently in TGM.

    There are some points which will really help us here: * Having more people involved in the project, specially programmers and people who can give support in the forum threads. * Refactoring TGM in different classes will also provide us a way to organize the code easy to maintain and migrate. This is something we really need to do here. * Analise and document the behavior of TGM from a functional and technical point of view, with documents with "Functional Flow Diagrams" of main features which will help us to migrate the original behavior and original code to the new one.

  2. Graham Perrin reporter

    Thank you!

    … forum threads. …

    Will you be happy to continue in Mozilla Discourse?


  3. karim kiswarday

    Hi @miguelromero2000, how many developers are involved in TGM?

    I'm willing to help during my free time but I have not experience to write Firefox extensions.

    Where can we talk about the project?

    EDIT 1 From this post on Stack Overflow, it seems that with the new web extensions is not possible to change the default UI

  4. Miguel Angel Romero Lluch

    I have been testing WebExtension API and it is a nightmare. It is a high level API with a very limited subset of basic browser functionality which lacks all the things we need to port TabGroupsManager. * No toolbar widget neither API. * No API to create a window with alwaysFocused property true. * Not file data manager APIs. ...

    And so on..., Firefox will be dead by v57. I have read most important extension will break: * NoScript, UBlock.. * DownloadThemAll * All toolbars managers * All tab managers.

    There has been a lot of complaints and hundreds of impressive letters sent to Mozilla asking them to stop breaking their extensions this way, but they do not want to listen to their main core developers nor users, its a real pity.

    Time to switch to Palemoon.

  5. irishbandit

    Finished switching to palemoon today so far so good. This is the best addon ever and its worth it to switch!! Happy that we have an option that will continue to work. Thank-you so much for all the hard work so that TabGroups Manager revived keeps working!!!

  6. Daniel Do Binau

    A huge thanks to Miguel to all his efforts in keeping this addon alive. But it seems that the time has now finally come to move on.

    I was very anxious at the thought of having to live without TGM which has been the cornerstone of all my browsing for years now. I have literally thousands of tabs in dozens of tab groups in three different profiles that I would need to migrate. The choice was between going to PaleMoon or finding a Chrome add-on that was up for the daunting task.

    After careful research I found that "Tabs Outliner" has everything I need to migrate from TGM and onto Chrome. It is an extremely flexible tool and in many ways even more powerful than TGM. It's VERY highly recommended. If memory usage is an issue, you can couple it with "The great suspender" which does something similar to the TGM "suspend group" feature. But unlike TGM, Tabs Outliner allows you to only open certain tabs within a group, so my memory usage has actually dropped very significantly after switching.

    Migrating everything was a bit of a hassle, and the add-on definitely has a learning curve - but now that I'm done, I'm happy (though nostalgic) to say goodbye to both TGM and Firefox.

  7. Elisei Kulikovsky

    Daniel, thank you for the info, Tabs Outliner is a really good replacement for the TGM. Btw paid version is too expensive for an extension imo.

  8. Lalo Martins

    I found neither Tab Outliner nor PaleMoon acceptable solutions. Currently trying Waterfox, so far seems promising (latest TGMR works as well as it always has).

  9. James Ahlborn Account Deactivated

    I, too have switched to waterfox, and thus far things have been going well. @miguelromero2000, any thoughts on fixing some of the minor issues which have appeared in ff 55/56 under the expectation that this extension could live on in waterfox?

  10. Miguel Angel Romero Lluch

    I will gladly support any necessary fix for the extension to work on browsers which still maintain the compatibility with legacy extensions. @jahlborn can you please open a new ticket with the description of your issue? IE, something like: "WaterFox - Issue with tab order.."


  11. Shaun Sole

    Hi Miguel, are you planning to re-write the add-on or create a version for Chrome? If Chrome is easier I'm sure most of the TGM users will happily move over.


  12. Lalo Martins

    TGM is basically impossible with the Chrome extension API. The closest I've seen is using the Chrome app API to write pretty much a new browser.

    The Firefox WebExtension rewrite is another story, as it would AIUI be based on new features Mozilla is adding to the spec. But even then it's not yet clear if it will be possible.

  13. luckz

    The only truly killer feature you could get with nightly Firefox and current Chrome is real 'virtual tabs' that have near-zero RAM requirements when not loaded. API-wise, Lalo has stated everything there was to be stated.

    Mind you things like are only coded for multi-process Firefox, which TGM was never conceived for anyway. Waterfox 56 also is multi-process by default.

  14. Miguel Angel Romero Lluch

    It is impossible to migrate with the current API support offered in WebExtensions. There is no support for horizontal toolbars and no support for file writting. Also there is not a clear way to communicate information between tabs. Neither Mozilla nor Chrome has any scheduled plans to add support for those APIs, and any addons which were relaying on them, will not be able to migrate to WebExtensions for a long time, maybe years in the best case.

  15. Miguel Angel Romero Lluch

    "No toolbar widget neither API. No API to create a window with alwaysFocused property true. * Not file data manager APIs. ." There are still important APIs lacking in WebExtensions. I do not think we have enough APIs to rewrite it.

    Even though if it were possible to rewrite it in the future, I am not really sure if it would be a good idea to develop things for a product and team which has completely destroyed all the work people has done in the past. Palemoon with XUL and the new Basilisk browser supporting XUL and WeExtensions may be the way to go.

  16. irishbandit

    I understand it as well. Having switched to palemoon before firefox 57 was released. Having used Firefox when it was still named Phoenix, what was done with the release of 57 removed what was great about it. Cant even move the buttons now or to change anything edit css files is stupid. Not going back why put trust in something that can change next month and remove all the work that was put into it. Palemoon with tabgroupsmanager has been working great for me since the switch in sept or oct 2017.

    TY again for the hard work thats gone into this wonderful extension. I dont have any issues and I hope that continues.

  17. JY XU

    I tried Tabs Outliner and found three deficiencies compared to TGM:

    1. can't save or restore tab (back/forward) history (and luckz mentioned also scroll location, form data, etc.) making it essentially bookmark instead of complete backup of tab/page status (serious)

    2. can't select multiple tabs in the tree and move them (serious)

    3. no horizontal display of group names as buttons (minor)

    An advantage is being able to add a note (not necessarily associated to a tab) in addition to the name (title) of a tab. Also saved and closed tabs are displayed in the tree but not among the browser's tabs, hence cost zero memory IIUC. The tree itself does cost some memory if it's large, but probably less than TGM (when I start PaleMoon it takes one or more minutes for 3000+ tabs to go from a tab group named "Start" to their respective groups, and in the end they cost ~3000MB memory).

  18. irishbandit

    Do you have ''don't load tabs until selected'' checked in tabs options on palemoon? I only see all tabs in the Start tab when the browser crashed on close or power outage. It then tries to rebuild your tab groups.

  19. JY XU

    So you are able to restart a session of thousands of tabs instantly (say within a minute)? That's good to hear, gives me some hope to optimize things. I see tabs gradually dispatched from the Start group even if I just restart the browser, no crashes. I'm using PM 27.9.4. I do have "don't load tabs until selected" checked (if not 3000+ tabs will consume much more than 3000MB memory ...) though I didn't "Override the method of 'Restore Session'" in TGM Preferences->Compatibility; that could be relevant. (Update: indeed after checking override the tabs are in their respective groups once the tab group buttons appear, but it takes 1+ minutes for the buttons to appear, so the total startup time is about the same.) Anything different from your setting? I could also try a fresh Pale Moon profile some time.

  20. irishbandit

    I am using palemoon 28.2.2 on linux. I keep my tabs at 40px wide and 40px height. I use the built in session restore of PM I dont override anything. I have started using mulitple instances of PM to keep things seperate which I like. I have 1k tabs x 2 seperate processes. Also I run all of my processess in ram no disk cache. Dont know if that would make a diffrence or not. Running without hardware acceleration. Two of the biggest things that I find slow me down is video and animated gifs. I disable them on my primary brower instance and copy and paste pages that I want to watch video on to other instance. I and along with ublockorigin blocking large media on sites and animated gifs on others. Has made a huge performance diffrence but I still regularly use 5-6gigs for main PM instance and 2-3gigs for second instance. But 1.5-2gigs of that on primary instance is cache.

  21. Tim Heymans

    Hi, is there any update on this? Do Firefox API’s already allow building a “web extensions” Tab Groups Manager?

    I have been using PaleMoon with TGM but I’m experiencing quite some performance issues lately…
    Browsing is slow compared to Firefox/Chrome and I have frequent Plugin Container crashes once my session goes over 2GB of ram.
    A WebExtensions TGM would definitely make my year.

    I don’t have any technical knowledge to help develop the extension…
    But I can buy lifelong free beers for whoever does! :)

    ps. Bonus question: Is it worth checking out Waterfox? Does it work with TGM?
    I found some contradictory info about that in this thread…

  22. Dee Testa

    There’s no replacement for TGM. It’s the best. I’m using Waterfox Classic. Pretty much bending over backwards to find some way to use TGM but it’s getting more difficult. Websites keep going down the Firefox, Chrome, and Safari trend. It’s concerning that websites now actively block connection if the web browser isn’t on the supported list.

  23. Miguel Angel Romero Lluch

    Hi Dee, thank you all for your comments. I have been using Basilisk web browser with TGM for more than 2 years and it is working really nice. It has support for old XUL addons and for some WebExtension addons. I would recommend it if you still want to use TGM in daily use, works wonderful for me.

    Btw Im sorry, I have a really high amount of work for the last year and it is really hard for me to answer and to improve TGM.

  24. Log in to comment