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

Ability to remember the last open session #890

Closed
DiegoBM opened this issue Oct 12, 2021 · 11 comments
Closed

Ability to remember the last open session #890

DiegoBM opened this issue Oct 12, 2021 · 11 comments

Comments

@DiegoBM
Copy link
Contributor

DiegoBM commented Oct 12, 2021

Is your feature request related to a problem? Please describe.
Not necessarily.

Describe the solution you'd like
It would be really useful if Tab Session Manager could remember the last saved session that was open (active session), so that all the changes to the tabs made in the session from that point onwards, are automatically stored in that last open session, otherwise I would need to manually click the "Replace with current session" option every time that I wanted to update my saved session with the latest changes in tabs.
This is specially useful if you keep different sessions for different topics like "development", "design" etc, and you switch among them often, but want to keep them updated with your activity the last time that you used them.

Describe alternatives you've considered
Manually using the "Replace with current session" option every time that I wanted to update my saved session. Which is far from ideal.

@DiegoBM DiegoBM changed the title Ability to remember the last session open Ability to remember the last open session Oct 12, 2021
@sienori sienori added this to the Active Session milestone Oct 12, 2021
@Aran-Fey
Copy link

I came here from #684 and I'm a bit worried by the way you've described this feature/solution.

It would be really useful if Tab Session Manager could remember the last saved session that was open (active session), so that all the changes to the tabs made in the session from that point onwards, are automatically stored in that last open session

Having a concept of a "last open session" or "active session" might not adequately address the problem. What if I have multiple windows/sessions open at the same time? Which one is the "last open session" then?

Maybe I'm misunderstanding, but to be on the safe side, I want to say this: All open sessions should automatically update themselves, not just the last/active/whatever one.

@DiegoBM
Copy link
Contributor Author

DiegoBM commented Dec 17, 2021

Having a concept of a "last open session" or "active session" might not adequately address the problem. What if I have multiple windows/sessions open at the same time? Which one is the "last open session" then?

Unfortunately I'm not familiar with the problem that you have in mind, but it seems like it's not the same problem that I'm trying to solve. By the sound of it, what you want to achieve is being able to have multiple windows open, and from what I understood each of them will represent the concept of one separate session. Unfortunately that does not work for me for multiple reasons, since if I were to work like that I would quickly end up with four or five chrome windows open with more than 30 tabs each, which would quickly consume my computer's resources and, at least for me, it was not efficient in terms of organisation either. What I'm trying to achieve is to implement the definition of session, as in "being focused in one particular activity", so that if I'm focused on programming right now, then all the tabs and windows are related to programming and are part of a "programming session", and if I need to switch to design, then I can quickly and easily switch to that different topic with the plugin, while keeping a reasonable amount of tabs open at any given time, thus releasing a massive amount of resources while keeping things organised. Of course this way I can keep more than one window open as well, for example when I'm programming I have one window in one screen displaying documentation and another window in a different screen displaying for example demo code, or my email, or the results of my code, that's not a problem, but all those windows and tabs are part of my programming session. This is another reason why one-window = one-session does not work for me, more often than not, I need multiple windows being part of one session and therefore saved together.

In my implementation pull request, if you have multiple windows open, it will consider all of them as being part of the active session. The concept is that, at any given time, you only have one session open, lets say that it's your "programming session", then all the browser windows will correspond to the "programming" topic, then if you want to change to a different "working mode", lets say your "design session", then you'll switch in the plugin, and all the open tabs in all the open windows will be saved into the "programming session" before switching, and then will be completely released and replaced by the "design session" windows and tabs. Of course this doesn't need to have a specific theme, you can also have a "free-time session" with a mix of different things, if you don't feel like categorising everything, and switch to that whenever you have finished working or you feel like it, and every time that you switch to a different session, the plugin will keep track of what the status was right before switching, so that when you come back to your "design session" for example, everything will be right as it was when you left it. Finally, I have implemented it as an opt-in feature, therefore you can disable or enable it, this way you can decide if you want to keep things organised or not.

I hope that this explanation clarifies the behaviour. I do not know if this matches your needs, probably every person works in a different way, but this is the most efficient way that I've found of working after many years of Chrome consuming most resources, and I've been enjoying it for some months now and not only it works like a charm, but I'm more focused and my computer runs more smoothly.

@Aran-Fey
Copy link

Ah, that's unfortunate. I'd like to have two sessions open at the same time, so your implementation will sadly not solve my problem. Guess I'll have to look for a different addon.

@lidorcg
Copy link

lidorcg commented Jan 22, 2022

Well, that's a big explanation on why @Aran-Fey's mentioned request is not a real problem when it really is, even in your model:
Like you, I'm mostly (always?) working on one task at a time and my sessions are task oriented. However, most of the time (always?) I have something like a "Home" session, opened on my laptop screen (while my main current session is on my main screen). In my home session I have 2-4 tabs opened: my task manager, my email\team chat, my knowledge base and of course youtube music so I can enjoy music while I work.
This "Home" session changes on it own, decoupled from my other sessions, and it is of course (by your model) common to them all as it's a window that share time with them all.

How would you address this issue? replicate it on each session and if it changes, manually update all of the sessions?
I'm not very familiar with Tab-Session-Manager but it seems to be the only solution your model can offer to such a simple (and I believe extremely common) use-case. That is very unfortunate indeed, then again, I'm using this method for years (not months) and so few session web-extensions get this right...

@DiegoBM
Copy link
Contributor Author

DiegoBM commented Jan 23, 2022

Firstly I never said that what Aran-fey mentioned is not a "real problem", in fact if you read my comment, the last paragraph is devoted to acknowledge that my implementation might not be useful for people operating like Aran-fey does. For me, in my model it's definitely not a problem, but like anything else in life it might be for others, it's not possible to satisfy everyone.

With that out of the way, I'll explain my case and then I'll switch to yours. In my case, the only things common to all sessions are a couple of email clients and a direct-message service, and I keep those three tabs indeed as pinned tabs in the main window of all my six themed sessions (they are also in my bookmarks so it took less than a minute to add to them all), but they never change, I added them once, so it's not a real problem for me in my model. If they ever were to change then I'd add them to all of them, since it literally takes seconds, but from usage in all these months they never changed, so it's not something that I'd be bothered about since I'm not expecting them to change either. I can't imagine what could it be in your "Home" session that changes daily (or very often) and that is relevant to all your tasks, so you would need to keep adding/removing them to all of your sessions daily (or very often), but if it's lets say a set of articles from different topics that you need to keep open at all times to read them at some point, then you're probably not working according to my description, working on one task at a time, but more like what Aran-fey mentioned, that you need to keep different things going at the same time. When I'm coding for example, if for some reason some article reaches me related to a design topic that I'm interested in, or that I just want to save because after reading it it was useful, then I'll send it to the "Design" session with the "Add current tab" feature, but I'll keep it in the relevant theme keeping things organised, and I'll focus on it when I'm dealing with that topic, I don't need to have that constantly open when I'm coding, consuming memory. Or if it's random stuff, then I'll send it to the "Free time" session, and again I'll check it out when I'm not doing anything specific. It's not like today I use Spotify for music and in two days I'll use amazon music so I'll need to remove Spotify from all my sessions and save amazon music, but in six days I'll need to go back to Spotify and remove Amazon. It would be useful to understand the nature of the contents of your "Home" session that change so often and are relevant to all your tasks.

For those 3-4 tabs that never change, I guess that it would be interesting to explore the topic of "pinned" tabs at a tab-session-manager level which could keep a list of tabs that will always remain fixed when you switch to another session, but this would make sense to be done at a tab-session-manager level, since it applies to the product in general when you open a session in new window or current window. My implementation would just pick it up and it should work out of the box. For me, since they never change, it doesn't really bother me to add them once to my six sessions and forget about them, so it's not really something that I'd say I need, but if it's something useful to others, somebody will probably implement it at some point.

Again I do not know if my working model is very opinionated or just works for me (which is probably not the case). For me this is the most efficient and organised way to keep track of tab sessions and it has been working incredibly well so far. You (or anyone else) are free to implement a different model that works for you and even reuse parts of my PR if they were to work for your model.

@claudio-salvio
Copy link

Hello

A good alternative could be that there is a configuration option to enable session selection at browser startup.
If session selection is enabled, when starting the browser, TSM prompts the user to select a previous session to continue in or allows the user to start a new session (and name it as desired).

Greetings,
Claudio

I 💙 TSM

@sienori
Copy link
Owner

sienori commented Apr 23, 2022

There are three roles required of TSMs.

  • Backup tabs history
  • Bookmark frequently opened tabs
  • Switch between workspaces

The current TSM achieves 1 and 2, but not 3. Active Session is a feature that achieves 3.

I have a new idea for workspace switching.
It is to be able to give the session itself an attribute that can track changes.
In other words, to be able to set whether each session is an active session or not.
This will allow all users to achieve objectives 1, 2, and 3.

Specifically, add a "Track Changes" option to the session menu and to the dialog when saving a session.

  • When an tracking session is opened, changes to tabs in that window are saved in real time.
  • When a new window is opened, it will be added to the session. (Requires an option to disable)
  • When the tracking windows are closed, the tracking ends.

I believe this will allow integration of workspace switching into the existing TSM workflow.
I will implement this idea!

@sienori
Copy link
Owner

sienori commented May 4, 2022

In version 6.12.0, I implemented Tracking Session feature!

You can set a session as a tracking session from the session menu. When you open a tracking session, changes in the window are automatically reflected in the session. This allows for efficient workspace switching!

session menu
tracking session

https://github.com/sienori/Tab-Session-Manager/releases

@sienori sienori added the solved label May 4, 2022
@sienori sienori closed this as completed May 4, 2022
@ngirard
Copy link

ngirard commented May 5, 2022

This seems like a seriously useful feature: thank you so much !

FWIW, the newest release doesn't seem to have made its way to addons.mozilla.org yet. I'll check again in a few hours.

Cheers

@rediffusion
Copy link

@sienori

Hi bro. ( ̄_, ̄ )
I have opened two tracked sessions. Ich one In separate windows.

  1. WebDev
  2. Alternative soft

Why if I made some changes one of.... Session called "WebDev" overwhrites "Tab Session Manager's" new tabs. What a hack❓😒

FireFox_2

FireFox_1

@sienori
Copy link
Owner

sienori commented May 9, 2022

@rediffusion Oh, it' s a bug. I will fix it!

You can temporarily work around this by disabling the "Track newly opened windows" option.
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants