Releases
v1.39.0
Compare
Sorry, something went wrong.
No results found
Changed
论坛 App 接口:论坛的接口插件升级到 1.9.0 后,同步通知不再抓提醒页和私信页。提醒直接用 notify 回的内容(和提醒页显示的一样:链接补成完整网址、屏蔽用的类型与作者照旧认得);私信列表改问新的 pmlist(和网页私信页同一份列表,自己发出的、已读的对话也在里面),轮询时只有对话有变动才问;公共消息在自动同步时直接用 notify 回的未读公共消息,下拉刷新与第一次同步照旧抓公共消息页(要连已读的一起列)。私信摘要用的是网页私信页印出来的那份(和网页一字不差,包括网页本来就会弄丢的网址 &),提醒、私信、公共消息的时间也和从网页读到的一样(同样换算成会员在论坛设置的时区、只到分钟),所以接口和网页两条路换来换去时,同一则消息不会被当成新消息再通知一次;判断「这次同步起点之后」时也用同一种时间,设备时区和论坛设置的时区不同时,刚到的提醒不会被漏掉、旧的也不会被当成新的。以前打开这两页时论坛会顺便把提醒标成已读、清掉网页上的新私信提示,现在改由 App 另外送一次 seen 做同样的事,网页上的红点照样会消;这一步失败或太久没回应(最多等 8 秒)只记日志,不影响这次同步,之后的同步只要还看到未读提醒就会再送。下拉刷新和第一次同步现在也会先问一次 notify(插件回「未登录」时直接判定登录过期)。插件是旧版、没有插件,或接口这次没回答(例如请求太频繁被拒)时,照旧抓提醒、私信、公共消息三页,行为不变。
Fixed
安全:私信与公共消息卡片上的摘要会被当成网页内容显示。论坛会保留消息里写的数字字符引用(例如 <img src=…>),读出来就变成真的标签,卡片上可能载入外站图片或插入别的内容。现在这两种卡片只显示摘要的文字:" 这类字符引用照常还原(旧版接口存下来的对话也一样),标签一律丢掉、不会显示也不会生效(提醒本来就是论坛产生的网页内容,照旧)。
通知页下拉刷新后记下的「下次同步起点」改用论坛这次回应的时间(和自动同步、同步全部账号一样),不再用这次拿到的最新一则消息的时间。设备时区比论坛设置的时区晚(例如在欧洲、论坛设成 +8)时,消息时间会落在几小时后的「未来」,记下来之后的自动同步就一直以为没有新消息,接口插件 1.9.0 时还可能把刚到的提醒在论坛上标成已读。已经存下的、比设备时间晚 10 分钟以上的起点视为无效,改抓最近三天,下一次同步就会换回正确的起点;起点比论坛时间晚的那次同步也不会把提醒标成已读。
通知页重复叠加(#196 ):从帖子页、版块页顶端的铃铛,顶端菜单的「通知」,或个人资料页菜单的「查看通知」进通知页时,每次都另开一个新的通知页;一则一则看提醒(通知页 → 帖子 → 铃铛 → 下一个帖子……)就会一层层叠上去。#117 只修了点系统通知那条路,现在这几个入口也一样:下面已经有通知页、而且上面的页面都能安全关掉(没有写到一半的回复)时,直接回到那个通知页。
私信页与公共消息页的「未读」改看那一列有没有 newpm 标记:Discuz X5 这两页每一列都会印出红点元素(newpm_avt,只在未读的列才显示出来),以前 App 把它当未读标记:私信页上最后一则是对方发的对话,就算已经在网页上读过,第一次收进列表时也算未读;公共消息页上早就读过的旧消息也被当成未读,不论时间都收进列表(未读的公共消息照旧不论时间都收)。
You can’t perform that action at this time.