spacedriveapp / spacedriveapp/spacebot

[Feature] Restore in-sidebar channel list (or make it optional vs the popover)

Open
#587 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
2.4k
Forks
367
PR merge metrics
No merged PRs in 30d

Description

Summary

The chat/conversation switcher in the agent portal is now a popover (PortalHistoryPopover) rather than a persistent list. For users with many channels per agent, this loses at-a-glance visibility into unread state, recently-active channels, and which conversation is currently selected. A persistent list (or at least an option to enable one) would close that gap.

Current state

  • interface/src/routes/AgentChat.tsx is a 5-line shim that renders <PortalPanel agentId={…} />
  • Channel/conversation switching lives in interface/src/components/portal/PortalHeader.tsx:116-130 as a PopoverRoot wrapping PortalHistoryPopover — click-to-open dropdown
  • The sidebar (interface/src/components/Sidebar.tsx:67-74) only exposes top-level agent sub-nav: Chat | Channels | Memory | Skills | Schedule | Config — no per-channel entries
  • This was introduced in commit c53a1e38 (2026-04-04, "SpaceUI migration: sidebar redesign…") which redesigned the sidebar to a fixed-shape accordion. Prior to that, channels were visible directly in the sidebar.

Proposed change

User-configurable switcher style:

  • New setting (Settings → Appearance, or per-agent): Channel switcher: sidebar | popover (default: keep current popover to avoid surprise; or flip if maintainers prefer)
  • When sidebar, render channel list under the agent in Sidebar.tsx with last-message preview + unread badge, similar to the pre-c53a1e38 layout
  • When popover, keep today's PortalHistoryPopover exactly as-is
  • Persist setting in localStorage (or per-user once #584 lands)

Related

  • #458 — proposes a different sidebar concept ("Migrate sidebar from Agents to Humans"). Worth coordinating: a configurable switcher style fits inside either layout.
  • #439 — thread support in agent chat. Threads inside a channel would benefit even more from a sidebar-style hierarchical view.

Open questions

  • Was the popover an intentional simplification, or a side-effect of the SpaceUI migration? If the latter, should the default be sidebar for power users with >5 channels per agent?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with interface/src/components/portal/PortalHeader.tsx, interface/src/components/Sidebar.tsx, and PortalHistoryPopover to map the current switcher and sidebar behavior. Review the pre-c53a1e38 layout and coordinate with #458 and #439 before choosing the setting scope, default, and persistence approach. Done means the selected switcher style works, preserves the current popover option, and shows the requested channel information in sidebar mode.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.