Skip to content

Reset missing-session state for fresh chats - #2004

Merged
Open-Squilla merged 1 commit into
mainfrom
fix/webui-reset-session-missing
Oct 27, 2026
Merged

Open-Squilla merged 1 commit into
mainfrom
fix/webui-reset-session-missing

Conversation

@Open-Squilla

Copy link
Copy Markdown
Contributor

Scope

Reset the session history missing state when a fresh chat draft replaces a deleted session. This keeps the new workspace conversation composer enabled after deleting the active child session.

Branch target

main

Linked issue

None

Release note

Not needed; bug fix in the Web UI session lifecycle.

Test results

  • node node_modules/vitest/vitest.mjs run src/composables/chat/useChatSessionRuntime.draft.test.ts src/composables/chat/useChatHistory.test.ts src/views/ChatView.session-missing-wiring.test.ts src/components/chat/AssistantMessage.session-created.test.ts
  • npm run typecheck:vue
  • uv run pytest tests/test_gateway/test_rpc_sessions.py::TestSessionsDelete::test_delete_valid tests/test_gateway/test_rpc_sessions.py::TestSessionsDelete::test_delete_evicts_only_the_deleted_session_stream tests/test_gateway/test_rpc_sessions_fork.py::test_delete_parent_leaves_forked_child_intact -q

Safety notes

The change only resets client-side history state after switching to a new provisional session. It does not alter session deletion semantics or workspace ownership.

Third-party origin

None.

@Open-Squilla
Open-Squilla added this pull request to the merge queue Oct 27, 2026
@github-actions

Copy link
Copy Markdown

Merge queue CI: success — run 40551416589, attempt 1.
Tested queue candidate: 2bca6f54e4ed82301a25f12d29f9021f46243566. This result belongs to that combined tree, not necessarily the PR's current head.

The run summary lists reused suites and executed checks. A green PR check alone does not mean queue validation has passed.

Merged via the queue into main with commit 2bca6f5 Oct 27, 2026
67 checks passed
lihongguang-0014 added a commit to pcbeingused333/opensquilla that referenced this pull request Oct 29, 2026
TokenRhythm#1986)

* fix(webui): keep a running turn's late rows above the queued follow-up

A follow-up submitted while a turn is running lands in the transcript as a
user row immediately, but the running turn keeps emitting router receipts and
text afterwards with the older turn id. Rendering in arrival order placed
those rows below the queued bubble, so the router strip and the activity it
describes read as the follow-up's work.

Group rendered rows by the first position of their turn before returning them.
Rows inside one turn keep their arrival order, and rows without a turn key
stay where they are.

This corrects the strip and row attribution. The live edge is still mounted in
the list trailing slot, which always renders after the last message row; moving
it into its turn is a separate list-layout change.

Refs TokenRhythm#1887

* fix(router): allow saving explicitly selected providers by default (TokenRhythm#1996)

* fix(router): enable explicitly selected provider deployments on save

* test(router): include provider save in browser workflow inventory

* fix(deps): refresh vulnerable locks blocking router regression CI

* fix(webui): let wheel gestures leave tool details at the scroll boundary (TokenRhythm#1985)

An expanded tool result keeps its own bounded scroll window inside the
transcript. Both that window and the code/diff viewport declared
`overscroll-behavior: contain`, so a wheel gesture that reached either inner
boundary was dropped instead of scrolling the conversation. During a live
turn the transcript also stayed pinned to the live edge until the pointer
moved onto ordinary text.

Use `overscroll-behavior: auto` on both inner windows so the remainder of the
gesture chains to the transcript. Scrolling inside a region that still has
range keeps moving only that region.

Adds a source guard that fails if either rule returns to `contain`.

Fixes TokenRhythm#1889

Co-authored-by: angri450 <angri450@users.noreply.github.com>
Co-authored-by: Open-Squilla <275096992+Open-Squilla@users.noreply.github.com>

* fix(webui): silence routine reasoning replay notifications (TokenRhythm#2000)

* fix(webui): contain collapsed activity scroll overflow (TokenRhythm#2003)

* docs(readme): sync translated capability rows with the English README (TokenRhythm#2001)

The zh-Hans, ja, fr, de, and es READMEs still described the pre-SDK-2.2 MCP extra install (opensquilla[recommended,mcp]) and a Windows sandbox gap that README.md already resolved. The mcp extra is now empty in pyproject.toml, so the documented install command is misleading.

Co-authored-by: FENGCHENHAO\fch <204137222@qq.com>

* Reset missing-session state for fresh chats (TokenRhythm#2004)

* Fix compaction history scan stalls and add lifecycle diagnostics (TokenRhythm#2007)

* Fix compaction history scan stalls and add lifecycle diagnostics

* Bound scan allocations and observe post-summary settlement

* Verify gateway exit diagnostics with inherited output pipes

* Remove vulnerable download proxy serializer dependency

* Preserve URI parser security floors in proxy tooling

* Handle real quit confirmation in profile import acceptance

* Handle quit confirmations in desktop acceptance cleanup

* Run native close cancellation regression outside parallel CI

* Update native close CI partition contract

* Preserve internal handoff boundaries when ordering queued turns

Group only explicitly anchored user turns within each uninterrupted presentation span. Preserve internal resume rows, incomplete history and legacy order while retaining late completion and router ownership.

Co-authored-by: angri450 <angri450@users.noreply.github.com>

* Update Vue I18n to address security audit findings

---------

Co-authored-by: angri450 <angri450@users.noreply.github.com>
Co-authored-by: Open-Squilla <275096992+Open-Squilla@users.noreply.github.com>
Co-authored-by: fengchen122123-sudo <fengchen122123@gmail.com>
Co-authored-by: FENGCHENHAO\fch <204137222@qq.com>
Co-authored-by: lihongguang-0014 <hongguang.li@tokenrhythm.ai>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant