Repository navigation
feat: add unified session timeline, main-thread blocking watchdog, and graceful Zone fallback - #107
Merged
Merged
Conversation
…aceful Zone fallback, and release version consistency check
…rderRadius/non-uniform-border assertion)
…inite-height layout crash
… fallback on website
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.
Summary / 摘要
Add a unified session timeline and a main-thread blocking watchdog, and make
runAppWithInspectordegrade gracefully instead of crashing on a pre-initialized binding. / 新增统一会话时间线与主线程阻塞看门狗,并让runAppWithInspector在 binding 已初始化时优雅降级而非崩溃。Changes / 变更
TimelineViewer) merges network / logs / errors / routes / alerts into one time-ordered stream, with per-source filtering and a ±N-second focus-around-any-event mode (TimelineService). It sits after the Routes tab and before the Widgets tab. / 统一会话时间线(TimelineViewer)把网络 / 日志 / 异常 / 路由 / 告警归并为一条时间流,支持逐来源筛选与「聚焦任意事件前后 ±N 秒」模式(TimelineService);Tab 位于 Routes 之后、Widgets 之前。BlockingWatchdogCardin the FPS tab) detects UI-isolate stalls invisible to FPS via a 100ms heartbeat (off by default, own switch). / 主线程阻塞看门狗(FPS 页内BlockingWatchdogCard)用 100ms 心跳捕捉 FPS 看不见的 UI isolate 卡死(默认关闭、独立开关)。runAppWithInspectorno longer throws "Zone mismatch" when the binding was pre-initialized; it degrades to a plainrunApp(debugPrint still captured). /runAppWithInspector在 binding 预初始化时不再抛 "Zone mismatch",降级为普通runApp(debugPrint 仍捕获)。tool/check_release.dart+test/version_consistency_test.dart) plus a CI step;InspectorVersion.valueand all version strings bumped to 1.12.0. / 发版版本一致性自检(tool/check_release.dart+ 测试)与 CI 步骤;InspectorVersion.value及各版本串升至 1.12.0。borderRadius); the kind accent is now an inner bar. / 修复时间线卡片圆角 + 异色边框的绘制崩溃,kind 色条改为卡片内竖条。Context / 背景
The panels were siloed across data sources, real stalls produced zero frames (so FPS read idle), and the "Zone mismatch" assertion was the most common first-run crash for newcomers. A recurring version-drift mistake also motivated an automated guard. / 各面板数据源彼此割裂,真实卡死时零帧导致 FPS 显示空闲,而 "Zone mismatch" 断言是新手最常见的首跑崩溃;反复出现的版本漂移也催生了自动化校验。
Checklist / 检查项
Test plan
flutter testis green (283+ tests, incl. new timeline / watchdog / version tests) /flutter test全绿(含新增时间线 / 看门狗 / 版本测试)🤖 Generated with Zero Buddy