Multi Commander > Support and Feedback

Scenario where TabSession cannot be closed

<< < (2/2)

AlanJB:
I don't get the same behavior.

Why are you closing the tab session?

Mathias (Author):
Close TabSession will unload current tab session and then reload autoload configuartion. And if you got a TabSession set to autoload it will be reloaded,
Not sure what you expect to happen when you close a tabsession. Close all tabs and not open any new tabs ?
Normally you have many different tab session and you switch between them, Not sure what purpose a 'close tabsession' would solve.

Lob:
I propose that when a user in a non-tabsession state loads a saved tab session, the previously open non-session tabs get saved to disk. When a tab session is closed, those tabs could be reloaded instead of relying entirely on the previous autoload configuration (which causes the issues described below in bold). I believe this would give a much better experience to users who switch in and out of tab sessions: when closing a tab session, I think it makes sense to always return the user to their previous tabs.

Scenario #1: Without program restart

* Have non-session tabs open, then load saved tab session.
* Close tab session. Autoload tabs are restored and I am once again outside any tab session, which allows me to continue to modify these tabs and have them dynamically saved and re-loaded on program stop/start.Scenario #2: With program restart

* Have non-session tabs open, then load saved tab session.
* Close and reopen program.
* Close tab session. Tab session is effectively not closed, previous tabs are not restored, and I now cannot return to a state outside tab sessions without deleting the current tab session. This does not seem intended.
I now see that Scenario #1 also reloads the autoload configuration (as you pointed out). It would be nice if the previous tabs were restored instead, which would also be addressed by my proposal.

To answer the question on why I am closing TabSessions: I enjoy the dynamic save behavior outside tab sessions. I have tab sessions saved for long-term recurring tasks. I could create a general purpose TabSession, but the tabs would change very frequently and I may forget to always manually save that TabSession before closing the program.

Mathias (Author):

--- Quote from: Lob on October 20, 2020, 19:21:02 ---I propose that when a user in a non-tabsession state loads a saved tab session, the previously open non-session tabs get saved to disk. When a tab session is closed, those tabs could be reloaded instead of relying entirely on the previous autoload configuration (which causes the issues described below in bold). I believe this would give a much better experience to users who switch in and out of tab sessions: when closing a tab session, I think it makes sense to always return the user to their previous tabs.

Scenario #1: Without program restart

* Have non-session tabs open, then load saved tab session.
* Close tab session. Autoload tabs are restored and I am once again outside any tab session, which allows me to continue to modify these tabs and have them dynamically saved and re-loaded on program stop/start.Scenario #2: With program restart

* Have non-session tabs open, then load saved tab session.
* Close and reopen program.
* Close tab session. Tab session is effectively not closed, previous tabs are not restored, and I now cannot return to a state outside tab sessions without deleting the current tab session. This does not seem intended.
I now see that Scenario #1 also reloads the autoload configuration (as you pointed out). It would be nice if the previous tabs were restored instead, which would also be addressed by my proposal.

To answer the question on why I am closing TabSessions: I enjoy the dynamic save behavior outside tab sessions. I have tab sessions saved for long-term recurring tasks. I could create a general purpose TabSession, but the tabs would change very frequently and I may forget to always manually save that TabSession before closing the program.

--- End quote ---

Sould like you don't want it to autoload a tabsession at all, If you uncheck that the tabsession will autoload. Would not that solve your case. Because then when you close a tabsession it will return to previous state

Lob:
Uncheck "Configuration > Explorer Panel settings > Display > Save on exit"? That is behavior I want to keep; I see it as one of the most useful features. I want my tab state to be saved and reloaded on program stop/start, and this works fine until it gets the user stuck in tab sessions. It seems like the current design expects users to operate only within tab sessions or not use them at all. The bug is that, in the scenario I previously described as #2, the user becomes stuck within tab sessions with no way out other than to modify settings or delete the current TabSession.

Personal use cases aside, a user who clicks "Close Current TabSession" certainly wants any result other than the same TabSession being reloaded.

Also, even when opening and closing a TabSession without exiting the program, the previous state that is restored appears to be the set of tabs that was open the last time the program was closed. This could be a very old set of tabs.

I'm proposing that "Close Current TabSession" restores the tabs a user had open when they entered the TabSession experience (I imagine those tabs would have to be persisted separately from the autoload config). This corrects the issue where the UI becomes unable to truly close the current TabSession, and I believe improves the behavior in the case where the program is not restarted.

The user is returned to their previous tab state when opening the program. I think a typical user would similarly expect to be returned to their previous tab state when closing a TabSession. There are two cases where this does not happen:


* User opens program. Autoload opens their previous tabs (tabs open: 5).
* User does additional navigation (tabs open: 7).
* User enters TabSession.
* User closes TabSession.
* Only 5 tabs are restored (the tabs from step 1). The most recent set of tabs from step 2 is lost. Proposal: load tabs from step 2.
* User opens program. Autoload opens their previous tabs (tabs open: 5).
* User does additional navigation (tabs open: 7).
* User enters TabSession.
* User restarts program.
* User closes TabSession.
* The same TabSession is restored. "Close Current TabSession" has effectively failed from a user perspective, and all previous state has been lost. Proposal: load tabs from step 2.

Navigation

[0] Message Index

[*] Previous page

Go to full version