RocketChat / RocketChat/Rocket.Chat

Left sidebar is fixed-width and cannot be collapsed or resized

Open
#38,462 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
46.1k
Forks
13.9k
Avg merge
3d 3h
Merged PRs (30d)
130

Description

Summary

The left sidebar in Rocket.Chat is currently fixed-width and always fully expanded. On laptops, smaller screens, or split-screen workflows, this significantly reduces the usable area for conversations and content.

This issue requests support for collapsing the sidebar into a compact icons-only mode, with optional resizing as a future enhancement, while keeping the existing behavior unchanged by default.


Problem Description
  • The sidebar always occupies a fixed horizontal space
  • Users cannot reduce its footprint without browser zoom or custom CSS
  • This impacts focus and usability, especially on smaller screens

Many modern collaboration tools provide a compact or collapsible sidebar to address this problem.


Requested Behavior (Initial Scope)
Collapsible Sidebar (Icons-Only Mode)
  • Ability to collapse the left sidebar via a toggle action
  • Default behavior remains unchanged (expanded)
  • In collapsed mode:
    • Only icons are displayed for rooms, channels, and DMs
    • Text labels are hidden
    • Sidebar width is reduced to a minimal fixed size
Tooltip Support (Initial Stage)
  • On hover (or focus) in collapsed mode, show a tooltip with:
    • Full room or user name
    • Last message preview (shortened)

Example tooltip content:

#general
"Last message preview…"

This allows users to retain context without expanding the sidebar.


UX & Accessibility Considerations
  • Keyboard-accessible toggle
  • Tooltips accessible via keyboard focus
  • Clear hover and focus states
  • No impact on mobile layouts
  • Fully backward compatible

Suggested Follow-Ups (Optional / Later)

These are optional ideas and not required for the initial implementation:

  1. State Persistence

    • Remember collapsed / expanded state using user preferences or local storage
  2. Resizable Sidebar

    • Drag handle to resize sidebar width
    • Automatically switch to icons-only mode below a width threshold
    • Persist preferred width per user

Potentially Related Areas
  • packages/ui-client/sidebar
  • packages/ui-contexts
  • Fuselage UI components (tooltips, layout primitives)

Current Status

There does not appear to be an existing implementation for:

  • Collapsing the sidebar into an icons-only mode
  • Tooltip-enhanced compact sidebar
  • Resizable sidebar width

Contribution Intent

I’m interested in contributing to this issue incrementally, starting with the initial collapsible icons-only sidebar, based on maintainer feedback and guidance.


Benefits
  • Better screen space utilization
  • Improved focus on conversations
  • Familiar UX pattern for users
  • Optional and non-breaking enhancement

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 packages/ui-client/sidebar and packages/ui-contexts, then review the referenced Fuselage tooltip and layout components. Define the initial scope as an expanded-by-default, icons-only collapse mode with keyboard-accessible toggle and focusable tooltips, while preserving mobile behavior. Treat persistence and resizing as later follow-ups.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
accessibility, design, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.