Tab Session Manager is everything I expect from it. But:
I have chosen 'Restore previous session at startup'. On the other hand, I frequently use Firefox feature 'Send a tab from Firefox on Android to other device'. That means, I share and send many URLs from my Phone's Firefox to my Desktop's Firefox, while my PC is shutdown. Whenever I open Firefox on my desktop, the browser receives and opens those in new tabs.
Here's the catch: these shared tabs are opened at the startup, before Tab Session Manger restores my previous session and when it restores the session, it completely wipes the received shared URLs' tabs. If developers find a solution for this annoying behavior, it would be great.