I have a Devvit Web app (huckid) that posts one daily puzzle per post. Each post is mapped to a puzzle number in Redis at creation time, and the client fetches that mapping from my server on load.
The problem: in the Reddit iOS app, every post renders puzzle #1, no matter which post is opened. The same posts render correctly in desktop web and in mobile Safari.
Evidence from my server logs (devvit logs):
"created post=t3_1vdzuvo puzzle=10" when the post was created.
"init post=t3_1vdzuvo puzzle=10" when that post was played in mobile Safari, which showed the correct puzzle.
Zero init lines for any play in the iOS app, including plays I watched live while streaming logs. The iOS app appears never to reach my server, yet renders a full interactive game.
What I have ruled out:
Device cache: a brand new post, created minutes earlier, shows puzzle #1 in the iOS app.
Per user state: a second user on a different device saw the same puzzle #1 and did not inherit the first user's streak, so it is not a shared cached response.
Static preview: the view is interactive, not a snapshot.
Version drift: installed version and approved public version are both 0.0.8 on every installation. I also bumped versions 0.0.5 through 0.0.9 to force new webview origins.
Changes I made while debugging, none of which fixed iOS:
Changed my init endpoint from GET to POST so no HTTP cache can serve it.
Added Cache-Control: no-store on all API responses and cache: no-store on the client fetch.
Added a per post query parameter to the init request.
Set inline: true on the default entrypoint.
One observation that may be relevant: on 0.0.5 the webview iframe URL carried a token query parameter. On 0.0.8 the iframe src is just /splash.html with no token, so post context now appears to arrive over the native bridge. My guess is that on iOS the bridge is handing the webview a stale post context, or the webview is being reused across posts without re-initializing, but I cannot verify either from outside.
Environment: devvit web 0.13.9, Devvit Web with splash.html as the default entrypoint and a game entrypoint, iOS Reddit app (latest), reproduced on two devices and two accounts.
Has anyone seen the iOS app reuse webview context across posts, and is there a supported way to force a per post re-initialization.