Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: coder/xum
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: coder/xum
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: mike/stale-transcript-shimmer
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 2 commits
  • 9 files changed
  • 1 contributor

Commits on Sep 13, 2026

  1. 🤖 fix(chat): hold the transcript skeleton when switching to a stale o…

    …r active workspace
    
    Switching to a workspace whose transcript changed while it was not the
    active onChat subscription (background stream, or left mid-stream) used
    to paint the cached rows (or a blank transcript with only a Stop barrier)
    and then jump when the since caught-up landed, because the frontend had
    no notion that its cached rows were stale and a mounted streaming barrier
    vetoed the full skeleton.
    
    WorkspaceStore now tracks `cachedTranscriptStale` per workspace: set when
    the always-on activity subscription reports stream/recency movement for a
    workspace that is not the active onChat subscription, or when the user
    leaves a workspace mid-hydration or mid-stream; cleared on caught-up.
    `WorkspaceState.isTranscriptStale` exposes it only while hydrating with
    cached rows. `computeChatViewReveal` drops the streaming-barrier veto and
    holds the TranscriptHydrationSkeleton for stale cached rows or an empty
    transcript; the stream/monitor barrier keeps rendering in the tail lane
    below the skeleton so Stop stays reachable. Trustworthy cached rows still
    paint immediately, and new-chat creation never shows the skeleton.
    
    Tests: reveal decision cases, WorkspaceStore stale heuristics (activity
    change, switch-away mid-stream/mid-hydration, unchanged revisit, active
    workspace updates, empty transcript), and App.chatLoading stories with a
    controllable activity feed plus a background-stream revisit step.
    ibetitsmike committed Sep 13, 2026
    Configuration menu
    Copy the full SHA
    adb42c6 View commit details
    Browse the repository at this point in the history
  2. 🤖 fix(chat): do not let a replayed finished init card release the ske…

    …leton
    
    Remote UAT (round 1) caught a cold-open regression signature: replayed
    init events are applied before caught-up, so the finished creation card
    landed alone ~270 ms before history, counted as a renderable transcript,
    released the skeleton, and the remaining rows then jumped in under the
    dock shimmer. hasRenderableTranscriptRows ignores non-running init cards;
    a running init card still bypasses hydration by design.
    ibetitsmike committed Sep 13, 2026
    Configuration menu
    Copy the full SHA
    8e9ceff View commit details
    Browse the repository at this point in the history
Loading