Skip to content

TUI sessions dialog can stay empty if opened before session list loads #31125

Closed

Description

@CasualDeveloper

Description

The TUI sessions dialog can show No results found and stay empty if it is opened before the async session list has finished loading.

The dialog freezes its browse order at mount from the current session store. On normal startup the session list loads asynchronously, so the store can still be empty when the dialog opens. When the async list later populates, the dialog has session data but still uses the initial empty browse order.

Plugins

None

OpenCode version

opencode dev branch as of 1399323

Steps to reproduce

  1. Start the TUI normally.
  2. Immediately open the sessions dialog before startup session loading finishes.
  3. Wait for session loading to complete.
  4. The dialog can keep showing no options until it is closed and reopened.

Screenshot and/or share link

N/A

Operating System

macOS Tahoe 26.6

Terminal

Ghostty build 16316

Activity

  1. changed the title [-]TUI /sessions can stay empty if opened before session list loads[/-] [+]TUI sessions dialog can stay empty if opened before session list loads[/+] on Jun 6, 2026
  2. tiffanychum commented on Jun 7, 2026

    @tiffanychum

    I'd like to work on this. The root cause is that browseOrder is initialized with createSignal (static, captured once at mount) instead of createMemo, so it never reacts to session list changes. One-line fix in dialog-session-list.tsx. PR coming shortly.

  3. CasualDeveloper commented on Jun 7, 2026

    @CasualDeveloper
    ContributorAuthor

    I'd like to work on this. The root cause is that browseOrder is initialized with createSignal (static, captured once at mount) instead of createMemo, so it never reacts to session list changes. One-line fix in dialog-session-list.tsx. PR coming shortly.

    @tiffanychum I already have a PR open to fix this issue and one other lol. feel free to look into #31132

  4. CasualDeveloper commented on Jun 27, 2026

    @CasualDeveloper
    ContributorAuthor

    Closing this as fixed by the session switcher work that landed in #33931. That change made the session dialog use root-session loading/fallback behavior instead of a static mount-time browse-order snapshot.

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