Preserve courses with pending rooms and report precise graduate import errors
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Android 首版验证记录
|
||||
|
||||
当前版本为0.7.9+35,点按节奏及发布验证见[本次记录](tpschedule-0.7.9-release.md)。构建34的灰蓝导航、乳白透射及图标折射见[本次记录](tpschedule-0.7.8-dock-symbol-optics.md)。构建33的提醒恢复与待机诊断见[本次记录](tpschedule-0.7.8-reminder-idle.md)。构建32的点按放大、外溢及柔软材质见[本次记录](tpschedule-0.7.8-dock-bloom.md)。构建31的移动中Q弹、牵拉及减薄见[本次记录](tpschedule-0.7.8-dock-drag.md)。构建30的点按/方向弹动及乳白材质见[本次记录](tpschedule-0.7.8-dock-spring.md)。构建29的Dock弹性与Android平板验证见[本次记录](tpschedule-0.7.8-dock-tablet.md)。构建28的通知权限恢复、通道初始化及真实后台触发见[通知记录](tpschedule-0.7.8-notification-permissions.md)。Dock乳白透光材质见[优化记录](tpschedule-0.7.8-dock-refinement.md)。本科/研究生HTML反馈及签名、备案信息见[0.7.8功能记录](tpschedule-0.7.8-validation.md)。应用更新检查与后台说明见[0.7.6记录](tpschedule-0.7.6-updates.md)。本科考试兼容的验证见[0.7.5记录](tpschedule-0.7.5-validation.md)。两例真实课表缺失字段问题待新页面定位。本科接入记录见[0.7.0记录](tpschedule-0.7.0-validation.md)。下文为首版历史记录。
|
||||
当前版本为0.7.10+36,导入日志定位及修复见[本次记录](tpschedule-0.7.10-import-diagnostics.md)。构建35的点按节奏及发布验证见[本次记录](tpschedule-0.7.9-release.md)。构建34的灰蓝导航、乳白透射及图标折射见[本次记录](tpschedule-0.7.8-dock-symbol-optics.md)。构建33的提醒恢复与待机诊断见[本次记录](tpschedule-0.7.8-reminder-idle.md)。构建32的点按放大、外溢及柔软材质见[本次记录](tpschedule-0.7.8-dock-bloom.md)。构建31的移动中Q弹、牵拉及减薄见[本次记录](tpschedule-0.7.8-dock-drag.md)。构建30的点按/方向弹动及乳白材质见[本次记录](tpschedule-0.7.8-dock-spring.md)。构建29的Dock弹性与Android平板验证见[本次记录](tpschedule-0.7.8-dock-tablet.md)。构建28的通知权限恢复、通道初始化及真实后台触发见[通知记录](tpschedule-0.7.8-notification-permissions.md)。Dock乳白透光材质见[优化记录](tpschedule-0.7.8-dock-refinement.md)。本科/研究生HTML反馈及签名、备案信息见[0.7.8功能记录](tpschedule-0.7.8-validation.md)。应用更新检查与后台说明见[0.7.6记录](tpschedule-0.7.6-updates.md)。本科考试兼容的验证见[0.7.5记录](tpschedule-0.7.5-validation.md)。两例真实课表缺失字段问题待新页面定位。本科接入记录见[0.7.0记录](tpschedule-0.7.0-validation.md)。下文为首版历史记录。
|
||||
|
||||
日期:2026-10-13。测试环境:Flutter 3.47.7 / Dart 3.13.5 / JDK 17;Android 16 API 36,Pixel 7 模拟器,1080×2400。首版版本 0.1.0+1,包 ID com.example.hepan_everyday,最低 Android 7.0(API 24)。
|
||||
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
# 0.7.10 导入问题定向修复
|
||||
|
||||
用户取消反馈学校选择:不增加学校选择步骤,保留现有日志 school 标记。用户已授权直接实现。
|
||||
|
||||
- [x] 本科日志定位为第 15 条活动 room_missing。用匿名样本复现空教室整表失败,保留完整周次/节次/教师,空教室显示“教室待定”,课程备注和导入提示解释来源。教师、课程号、周次和节次仍严格校验,不跳过错误课程。
|
||||
- [x] 研究生日志仅有 UnsupportedSchoolLayout,没有 HTML,不能确定具体字段。为解析各阶段增加可公开的原因码和行列号,保留失败快照;修正解析失败最终被误报为网络超时。对纯数字课程号限制及空教室补充严格格式下的兼容测试,不能声称这些就是同学的确切原因。
|
||||
- [x] 红绿回归、全量 Flutter 测试、静态分析、正式构建、独立审查、源码与 APK 发布完整性/原签名核对。本次作为 0.7.10+36,保留所有既有版本和登记冻结材料,不修改线上服务器。
|
||||
|
||||
验证重点:空教室不丢课程;正常教室/教师不变;畸形时间仍拒绝;未知研究生格式不清空旧课表;具体错误及行列码可见但不输出课程内容;换页后不能沿用旧错误原因。
|
||||
@@ -0,0 +1,36 @@
|
||||
# 0.7.10:无 HTML 导入日志排查
|
||||
|
||||
日期:2026-10-28。版本 0.7.10+36,Android 包名 com.tpschedule.app。
|
||||
|
||||
## 日志结论
|
||||
|
||||
两份日志均标记为 TPSchedule 0.7.8+26,而非刚完成的 0.7.9。
|
||||
|
||||
- TPSchedule-diagnostics.txt:2026-10-25 北京时间 09:08 左右,school=undergraduate。网页完整内容恢复已应用,随后课表读取反复返回 room_missing、activityNumber=15。可确认第 15 条 TaskActivity 的教室字符串为空,被原解析器当作整表错误拒绝。
|
||||
- TPSchedule-diagnostic5s.txt:2026-10-27 北京时间 09:02–09:03,school=graduate。认证后已自动访问课表,读到一个表格片段及学期 73;解析反复返回 UnsupportedSchoolLayout,最终 read_timeout。缺少 HTML 和细分原因码,无法判断究竟是字段、课程行、周次、表头还是空课表问题。不能把它归因于浏览器内核,也不能声称本轮已确定该同学的具体根因。
|
||||
|
||||
用户取消反馈中的学校选择:不增加选择步骤,继续依靠日志中的 school 标记。反馈界面、协议、服务器代码均不变。
|
||||
|
||||
## 修改
|
||||
|
||||
1. 本科课程的教室字符串为空时,保留全部课程、教师、周次和节次,显示“教室待定”,在课程备注中解释学校未提供教室。导入成功提示及既有导入预览会提醒用户。没有猜测实际教室,也没有跳过该课程;教师、课程标识、周次和节次异常继续拒绝整表,保留旧数据。
|
||||
2. 研究生解析取消纯数字课程号的额外限制,接受首位为字母/数字、其后为字母/数字/点/下划线/连字符的课程标识;相同严格结构下,空教室也明确标为待定。空教师、无效周次、错位节次、缺失单元格和空表仍拒绝。这些是已通过匿名样本验证的兼容修复,尚不能证明命中原研究生样本。
|
||||
3. 研究生拒绝原因细分为来源、大小、学期、表头、单元格、课程字段、周次、节次等常量原因码,并在适用时记录时段行号和星期列号。日志不包含课程名称、教师、教室、帐号、Cookie 或 HTML。
|
||||
4. 自动读取和手动读取保留原始解析错误。读取期限或轮询次数耗尽时,若当前页面曾有具体解析错误,则显示并记录该原因;不再一概写成查找/网络超时。错误按页面代次隔离,换页后不继承旧原因;成功解析后清除旧原因。
|
||||
|
||||
## 验证
|
||||
|
||||
- 原始匿名复现有 4 项失败,分别为空教室、研究生代码/空教室、具体原因、错误被超时覆盖;修复后通过。
|
||||
- Flutter 全量 337 项测试通过,静态分析无问题,正式 APK 构建通过;独立审查无需要修复的缺陷。
|
||||
- 对比缺教室前后的全部 courseCode/teacher/weekday/period/week 集合,确认没有丢课、少周或少节。
|
||||
- 本科导入界面的模拟流程验证课程入库及“部分课程教室待定”提示。
|
||||
- 模拟 45 秒读取期限后仍保留 weeks_invalid;新页面不沿用旧周次错误;诊断不含课程值。
|
||||
- 既有学校来源校验、学期隔离、失效页面保护、未知布局不清空旧课表及反馈功能测试保持通过。
|
||||
|
||||
本轮没有失败同学的 HTML,也未使用他们的帐号复测。请让同学先安装本修复版重试;研究生若仍失败,需新日志中的细分代码,最好自愿附带脱敏学校 HTML,才能继续定位实际页面差异。
|
||||
|
||||
## 交付与发布
|
||||
|
||||
TPSchedule-0.7.10.apk,同签名覆盖安装,构建号 36。原公钥、私钥、备案号和 0.5.4 的 18 项登记冻结材料保持,旧 APK/源码保持。
|
||||
|
||||
服务器无需更新。更新后台发布版本 0.7.10、构建号 36,下载链接使用上传后实际可访问的 HTTPS 地址;本地未执行线上发布。
|
||||
Reference in New Issue
Block a user