Conversation
Maya-Kid
force-pushed
the
fix/chat-history-reattach-handoff
branch
from
September 21, 2026 09:28
9afbe39 to
5c1673e
Compare
Maya-Kid
force-pushed
the
fix/chat-history-reattach-handoff
branch
from
September 21, 2026 10:25
5c1673e to
a155bba
Compare
Signed-off-by: dada-yan <BinjunYann@gmail.com>
Signed-off-by: dada-yan <BinjunYann@gmail.com>
Signed-off-by: dada-yan <BinjunYann@gmail.com>
Maya-Kid
force-pushed
the
fix/chat-history-reattach-handoff
branch
from
September 22, 2026 03:38
a155bba to
ba964f3
Compare
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.
Post-merge synchronization (2026-09-22)
Rebased onto
dev@7cfeedfeb11c3a1c42d5091c5941a51afaaeb161after #848, #851, #849, #850 and #852 merged. Current head:ba964f3aaa94ae514f9e585c04329f642708299d.The UI dependency order remains #854 → #856 → #855. Retained upstream stream-interruption strings alongside the history/pagination keys when resolving i18n conflicts. The complete UI tree is byte-for-byte identical to the previous validated integration tree. Maintainer visual review remains outstanding.
Validation on combined tree
d06f4ad0199a382635a6bbf94210b9421cbeba66(675 tracked Linux inputs hash-matched):Earlier evidence below refers to its stated historical heads.
Depends on #854 (view-request ownership). This branch includes that prerequisite so stale refreshes cannot overwrite a later navigation or send. The additional commits for this behavior are
cb82751and9afbe39; after #854 merges, GitHub's diff will reduce to those changes.An answer can commit after the browser reads a user-only history but before it reattaches to the live producer. The server then correctly returns
idle, while the page remains stuck with the unanswered question. On that initial idle handoff, read the persisted history once and apply it only while the initiating view request still owns the page. If it is still unanswered, display a bounded idle status; a failed read offers an explicit retry. This never re-POSTs the question or recursively reattaches.Validation, based on
dev@ea0557bplus #854, final head9afbe39:idleresponse caused exactly one extra detail GET, rendered the saved answer, and caused zero chat POSTs.f7bcd0878bf490d6efb122b71d6f13d379df4709, including Hand off exhausted tool runs to an evidence-only final answer #845 and Preserve exact chat outcomes across stream closure and reattachment #851's strict stream terminal handling, passes Rust fmt, strict workspace Clippy, 1,013 tests (one pre-existing external-HTTPS RSS test ignored), workspace build, 129 frontend module tests, 27 browser subtests and frontend build.Run
node --test tests/chat-view.test.mjsfromweb, with optionalCHAT_PLAYWRIGHT_PATHandCHAT_CHROMIUM_PATH. No new dependency, polling loop, model retry, or server generation policy is introduced. All model integration evidence uses a local scripted endpoint, not a paid model.