SessionRestore is now a native Safari App Extension



  • Hey folks,

    As of macOS 10.14.4 and Safari 12.1, It was finally possible to rewrite SessionRestore. The old javascript extension is no longer going to be supported, as Apple is also ending support for them.

    The new SessionRestore app, can import any sessions you export from the javascript version, so it should be a frictionless upgrade.

    its available in my store and also in the App Store:
    https://sessionrestore.sweetpproductions.com
    https://sweetpproductions.com/store
    https://itunes.apple.com/us/app/sessionrestore/id1463334954?ls=1&mt=12



  • @SweetP

    I just downloaded and to try out the app from your page (https://sessionrestore.sweetpproductions.com). It's not working. I haven't paid the full version yet, but it says I have 14 days of trial. After I installed, I click on the SessionRestore icon on Safari, click "Save", and nothing happened. It cannot save any session.

    Am I missing some step in the installation, or does the trial version not work? Please let me know because ... it might be promising ... if it works.



  • @shout_skout
    Are you using the latest Safari?
    Its only compatible with Safari 12.1 and greater.



  • @SweetP Thanks for the reply. Yes, updating to 12.1 did allow me to save sessions. However, the sessions I save have another problem: Most of the page titles do not show up. All of the pages in each windows do show the url, but usually only one tab of each window will have a title (or sometimes none of them will have titles). This is very hard to read, and I don't think this is the intended behavior, right?

    Is there a fix, or am I missing something still? Thanks for updating this product.



  • @shout_skout The titles will only load if the tab has been loaded. does that make sense?



  • @SweetP I see what you mean, but it doesn't make sense from a user experience perspective. It does appear that pages are not "loaded" until you click view on it. So even though pages look like they are loaded because they are in the browser and we see a page title on the tab, they might not be "loaded". However, this doesn't make sense from the user experience of someone who wants to know "What were all the pages, and page titles, that were in my browser at a given point in time". The current setup appear to answer a different question "What were all the url's and active page title at a given point in time".

    It does not make much sense when a user load up their saved session and more than 90% of their pages are blank, because most of their pages were not loaded at that time. Please reconsider the product design. This is a product that serves a need, but it feels like a car without tires (90% is there, but there is a critical 10% missing).



  • @shout_skout I understand what your'e saying, but what you are wanting is not actually possible. it is a limitation of the framework used to gather the tab urls and titles. SessionRestore can only do what is possible given the frameworks it has access to.



  • What's the framework being used? Is it apple native, or third party framework? The effect of this limitation is that I cannot search through my sessions, because most of the page names are not available to search (because they are not loaded). Is this is expected behavior of the app?





  • Are you saving the session after restarting Safari? because that's the only situation I can see where you'd end up with the tabs not being loaded correctly?



  • @SweetP said in SessionRestore is now a native Safari App Extension:

    https://developer.apple.com/documentation/safariservices

    Thank you for letting me know the framework used. At least gives me a sense of the app stability. Can you please also touch on the second part of the question above? I would like to know to what extent I can search through sessions.

    I'm very tired of the recent wave of poor quality apps coming to the MacOS. They remind me of low quality apps in the Windows ecosystem where developers don't care at all about user experience.



  • @shout_skout its only going to get worse with Marzipan... get ready for an influx of iOS ported apps...



  • @SweetP That is correct. I restart my machine sometimes, or I restart Safari sometimes. That's normal behavior, right? When Safari restart and load previous session, it seems that it does not "load" all pages. They are loaded in the sense that I do see their page icon, and page titles on the tabs, but they are not "in memory"?



  • @shout_skout yeah, that is the current behaviour of Safari. SessionRestore can not get the tab titles in that situation - but why should it? you already have the session, if you've just loaded it.

    this is the exact service used to get the tab properties, and is currently the only way - (well ...I guess you could inject a script into every single page.... but that is still not going to get the behaviour you want. the page still hasn't loaded, and now you have a potential security issue with an app having access to every page you visit.)

    https://developer.apple.com/documentation/safariservices/sfsafaripageproperties



  • @SweetP That depends on what you mean by "have the session". Safari does not always successfully load the previous sessions, sometimes it lost them, which is why I need an app like this. In the current scenario, I will never be able to save the page title of all pages in my session (because every session normally start off as a restart of a previous session, and not all pages will be loaded even though they will have page title to tabs), which means that if I want to go back in time to see "Hey, when was the last time I visited the site named X" ... I cannot find it. Under current logic, all sessions saved with SessionRestore will always be missing 90% of its page titles.



  • @SweetP Again ... when I boot Safari up from restart, the tabs look like they are loaded because I see the title title and icon, but SessionRestore does not see them as loaded. Is this intended behavior? I don't know what you mean by loaded now.



  • @shout_skout this is the behaviour that Apple has implemented, SessionRestore can not decide what it has access to. The page loads, when you click on the tab - you can easily verify this yourself. It most likely works this way, so that Safari does not flood your network connection and slow your system down upon starting Safari.

    Im not sure why you are trying to save your session after a restart? you should be saving the session in SessionRestore before you quit Safari - with autosave would be the best option. If you really need to save your current session, then you have to manually click on each tab so that the page loads, and Safari gives SessionRestore the data it needs to save the session correctly.



  • @SweetP Because Safari unexpectedly shuts down sometimes and does not recover correctly. That is what I need this tool for. I've already it up to autosave every 60 minutes, so it sort of address the dangers of losing my session.

    The biggest downside to this tool is that I cannot search through the saved Sessions, because most websites saved with SessionRestore does not store the page titles ... unless, like you said, I manually go through each tab and open them before using SessionRestore ... which would be sort of silly because I have 50-100 tabs open, and it is not reasonable to remember to touch 100 tabs before I can save page titles for the session.

    There was an older extension called Session that worked perfectly, but its development has stopped ... which so unfortunate. Your app and his app are different, and you're not looking to service the same needs. That's not your problem. That's my problem and I need to find a solution.



  • @shout_skout i've submitted a bug report to Apple, maybe they'll implement the ability to get the page title before the page loads... it only took 3yrs to get the ability to open and close tabs natively... so we may be waiting a while.
    😕



  • here's the link to send Apple a bug report if your'e interested:
    https://bugreport.apple.com/web/


Log in to reply