Open trych opened 3 weeks ago
Does this still happen, after disabling and re-enabling TST?
Yes, unfortunately. It also happened after uninstalling and re-installing TST. I now had to downgrade to get it to work again, otherwise FF was unusable for me.
I have the same issue with 4.0.18, Firefox 126.0 (OS: Ubuntu)
Ah, I meant: Disabling and re-enabling TST reloads TST's scripts totally. If the problem is a timing issue, it can be a workaround without downgrading of TST, and we'll be able to investigate its initialization process to avoid such a timing issue.
On the other hand, if such a reloading does not solve the problem and you really need to downgrade TST, we'll need to investigate difference between the latest version and the available version.
So I hoped that you try the reloading before downgrading.
Disabling it did not work, however uninstalling it and restarting Firefox, then re-installing it did the trick. I don't know what the issue was at all though.
For me neither disabling nor reloading did work. I am not sure if I specifically tried uninstalling it, restarting FF and then re-installing it.
I, too, am having this issue, version 4.0.18, Firefox 127.0.1 (64-bit) Windows 10 Pro. I disabled and re-enabled the plugin and did not resolve the issue.
Me neither disabling nor reloading did work even after FF restart or reinstall TST. TST 4.0.18, Firefox 127.0.2 (64-bit), macOS Sonoma 14.5.
I have the same problem on TST 4.0.18, Firefox 127.0.2, Windows 11. It did not help to disable and enable TST. The only way I could make it work was to back up my config, uninstall TST, and install 4.0.15 from AMO. The old version is working for me.
4.0.17 contains only fixes for regressions on 4.0.16, so this looks to be an issue caused by something changes at 4.0.16 and later. Changes at 4.0.16 are: https://github.com/piroor/treestyletab/compare/4.0.15...4.0.16 Hmm, which change triggers this issue?
Could you post detailed startup log of TST? Steps:
about:debugging
import('/common/MetricsData.js').then(ns =>console.log(ns.default.toString()))
import('/common/MetricsData.js').then(ns =>console.log(ns.default.toString()))
Here is my case on background.html:
total 4427541 msec
950: index: Loaded
133: init: start
325: (async) waitUntilCompletelyRestored: existing tabs
515: (async) waitUntilCompletelyRestored: opening tabs
718: (async) init: waiting for waitUntilCompletelyRestored, ContextualIdentities.init and configs.$loaded
720: init: prepare
17: init: Migration.migrateConfigs
81: (async) init: getting all tabs across windows
646: restoreWindowFromEffectiveWindowCache: start
34: restoreWindowFromEffectiveWindowCache: start
20: restoreWindowFromEffectiveWindowCache: start
1386: (async) restoreWindowFromEffectiveWindowCache: window cache
1416: restoreWindowFromEffectiveWindowCache: validity check: start
1: restoreWindowFromEffectiveWindowCache: validity check: signature passed.
0: restoreWindowFromEffectiveWindowCache: validity check: matching actual signature of got cache
6: restoreWindowFromEffectiveWindowCache: validity check: actual signature failed.
1472: (async) rebuildAll: restore tabs in window 1 from cache
2772: (async) rebuildAll: tabs in window 1
2840: (async) restoreWindowFromEffectiveWindowCache: window cache
1414: restoreWindowFromEffectiveWindowCache: validity check: start
2: restoreWindowFromEffectiveWindowCache: validity check: signature passed.
0: restoreWindowFromEffectiveWindowCache: validity check: matching actual signature of got cache
2: restoreWindowFromEffectiveWindowCache: validity check: actual signature passed.
49: (async) restoreWindowFromEffectiveWindowCache: permanentStatus
49: restoreTabsFromCacheInternal: start
1: fixupTabsRestoredFromCache: start
2969: (async) rebuildAll: tabs in window 26
2950: (async) restoreWindowFromEffectiveWindowCache: window cache
61: restoreWindowFromEffectiveWindowCache: validity check: start
0: restoreWindowFromEffectiveWindowCache: validity check: signature passed.
0: restoreWindowFromEffectiveWindowCache: validity check: matching actual signature of got cache
1: restoreWindowFromEffectiveWindowCache: validity check: actual signature passed.
32: (async) restoreWindowFromEffectiveWindowCache: permanentStatus
32: restoreTabsFromCacheInternal: start
0: fixupTabsRestoredFromCache: start
0: fixupTabsRestoredFromCache: step 1 done.
3: fixupTabsRestoredFromCache: step 2 done.
0: (async) rebuildAll: fixupTabsRestoredFromCache
0: (async) restoreWindowFromEffectiveWindowCache: restoreTabsFromCache
0: restoreWindowFromEffectiveWindowCache: window 28 succeeded
2987: (async) rebuildAll: restore tabs in window 28 from cache
3003: (async) rebuildAll: tabs in window 28
2987: (async) init: rebuildAll
2: loadTreeStructure: start
42: loadTreeStructure: read stored data
0: loadTreeStructure: no valid structure information
0: loadTreeStructure: fallback to reserveToAttachTabFromRestoredInfo
9: loadTreeStructure: read stored data
0: applyTreeStructureToTabs: start
0: applyTreeStructureToTabs: preparation
69: applyTreeStructureToTabs: attach/detach
10: applyTreeStructureToTabs: collapse/expand
0: loadTreeStructure: Tree.applyTreeStructureToTabs
4135: loadTreeStructure: attachTabFromRestoredInfo finish
144: loadTreeStructure: finish to fixup tree structure
4403: (async) loadTreeStructure: restoration for windows
4402: (async) init: TreeStructure.loadTreeStructure
5: init: started listening
225: init: started initializing of context menu
1014: (async) init: exporting tabs to sidebars
1938: (async) init: initializing API for other addons
4417387: applyTreeStructureToTabs: start
0: applyTreeStructureToTabs: preparation
4: applyTreeStructureToTabs: attach/detach
1: applyTreeStructureToTabs: collapse/expand
and the one on sidebar.html:
total 5564 msec
41: Loaded
425: init: start
178: (async) getting window
13: (async) tracking all native tabs
196: (async) getting native tabs
4232: browser.tabs.query finish, configs are loaded.
22: (async) promisedAllTabsTracked
641: (async) importTabsFromBackground: kCOMMAND_PING_TO_BACKGROUND
641: (async) importTabsFromBackground()
645: rebuildAll: start
38: rebuildAll: end (from scratch)
28: (async) parallel initialization: main: rebuildAll
28: (async) parallel initialization: Size
11: (async) parallel initialization: TabContextMenu
32: mouse-event-listener: Sidebar.onBuilt: apply configs
21: (async) parallel initialization: contextual identities
107: (async) parallel initialization: main
107: (async) parallel initialization: post process: main
3: (async) parallel initialization: post process: Scroll.init
3: (async) parallel initialization: post process
151: init: end
3429: (async) API for other addons
Collected logs may be shorter than these success cases, if something happens while TST's initialization, and it may help to understand where TST was failed at.
background.html:
total 19771 msec
52: index: Loaded
9: init: start
3011: (async) waitUntilCompletelyRestored: opening tabs
7393: (async) waitUntilCompletelyRestored: existing tabs
12804: (async) init: waiting for waitUntilCompletelyRestored, ContextualIdentities.init and configs.$loaded
12804: init: prepare
1: init: Migration.migrateConfigs
1588: (async) init: getting all tabs across windows
1624: restoreWindowFromEffectiveWindowCache: start
1418: restoreWindowFromEffectiveWindowCache: start
3182: (async) restoreWindowFromEffectiveWindowCache: window cache
1772: restoreWindowFromEffectiveWindowCache: validity check: start
0: restoreWindowFromEffectiveWindowCache: validity check: signature passed.
0: restoreWindowFromEffectiveWindowCache: validity check: matching actual signature of got cache
1: restoreWindowFromEffectiveWindowCache: validity check: actual signature passed.
2038: (async) restoreWindowFromEffectiveWindowCache: permanentStatus
2038: restoreTabsFromCacheInternal: start
0: fixupTabsRestoredFromCache: start
1: fixupTabsRestoredFromCache: step 1 done.
47: fixupTabsRestoredFromCache: step 2 done.
3: (async) rebuildAll: fixupTabsRestoredFromCache
4: (async) restoreWindowFromEffectiveWindowCache: restoreTabsFromCache
4: restoreWindowFromEffectiveWindowCache: window 1 succeeded
5282: (async) rebuildAll: restore tabs in window 1 from cache
5318: (async) rebuildAll: tabs in window 1 debugger eval code:1:52
sidebar.html:
total 979 msec
8: Loaded
8: init: start
910: (async) getting window
33: (async) tracking all native tabs
945: (async) getting native tabs
963: browser.tabs.query finish, configs are loaded.
3: (async) promisedAllTabsTracked
209: (async) importTabsFromBackground: kCOMMAND_PING_TO_BACKGROUND debugger eval code:1:52
@Ogwalla Thanks! Your log says:
I didn't imagine such a trouble happens around IndexedDB. I'm planning to add something custom timeout mechanism.
I've introduced error handling (8a056ad5a) and a timeout mechanism for such case (b2cc3f9). TST will give up restoration of tree information from cache if it explicitly failed or it took over 5 seconds.
I need more help from other cases - IndexedDB problem may be just one of reasons.
As requested, logs for my failure case. Firefox 127.0.2 on Linux with TST 4.0.19.
background.html:
total 14013 msec
47: index: Loaded
24: init: start
500: (async) waitUntilCompletelyRestored: opening tabs
1226: (async) waitUntilCompletelyRestored: existing tabs
13926: (async) init: waiting for waitUntilCompletelyRestored, ContextualIdentities.init and configs.$loaded
13926: init: prepare
1: init: Migration.migrateConfigs
0: (async) init: getting all tabs across windows
15: restoreWindowFromEffectiveWindowCache: start
sidebar.html:
total 36 msec
5: Loaded
4: init: start
23: (async) getting window
1: (async) tracking all native tabs
25: (async) getting native tabs
27: browser.tabs.query finish, configs are loaded.
1: (async) promisedAllTabsTracked
2: (async) importTabsFromBackground: kCOMMAND_PING_TO_BACKGROUND
@sven337 Thanks! Your case also looks caused by errors around IndexedDB requests, so recent changes should fix it.
Is the fix to be released in 4.0.20? I don't see it in AMO yet, is it waiting for approval?
edit: the only solution to the problem for me, for now, was to disable tab caching completely
Yes 4.0.20 fixes it for me.
I'm not sure if AMO approves addons on the weekend so my current solution is to download the version from https://github.com/piroor/treestyletab/actions/runs/9708286338 (You can use this nightly.link if you don't have GH account), extract the XPI and load it temporarily by selecting it after clicking the "Load temporary addon..." button on about:debugging#/runtime/this-firefox
Keep in mind that you have to do this after every restart until the new version has been approved
Thanks for the trick for loading 4.0.20. It works, and I confirm the problem is fixed for me also. @piroor thank you so much!
4.0.20 Works for me! Thanks all you folks!
Abstract
My Firefox just auto-updated to 4.0.17 today and when I restarted Firefox, I see the loading animation forever on all the windows I have open and no tabs will open.
Steps to reproduce
Open Firefox. Then I already see the loading animation.
Expected result
The tabs should show.
Actual result
The tabs do not show. The loading animation shows forever on each window. I can open and close tabs via shortcuts, but I cannot see any of the tabs.
When I go to the console of the add-on it shows me this, not sure if it is related.
Environment
Thanks for looking into this!