TabFern icon indicating copy to clipboard operation
TabFern copied to clipboard

TF + WASM for heavy compute?

Open philiprhoades opened this issue 1 year ago • 5 comments

People,

On Fedora 40 I use:

  • FireFox for webmail and related stuff (no TF)
  • Chrome for all my G stuff (with TF)
  • Brave for all my day-to-day workhorse browser stuff (with TF)

and I tend to keep adding windows until the computer starts slowing down and so closing them if I have to.

After exporting my TF setups and running them through "cat backup | jq . > nice.txt" I have:

  • 57,994 lines in my Brave backup and
  • 35,766 lines in my Chrome backup

I am pretty sure heavy-duty use of TF grinds my computer to a halt if I am not careful (ie closing windows or if desperate also exiting out of the browsers - even occasionally needing to reboot!).

So, I am wondering, what is the possibility that WASM might be able to take over some of the JS crunching to help speed up TF? Every now and then I start learning Rust but not get anywhere (it reminds of when I already knew C but started to learn C++) . . but there might be easier ways to make use of WASM these days . . what do people here who know about the guts of TF think about using WASM?

Thanks for TF once again people! - it is my #2 extension (after BitWarden)! - and sorry I have never had much time to help with its dev - I just realised I have been using v3.1 for a very long time! (I have updated to 4.2 now).

philiprhoades avatar Nov 23 '24 02:11 philiprhoades

I certainly have no objections :) . The computation is split between app/win and https://github.com/vakata/jstree . I think lazy-loading of windows/trees would probably be easier, since jstree already has hooks for that.

Another option that I just thought of would be to write a new main UI that just had a filter box at the top, and you typed in what you wanted to find. Edit I'm imagining something like the "Basic AJAX Demo" at https://www.jstree.com/demo/, except that no nodes would show up except for search results and currently-opened windows. That would remove most of the work that jstree has to do.

cxw42 avatar Nov 24 '24 00:11 cxw42

Interesting . . for me I might have to have the search on recency or name - all the recent windows get accumulated at the top - so say windows worked on today, over the last week / month - a duration selection?

Would you also add the tree option like in the demo?

The other idea I had a while ago is to be able archive some windows so they weren't currently active - they would need to be able to be re-activated if necessary though . .

Anything that improves speed / reduces overhead would be good!

philiprhoades avatar Nov 24 '24 02:11 philiprhoades

I think making any windows older than X be loaded only on demand wouldn't be too hard. That's an interesting idea!

cxw42 avatar Nov 24 '24 14:11 cxw42

I think making any windows older than X be loaded only on demand wouldn't be too hard.

Excellent! - I have my list alpha-sorted except for the ones I am currently working on - so being able to choose the top of the list would work well! Assuming I could then choose "Load All" somehow, reorganise the order again, and then turn on "Top X Only" again.

That's an interesting idea!

Thanks! - I have been known to have them occasionally . . maybe every decade or so . .

philiprhoades avatar Nov 29 '24 10:11 philiprhoades

Another addition which is sort of related to the above discussion:

I now have nearly 1,000 windows in Brave TF and, as documented above, I am constantly keeping order and organisation amongst the windows and tabs - sometimes I remember I have done some work at some time and have one or more tabs that I want to go back to but I don't remember what the name of the window is - or the window might just have a date name like: "2025-02-10". So, what would help greatly, is to be able to search for a string that would be in a page title for a tab - even if the corresponding window is not open - then offering a choice of windows to open.

ATM, I use Vim or jq on the exported JSON file to find the name of the window I want and then go back to TF - but it would be much nicer to be able to find what I want within TF of course . .

philiprhoades avatar Apr 25 '25 14:04 philiprhoades