gildas-lormeau / SingleFile

Web Extension for saving a faithful copy of a complete web page in a single HTML file
GNU Affero General Public License v3.0
14.64k stars 961 forks source link

Restrict auto-save according to Firefox contextual identities (also commonly known as multi-account containers) #1501

Open damoclark opened 1 month ago

damoclark commented 1 month ago

Additional context

Firefox has a feature that as far as I'm aware is not implemented by any other browser (certainly not Chrome). Their APIs refer to this feature as contextual identities, but for end users, they are known as multi-account container tabs.

Container tabs allow you to define different personas within the browser, where each have their own ring-fenced storage (cookies, localstorage, sessionstorage, indexdb, and so on), but still share bookmarks, webextensions, browser history and so on. So, you can have different container tabs open at the same time, even in the same window. The tabs with different containers are identified by a different colour and/or icon. Tabs not open in a container have no colour.

This means you can, for example, login to the same website using two or more different accounts, at the same time. So you can be logged in to Google with your personal google, and work/school google in different tabs concurrently in Firefox. It also means you can separate out your sessions, to for instance, limit cross-site tracking and web-beacons.

Describe the solution you'd like

I am wondering whether Singlefile could introduce an option for auto-save, where you can limit which containers (or no container) auto-saves. So, as a concrete example, you could specify that Singlefile only auto-saves pages that are loaded into a container named "Research". Or auto-save in all containers except the "Banking" container. Or it only auto-saves tabs that are not open in any container (i.e. normal tab) for tabs that use no container.

Is your feature request related to a problem? Please describe.

With the option, you can specify autosave settings rules based on user-defined browsing activity (research, or shopping as defined by the container name). So, for example, if I want Singlefile to autosave every page I visit while doing research, I just use my research container tab to begin my searches and Singlefile knows to auto-save those tabs. But other tabs I have open for other activities do not autosave. Other activities might include study, or shopping. But you would disable autosave for a "Banking" container.

Describe alternatives you've considered

I can't think of an alternate approach that makes it easy to differentiate tabs according to user-defined activity for the purposes of matching which tabs to autosave, and which not. The current approach of matching Urls is not an effective rules-based system to delineate such activity (i.e. knowing all the urls/url patterns for shopping, research, study etc).

gildas-lormeau commented 1 month ago

Thank you very much for the suggestion, I agree it's a good idea. It would be a simple way of filtering. It could be quite simple to implement at first glance. I'll just have to find a moment to work on it ;)

damoclark commented 1 month ago

No problem Gildas.

Singlefile is one of my favourite extensions for Firefox. Your work is top-notch mate.

Mozilla has flagged Singlefile as Recommended. I can see why.

These aren't just any extensions; they're the cream of the crop. We're talking about carefully curated gems that meet the highest standards in security, functionality, and overall user experience. The selection process is rigorous, and it involves the meticulous efforts of the Firefox team, combined with valuable input from the community.

Imagine a team of experts and enthusiasts sifting through the vast ocean of extensions, handpicking the best of the best. But it doesn't stop there. These chosen extensions undergo intense scrutiny in the form of manual security reviews. They're examined from every angle to ensure they meet our strict policies, leaving no room for compromise.

Now, here's the exciting part: these exceptional extensions aren't just quietly sitting in the corner of the internet. They're in the spotlight. We proudly feature them in promotions on the AMO homepage, as well as other prominent spaces. It's our way of saying, “Hey, you've got to check these out!”

And here's the kicker – developers can't buy their way into this exclusive club. It's not about deep pockets or fancy marketing; it's about the extension's quality, security, and its contribution to your Firefox experience. So, when you see that “Recommended” tag, you can rest assured that you've stumbled upon something truly exceptional.

D.

gildas-lormeau commented 1 month ago

Thank you very much for your kind words @damoclark. I really appreciate it. Thank you also for the quote. Mozilla is the only player that has promoted SingleFile, and I'm very proud of it, especially when I read these paragraphs (I wasn't aware of it). It's funny because when they proposed it to be Recommended, I was very hesitant because it meant I'd lose the freedom to update the extension whenever I wanted. In the end, I don't regret it at all :). By the way, I'd like to say that this was justified, as Mozilla really does take the time to review the code with each update. In contrast, for $100 a year (approx.), Apple releases updates in a matter of hours... (which is fine by me anyway). And I suspect Google is just adding an artificial (or preventive, shall we say) time delay before publication.

Edit: Thank you for the donation!