Repository navigation
fix(chat): prevent new chat intro crash when its request is cleared - #214
Open
3316891527 wants to merge 1 commit into
Open
3316891527 wants to merge 1 commit into
3316891527 wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
变更说明 / Description
新建对话入场动画播放期间,请求被消费、切换或移除时,绘制子组合可能继续使用已经变成 null 的请求 ID,并在
NewChatIntro.kt中触发IllegalArgumentException: Required value was null。本次将每轮动画的状态和绘制绑定到固定的非空请求 ID,请求失效时移除对应组件。背景与动机 / Context and motivation
用户报告在新建对话、删除新建对话并退到后台后连续出现崩溃,截图明确指向生成粒子轨迹时的
requireNotNull(requestId)。设备退出历史记录了三次EXIT_SELF / status=1,与全局异常处理器的退出方式一致;当时的 logcat 已被循环缓冲区覆盖,退出历史不包含堆栈,不能据此认定三次都是同一异常。改动范围 / Changes
key(id)隔离每轮动画的进度、播放标记和绘制子组合。兼容性与风险 / Compatibility and risks
保持现有的播放条件、1.8 秒动画、5 秒请求过期和系统关闭动画时的行为。会话存储、删除规则、配置和公开参数保持兼容。主要待验证范围是 Compose 在动画播放和取消交错时的设备行为。
关联 Issue / Related issue
N/A:来自用户提供的崩溃截图和操作步骤,尚无对应 GitHub Issue。
验证方式 / Verification
git diff --check和暂存差异空白检查通过。errors=0 warnings=0。证据 / Evidence
崩溃截图中的异常和行号与原
NewChatIntro.kt:77的requireNotNull(requestId)对应。实现及设备验收范围见docs/TODO/fix/new-chat-intro-lifecycle/index.md。原始设备日志与截图不提交到仓库。检查清单 / Checklist
dev/ The target branch isdevfor regular workCandidate checks覆盖改动范围,并会处理技术失败项 / Candidate checks covers the change scope and technical failures will be addressed