Tab Switcher occasionally stops updating tab order properly #11300

Closed
opened 2026-01-31 02:43:46 +00:00 by claunia · 6 comments
Owner

Originally created by @DHowett on GitHub (Nov 7, 2020).

I do not know how to get terminal into this state, but I know that I cannot get it out of this state.

When I am using MRU switching, I occasionally get into a "switcher hole" where it puts the tabs in the wrong order with the current tab being selected as the next tab. Result: my switcher takes me to the current tab.

It seems to dislike the 0th tab

current tab (0) is the 2nd tab (1) and is selected by a basic switch operation

When I switch to inOrder switching, the list does not update from MRU order (!) during hot reload, so I can't test it out.

When I open the tab search it remains in MRU order.

A screenshot of my tabs in "in-order" order where the top tab is.. not correct

Adding tabs doesn't seem to break or fix this; they just get added.

This could be a conflict between @zadjii-msft and @Don-Vito's recent work in this area.
Something is unusual with the 0th tab.

Marking blocking because I managed to trivially run into it three times today.

Originally created by @DHowett on GitHub (Nov 7, 2020). I do not know how to get terminal into this state, but I know that I cannot get it _out_ of this state. When I am using MRU switching, I occasionally get into a "switcher hole" where it puts the tabs in the wrong order with the _current_ tab being selected as the _next_ tab. Result: my switcher takes me to the current tab. ![It seems to dislike the 0th tab](https://user-images.githubusercontent.com/189190/98428016-778cf400-2054-11eb-86a1-6b62a9d1bbe9.png) > current tab (0) is the 2nd tab (1) and is selected by a basic switch operation When I switch to `inOrder` switching, the list _does not update_ from MRU order (!) during hot reload, so I can't test it out. When I open the _tab search_ it remains in MRU order. ![A screenshot of my tabs in "in-order" order where the top tab is.. not correct](https://user-images.githubusercontent.com/189190/98427991-5c21e900-2054-11eb-976a-3c968be6c9dd.png) Adding tabs doesn't seem to break or fix this; they just get added. This could be a conflict between @zadjii-msft and @Don-Vito's recent work in this area. Something is unusual with the 0th tab. Marking blocking because I managed to trivially run into it three times today.
Author
Owner

@Don-Vito commented on GitHub (Nov 7, 2020):

@DHowett - I am taking a look. I believe this is really somewhere in the integration you mentioned. Sorry.

@Don-Vito commented on GitHub (Nov 7, 2020): @DHowett - I am taking a look. I believe this is really somewhere in the integration you mentioned. Sorry.
Author
Owner

@Don-Vito commented on GitHub (Nov 7, 2020):

I believe I found it: I introduced a bug where tabs in palette are also sorted by name. I guess performing tests where all tabs have the same name was a bad idea.

@Don-Vito commented on GitHub (Nov 7, 2020): I believe I found it: I introduced a bug where tabs in palette are also sorted by name. I guess performing tests where all tabs have the same name was a bad idea.
Author
Owner

@DHowett commented on GitHub (Nov 7, 2020):

No need to apologize! These things happen all the time 😄

@DHowett commented on GitHub (Nov 7, 2020): No need to apologize! These things happen all the time :smile:
Author
Owner

@DHowett commented on GitHub (Nov 7, 2020):

(I've introduced more regressions than I'm entitled to! I personally broke defaultProfile for two whole releases before we realized it. That was a fun one!)

@DHowett commented on GitHub (Nov 7, 2020): (I've introduced more regressions than I'm entitled to! I personally broke `defaultProfile` for two whole releases before we realized it. That was a fun one!)
Author
Owner

@Don-Vito commented on GitHub (Nov 7, 2020):

Mine was very basic.. 😿 I added a UT for it, and I would like to add much more tests. But my main gap / concern is that adding more tests will result in even more CI instability. There is a lot of async logic when testing UI, I've seen some attempts to handle this with Sleeps, but this sounds not robust enough.

@Don-Vito commented on GitHub (Nov 7, 2020): Mine was very basic.. 😿 I added a UT for it, and I would like to add much more tests. But my main gap / concern is that adding more tests will result in even more CI instability. There is a lot of async logic when testing UI, I've seen some attempts to handle this with Sleeps, but this sounds not robust enough.
Author
Owner

@ghost commented on GitHub (Nov 11, 2020):

:tada:This issue was addressed in #8188, which has now been successfully released as Windows Terminal Preview v1.5.3142.0.🎉

Handy links:

@ghost commented on GitHub (Nov 11, 2020): :tada:This issue was addressed in #8188, which has now been successfully released as `Windows Terminal Preview v1.5.3142.0`.:tada: Handy links: * [Release Notes](https://github.com/microsoft/terminal/releases/tag/v1.5.3142.0) * [Store Download](https://www.microsoft.com/store/apps/9n8g5rfz9xk3?cid=storebadge&ocid=badge)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#11300