Comments (10)
With the commit 07bed44 now TST uses overflow/underflow events instead of ResizeObserver again if those events are available. Performance regression reported at here will go away until Firefox 128, but it is not a fundamental solution.
from treestyletab.
I've tried TST 4.0.15 + Firefox ESR 115.11.0 on Ubuntu 22.04 (on VirtualBox) but couldn't reproduce such a hanging. Could you collect a performance profile?
https://github.com/piroor/treestyletab/wiki/How-to-inspect-tree-of-tabs#how-to-collect-a-performance-profile
from treestyletab.
Not sure what has changed since yesterday, but it managed to load at all today, though slow. It's still 4.0.15
Firefox 2024-05-23 12.13 profile.json.gz
from treestyletab.
Thanks, I've realized that a change introduced to follow Firefox's change https://bugzilla.mozilla.org/show_bug.cgi?id=1897595 triggers the problem.
from treestyletab.
The issue is that you're synchronously determining the overflow state on connectedCallback()
, the right thing to do is to just let the ResizeObserver
callback be invoked once (it will be), or use requestAnimationFrame
to batch the initial observations.
from treestyletab.
@emilio Hmm, the initial "overflow" state is required to know when the state is actually changed, so the synchronous operation
treestyletab/webextensions/common/common.js
Line 994 in 9022cb0
treestyletab/webextensions/common/common.js
Line 1002 in 9022cb0
I can give up to determine the initial state but it looks to mean the initial resizing will be detected as "overflow" or "underflow" here
treestyletab/webextensions/common/common.js
Line 1007 in bf09c98
from treestyletab.
Anyway this throttling may be effective to reduce needless style computations for tab elements inserted to the DOM tree and immediately removed by quick scrolling.
12359f7
@DarthGandalf Could you try the latest development build? https://github.com/piroor/treestyletab?tab=readme-ov-file#development-builds
from treestyletab.
I didn't really measure time, so can't compare whether it's faster than before. It at least finished loading, unlike yesterday :)
Firefox 2024-05-23 16.01 profile.json.gz
from treestyletab.
I had noticed a performance degradation (specifically when scrolling up in the list of tabs) on 4.0.15 (firefox 126, windows 11). The development build makes it much better, though perhaps slightly slower than before 4.0.15.
from treestyletab.
ive been able to reproduce this issue as well with only 70 tabs
on
Arch Linux x86_64
Firefox 126.0.1
TST 4.0.15
edit, i bookmarked my tabs, closed all of them, even cleared all site cookies/data.
and now even with just a single tab open here on github, TST just hangs and doesnt load at all.
Just showing a loading bar (that appears to be about 20% complete) and flickers every 10-15 seconds.
edit 2: found a workaround after struggling with this for a few days:
- bookmark all your open tabs into a folder
- downgrade to TST 4.0.14
- disable auto-updates for TST
- go to Firefox Settings -> General -> Startup
- uncheck "Open previous windows and tabs"
- restart firefox
- Now TST should be working 😄
- go to Firefox Settings -> General -> Startup
- check "Open previous windows and tabs"
- now restore your bookmarks folder if needed
@piroor looks like you added backward compatibility as a workaround already, when can we expect a TST update including 07bed44
from treestyletab.
Related Issues (20)
- [Enhancement] Review terminology used in locales HOT 2
- [Bug] Cannot scroll the sidebar with latest nightlies HOT 7
- [Enhancement] Prevent Automatic Collapse/Expand to keep all tab depths/tab titles in view HOT 5
- Wrong tab selected after closing, reopening and closing again HOT 4
- [Enhancement] support pref "browser.tabs.cardPreview.enabled" HOT 5
- [Bug] Tab titles don't resize with sidebar after nightly 2024-05-28 22:22:16.612000 HOT 3
- [Help] - (Seeking customisable default zoom)
- [Enhancement] Don't load unloaded tabs on drag drop of tree HOT 7
- [Enhancement] Easy setting tab indent width with a numerical setting in Preferences > Appearance HOT 4
- [Bug] Dragging collapsed folders sometimes results in tabs leaving tab folder/group hierachy HOT 10
- Please add a true tree functionality sorted by domain HOT 6
- [Bug] "Allow to open a new tab with the URL in the clipboard, by middle click on the "New Tab" button" not working HOT 2
- [Enhancement] “Focus to Parent Tab” and “Collapse this Tree” in one keyboard shortcut HOT 1
- [Bug] New tab from application opens with "forbidden-url" URL HOT 3
- [Bug] Animations play when re-rendering tabs with virtual scrolling enabled HOT 3
- [Bug] (Unloaded tabs unable to be accessed via Hotkey navigation) HOT 3
- [Bug] Shift + Opt + Right/Left Arrow override? HOT 10
- [Bug] 4.0.17 completely breaks TST, tabs are not visible anymore HOT 2
- [Bug] set-extra-contents to new-tab-button doesn't seem to respect window parameter HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from treestyletab.