Skip to content

feat(ui): add inline rename for chat sessions in sidebar#6995

Merged
alexhancock merged 1 commit intoblock:mainfrom
tulsi-builder:feat/inline-rename-chat
Feb 6, 2026
Merged

feat(ui): add inline rename for chat sessions in sidebar#6995
alexhancock merged 1 commit intoblock:mainfrom
tulsi-builder:feat/inline-rename-chat

Conversation

@tulsi-builder
Copy link
Contributor

@tulsi-builder tulsi-builder commented Feb 5, 2026

Summary

  • Add double-click inline editing for chat session names in the sidebar
  • Improves UX by allowing quick renames without opening a modal
  • Maintains compatibility with existing modal-based rename

Implementation

  • Created reusable InlineEditText component with validation and keyboard shortcuts
  • Integrated into sidebar session list with double-click activation
  • Pointer cursor indicates clickability, text cursor when editing
  • Recipe sessions protected from renaming (read-only)
  • Updates synced across components via SESSION_RENAMED event

User Experience

  • Double-click session name in sidebar to edit
  • Enter to save, Escape to cancel
  • Click away (blur) also saves
  • Error handling with toast notifications
  • Max 200 characters, auto-trims whitespace

Testing

  • Manual testing completed
  • Works alongside existing session history modal
  • Recipe sessions remain read-only
  • Error cases handled gracefully

Type of Change

  • Feature
  • Bug fix
  • Refactor / Code quality
  • Performance improvement
  • Documentation
  • Tests
  • Security fix
  • Build / Release
  • Other (specify below)

AI Assistance

  • This PR was created or reviewed with AI assistance

Related Issues

Relates to #ISSUE_ID
Discussion: LINK (if any)

Screenshots/Demos (for UX changes)

renamechatgoose.mov

Add double-click inline editing for chat session names in the sidebar,
improving UX by allowing quick renames without opening a modal.

- Create reusable InlineEditText component with validation and keyboard shortcuts
- Integrate inline editing into sidebar session list with double-click activation
- Use pointer cursor to indicate clickability, switching to text cursor when editing
- Protect recipe sessions from renaming (read-only for sessions with recipe titles)
- Sync updates across all components via SESSION_RENAMED event
- Support Enter to save, Escape to cancel, and blur to save
- Handle errors with toast notifications and automatic revert
- Validate max 200 characters and trim whitespace
- Maintain compatibility with existing modal-based rename in session history page

Co-authored-by: Cursor <cursoragent@cursor.com>
@katzdave
Copy link
Collaborator

katzdave commented Feb 5, 2026

Would you mind adding a quick video/screenshot with the result.

@tulsi-builder
Copy link
Contributor Author

renamechatgoose.mov

@zanesq
Copy link
Collaborator

zanesq commented Feb 5, 2026

This one was already in progress #6841 but I do like the renaming inline better I just wonder how discoverable it is maybe it should show a pencil icon on hover rather than a double click to trigger it?

@tulsi-builder
Copy link
Contributor Author

@zanesq Good point! I chose this interaction method mostly because it's what I've seen in other chat interfaces like Claude and Chat GPT. But if folks think an icon would be more useful then I'm game.

@alexhancock
Copy link
Collaborator

pencil on hover feels good to me for discoverability, but may need some truncation that would accomodate the pencil when it's there

i would also be fine to go with this as-is and follow up

@alexhancock alexhancock self-requested a review February 6, 2026 15:06
@alexhancock alexhancock merged commit b1feead into block:main Feb 6, 2026
17 checks passed
katzdave added a commit that referenced this pull request Feb 6, 2026
…webtoken-10.3.0

* origin/main: (54 commits)
  Switch tetrate tool filtering back to supports_computer_use (#7024)
  feat(ui): add inline rename for chat sessions in sidebar (#6995)
  fix: handle toolnames without underscores (#7015)
  feat(claude-code): use stream-json protocol for persistent sessions (#7029)
  test(providers): add model listing to live provider suite (#7038)
  Agent added too much (#7036)
  fix(deps): bump tree-sitter to 0.26 and set sqlx default-features=false to fix RUSTSEC advisories (#7031)
  feat: add image support and improve error resilience for Codex (#7033)
  fix(providers): Azure OpenAI model listing 404 during configure (#7034)
  fix(deps): bump bat to 0.26.1 to resolve RUSTSEC-2026-0008 (#7021)
  Don't swallow Tetrate errors  (#6998)
  docs: remove hardcoded_stuff links (#7016)
  fix(ui): keep Hub chat input from overlapping SessionInsights on paste (#6719)
  Clean up css (#6944)
  docs: aws bedrock bearer token auth (#6990)
  docs: extended custom provider headers support (#7012)
  feat(cli): add type-to-search filtering to select/multiselect dialogs (#6862)
  feat(ci): add cargo-audit workflow for scanning rust vulnerabilities (#6351)
  feat: add User-Agent header to MCP HTTP requests (#6988)
  chore(deps-dev): bump webpack from 5.102.1 to 5.105.0 in /ui/desktop (#6996)
  ...

# Conflicts:
#	Cargo.lock
zanesq added a commit that referenced this pull request Feb 6, 2026
* origin/main:
  Remove build-dependencies section from Cargo.toml (#6946)
  add /rp-why skill blog post (#6997)
  fix: fix snake_case function names in code_execution instructions (#7035)
  Document max_turns settings for recipes and subagents (#7044)
  feat: update Groq declarative data with Preview Models (#7023)
  fix(codex): propagate extended PATH to codex subprocess (#6874)
  Switch tetrate tool filtering back to supports_computer_use (#7024)
  feat(ui): add inline rename for chat sessions in sidebar (#6995)
  fix: handle toolnames without underscores (#7015)
  feat(claude-code): use stream-json protocol for persistent sessions (#7029)
  test(providers): add model listing to live provider suite (#7038)
  Agent added too much (#7036)
  fix(deps): bump tree-sitter to 0.26 and set sqlx default-features=false to fix RUSTSEC advisories (#7031)
  feat: add image support and improve error resilience for Codex (#7033)
  fix(providers): Azure OpenAI model listing 404 during configure (#7034)
  fix(deps): bump bat to 0.26.1 to resolve RUSTSEC-2026-0008 (#7021)
  Don't swallow Tetrate errors  (#6998)
  docs: remove hardcoded_stuff links (#7016)

# Conflicts:
#	ui/desktop/src/components/GooseSidebar/AppSidebar.tsx
kuccello pushed a commit to kuccello/goose that referenced this pull request Feb 7, 2026
Co-authored-by: Cursor <cursoragent@cursor.com>
dianed-square added a commit that referenced this pull request Feb 9, 2026
* origin/main: (141 commits)
  Add global config switch to disable automatic session naming (#7052)
  docs: add blog post - 8 Things You Didn't Know About Code Mode (#7059)
  fix: ensure animated elements are visible when prefers-reduced-motion is enabled (#7047)
  Show recommended model on failture (#7040)
  feat(ui): add session content search via API (#7050)
  docs: fix img url (#7053)
  Desktop UI for deleting custom providers (#7042)
  Add blog post: How I Used RPI to Build an OpenClaw Alternative (#7051)
  Remove build-dependencies section from Cargo.toml (#6946)
  add /rp-why skill blog post (#6997)
  fix: fix snake_case function names in code_execution instructions (#7035)
  Document max_turns settings for recipes and subagents (#7044)
  feat: update Groq declarative data with Preview Models (#7023)
  fix(codex): propagate extended PATH to codex subprocess (#6874)
  Switch tetrate tool filtering back to supports_computer_use (#7024)
  feat(ui): add inline rename for chat sessions in sidebar (#6995)
  fix: handle toolnames without underscores (#7015)
  feat(claude-code): use stream-json protocol for persistent sessions (#7029)
  test(providers): add model listing to live provider suite (#7038)
  Agent added too much (#7036)
  ...
Tyler-Hardin pushed a commit to Tyler-Hardin/goose that referenced this pull request Feb 11, 2026
Tyler-Hardin pushed a commit to Tyler-Hardin/goose that referenced this pull request Feb 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants