Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Force-fix the Chrome "reopen-old-tabs" problem #131

Closed
cxw42 opened this issue Aug 9, 2018 · 2 comments
Closed

Force-fix the Chrome "reopen-old-tabs" problem #131

cxw42 opened this issue Aug 9, 2018 · 2 comments
Assignees

Comments

@cxw42
Copy link
Owner

cxw42 commented Aug 9, 2018

Sometimes, when you create a new window (Ctl+N), Chrome reopens the tabs you had open previously. The problem comes and goes --- see, e.g., this thread from 2017--2018, and a bug report I submitted. TabFern could have an option to kill tabs that open, e.g., within 0.5 sec. of opening a new window, which would be one workaround. Is that a feature of interest? (PS- my recent workaround is to use Vivaldi instead ;) - see #123.)

It just started happening to me for the first time in a long time after the update to Chrome 68.0.3440.106 (Official Build) (64-bit) (cohort: 68_106_win).

Edit It became a feature of interest to me, so I started working on it :D .

@cxw42 cxw42 added enhancement poll Please respond! labels Aug 9, 2018
cxw42 pushed a commit that referenced this issue Aug 9, 2018
Fixes #127

Also added note about commit 7063882,
which I may want to grab if Chrome keeps having the extra-tabs problem
(see #131)
cxw42 pushed a commit that referenced this issue Aug 9, 2018
Part of #131.  See
https://bugs.chromium.org/p/chromium/issues/detail?id=762951
for more details of the problem.  This just started happening again for
me in Chrome 68.
cxw42 pushed a commit that referenced this issue Aug 9, 2018
Still needs work - the interaction of new-window pruning with
merge-checking is ugly.
@cxw42 cxw42 self-assigned this Aug 9, 2018
@cxw42 cxw42 removed the poll Please respond! label Aug 9, 2018
@cxw42
Copy link
Owner Author

cxw42 commented Aug 9, 2018

Merge-checking needs to be coordinated with pruning. There is no reliable way to tell (as far as I know) whether a newly-created window was a Ctrl+N, a "Restore session," or some other type of window creation.

A challenging case: close a saved window, then hit Ctl+N. The new window has the same tabs as the saved window, so gets merged. Probably not what the user wanted.

Possibilities:

  • prohibit merging with the most-recently-closed window (probably the easiest) (Edit Implemented in f6a3550)
  • prompt for whether to merge (blech)
  • trigger the merge check only after a chrome.windows.get(populate) call, and take different action depending on whether the number of tabs reported in the chrome.windows.create callback matches the number returned by chrome.windows.get.
  • trigger pruning only after a merge-check of the number of children in the tree, ignoring possible extra tabs.

cxw42 pushed a commit that referenced this issue Aug 9, 2018
Settings and other pages opened by the TabFern popup don't get pruned,
so there may be extra tabs in those windows.  Ctrl+N windows will get
pruned, and won't get immediately merged back into the last-closed saved
window.  Definitely getting closer.
cxw42 pushed a commit that referenced this issue Aug 10, 2018
When we open a window from the hamburger menu, we know the situation so
can prune properly.
@cxw42
Copy link
Owner Author

cxw42 commented Sep 2, 2018

Closing for now - there is an option to do this in v0.1.17. If Chrome starts doing it again, I am happy to reopen.

@cxw42 cxw42 closed this as completed Sep 2, 2018
cxw42 pushed a commit that referenced this issue Sep 27, 2018
Disables the #131 code.  Chrome bug 883709 is confirmed.  The workaround
is to exit and restart Chrome.
cxw42 added a commit that referenced this issue Apr 15, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant