Skip to content

app: /fork dialog only lists currently loaded messages #45242

Closed as not planned
Closed as not planned

Description

@nightire

Description

In the desktop app, /fork opens “Fork from message” with a list of user prompts from the current session. That list is not the full session. It only shows whatever is already in the client message cache.

If I stay in a session from the first turn to the last, the dialog has every turn. After I restart the app and open the same session, it only has the latest turns. If I scroll the timeline all the way to the top and open /fork again, the missing turns come back.

The dialog reads data.session.message.list(). That store is paged: first sync loads the newest 20 messages, and older pages are fetched only when the timeline scrolls up (loadMore). Fork is a separate picker, so it should not depend on how far I have scrolled.

I would like to fix this. Suggested approach: when the dialog opens, fetch the session’s user messages itself (same idea as session export) and search/select against that list. Do not drain the timeline cache just to populate the picker. If the selected message is not in the timeline store, use the fetched copy instead of data.session.message.get().

Other options: keep calling loadMore until the timeline cache is complete, or add a dedicated fork-points API. I think the first of those couples the dialog to timeline paging, and the second is more than this bug needs.

TUI’s fork dialog uses the same list() store, so it may have the same gap.

Plugins

none related

OpenCode version

desktop beta (current dev / V2)

Steps to reproduce

  1. Start a session with at least 3–4 user turns and leave it without restarting.
  2. Run /fork. The dialog lists every turn.
  3. Quit and reopen the desktop app, then open the same session (stay at the bottom).
  4. Run /fork again. Only the latest turns are listed.
  5. Scroll the timeline to the first message, then run /fork again. The earlier turns reappear.

Screenshot and/or share link

I'll attach before/after screenshots shortly (full list vs latest turns only).

Operating System

macOS

Terminal

n/a (desktop app)

Activity

  1. github-actions commented on Aug 26, 2026

    @github-actions
    Contributor

    This issue might be a duplicate of existing issues. Please check:

  2. github-actions commented on Oct 26, 2026

    @github-actions
    Contributor

    To stay organized issues are automatically closed after 60 days of no activity. If the issue is still relevant please open a new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions