Tab Unloading in Firefox 93
hacks.mozilla.org
hacks.mozilla.org
I know about Chrome and its ability to prevent discards, but I want this to be the default or at least a toggle option. I don't mind the unloading of the tab, I just get annoyed when it reloads.
Part of it is caused by site coding, but part of it is browsers treating "back" as some species of new page load/arrival/selection.
And I know it's possible to get us back to the old days! The functionality I want is almost exactly what I would (already) get if I just opened every link in a new tab and switched back instead of triggering the back button.
(Which, incidentally, is what many sites recommend doing now for that very reason -- at least reddit.)
SPAs and infinite scroll are (maybe) bad, but not the cause of this problem.
>>If there is a Cache-Control header with the max-age or s-maxage directive in the response, the Expires header is ignored.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Ex...
Edit: Also I'm not sure that is the relevant one? Reddit sets Cache-Control to "private, max-age=3600 [seconds]", but it definitely reloads the content if I back up in less than an hour.
[] https://addons.mozilla.org/en-GB/firefox/addon/auto-tab-disc...
I think it's only supported on Chrome for Android right now.
[0] https://chromium.googlesource.com/chromium/src/+/refs/heads/...
Just save the tab’s contents in a webarchive file, then when restoring load that webarchive and inject some JavaScript that makes any kind of interaction aside from scrolling load the page’s live counterpart (with a confirmation prompt, perhaps).
This would also come with the advantage of the cached version showing up in browser history for “free”, so if you inadvertently go to the live page undoing it is as easy as hitting the back button, and if you decide you want to preserve the cached state indefinitely all the browser has to do is copy the webarchive file out of temporary storage to wherever the user indicates.
However the bfcache unsurprisingly causes edge cases in JS-heavy pages/SPAs, and a prevailing solution [2] is for the page to force a reload when it is restored from this cache rather than explicitly handling those edge cases, nullifying the optimization.
Again something that used to work in Firefox.
FWIW: I use Tree Style Tabs (or Sideberry) to see why I arrived at a page. Not exactly the thing specified here but it works today.
Yeeep, I used it for a while: https://archive.is/ovRDX (addon no longer exists, it broke with Firefox Quantum)
If you want full Side by side browsing mode:
Some part of it is extremely easy - to display ALL tabs side by side:
profile/chrome/userChrome.css :
tabpanels {
display: -moz-box !important;
}
tabpanels > notificationbox {
-moz-box-flex: 1;
border-width: 2px !important;
border:solid #888;
}
For the other part - to have only two panels, sibling is easy, otherwise you would need some JS to mark a tab as something like content-secondary and handle it (e.g. there was an extension last_selected_tab doing like this AFAIR) - as you have only: tabpanels > notificationbox > browser[type=content-primary]
(Just tested in Firefox 60.4.0.esr - newer versions may need some minor adjustements in CSS, toolkit.legacyUserProfileCustomizations.stylesheets preference set to true and probably some other fixes. In 2008 I had a Norton Commander 'clone' made in such incredibly simple way, ALL file and media formats preview (plugins), with a bit of custom code for nsIProtocolHandler, and nsIURIFixup fixes :) , kudos to archView extension by Pike/Solar Flare.)R.I.P. Firefox.
I can already have two pages next to each other using Windows 10, by snapping two windows to the two sides of the screen. However, while that provides the correct visual shape, the user experience is completely different, as clicking a link in the left window will not open that page in the right window, replacing what's already there.
https://mozilla.crowdicity.com/post/728459 says about Side by side browsing mode which I see as: with any two tabs, the content of the default active/content-primary tab will be replaced by link clicked on the other visible tab.
Could you provide examples (not exceptions) maybe to support your PoV?
Could you provide few examples of such apps that would not benefit from being native?
this seems counterintuitive.
SSR means most processing happens on big iron inside a dc, this has to be more efficient than each user buying a new machine every few years just to have that peak js-perf needed for the latest frameworks.
Literally every other type of website on the planet should use traditional loading pages.
You're writing Google Docs? Good for you, you can use an SPA. You're writing a social networking site? That should be a regular HTML page, with a sprinkling of JS. Blog? HTML page. Issue tracker? HTML page.
Every site I've used that's been plain HTML and CSS, with maybe minor supplements in Javascript, is much nicer to use than any SPA. People claim they load faster, but I've never experienced that in practice - a plain HTML page loads in milliseconds, but downloading a giant gzip of Javascript and waiting for it to make a zillion API calls takes seconds.
GMail's HTML-only interface fully loads and renders in ~630ms for me. The SPA version takes 11.69 seconds.
lite.cnn.com loads in 287ms. CNN.com takes 4.25 seconds.
thin.npr.org loads in 112ms. NPR.org takes 1.47 seconds.
Need I go on? Even for the lightest one, NPR, if you assume loading an article on the SPA version is instantaneous, you'd need to load 14 articles to make up for the slowness of the initial SPA load. The others are all much worse. And this is with an adblocker enabled - this will only get worse with one disabled.
Using SPAs when they aren't strictly necessary is a great way to shoot your site's performance, usability, and accessibility in the foot. You can fix the usability and accessibility problems, but you need to devote substantial engineering resources to doing so, and those are free if you just use the damn plain HTML.
That tab is then lost forever, unless I can find it in the history from whenever I had opened the tab.
The long click has still the advantage that you don't need to click more than once: You can just hold the button, mouse-over the wanted entry, and than release the button triggering navigation to the history entry currently under the cursor.
A recipe for disaster.
- User Interface > open saved page in a new tab
- User Interface > auto-close the tab after the page is saved
- Auto-save > auto-save on tab discard
Then you have to select in the context menu of the extension: Auto-save > Auto-save all tabs (or Auto-save unpinned tabs)
None of the usual suspects generally suggested as alternatives to leaving tabs open really addresses any of this. For all the research into browsers and their use, the concept of user state and workflow is utterly ignored.
Just try using any infinite scroll-type page – unless the pages saves the scroll position itself (to name one popular page, Instagram doesn't for example), all your scroll progress is lost once the tab is unloaded.
2. Preserve. User. State. I don't want the page to reload. I want what had been there to be restored. Page position, content, any inputs or adjustments I'd made. Not updated data, but previous state.
3. Do. Not. Lose. My. Shit. I can accomplish this far better myself than you will ever have need to do.
4. Any tab last viewed > 10--15 minutes ago is all but certainly fair game. Just peel it off disk quickly when resumed, that's all I ask.
All that said, this is progress, thank you, I don't want to sound ungrateful.[2] But there is so much futher to go.
________________________________
Notes:
1. 1,530+ at last count. Don't judge me, unless you're a sphynx of black quartz, and then only my vow.
2. A bit late for that, I'm aware.
I don't loose anything. It preserves the state. The usage of ram it's fantastic. And I'm only have around 40 tabs open any time.
This new native auto unload, don't loses anything and preserves the state. it uses the same API!
People should really get back to bookmarks, thats what they are for.
Besides my usual bookmark folders, I have folders to hold temporary bookmarks (ToRead, ResearchSupport, etc...). These I know I will delete after going through the content.
But I wonder if the whole bookmarking thing got frozen in time, and is not sufficient for most people. Perhaps new features are needed in order to become more useful again and replace the whole "keep-tabs-open" behavior
Tab bar is indeed messy, I use Tree Style Tab in the side bar. And dozens of categorized windows, each with a name.
I don't need an alternative or better way. It works great and I hope this use case remains supported.
I can't relate to that amount of tabs, but do have an upper limit of around 100 at which time I start actively trimming them down (either dismiss as having lost importance, digest or bookmark for later digestion).
My bookmarks steadily grow, but are categorized, tagged and labelled in such a way that I can easily find and digest certain types of urls later on when I feel ready for it. They do grow faster then I can consume them though.
I also used 'New Tab Suspender' and 'Total Suspender' add-ons for a while in an attempt to reduce memory usage, but stopped due to Firefox crashes I assumed were caused by them.
Please tell me I'm missing something and that there's a way to do this in Chrome so I can access the tags on my phone????
I have about 30,000 unsorted bookmarks.
Yes.
Because I need tagging.
Sadly Firefox does (for some peculiar reason) not give acceess to the tags on the mobile browser.
So I navigate by folder hiearchy on mobile; read > professional > development > android > db for instance.
Oh. TIL. That's... a bit of an unexpected shortcoming I wasn't aware of. Hmm...
(My Chrome session is big enough that I don't quite have the RAM to play with Firefox, which I was coincidentally last playing with just as the WebExtensions update kicked in and broke my UI setup. Welp.)
Effectively full-text-search tagging.
i just don't have the time and energy to manage bookmarks it seems. web content also feels kinda temporary so i guess that is a good compromise.
sadly since quantum there is no more tabkit and the alternatives have a LOT less vertical density and the tabgroup-features are not on par.
I would use bookmarks extensively, but the UI elements to add, organize, and manage them have not kept up. We need something more akin to the Windows Explorer, to be honest - it's a great file manager that has stood the test of time since the 90's. Once I hit about 12000 bookmarks, I just stopped collecting more - it was taking way too long adding them with conventional UIs.
That's where tab usage comes in. Bear with me while I explain a use case, as this might take a few paragraphs... I'm also unsure how to word it in a way that avoids sounding arrogant. I'm in IT, but I handle support requests primarily from other IT people and businesses in my little corner of BC, Canada, and regularly handle a thousand or so support requests per week. (with no mistakes or missed details.) My colleagues have dubbed me a hyper-tasker due to the level of sustained speed and detail. But that'd be absolutely impossible without static UI elements. In this case features like tabs and Windows are basically UI elements for the tasks or data required.
I better get to elaborating...
Things that shuffle around slow people down, as now you need to search for the thing rather than go straight to it. Microsoft has published extensive good-UI-design whitepapers... and then proceeded to ignore their own research, a lot of the time. A good example is Alt+Tab - it rearranges previews based on what was last used, so if you have a few hundred things open, good luck ever finding what you want on the first attempt. I use 7 taskbar tweaker to fix that behaviour, plus taskbar behaviour. Alphabetical lists, thank you very much - with no previews. I decombine window stacks for that very reason.
Taskbars have tons of horizontal space - no need to jumble icons up and constantly rearrange them. I want the window for stock websites to be in one spot, the window for programming sites in another, the window for news sites in another spot, the window for /. in another, the window for printer remote servicing and on-site reset procedures in another, the window for videogame stuff in another, the window for looking up local business contact info in another, the window for web developer and Wordpress stuff in another, the window for electronic schematics for boat GPS systems in another, etc...
And when they get too many tabs, I just spill them over to another window, which goes beside the first. Since they are largely static, I can always find the right window for what I'm doing in under 200ms.
Then for tabs, I recognize the icons, and turned off all previews, then enabled keyboard shortcuts, so I can very quickly toggle between them. Again, each tab flip is under ~200ms (Depends on PC performance, but with Ryzen and 128GB, tab flips are always speedy), so I can do 5-10 tabs per second. Makes it quite quick locating what I want. Even if I mis-click and end up on tab 86 rather than tab 110 (out of 200 or whatever in the window), just hitting my keyboard shortcuts a few times gets me to the right spot. Since the tabs are basically a chronological history, I only need to remember roughly when I was working on something or looked up some information, and then I can go back in time or forward in time very quickly using the keyboard shortcuts. These tabs end up fully replacing the back/forwards feature built into the browser. Silly, right? Yet it works better.
Honestly, if someone asks me to flip to some task, it's usually about 3-4 seconds at most to get there, even with well in excess of a thousand open. When you're juggling a lot of tasks throughout the day for a multitude of clients and their clients, this shoots your productivity through the roof. 60-80 emails? 40 phonecalls? Oodles of tickets? No problem getting everything done. After all, all the tabs are up in front of you, waiting to go.
And if for some reason you brain-fart on where something is, now most web browsers have a tab search feature too. Takes a bit longer, but you can still get to the right tab in 10-15 seconds typically.
It's really work scenarios like this that drive this sort of need. When you're basically the helpdesk for multiple companies and other IT people and all their clients and their diverse tasks/requests. But I could see anyone that engages in heavy duty rabbit-hole research benefiting from similar UI use, perhaps with slightly less activity throughout the day, but still needing to keep tons of sites open and available until project completion. The difference there would be that they're working on a few larger projects, not dozens and dozens of smaller ones driven by clients.
I think most people that don't do this sort of hyper-tasking have no idea how proficient you can get at it. It's like those secretaries that pull off 200-300wpm on Dvorak or other keyboard layouts. Most of us are sitting in a more reasonable 30-60wpm range. Or those people that power-slide the lambo into a parking stall on a movie. It's way outside the realm of average use and skill, but you can't help but be impressed when you witness that proficiency.
Hyper-tasking is a skill that takes years to build up, as it requires mind, computer and software workspace to all be in sync with one another. But when you sit behind someone and watch them fielding requests and handling tasks that would normally take a team of 5 or 10 people, it's quite impressive.
Honestly, if I could have the perfect web browser for my use and my work, I'd happily pay $10/mo for it, forever - or at least until I retire. Why are pretty much all web browsers free, but don't cater to power user use cases like this? Hmm...
If you bothered to stick around until the end, I hope that explained one use case in a way that is understandable!
We agree on the fact that bookmark management hasn't kept up with the times. I think bookmarks need to be re-invented for the modern era, no one uses them anymore.
But it also boils down to how you manage your own work. If I open a webpage, my workflow has only this options
- read it now
- bookmark for reference (long-term)
- send to pocket(read later - ereader usually)
- keep it open for a little while for reference (max 24hrs)
So I clean up the house quite regularly :)
Whenever I need to open something (like developer docs), i just Ctrl+L begin typing the title and autocomplete does the rest. Takes me a second and no clutter in my windows :)
I didn't even know this was possible.
Tabs only load once directly viewed, so a session restore opens pretty quickly and doesn't actually use all that much memory. After a time, as more tabs are visited (and yes, I really do try to shut some down with time), the session eventually gets less usable, though that can take many days (I've not tracked this).
Moving and searching within the tabset itself is another part of the challenge, though at least Firefox will prompt if you're opening URL that's already open elsewhere. (Chrome ... fails at this.)
And yes, of course I'm using Tree-Style Tabs.
Opera does indeed have switch to tab, FYI - and open tab searching.
Actually, far less than that as I've stopped using it entirely.
[1] https://www.mozilla.org/en-US/firefox/93.0/system-requiremen...
The fact that people (myself included) have 100s of tabs open is a symptom of just how broken bookmarking is on the modern web. Bookmarks are a miserable way to create a placeholder for your thoughts. It's too static, must be maintained, and generally prone to link rot.
I'm a scientist. I open and read 10-20-100 links for a given topic depending on if I'm coding or if I'm writing my own papers. These pages are often very temporary for me, in the sense that maybe I'm browsing documentation and the exact place in the documentation that I'm visiting changes in time. Or maybe I initially believe a paper will be relevant to future work but I haven't read it and would like to get back to it in some time. I could spend the mental overhead of keeping an organized bookmark system that changes with these workflows day in and day out... or... I could just leave the tabs open. Guess which I choose? I have a laptop with 64Gb of ram for a reason. Although firefox is pretty fantastic these days in terms of resource usage.
With that said, there are very few limitations to the browser at this point and it will be eventually open source so feel free to reach out as well!
I don't mind maintaining it, so sometimes I use getpocket for that purpose but getpocket is not organized and frankly is not made for this purpose.
Except in the immediate short-term, keeping a tab open doesn't really fully help in that regard, though – even if the browser doesn't autonomously unloads tabs, sooner or later most people will eventually need to restart the browser and/or computer for updates, old pages are eventually evicted from the browser cache, and so tabs suffer from link rot just the same as bookmarks do.
Try Edge, the collection feature is a game changer.
Or alternately, maybe bookmarks could become an extension of existing tab management features. Something like Chrome's tab groups or the Tree Style Tabs[1] extension for Firefox, but with the ability to "archive" tabs or groups of tabs into a searchable repository for later reference.
Just some ideas...
[1]: https://addons.mozilla.org/en-US/firefox/addon/tree-style-ta...
These are all obvious ideas for computers with lots of memory and disk space, but browsers are one-size fits all designed for 4 GiB laptops and old phones.
The same with youtube videos (I like to run hour long videos that create a soundscapes in the background), it is super easy to create a collection that you can open with just a few clicks.
This doesn't mean bookmarks are a substitute for lots of tabs, but I still think bookmarks have a place.
start firefox http://example.com
start firefox http://example.org
start firefox http://example.net
and that would "open a bunch of specific URLs at once" with a single invocation. Or make a filesystem folder with URL links in it and select many of them and open all at once. Or make a HTML page with some javascript which 'clicks' multiple links at once.The only thing that does not do is appear in the browser UI itself, and browsers go a long way to try and make sure bookmarks don't either :|
I'd like to see them stored in a database where you can get the data out by running filters. Those filters should be able to search meta data about currently opened tabs, browser history, saved tabs or sets of tabs, and some data from the web pages themselves. It should be simple to search all my currently opened tabs for a list of terms (like sql, select, from, where, etc) and have them be moved from my current window to a new window. I should be able to save these as a set of tabs labeled "sql". If that set already exists, it should combine them, throwing out duplicates. Ideally, web browsers should have the ability to save keywords from pages you have visited in your own little web data store. If I ran across a reference to a particular subject in the past few days, I should be able to search my history and my store of keywords for pages that mention that subject, and load them all into a new window that can be saved as a set of tabs. I should be able to search for web pages in a set of sets of tabs that have been modified in the last hour. Or open all images I've seen on webpages in the last couple of days or that have a keyword in the image name.
Manually sorting bookmarks does work, but I'd like to see something a lot more robust. I can, for example, bring up the history sidebar and see if I can figure out which site I was on that mentioned a particular game or physics term or whatever, but it should be a lot easier to do these things. In Firefox I can search page titles for a specific page, but it won't search through the page contents.
On a related note, it seems to me that all browsers should be able to act as web spiders so that every page you come across through daily operation goes into your own search terms database and that searches should start there before going to one of the search providers. Maybe have them spider links on each page a level or two down so you can find related items easier even if you didn't actually go to the page in question. You would also be able to search the parts of walled gardens you've visited lately, which normal web search won't see.
Anyway, I'm just spit-balling here, but it seems like there is a lot of room for innovation in how we select, save, group, and access web pages.
Personally as a scientist I'm aghast you operate this way. If you were my student I would change everything about this system of yours. My word. Use folders for your bookmarks to keep things organized. Save important documentation as local pdfs so you can refer to it when you need to keep working and the site is down and you can't click to new pages (happened to me before). Use zotero for gods sakes to organize your literature. Just do it, promise me you will. You've given me a headache just imagining your workflow :)
Often when given the option either mucking around with that or just leaving the tab in the background, I end up choosing the latter.
Our tools should be better.
Why can't it be one click to save the whole page? At least the url/text/images... I have terabytes of storage but no easy way to save a webpage.
Oh, and "Flow" which is something like personal chat app, you can send links and notes and have access to them from Opera on mobile too. It's achievable in other ways obviously, but the workflow here is smoother, because it's built in and sharing link to website is done with one click.
Part of the problem is that it's tricky for people to innovate on bookmarks in an accessible way, because I'm not going to do heavy browsing in a 3rd-party Chromium fork that doesn't have Firefox's privacy tools or support for Ublock Origin.
But more experimentation with bookmarking systems would be very welcome. In the meantime, here I sit with my 977 open tabs.
Actually, I think it should be very simple. We already have Tree Style Tabs and it has Group-Tabs. Just mirror the Tab-Tree with a Bookmark-Tree, where Group-Tabs are folders, done. There is already a tab-tree-addon doing something similar (was it sideberry?), but it's still a bit fizzy and unstable and needs more polishing. I guess firefox itself needs more optimization in that area.
Similar could be done with Tab-Groups, when done good. There used to be a XUL-addon which added a tabbar for groups. Combined with tree style tabs on the side, this made a really awesome interface. I'm still sad that addons can't do this today anymore.
are you getting it?
a tab, a bookmark, and a history entry
Why the hell is JavaScript allowed to run amok? I understand things like Spotify, but Facebook has no need to stream news feed updates if you aren’t even looking at the page. It really needs to be up to browsers to stop this behaviour because obviously JavaScript devs don’t self regulate.
Turning off Javascript won't suddenly make 900+ tabs easy to manage. The UX isn't designed for that volume of separate pages, the tabs are cumbersome to navigate and still just don't really lend themselves well to large sessions that span multiple topics.
I'd believe the same thing even if Javascript had never been invented, tabs as they exist today aren't suitable for long-term content storage/references. Firefox doesn't even support tab grouping unless you set up another extension to try and hobble in tab tree support.
Tabs should be short lived bookmarks, long lived bookmarks could do with a UX update too.
I’m not saying I have all the answers, and we’re probably both half right. We’ve taken concepts which have been around since I can remember (IE5/6 days) and just run with them for 20 years without many substantial changes.
I'm fine with searching. I want to have searchable fulltext in those 900+ tabs.
Just for a back of the napkin calculation, I took the plain text from this comments page and saved it, and it came to 52kb.
My PC has 64Gb RAM. So even without any form of compression or indexing, I should be able to hold searchable fulltext of over a million tabs in RAM.
My PC also has Terabytes of slower storage.
Now please tell me, why should I ever have to close a tab?
Because Facebook needs continuous doomscrolling for its victims?
Well, that's a tradeoff that I wish wasn't forced on me, because I'd gladly force all those sites to be paginated if it was possible.
I just said "the UX here is due for a lot of innovation." And you replied "I want to have searchable fulltext in those 900+ tabs." Where is the conflict?
Yes, you could build a really interesting tab/bookmarking system in a browser that blurred the lines between tabs and bookmarks and archival. You could do really interesting things with browser history, you could do really interesting things with all of these features.
That is exactly what I just said, the area is ripe for innovation. Currently, you don't have full-text searchable tabs, the UX isn't optimized for your use case. Would be cool if you did though, that would be a feature that would be fun for browsers to play around with.
Edit: Now if only they'd fix their bookmark system!
I forget what they called it but you could link one page to another, so I could have an index page open on one monitor and when you clicked on links in that, it would open those links in tabs in a window I had on another monitor.
I even quoted the part of your comment that I was replying to.
Also two of these three, history and bookmarks, are presently bitrotting badly in firefox. Firefox's 'Library' window that shows History and Bookmarks in separate tabs is abysmally neglected.
I settled for Workona when it launched about 2+ years ago after trying many extensions else like OneTab, SessionBuddy, Toby and so on.
I might start looking for something else again as Workona is getting a bit more, commercialized, but it's fine for now.
I use very few bookmarks now, the ones I have are just for websites that may be hard to find, or simply the ones that I visit enough to want a quick suggestion when I start typing the URL.
I almost never regret closing a tab, if I need it I can find it again. If not, it means it was not that relevant, and I might just as well start a new search from scratch to possibly find a better link instead.
I have thousands of Org files that include hundreds of thousands of references to sources of information, and I'm confused by your workflow. How do you quickly relocate sources of the highest quality information that aren't among the top search results for relevant queries (which is the result of search engine rankings mostly being popularity contests whose participants are dummies)?
For example, I recently bought a new toilet after reading in-depth discussions about toilets at a small web forum for plumbers who were far more knowledgeable than people at related subreddits, etc. I don't remember the name of that forum, but it's in my toilets.org file, along with 452 other toilet-related links. Why would I want to relocate that web forum and the other 452 sources of information in toilets.org the next time I buy a toilet?
But still, maybe you end up with this unique link once in a while, and if it's that obscure, I find it worth exporting the page as pdf / html. My point is that in most cases, saving them (as bookmarks) is counter-productive.
> Why would I want to relocate that web forum and the other 452 sources of information in toilets.org the next time I buy a toilet?
Because they'll be outdated by then and you'll end up having to search again. If they're still relevant they'll resurface anyway. I find it hard to believe that your 452 sources all are and will remain better than the top 10 results of your search engine.
5+ browser windows on 32mb of ram was never an issue back in the win95 time (so, whole os + browser and 5 pages). Now, we've got 8 gb of ram as pretty much minimum on mid range laptops, soon even on phones (flagships have it now), and browsers have become a biggest memory user (outside of newish games) on an average pc.
Select all tabs.
Bookmark tabs...
Window Titler to have a topic name for each window
Multi-Account Containers to have an account for each window
Temporary Containers when I don't want to use a specific account for a tab
Total Suspender for shutting down all the obnoxious JS that runs in background tabs
In addition, I pin a large # of base sites.
This is all working fairly well, but would be much improved if FF had a Move Tab option that lets me select a specific existing window. DUH - such an obviously useful feature!
(edit) UG. The only way to create a new tab with Sidebery is to use a keyboard shortcut - this makes using Multi Account Containers a serious PITA as you can't just open a tab directly into a container. so frustrating!
'Other Window'. Can't live without it.
bp-cb27fd07-ad27-49bf-b6c2-9dbbb0211005
bp-96eef135-da51-45a8-a792-d28810211005
bp-184a8916-227c-42c4-8308-6e3c00211005
bp-ba6748d3-2d93-4d84-992e-8cf960211005
bp-8bdfb00f-0e30-4cd3-826c-efb910211005
Here is the Bugzilla ticket: https://bugzilla.mozilla.org/show_bug.cgi?id=1572915
I segregate browsers by using different Linux users for different tasks (slack, Facebook, general, etc) which works well with my similarly bespoke workflow. The problem with this arrangement is that When Firefox has pending system upgrades it requires all browsers be closed and reopened.
I’m curious about your productivity hack though, I use a grid keyboard layout with ~20 workspaces grouped to four windows for each task/project and one set to emails/fb/slack
How many vendors are there? If there’s a small pool maybe scraping their datasets would work well also
There are few vendors but they have millions of pages and the relevant data changes daily.
I've got 99 problems with Firefox, but a crash ain't one.
What doesn't work is trying to compile the browser on the Pi. The build process has some really gigantic source files that cause the compiler to choke.
Firefox should literally never crash. If it does, that's a serious bug (but especially on Windows, not necessarily in Firefox itself).
The crashes could be some addon or other profile feature interfering with Firefox's stability. I had a profile that I migrated from FF 1.x, and I finally had to put that one to rest...
I still use it because it's better than Chrome, and I wouldn't touch Brave with a 10 foot pole.
Back up your extension settings and bookmarks, and do a fresh install of it. Bit of a nuisance but usually fixes any weird behaviour in my experience.
Firefox should literally never crash. If it does, that's a serious bug (but especially on Windows, not necessarily in Firefox itself).
The SDK provides a notification when memory pressure is high, so people try to get aggressive and purge their caches and unused assets when that notification arrives, but that only makes the problem worse.
A dropped tab cannot always be reloaded to the same content. No thanks, I'd rather get more RAM or swap space for paging.
The tabbing feature of "close all pages to the right of this one" is almost good enough for me.
What I would like is some UI where all the tabs are compactly shown as rows in a table. Here, you could select tabs and move them up or down, delete them, or farm them off to their own window.
https://addons.mozilla.org/en-US/firefox/addon/tree-style-ta...
As the article explains, if you have enough swap you'll never trigger this. It activates right before you'd have crashed otherwise.
The options seem to be:
- Great Suspender style suspension [2] - swap page with a simple low memory placeholder and reload back (detecting interactions)
- Chrome/FF style tab discarding (only happens with memory pressure) [this post and 3]
- Optimistic unloading with screenshots (this is what we're experimenting with) - we suspend the tab and replace it with a screenshot of the tab before it was suspended, you trigger a reload if you need it. It seems that the screenshot gives you access to the information you cared about while being easy to unload and reload from memory and making it much less likely you actually trigger a reload.
One final one I've been thinking about that I haven't gotten around to testing yet for fast-fan-syndrome (and non-memory limited systems) is to just use renice/cputhrottle (in macOS for example) to force CPU share limits on the processes. This has portability issues and requires certain privileges which is why I'm hesitant to try it immediately.
These obviously have their issues like stopping the JS VM when there might be long running thing that was actually desired (usually prevented with a whitelist).
Happy to test any other ways you think might work!
[1] https://synth.app [2] https://chrome.google.com/webstore/detail/the-great-suspende... [3] https://developers.google.com/web/updates/2015/09/tab-discar...
Just a thought
In a way this change probably narrows the gap between browsers on desktop and mobile OSes. Hopefully this is a good thing, as I expect this implementation will be smart enough not to unload tabs with filled in forms and such.
I could be wrong in this interpretation.
Mobile devices are so utterly unsuited to actual productive use for this very reason. (I'm quite familiar with this, have attempted to use them in this manner for years, and am typing this on a Chrome/Android session I utterly despise.)
The problem extends to other tools -- Termux, useful as it is, also randomly gets garbage collected and killed. Best I can understand, Android actually employs some AI-based memory management whose training goal seems to have been "how to maximally annoy dredmorbius".
Someone's earned their KPI.
From following the bug tracker this definitively seems to be a problem with Firefox now – I wonder how Chrome gets around that problem, though? Do they suffer from the same problem, have they found some neat workaround, or are they cheating and being specially whitelisted by the OS?
This one works well enough that we can default it on :-)
The previous one didn't reliably detect low memory situations and you could crash with OOM before it ever triggered. The article goes into detail about the various signals that have to be monitored on Windows. We had to do some work on gathering the metrics and correlating with crash data to determine when to trigger.
https://www.google.com/search?client=firefox-b-1-d&q=site%3A...
I've longed for such a mechanism in Linux, but I don't think it exists. This should at least be an OS-level signal IMO, though a D-Bus interface could also work. Integrating with one of the recent userspace OOM daemons could be a good idea.
Linux could use some improvement on both. The idea that you always have enough swap and can send everything not used there is wrong. Applications know better how they behave a low-memory than the kernel.
This isn't the same thing as detecting how much memory is available because Linux overcommits by default. PSI will tell you when the kernel is swapping too much (depending on the thresholds you set) and from that you can infer the user is running low on memory.
Android's lowmemkiller had an explicit free memory threshold userspace could set to be notified. Starting with Android 11 however it's now using PSI too IIRC.
Its pushing Firefox to purge memory more and more, and it managed to reduce memory usage from gigabytes to under 500MB (used, not allocated).
I use the Sidebery addon for Firefox, set auto-fold to off and unload folded tabs to on. When I'm working on something, I keep all the branches that I need open, and when I'm done with that particular topic, I fold the branch, the tabs get unloaded, and I have a pretty list of squished branches that I can expand and get back to if I so wish. And if I'm really done with one, I can easily bookmark it and put it do "deep storage." It took 15 years of using Firefox but I finally have a tab management system that I'm happy with.
If your phone is known for aggressive memory management (https://dontkillmyapp.com/), maybe exempting Firefox from its memory optimisations (if that's possible) might help a little, but no guarantees.
I just don't get why this would be useful. When I start Firefox, inactive tabs aren't loaded until I click on them. If something is eating RAM, I can close that tab or close Firefox, and very rarely Firefox would crash. Why would someone like me, that doesn't suspend/hybernate their computer, want this and get a tab unloaded without my explicit will to do so?
When I start Firefox, most tabs (4 or 5 nowadays) won't load, but be there as placeholders for things I need/want to solve through the week (e.g., Amazon search for a gift for my nephew, Youtube list of tutorials). They won't load until I'm ready to use those tabs.
On the other hand, I've had tabs loaded from the start of one session and used sparsely through the day. I would not want those tabs to be unloaded without my consent, even if they are memory hogs, as it would interrupt my workflow. Crashing is fine (and accepted as a last moment failsafe move) by me.
The feature stops (or reduces the likelyhood) of that happening. It literally is made to trigger in a situation where the alternative is to crash.
>So, if I want to disable this, I should set a big number to the browser.low_commit_space_threshold_mb pref in about:config, right?
This will ensure that you crash and have to reload all of your tabs instead of the oldest ones, yes :-)
That's a disheartening stance to hear. The browser should be actively evicting work before I start swapping if it's using more than some small percentage of overall RSS. If my IDE decides it needs more RAM for code completion, the browser should play nice rather than slowing my machine to a crawl.
If it's not reliable, the browser unloads tabs when it's not needed, and that's way more annoying.
I think this is a very unpopular way of using tabs though. Most people seem to use it as a sort of work queue and leave tabs open for days or longer. I hate doing that, I'd rather just search for the information again or look in the history.
See an example here: https://stackoverflow.com/questions/26020580/huge-stdvectors...
Guess the solution would be either preallocating/reserving everything, or maybe using custom allocators that works with bigger chunks
If the sub systems can reduce their meneory use why not do that by default?
Look forward to trying this out when it becomes available for an OS I use.
Getting macOS to OOM is actually pretty difficult, we probably want to unload tabs before that point for performance (swap!) reasons, but that's also harder to measure very reliably.
I was hoping for some kind of SIGSTOP equivalent on any JavaScript when the tab doesn't have focus (without unloading anything). Instead, it basically closes the tab but leaves it on the tab bar, and when you return to it the tab gets reloaded.
You got this wrong, yet again. What causes the memory to run out in the first place? That is what you should be fixing.
Not all OOM situations are because of a malfunction or leak.
Either the user opened enough tabs to use memory, or the rest of the system is using too much memory. Neither of those is "fixable"; a browser that randomly closes your tabs or kills other programs is not going to be well received.