Skip to content

feat: enhanced UX with per-event messages and file handling#148

Open
Fr4nzz wants to merge 1 commit intoRichardAtCT:mainfrom
Fr4nzz:feat/enhanced-ux
Open

feat: enhanced UX with per-event messages and file handling#148
Fr4nzz wants to merge 1 commit intoRichardAtCT:mainfrom
Fr4nzz:feat/enhanced-ux

Conversation

@Fr4nzz
Copy link

@Fr4nzz Fr4nzz commented Mar 15, 2026

Summary

  • Per-event tool messages: Each tool call (Read, Bash, Grep, etc.) gets its own message with icon, instead of cramming everything into one progress message
  • Extended thinking: Show Claude's ThinkingBlocks as 🧠 messages
  • Intermediate reasoning: Show visible text between tool calls as 💬 messages
  • /cleanup command: Delete tool/thinking messages from the last response on demand
  • Progress timer: ⏳ Working... (Xs) updates every 3 seconds, finalizes as ✅ Done (Xs)
  • File handling: Rename send_image_to_usersend_file_to_user to accept any file type
  • Upload handling: Download files to disk and pass path to Claude (instead of base64)
  • Security: Skip file extension whitelist when DISABLE_SECURITY_PATTERNS=true
  • HTML fallback: Strip tags in plain text fallback instead of showing raw <b> tags
  • _send_formatted_message helper: Consistent HTML-with-fallback across all handlers

Test plan

  • Send a text message and verify tool calls appear as individual messages
  • Verify 🧠 and 💬 messages appear during processing
  • Use /cleanup to delete tool messages after response
  • Verify progress shows elapsed time and finalizes as ✅ Done
  • Upload a file and verify Claude can read it
  • Send an image and verify Claude receives the file path

🤖 Generated with Claude Code

…handling

- Show per-event tool messages (📖💻🔧) instead of one progress message
- Show extended thinking as 🧠 messages (ThinkingBlocks)
- Show intermediate reasoning as 💬 messages
- Add /cleanup command to delete tool/thinking messages
- Progress timer: ⏳ Working... (Xs) → ✅ Done (Xs)
- Rename send_image_to_user → send_file_to_user (any file type)
- Download uploads to disk and pass path to Claude
- Skip file extension checks when security patterns disabled
- HTML fallback strips tags instead of showing raw tags
- _send_formatted_message helper with consistent error handling
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.

1 participant