I’m not very confident about my ability to edit the regex without borking it so I haven’t updated it manually yet.

IMHO if you apply the same principle to this issue as you do to the general ‘your .htaccess is out of date cause you turned on mobile support’ situation then I think that’s good enough. Just tell people that they should update it manually based on what’s in the htaccess box. If they notice the problem then they come to the Supercache settings at which point they get the notice.

It might be good to be kind of aggressive about notifying people though (show that message in dashboard and not just on the supercache settings). Now that the setting to not cache logged-in pageviews is there I think a lot of people are completely unnaware that the mobile issue exists because they never see the cached (mobile) version of their sites. My org only noticed cause outsiders were telling us there was a problem, we had hundreds of users all logged in and oblivious to the problem.

Temporary Solution

For anyone else experiencing the problem I came up with some plugin code (functions.php should be a viable place to put it) that fixes the problem temporarily by stopping supercache from ever caching mobile pages.

Here it is: http://pastie.org/788981

Using this means you don’t benefit from caching for mobile users, they will always generate their views fresh, but your normal users won’t ever see the mobile version. It seems that doing this doesn’t interfere with the user-agents that Supercache accounts for (iphone,ipod, android, all the major players), so they will still consistently show the mobile version of the site. For user agents that Supercache isn’t aware of (new ones in mobile-edition or ones you added yourself) they will be sent to any pages that were supercached in the general pool (i.e. normal theme), but if they visit a url that hasn’t been supercached they will see the mobile version.

I’m not sure but maybe using that code inside supercache itself would make sense. Especially if combined with whatever mobile checking you are doing in supercache. I.e. IF mobile-edition thinks its mobile AND Supercache DOESNT think its mobile then don’t cache the file. That situation theoretically shouldn’t exist, and in practice that situation is exactly the one that is creating the bug.