fix(ui): preserve session state and pending settings through overlapp…
fix(ui): preserve session state and pending settings through overlapping events (#152375) * fix(control-ui): reject stale session events before pane delivery Use the shared session observation owner to capture and reconcile events before notifying mounted panes. Keep current reset and rowless delivery while preventing an older incarnation from clearing the current transcript. * fix: preserve current chat ownership through session recovery Integrate main while preserving the published session-event repair ancestry. Reconcile event delivery through the shared owner, fence reentrant pane bindings, and recover queued messages against their visible session owner. The complete tree matches the reviewed and qualified source, including canonical persisted-message metadata in the held-history browser regression. * test: wait for the first passive history request * fix: integrate session event ownership with current main * fix(ui): retain admitted session settings through overlapping updates * fix(ui): preserve session events across incarnation replacement Integrate current session ancestry and goal recovery while retaining shared pending settings ownership. Rebind retired pane observations before their successor emits its first message, and replace polling in the new regressions with completion signals. * refactor(ui): share pending row updates and keep startup within budget Use one ordered set of optimistic field owners, inline scoped event delivery at its roster owner, and consolidate chat setting feedback. Keep shared transcript styles in a separate bundle and make browser proof selectors exclude nested tooltips. Preserve existing performance and line-count budgets. * test(ui): assert session fences after partial model refresh Integrate the CI main snapshot and give the partial-catalog browser fixture one explicit physical session identity. Assert that thinking and speed writes target that exact session. * perf(ui): set approved session-state startup budget Approve the measured integration baseline at 366336 bytes, preserving the 512-byte growth and 64-byte build-variance allowances. Replace remaining outbox-test polling with request signals and keep request inspection with the existing test host. Co-authored-by: Peter Steinberger
评论
?
参与讨论