sienori / Tab-Session-Manager

WebExtensions for restoring and saving window / tab states
https://tab-session-manager.sienori.com/
Mozilla Public License 2.0
1.88k stars 184 forks source link

inconsistency with Tree Style Tabs #83

Open orbisvicis opened 6 years ago

orbisvicis commented 6 years ago

Restoring a session with Tree Style Tabs causes an internal tree style tabs inconsistency. First small, eventually leads to:

The immediate issues I see when restoring a tree style tab session are:

Four Tabs:

                                                      problem here -----.
   ---------                        ---------                        ---------                        ---------
*A |       |                      A |       |                      A |       |                      A |       |
 B | Tab-A |  -- <ctrl-Tab> -->  *B | Tab-B |  -- <ctrl-Tab> -->  *B | Tab-C |  -- <ctrl-Tab> -->   B | Tab-D |
 D |       |                      D |       |                      D |       |                     *D |       |
   ---------                        ---------                        ---------                        ---------

Tree Style Tab 2.2.11 Tab Session Manager 1.6.1 Firefox 57.0

sienori commented 6 years ago

There is a possibility to improve by disabling the option in TST to auto-group tabs if they are opened within a certain time frame. https://github.com/sienori/Tab-Session-Manager/issues/20

CrashNBurn71 commented 6 years ago

I don't know if it's TST or Tab Session Manager, but it appears to be related to a few things: 1) unloaded tabs. 2) Tabs restored in disjointed order | potentially reversed order. --- which itself appears to be related to #1

Unloaded tabs cause all kinds of weirdness, e.g. 1) Open link from existing tab, will cause the new page to open somewhere down the tree -- seemingly past all other unloaded tabs, possibly into another tree. 2) Dragging tabs around when unloaded tabs exist, wont work as expected. 3) A tree can appear to have no children|hidden tabs, but when expanded|unexpanded will cause the expected child tab to appear|disappear further down in the Tab Tree

I would lean towards it being a TST issue with not handling unloaded tabs correctly, I haven't checked the TST issues on this one yet.

sienori commented 6 years ago

Does this problem happen to only the session of the imported .session file? If so, these fixes may have solved this problem. https://github.com/sienori/Tab-Session-Manager/commit/ca8c6432563652c96c15335c967c7b36f0c6a473 https://github.com/sienori/Tab-Session-Manager/commit/129276b7590f65edb60e39cd1c1effa38d59325a

CrashNBurn71 commented 6 years ago

When using "Tree Tabs," and unloaded Tabs exist: New tabs tend to appear where expected, but navigating with CTRL+Tab|CTRL+Shift+Tab will activate tabs in seemingly random order - though it likely has to do with their previous Tab_Number or something similar - as dragging trees around the window (or into a new window) fixes their scrolling order.

It's impossible to navigate the Tab bar with keyboard without using Tree Tabs "change tabs via scroll wheel" -- which then prevents you from scrolling the tabs up|down.

Haven't confirmed the issue with TSM disabled yet, which would put the issue more firmly on Mozilla's shoulders.

But the issue exists with both Tree Tabs, and Tree Style Tab.

Tree Tabs also has it's own tab session saver -- which excludes unloaded tabs and causes significant data loss.

2mg commented 6 years ago

I'm having the same problem!

Tree Style Tab + Session Manager @ FF 60.0.2 x64.