tim-we / tabs-aside

A session/tab manager web extension for Firefox based on the Microsoft Edge feature.
https://addons.mozilla.org/firefox/addon/tabs-aside/
GNU General Public License v3.0
90 stars 10 forks source link

Support for contextual identities / multi-account containers #22

Closed JordyScript closed 4 years ago

JordyScript commented 6 years ago

It would be nice if Tabs-aside had integration with contextual identities / Multi-Account containers.

There is some documentation on how to use the API here: MDN Guide for working with Contextual Identities

Features that would be nice to have:

As far as I am concerned we don't need any shortcuts for these functionalities since they are too complex to attach meaningful shortucts to.

tim-we commented 6 years ago

I am planning to add support for this at some point. I was thinking of having one container per session since that would also be a nice visual indicator which tab belongs to which session.

Unfortunately the code "blew up" a bit in size with the transition to v2 and is in a somewhat messy state which makes it hard to find & fix bugs as well as for other developers to comprehend and modify the code. Therefore I will focus on cleaning up & simplifying the code first.

Also many people have requested sidebar improvements (thumbnails/favicons, drag&drop, ...) so that might have to come first as well.

JordyScript commented 6 years ago

The refactoring is definitely a priority and a necessity. I'm still learning and a bit too busy right now, but I would wanna help develop as well, cuz I really benefit from this functionality. A clean code base would be a huge help in that regard.

I like that you think about UI/UX in conjunction with functionality. I do think the idea should be refined a bit more though, because I see some problems with the idea you proposed as I understand it. Maybe we can think it through and discuss it some more. I will think it through, and then get back to you with some feedback.

storyjesse commented 4 years ago

I regularly browse using multiple containers so that I can login to sites with multiple users, eg. one tab is logged in as admin user, another as user and a third container views the page while not logged in at all. At the same time I might be doing some work on my accounts and banking so I have my bank tabs open in separate containers for security purposes and my personal email and social media open in their own containers too. Without these containers being preserved tabs aside is not useful to me. I currently have 512 tabs open at the moment because all my projects use multiple tabs and I don't have a workflow that allows me to set down one project and pick up another. I used to be able to do this with tab groups before tab containers came about and simplified my workflow a great deal, since it saved me logging off and back in as a different user. Thanks heaps for your work. I'll keep looking for a solution since I don't have time to help with the code.

tim-we commented 4 years ago

I just skimmed through the MDN documentation regarding this and preserving the container seems pretty straight forward, just remember the cookieStoreId. This requires an additional optional permission "cookies".

This is probably the best and simplest way to implement this, but I would like to hear your opinion on this. One alternative would be a per-session approach instead of per-tab...

[1] https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/create

tim-we commented 4 years ago

Turns out this was really easy to implement, it will ship with v3. I am still looking for a reliable way to find the default cookieStoreId so that cs=firefox-default is not stored for every single tab. Creating a new tab should work but that is a rather ugly solution... Any ideas?