App cache refresh

Anyone have any idea how to I can force the user to reload/refresh the page so they clear their cache for the application? I am making frequent updates to our app and many users are not seeing the current forms and other page stuff because they are seeing the prior update. It's becoming an absolute customer support nightmare having every user seeing a different version of the app because we may update the app a few times per week. 

Tony is there somewhere we can learn more about your versioning system?

369481659772 would love to learn more about your versioning system if you can share.

Yep - Tony's work here is excellent stuff (I've been privileged enough to see it in action).

@Tony - I don't think you received some emails from me last week?

I've created a maintenance mode in a similar way. Since their are times i want to lock the users out of the system and i need live users who are using cached versions to be kicked out as well. So I use page rules to check a stored value and if the value is maintenance mode then the page rule forwards them to a maintenance page that has a javascript listener that checks at intervals for the system to come back on line then forwards them back to the page they were redirected from.

369342711811 yes I have created several different solutions for this. One uses cookies and refreshes the users browser every couple hours to make sure they have the latest version. I have recently started implementing a new solution. I can explain several ways to accomplish this and depending on your level of knowledge we can go deeper. At the top level I have a versioning system that i increment each time i make a modification, then each time a view is loaded there is a check to compare the users version against the system version both stored in knack. If there is a mismatch javascript refresh's the page. If they match it continues on. 

Actually what happens in my mobile app is it keeps rerouting to the login page. Nogo for this solution. 

Hi, did anyone manage to get this to work?

Having the page refresh once each time a user logs in would be really helpful.

Would something like this work (not tested)

// All scenes
$(document).on('knack-scene-render.any', function(event, scene) {

//Login event
$('.kn-login-form > form').submit(function(){
location.reload(true);
});

});

Not sure anything I am going to suggest is possible but this link:
https://www.knack.com/developer-documentation/#redirect-after-logout 
might suggest that you could try to capture a corresponding login event (replace a.kn-log-out with something related to the login button?).
Then follow what Miguel and/or Brad suggested?

Anyone? Any way to make it so it will refresh when someone logs in to a password protected page?

This will set their browser to reload every 3 hours? this won't persist across session they would have to stay logged in for 3 hours to get the refresh? how can i just make it refresh once each time they login so they have the latest code base?

Thanks for sharing Miguel - hadn't thought of that!

Tweaked your code to get it working for us:

setTimeout(function(){ location.reload(true); },14400000);

One solution could be adding the following javascript to the app:

setTimeout("location.reload(true);",12000000);

This would force the browser to reload after the specified number of milliseconds.

I'm building a custom tool for my business and we are using it in prototype and currently feel like I spend my life saying "refresh the page"

1 Like

I remember things like 

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />

would cause pages not to cache and force reloads I don't know if it would work in this situation.

yeah I don't get why it just doesn't force auto refresh the browser on knacks end when there is an app update. Im gonna have to pay a developer another $500 bucks now to do something I know is stupid simple I just don't know how to do it in javascript or whatever is going to force the browser to refresh. All I need is the page to refresh for each user each time they login to the dashboard I am building. I'm hoping someone  here knows how to do this .. I'll give it a few more days.

Same problem here. A lot of call just to say : Refresh the page....