我有一个Devvit Web应用(huckid),它每天发布一个谜题。每个帖子在创建时映射到Redis中的一个谜题号,并且客户端在加载时从我的服务器获取该映射。问题是:在Reddit iOS应用中,每个帖子都渲染谜题#1,无论打开哪个帖子。同样的帖子在桌面Web和移动Safari中渲染正常。来自我的服务器日志(devvit日志)的证据:“创建帖子=t3_1vdzuvo谜题=10”在帖子创建时。 “init post=t3_1vdzuvo谜题=10”当帖子在移动Safari中播放时,显示了正确的谜题。iOS应用中任何播放的init行都是零,包括我在实时流式日志中观看的。iOS应用似乎从来没有到达我的服务器,然而却渲染了一个完整的交互式游戏。 我已经排除了以下内容: 设备缓存:一个新创建的帖子,仅几分钟前创建,仍然在iOS应用中显示谜题#1。 每个用户的状态:一个不同设备上的第二个用户看到同样的谜题#1,并没有继承第一个用户的连续性,所以这不是共享缓存的响应。 静态预览:视图是交互式的,而不是快照。 版本漂移:安装版本和批准的公共版本都是0.0.8在每个安装中。 我还在调试期间进行了以下更改,但没有修复iOS: 更改了我的init端点从GET到POST以便HTTP缓存不能提供它。 在所有API响应中添加了Cache-Control: no-store,并在客户端fetch中添加了cache: no-store。 在init请求中添加了一个每个帖子的查询参数。 将inline: true设置为默认入口点。 有一个可能相关的观察结果:在0.0.5中,webview iframe URL携带了一个token查询参数。在0.0.8中,iframe src仅为/splash.html,没有token,所以帖子上下文现在似乎通过原生桥接到达。 我的猜测是,在iOS中,桥接正在将webview传递一个陈旧的帖子上下文,或者webview在帖子之间被重用而没有重新初始化,但我无法从外部验证任何一个。 环境:devvit web 0.13.9,Devvit Web与splash.html作为默认入口点和一个游戏入口点,iOS Reddit应用(最新),在两台设备和两张账户上重现。 有没有人在iOS应用中看到webview上下文在帖子之间被重用,并且是否有支持的方法来强制每个帖子重新初始化。