jamielob / reloader

More control over hot code push reloading for your production apps. Designed to replace mdg:reload-on-resume and provide a more production-ready approach.
28 stars 22 forks source link

Seems to get hung up on load screen occasionally #12

Closed adamgins closed 7 years ago

adamgins commented 8 years ago

Thanks for the package

Having some intermittent issues when I restarting, that app seems to get hung on the load screen. I have only seen this a few times.

As it's happening on mobile I don't really have much in the way of debug screens and have not managed to replicate when hooked up to XCode.

I was using this config:

Reloader.configure({
    check: 'everyStart', // Check for new code every time the app starts
    checkTimer: 3000,  // Wait 3 seconds to see if new code is available
    refresh: 'startAndResume', // Refresh to already downloaded code on both start and resume
    idleCutoff: 1000 * 60 * 10  // Wait 10 minutes before treating a resume as a start
}); 

Any thoughts pls?

lorensr commented 8 years ago

Just published version 1.2.3. Try updating to it, and afterward if it continues, let us know if you notice a common circumstance, thanks!

On Sun, Nov 13, 2016 at 4:54 PM, adamgins notifications@github.com wrote:

Thanks for the package

Having some intermittent issues when I restarting, that app seems to get hung on the load screen. I have only seen this a few times.

As it's happening on mobile I don't really have much in the way of debug screens and have not managed to replicate when hooked up to XCode.

I was using this config:

Reloader.configure({ check: 'everyStart', // Check for new code every time the app starts checkTimer: 3000, // Wait 3 seconds to see if new code is available refresh: 'startAndResume', // Refresh to already downloaded code on both start and resume idleCutoff: 1000 * 60 * 10 // Wait 10 minutes before treating a resume as a start });

Any thoughts pls?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/jamielob/reloader/issues/12, or mute the thread https://github.com/notifications/unsubscribe-auth/AAPVmNuIt6J2wgN2DXV-Cp-faYtl5qyLks5q94cXgaJpZM4Kw0PG .

adamgins commented 8 years ago

@lorensr thanks. Will try this out and let you know. Any hints on debugging so I can see what's going on and get you better debug info?

lorensr commented 8 years ago

The code's pretty small, you could clone it to yourapp/packages/reloader and add console.logs

On Mon, Nov 14, 2016 at 12:01 AM, adamgins notifications@github.com wrote:

@lorensr https://github.com/lorensr thanks. Will try this out and let you know. Any hints on debugging so I can see what's going on and get you better debug info?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jamielob/reloader/issues/12#issuecomment-260248942, or mute the thread https://github.com/notifications/unsubscribe-auth/AAPVmBaJvEH3KGfV0zTzlVR9EVJv7elSks5q9-sfgaJpZM4Kw0PG .

adamgins commented 8 years ago

@lorensr thanks. I have not installed the code yet and I have not seen a "hang" yet. So far it seems to be working pretty well... but a bit scared to put it into production after the hang earlier today.

I tried to check the code here to see what had changed but could not see anything recently. Anything to give me a bit more confidence, pls?

lorensr commented 7 years ago

It was the change made in the last merged PR

On Mon, Nov 14, 2016 at 1:12 AM adamgins notifications@github.com wrote:

@lorensr https://github.com/lorensr thanks. I have not installed the code yet and I have not seen a "hang" yet. So far it seems to be working pretty well... but a bit scared to put it into production after the hang earlier today.

I tried to check the code here to see what had changed but could not see anything recently. Anything to give me a bit more confidence, pls?

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/jamielob/reloader/issues/12#issuecomment-260256205, or mute the thread https://github.com/notifications/unsubscribe-auth/AAPVmGNU8pJgWYn4U5ia6x-yLgBoaQcOks5q9_vUgaJpZM4Kw0PG .

adamgins commented 7 years ago

Thanks. Ok I have put into production. So far so good.

Sent from my iPhone

On 15 Nov. 2016, at 3:53 am, Loren Sands-Ramshaw notifications@github.com wrote:

It was the change made in the last merged PR

On Mon, Nov 14, 2016 at 1:12 AM adamgins notifications@github.com wrote:

@lorensr https://github.com/lorensr thanks. I have not installed the code yet and I have not seen a "hang" yet. So far it seems to be working pretty well... but a bit scared to put it into production after the hang earlier today.

I tried to check the code here to see what had changed but could not see anything recently. Anything to give me a bit more confidence, pls?

— You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub https://github.com/jamielob/reloader/issues/12#issuecomment-260256205, or mute the thread https://github.com/notifications/unsubscribe-auth/AAPVmGNU8pJgWYn4U5ia6x-yLgBoaQcOks5q9_vUgaJpZM4Kw0PG .

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub, or mute the thread.

adamgins commented 7 years ago

I was out and about this morning and did get a whitescreen of death. As it was on physical phone it was hard to diagnose. Any thoughts?

I had not seen a whitescreen that persisted on the screen for 20+ seconds with my app before installing this package

lorensr commented 7 years ago

Hey, I'm sorry to hear that. Not sure what it could be – I think the only things this package does is reload and show/hide the launch screen, neither of which should result in a permanent white screen. If can't reproduce locally with meteor run ios-device, could point it at your production domain, maybe while deploying new version.

On Wed, Nov 16, 2016 at 4:32 AM, adamgins notifications@github.com wrote:

I was out and about this morning and did get a whitescreen of death. As it was on physical phone it was hard to diagnose. Any thoughts?

I had not seen a whitescreen that persisted on the screen for 20+ seconds with my app before installing this package

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jamielob/reloader/issues/12#issuecomment-260897610, or mute the thread https://github.com/notifications/unsubscribe-auth/AAPVmAe-e1OTTwXQoItBKQXO15EW6hWPks5q-s3FgaJpZM4Kw0PG .

adamgins commented 7 years ago

@lorensr thanks. Yep I test with a production domain and have not replicated that issue with either my phone or emulator connected to XCode. It just happened when out and about and I opened the app. It could have hit low/bad mobile coverage

adamgins commented 7 years ago

@lorensr just wondering if you have see White Screen of Death at all.. the app never recovers and only way to rectify it is to close (flick) the app. https://github.com/jamielob/reloader/issues/6#issuecomment-261642492

lorensr commented 7 years ago

Vague memory of it happening in dev over a year ago. Couldn't reproduce and didn't have users say they ran into it

On Friday, November 18, 2016, adamgins notifications@github.com wrote:

@lorensr https://github.com/lorensr just wondering if you have see White Screen of Death at all.. the app never recovers and only way to rectify it is to close (flick) the app.

6 (comment)

https://github.com/jamielob/reloader/issues/6#issuecomment-261642492

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/jamielob/reloader/issues/12#issuecomment-261693382, or mute the thread https://github.com/notifications/unsubscribe-auth/AAPVmGOBPLeuRsU-AIHB2Nw0PX8Ng3_9ks5q_n9DgaJpZM4Kw0PG .

jamielob commented 7 years ago

@adamgins - I'm closing this issue since it's been dormant for a while but feel free to comment with an update.

sferoze commented 7 years ago

@jamielob

I seem to be having this issue as well. I'm trying to make some adjustments to my settings to resolve it. Can you verify that I am using the code below correctly? What I am looking to do is set reloader to only refresh automatically on firstStart. Then notice the Tracker.autorun code. Basically I am instantly reloading the app like the default Meteor behavior, but I am doing it manually because I want to briefly show a screen that says "Updating" before reloading. Is this correct way of achieving this?

if (Meteor.isCordova) {
  if (Meteor.isDevelopment) {
    Reloader.configure({
      check: false,
      refresh: 'instantly'
    });
  } else {
    Reloader.configure({
      check: 'firstStart',
      checkTimer: 3000,
      refresh: 'start'
    });
  }

  Meteor.startup(function() {
    Meteor.setTimeout(function() {
      Tracker.autorun(function() {
        var updateAvailable;
        updateAvailable = Reloader.updateAvailable.get();
        if (updateAvailable) {
          Blaze.render(Template.starterLoader, $('body')[0]);
          Meteor.setTimeout(function() {
            return Reloader.reload();
          }, 1700);
        }
        return updateAvailable;
      });
    }, 5000);
  });
}
jamielob commented 7 years ago

@sferoze - TBH I haven't used this package myself for a long time now!

Why do you need the autorun block? You've set the package to refresh on start which means Only refresh to already downloaded code on a start and not a resume.