Skip to content

fix(desktop): clarify partial transcript ranges - #3880

Open
Sun-GLiang wants to merge 2 commits into
apache:mainfrom
Sun-GLiang:fix/3875-partial-history-range-notice
Open

fix(desktop): clarify partial transcript ranges#3880
Sun-GLiang wants to merge 2 commits into
apache:mainfrom
Sun-GLiang:fix/3875-partial-history-range-notice

Conversation

@Sun-GLiang

@Sun-GLiang Sun-GLiang commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Summary

  • explain when Desktop is displaying a bounded historical transcript range instead of the complete conversation
  • keep "Return to latest" as the primary recovery action and expose the notice as persistent screen-reader status
  • distinguish resident and unloaded prompt-rail landmarks while keeping unloaded prompts navigable
  • preserve the existing 512 KiB range budget and avoid full-history hydration

Before / After

Before

  • Navigating to an older prompt replaced the visible conversation with a bounded historical range without explaining that the range was partial.
  • Newer persisted messages disappeared from the conversation body, and unloaded prompt-rail landmarks looked the same as resident ones.
  • Users had to infer from the standalone “Return to latest” button that the missing messages were still saved.

After

  • A persistent accessible notice explicitly states that the user is viewing an earlier part of the conversation and that newer messages remain saved but are not currently loaded.
  • “Return to latest” remains the primary action and the notice disappears only after the latest range loads successfully.
  • Prompt-rail landmarks visually and accessibly distinguish resident prompts from unloaded prompts while keeping sparse-range navigation available.
  • Transcript loading remains bounded to the existing 512 KiB range budget; no full-history hydration is introduced.

Fixes #3875

Visual evidence

Production-faithful Storybook shell, captured at 1440 × 900 with the same bounded historical transcript state:

Before After
Only the standalone “返回最新消息” action hints that newer messages are omitted; every prompt-rail landmark is rendered alike. The persistent notice explains that this is an earlier range and that newer messages remain saved; unloaded rail landmarks are outlined.
Before: partial range with only Return to latest After: explicit partial-history notice and sparse rail states

Verification

  • npm --workspace @maka/ui test — 235 tests passed
  • node --test apps/desktop/dist/main/__tests__/desktop-transcript-range-store.test.js — 16 tests passed
  • npm run build
  • npm run typecheck
  • npm run lint
  • npm run format:check
  • git diff --check

The regression coverage includes an eight-turn transcript larger than DESKTOP_TRANSCRIPT_RANGE_MAX_BYTES, historical and intermediate prompt navigation, return to latest, renderer range bounds, accessible notice markup, and resident/unloaded prompt-rail semantics.

AI use

Select exactly one:

  • No generative tool made a substantive contribution
  • Generative tooling made a substantive contribution

Tool(s) and scope: Maka analyzed the issue, implemented the UI and regression coverage, and ran the listed validation commands.

Checklist

  • Tests cover the change and fail without it
  • Lint, format, typecheck and the affected suites pass locally

Does this PR entail a change in behavior?

  • Yes — described under Summary above
  • No

@Sun-GLiang
Sun-GLiang force-pushed the fix/3875-partial-history-range-notice branch 2 times, most recently from d481f85 to 9eb99b9 Compare August 26, 2026 08:35
@M4n5ter
M4n5ter force-pushed the fix/3875-partial-history-range-notice branch 2 times, most recently from ba2a115 to efb4ff5 Compare August 26, 2026 09:44
@M4n5ter
M4n5ter force-pushed the fix/3875-partial-history-range-notice branch from efb4ff5 to 6d33618 Compare August 26, 2026 09:51
@github-actions github-actions Bot added the effort/M Under 500 readable lines label Aug 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

effort/M Under 500 readable lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug(desktop): sparse history range makes persisted prompts appear missing

1 participant