As requested
here.
SessionSaver
Features:
This script automatically keeps track of all conversation windows open. If for some reason Messenger should crash, when you log back in a Recovery Window will notify you that conversations were open when it crashed, and will show you a list of them.
It gives the options of :
- Restoring all the chat windows that were open
- Doing nothing (i.e. opens no windows and closes the recovery window - the Close button will also do this)
- Choose from the list of contacts which windows it will re-open
Additionally, it will also keep track of group conversations you are in. If any group conversations are open when Messenger crashes, then a new option will be available on the Recovery Window, along with the 3 mentioned above – View group conversations.
This will open a screen which shows you a list of people who were in each group conversation and whether they are on your contact list or not. It is not possible to re-add yourself into the group conversation, however it will allow you to select a user from the list and start a chat with them (so you can ask them to add you back in or whatever)
If no single-user windows were open when Messenger crashed, but group conversations were then you will be notified of this and asked if you wish to open the Group Conversation Viewer.
This script does NOT keep track of the text in the conversation. If you want to do this, use Messenger's built in feature in Tools>Options>Messages>Show my last conversation in new conversation windows.
To use:
Simply install the script and it starts monitoring straight away. The next time you login to Messenger after a crash the Recovery Window should appear automatically if any windows were saved.
Screenshots:
Recovery Window:
Group Conversation Viewer:
Known Bugs:
Sometimes, in very rare circumstances, when a contact is added to the conversation, Messenger will say that the original participant has left, then has been added again. When this happens, SessionSaver will falsely report the group conversation as a single user one. Unfortunately, this is a limitation of Plus!, due to bugs in WLM itself. For more information, see
here.
Other Stuff:
Obviously during testing, it would have been quite a hassle to have to crash WLM all the time to test certain functions (windows displaying the correct information, making sure it kept track of conversations properly etc). Also, a method was needed to "crash" Messenger, rather than just ending the process using Task Manager. Because of this, two "advanced functions" were created.
- "Imitate Crashed Session" will display the Session Recovery window, just as if you had just signed in after a crash.
- "Crash WLM" does exactly what it says - causes the script to enter an infinite loop which should lock up WLM, forcing you to have to close it.
Obviously these 2 features are not really useful to a normal user, but they were left in should for some reason you wish to use them.
By default they are hidden, and to enable them you must type in a conversation "/ssaver_advanced on", after which they can be accessed through the Scripts menu. "/ssaver_advanced off" will then hide the options again.
Also, there is an "Easter Egg" which is
really hard to find, that you can blame vaccination for
If you find any bugs, feel free to report them in this thread, and I'll do my best to look into them.
Edit: removed some redundant lines of code, apart from that script is exatly the same