Repository navigation
fix(chat): verify complete delegation originals - #7692
loopx-agent wants to merge 1 commit into
Conversation
Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com>
|
This pull request has merge conflicts with Choose the remote for the base repository, not an out-of-date fork. git fetch upstream
git rebase upstream/main
# Resolve each conflict, git add the resolved files, then git rebase --continue.
git push --force-with-lease origin HEADFor a same-repository clone whose Keep the DCO |
Goal And Delivered Outcome
Opening Delegations → Original conversation used the lenient, unpaged Session read. A damaged journal could omit a saved message while the detail still appeared readable. Ordinary unpaged snapshots already contain the full transcript; the defect is accepting an unverifiable original, not an ordinary page-size truncation.
The detail now reuses
fetchChatSessionHistory: read every bounded page from one source and frozen prefix, then show the complete target Turn. A failed/conflicting page shows the existing unavailable state; closing cancels the read. Existing discovered-summary callers retain their identity checks and legacy full-snapshot compatibility.main. Related perf(collaboration): batch guarded inventory observations #7630, without closing its broader latency/adoption work.loopx/capabilities/manager_context/chat_history.pyand task-first delivery rules at basec38b3a1a62e844d1d59f68701d3b4684136e50c3; the scoped request in this PR is the user-facing basis.Scope And Continuation
Complete within this reader fix. No second paginator, cache, schema or state owner. The companion fixture removes a duplicate user append already owned by
create_turn, isolates its process namespace before owner imports, and reuses authenticated child cleanup before temporary state disappears. Both browser runners check fixture exit, so an early PASS line cannot hide failed teardown.The same existing disclosure, text and layout remain. Source proposal and synthetic packaged qualification do not prove adoption by an installed App, a live provider thread, or end-to-end latency improvement. Broader delegation readback/adoption and performance work remains separate.
Validation
c6354fcec98ba7eeeea78228395500ac6b0188ce(runtime/UI build bytes unchanged by the rebase onto the test-only test(delegation): reap fixture runtimes in their spawning parent #7685 merge).smoke/delegation-search-browser-smoke.mjswith real File and SQLite authority plus Chat HTTP: complete target Turn, long body, later-page hold/failure, reopen/cancel, 390px/keyboard, search/paging and source failure/recoverynpm run smoke:conversation-historyandnpm run smoke:bound-conversation: three real HTTP pages, source/prefix conflicts, ordinary and bound history, cancellation and old-service compatibilitysmoke/delegation-media-browser-smoke.mjs: images/quotes, same-Turn isolation, refresh/native return, English/narrow, executor-offline zero-POST read and successful teardownThe original-reader segment adds zero POSTs and leaves Chat/receipt state and the original 13 Turns unchanged. Workspace startup with the synthetic available executor separately attempts one Session admission, rejected by the read-only fixture; this PR does not claim whole-workspace startup made zero network POSTs. The media journey separately qualifies reading with the executor offline. No backend authority or PostgreSQL implementation changes.
Frontend / Visual Evidence
Synthetic packaged Chat at the tested revision, not an installed or live-data capture. The default grouped list, primary text size, persistent count/paging and existing original-conversation entry stay in place. Failure remains visible within that entry; optional requirements/provenance stay folded until requested. The stress body is synthetic user content, not added interface explanation.
Default populated desktop view (unchanged arrangement):
The long original remains scrollable at narrow width and its later-page answer appears once at the end. This is a completeness/failure review, not a claim of a visual redesign or independent audience comprehension. Generated captures stay outside Git under the repository visual-evidence retention contract.
Boundary Checklist