Treestyletab: Tabs randomly detach while expanding / collapsing a tree and are too sensitive

Created on 5 Jul 2020  ·  6Comments  ·  Source: piroor/treestyletab

Short description

Tabs randomly detach while expanding / collapsing a tree and are too sensitive

Steps to reproduce

Randomly expanding tabs will be registered as detach attempt and the whole tree will be dragged out of the window.
I've tried setting browser.tabs.allowtabdetach = False which should disable detaching but they still detach.
Other anti-detach addons don't seem to work with TST either.

  1. Start Firefox with clean profile.
  2. Install TST.
  3. set up some trees,
  4. play with them for a while
  5. eventually a left click on a tree parent tab will register as a detach request and move the whole tree out of the window

    Expected result

    Tree expands

    Actual result

    Tree moved out of the window

    Environment

    • Platform (OS):
      Windows 64bits
    • Version of Firefox:
      78.0.1
    • Version (or revision) of Tree Style Tab:
      3.5.5
bug of Firefox itself workaround exists

Most helpful comment

Issues #2411, #2256, https://bugzilla.mozilla.org/show_bug.cgi?id=1476195 and https://bugzilla.mozilla.org/show_bug.cgi?id=1561879 are possibly related to the "raudom detach" problem.

By the way, setting browser.tabs.allowTabDetach=false via about:config doesn't affect to TST because it just affects to the behavior on Firefox's native tab bar. Instead you need to do:

  1. Go to TST's options page.
  2. Turn on the checkbox "Unlock Expert Options".
  3. "Drag and Drop" => Uncheck "Allow to detach tree dropped outside of the tab bar".

All 6 comments

I have a very similar issue. The tab with its tree is detached and moved to a new window.
I often have this when I click on a tab and when I click, I move the mouse some pixels and the tab is moved to a new window.
But it is really only a few pixels.

For me this happens without expanding or collapsing a tree.

Issues #2411, #2256, https://bugzilla.mozilla.org/show_bug.cgi?id=1476195 and https://bugzilla.mozilla.org/show_bug.cgi?id=1561879 are possibly related to the "raudom detach" problem.

By the way, setting browser.tabs.allowTabDetach=false via about:config doesn't affect to TST because it just affects to the behavior on Firefox's native tab bar. Instead you need to do:

  1. Go to TST's options page.
  2. Turn on the checkbox "Unlock Expert Options".
  3. "Drag and Drop" => Uncheck "Allow to detach tree dropped outside of the tab bar".

Hmm. I use the functionality to drag a tree to another window or to a new window every day.
I would have no problem if I would have to open a new empty window for it.
Would it be save to have this functionality only when e.g. the ALT key is pressed while dragging the tabs?

One question, only half related to this bug. My main problem with this is that the whole tree (the tabs are discarded) all tabs get loaded when moved to a new window.
So for me with a tree of 20 to 100 tabs, it takes a long time.
Is this a bug in TST? Should I open a new bug?

Would it be save to have this functionality only when e.g. the ALT key is pressed while dragging the tabs?

By default dragging with no modifier detaches tabs to a new window, and dragging with the Shift key doesn't detach dropped tabs. You can invert these behavior via TST's options => Drag and Drop. Have you tried that?

My main problem with this is that the whole tree (the tabs are discarded) all tabs get loaded when moved to a new window.

I don't know why it happens but it looks a bug or restriction of Firefox itself. TST doesn't have any code to restore tabs after moving across windows.

I've tried to move tabs across windows in some patterns, and finally I've seen some results:

  1. Start Firefox with no addon.
  2. Load a temporary addon not TST.
  3. Prepare two more browser windows A and B.
  4. Open some tabs in the window A.
  5. Close the window A and restore it via Ctrl-Shift-N. Then tabs in the window A are in the pending state.
  6. Move pending tabs from A to B via browser.tabs.move() WebExtensions API. Then all tabs are moved without restoring.
  7. Move pending tabs again from B to A. Then all tabs are moved without restoring.
  8. Click one of pending tabs to load it.
  9. Move pending tabs again from A to B. Then moved pending tabs are unexpectedly restored.

TST's operation about tabs moving across windows is mostly same to the step 9 case.

1. Go to TST's options page.

2. Turn on the checkbox "Unlock Expert Options".

3. "Drag and Drop" => Uncheck "Allow to detach tree dropped outside of the tba bar".

You"re a lifesaver, thanks ! How could I not see this...

Was this page helpful?
0 / 5 - 0 ratings