SubmitAction::show sets a cache-busting (via our VCL) cookie that prevents CDN cache hits for the session expiry (months). This does two good things:
a) If you get blocked after editing, you will see the talk page notification, due to CDN misses.
b) By accident, this also means that post-edit redirects and other quick modify+view cycles avoid seeing stale CDN data in the view step. Even though CDN purges are fast and PRESEND as deferred updates, there is no synchronization, so the purge may arrive after the user views they asset they just changed, resulting in stale content. To avoid regression, we could set an explicit cache busting cookie that only last for a few seconds. It would be set whenever a web request used CdnCacheUpdate. That would also make the consistency "feature" a clear and explicit feature rather that accidental.
To replace (a), some sort of AJAX system could be used via an RL module that checks for messages. To reduce AJAX traffic from one-off page views, we could keep the logic of long-lasting cookie (or localstore value) that is set when a user changes (e.g. edits) something and only have the JS do the AJAX request if it is set. The cookie would be named so as to NOT trigger the cache-miss logic in VCL, unlike now.