• Categories
  • Recent
  • Tags
Collapse
  1. Home
  2. SessionRestore JS
  3. SessionRestore is now a native Safari App Extension

SessionRestore is now a native Safari App Extension

Scheduled Pinned Locked Moved SessionRestore JS
25 Posts 2 Posters 4.9k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S shout_skout

    @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.

    SweetPS Offline
    SweetPS Offline
    SweetP
    wrote on last edited by
    #12

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

    ~
    Russell
    SweetPProductions.com

    1 Reply Last reply
    0
    • SweetPS SweetP

      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?

      S Offline
      S Offline
      shout_skout
      wrote on last edited by
      #13

      @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"?

      SweetPS 1 Reply Last reply
      0
      • S shout_skout

        @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"?

        SweetPS Offline
        SweetPS Offline
        SweetP
        wrote on last edited by
        #14

        @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

        ~
        Russell
        SweetPProductions.com

        S 2 Replies Last reply
        0
        • SweetPS SweetP

          @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

          S Offline
          S Offline
          shout_skout
          wrote on last edited by
          #15

          @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.

          1 Reply Last reply
          0
          • SweetPS SweetP

            @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

            S Offline
            S Offline
            shout_skout
            wrote on last edited by
            #16

            @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.

            SweetPS 1 Reply Last reply
            0
            • S shout_skout

              @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.

              SweetPS Offline
              SweetPS Offline
              SweetP
              wrote on last edited by SweetP
              #17

              @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.

              ~
              Russell
              SweetPProductions.com

              S 1 Reply Last reply
              0
              • SweetPS SweetP

                @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.

                S Offline
                S Offline
                shout_skout
                wrote on last edited by
                #18

                @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.

                SweetPS 1 Reply Last reply
                0
                • S shout_skout

                  @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.

                  SweetPS Offline
                  SweetPS Offline
                  SweetP
                  wrote on last edited by
                  #19

                  @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.
                  😕

                  ~
                  Russell
                  SweetPProductions.com

                  SweetPS S 2 Replies Last reply
                  0
                  • SweetPS SweetP

                    @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.
                    😕

                    SweetPS Offline
                    SweetPS Offline
                    SweetP
                    wrote on last edited by SweetP
                    #20

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

                    ~
                    Russell
                    SweetPProductions.com

                    1 Reply Last reply
                    0
                    • SweetPS SweetP

                      @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.
                      😕

                      S Offline
                      S Offline
                      shout_skout
                      wrote on last edited by
                      #21

                      @SweetP The thing is ... Safari DOES seem to have access to the page title "before the page loads". I have an extension called "Recent Tab List", and I am able to search through web page titles in all tabs, even when I just restarted Safari and I never opened those tabs to view them yet. I think the page title property is accessible, and it doesn't require the page to be opened. However, this is not the current behavior of SessionRestore. To be honest, I'm tempted to just write my own scripts to solve the issue ever since the Session extension lost support.

                      BTW, I'm not sure if it's related but ... since I installed SessionRestored, my Safari has crashed twice in 24 hours. I cannot trace it back to SessionRestore, so I don't know if it's a bug. If it crashes again I'm going to have to uninstall and see if the crash goes away.

                      SweetPS 1 Reply Last reply
                      0
                      • S shout_skout

                        @SweetP The thing is ... Safari DOES seem to have access to the page title "before the page loads". I have an extension called "Recent Tab List", and I am able to search through web page titles in all tabs, even when I just restarted Safari and I never opened those tabs to view them yet. I think the page title property is accessible, and it doesn't require the page to be opened. However, this is not the current behavior of SessionRestore. To be honest, I'm tempted to just write my own scripts to solve the issue ever since the Session extension lost support.

                        BTW, I'm not sure if it's related but ... since I installed SessionRestored, my Safari has crashed twice in 24 hours. I cannot trace it back to SessionRestore, so I don't know if it's a bug. If it crashes again I'm going to have to uninstall and see if the crash goes away.

                        SweetPS Offline
                        SweetPS Offline
                        SweetP
                        wrote on last edited by
                        #22

                        @shout_skout well, I can only use the tools given to me. the old javascript framework could access the page title before the tab was loaded - but the new SafariServices can not (as far as I know). Apple is dropping support for the old javascript framework most likely in the next macOS release.

                        Also, just because Safari can see the page title, doesn't mean they have made it available for third parties to access.... at least not in an officially supported manner. And I need to make a living, so I need to play by Apple's rules to be able to sell in the App Store. I have maintained a javascript Safari tab management extension - also named SessionRestore (previously SafariRestore) since extension support was added to Safari however many years ago that was. There were also holes in what was possible with that. for example it had no way of knowing if a tab was pinned. Apple addressed that in the new SafariServices, but seemed to have messed up with the page title. Ive posted in the Dev Forums asking if anyone has a solution, and also posted a bug report to Apple.

                        I know its frustrating, but this is Apple were talking about... Just look at the MacBook keyboard fiasco... I have wanted to update SessionRestore to a native app since I learned of the new SafariServices framework 3? years ago... but it just wasn't possible until Safari 12.1

                        ~
                        Russell
                        SweetPProductions.com

                        1 Reply Last reply
                        0
                        • SweetPS Offline
                          SweetPS Offline
                          SweetP
                          wrote on last edited by
                          #23

                          ill keep looking into this. Maybe i'll find a way. I could probably tell safari to reload tabs which aren't loaded yet... but with many tabs, that is going to slow your computer to a crawl...

                          If I find a way, Ill post back here
                          🙂

                          ~
                          Russell
                          SweetPProductions.com

                          1 Reply Last reply
                          0
                          • SweetPS Offline
                            SweetPS Offline
                            SweetP
                            wrote on last edited by
                            #24

                            it looks as though support will be added for this in a future Safari release. Safari Technology Preview 85 returns all the tab titles on relaunch.
                            🙂

                            ~
                            Russell
                            SweetPProductions.com

                            1 Reply Last reply
                            1
                            • SweetPS Offline
                              SweetPS Offline
                              SweetP
                              wrote on last edited by
                              #25

                              working correctly on macOS Catalina beta also. it seems Apple is upping there game with fixing bugs. 👍

                              ~
                              Russell
                              SweetPProductions.com

                              1 Reply Last reply
                              0
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags