Skip to content

Conversation

@anthony
Copy link
Contributor

@anthony anthony commented Aug 4, 2025

New version of #3270 after the recent UI updates.

Implements the ability to edit session descriptions (names) in the History tab with a modal-based interface.

Changes

Backend (Rust)

  • Add PUT /sessions/{session_id}/metadata endpoint for updating session descriptions
  • Implement 200-character validation limit with proper error handling

Frontend (TypeScript)

  • Add updateSessionMetadata API function with error handling
  • Implement modal-based editing UI with pencil icon on hover
  • Add keyboard shortcuts (Enter to save, Escape to cancel)
  • Include optimistic UI updates and toast notifications for user feedback

Features

  • Hover over any session card to reveal edit button in top-right corner
  • Modal dialog with auto-focus and character limit validation
  • Real-time UI updates with proper error recovery
  • Maintains session context and working directory information
edit-session-description-1 image

Implements the ability to edit session descriptions (names) in the History tab with a modal-based interface.

- Add PUT `/sessions/{session_id}/metadata` endpoint for updating session descriptions
- Implement 200-character validation limit with proper error handling

- Add `updateSessionMetadata` API function with error handling
- Implement modal-based editing UI with pencil icon on hover
- Add keyboard shortcuts (Enter to save, Escape to cancel)
- Include optimistic UI updates and toast notifications for user feedback

- Hover over any session card to reveal edit button in top-right corner
- Modal dialog with auto-focus and character limit validation
- Real-time UI updates with proper error recovery
- Maintains session context and working directory information
Copy link
Collaborator

@zanesq zanesq left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice feature thanks! Couple of nits:

  1. Can you align the pencil vertically with the heading and left more to match the padding in the card? Currently its a bit too much in the corner, also if possible add a bit more padding or size to the button so its easier to hover/click?
image
  1. The success toast shows for a few seconds before the UI updates, wondering if we could get that timed a little better so the ui updates at the same time or before the toast shows?

anthony added 2 commits August 5, 2025 17:00
…tTimeout felt simpler than introducing more state management to control it in the parent component
@anthony
Copy link
Contributor Author

anthony commented Aug 5, 2025

@zanesq I've addressed your feedback in the latest 2 commits. The toast is delayed by a simple setTimeout - this felt simpler than using more state management, let me know if you'd prefer a more sophisticated approach.

@zanesq
Copy link
Collaborator

zanesq commented Aug 5, 2025

@anthony changes look good thanks! I changed the icon size back to the smaller one. Looks like there is a rust format issue preventing build.

@anthony
Copy link
Contributor Author

anthony commented Aug 5, 2025

@zanesq I believe I've fixed the rust formatting issue

@anthony
Copy link
Contributor Author

anthony commented Aug 6, 2025

My previous test run failed with what appeared unrelated failures. I've merged main to hopefully address the issue.

@zanesq zanesq merged commit a5371af into block:main Aug 6, 2025
10 checks passed
katzdave added a commit that referenced this pull request Aug 6, 2025
* 'main' of github.com:block/goose:
  Make the window title reflect what we are doing (#3883)
  additional metrics + Ui implementation (#3871)
  feat: Add session description editing functionality (#3819)
  Update filename in contributing docs (#3866)
  Fix voice dictation provider selection bug (#3862)
  doc: Update supported container runtimes (#3874)
  feat: add OAuth provider abstraction for CLI configuration (#3157)
  Don't ignore lockfiles on linux/windows builds (#3859)
  Use RMCP for StreamableHTTP OAuth support (#3845)
  Try to keep key order for Databricks (#3876)
  Fix OpenAI Provider with GitHub Models (#3875)
  Cmd click open finder (#3807)
  fix: recipe parameter form max height and not scrolling (#3879)
  fix: optimise reading large file content (#3767)
  fix: replace glob/grep tool with shell (#3834)
  docs: Add Youtube Link to dev.to tutorial (#3869)
katzdave added a commit that referenced this pull request Aug 6, 2025
* 'main' of github.com:block/goose:
  Make the window title reflect what we are doing (#3883)
  additional metrics + Ui implementation (#3871)
  feat: Add session description editing functionality (#3819)
  Update filename in contributing docs (#3866)
  Fix voice dictation provider selection bug (#3862)
  doc: Update supported container runtimes (#3874)
  feat: add OAuth provider abstraction for CLI configuration (#3157)
  Don't ignore lockfiles on linux/windows builds (#3859)
  Use RMCP for StreamableHTTP OAuth support (#3845)
  Try to keep key order for Databricks (#3876)
  Fix OpenAI Provider with GitHub Models (#3875)
  Cmd click open finder (#3807)
  fix: recipe parameter form max height and not scrolling (#3879)
  fix: optimise reading large file content (#3767)
  fix: replace glob/grep tool with shell (#3834)
  docs: Add Youtube Link to dev.to tutorial (#3869)
michaelneale added a commit that referenced this pull request Aug 7, 2025
* main:
  Upgrade to MCP-UI ~5.6.2 and handle internalized auto iframe resizing (#3889)
  docs: recipe updates (#3844)
  added notes about reducing context window by referencing external files (#3895)
  Make the window title reflect what we are doing (#3883)
  additional metrics + Ui implementation (#3871)
  feat: Add session description editing functionality (#3819)
  Update filename in contributing docs (#3866)
  Fix voice dictation provider selection bug (#3862)
  doc: Update supported container runtimes (#3874)
  feat: add OAuth provider abstraction for CLI configuration (#3157)
  Don't ignore lockfiles on linux/windows builds (#3859)
  Use RMCP for StreamableHTTP OAuth support (#3845)
  Try to keep key order for Databricks (#3876)
  Fix OpenAI Provider with GitHub Models (#3875)
  Cmd click open finder (#3807)
  fix: recipe parameter form max height and not scrolling (#3879)
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.

2 participants