spacedriveapp / spacedriveapp/spacebot
[Feature] Restore in-sidebar channel list (or make it optional vs the popover)
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.tsxis a 5-line shim that renders<PortalPanel agentId={…} />- Channel/conversation switching lives in
interface/src/components/portal/PortalHeader.tsx:116-130as aPopoverRootwrappingPortalHistoryPopover— 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 currentpopoverto avoid surprise; or flip if maintainers prefer) - When
sidebar, render channel list under the agent inSidebar.tsxwith last-message preview + unread badge, similar to the pre-c53a1e38layout - When
popover, keep today'sPortalHistoryPopoverexactly 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
sidebarfor power users with >5 channels per agent?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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