Toolbar consistently disappears due to refresh

Permalink
There are a lot of posts about a missing toolbar, and a significant number of them resolve to a missing footer_required. This is not one of those posts.

I discovered some odd toolbar behavior, and I'd like to know if there is anything I can do about it without slowing down page loads.

---

# Steps to reproduce

Steps were taken in Google Chrome Version 35.0.1916.153 on Ubuntu 14.04

1. visit a page
2. hit F5 to refresh the page
3. sign in (toolbar displays appropriately)
4. use the nav menu to reload the page

# Expected Behavior

- The edit toolbar should display
- I should still display as signed in

# Actual Behavior

- The edit toolbar does not display
- The "Sign In to Edit this Site" link displays at the bottom of the page
---

A refresh (F5) will bring back the toolbar and properly display the signed in state, but this is not appropriate behavior for a CMS.

Is this a website configuration issue? The symptoms suggest that disabling cache for javascript etc. might fix this issue, but that is _not_ a solution. What options do I have to fix this behavior?

 
jero replied on at Permalink Reply
jero
First thing I'd try is turning off all caching, and clear the cache for good measure. I've seen the toolbar vanish with full page caching enabled and it only shows up once you've refreshed.

Note that even when you've turned off the caching, you may still see a page without a toolbar, because your browser will have cached it. Refresh again, or better still clear you BROWSER cache and from that point on you should be OK.
starkart replied on at Permalink Reply
Site performance is more important to us than editing convenience. Are you suggesting leaving caching off, or that it can be turned back on after clearing the cache?
jero replied on at Permalink Reply
jero
Yes, Once you've cleared the cache and got everything working, turning it on again should be OK.
mkly replied on at Permalink Reply
mkly
This is because of "Full Page Caching" in recent versions of concrete5. Cache headers are sent to the browser so the browser will show a locally cached version until you do a refresh.