Skip to content

Refresh playground docs for threads and files#853

Open
samuv wants to merge 2 commits intomainfrom
docs-773-playground-threads-attachments
Open

Refresh playground docs for threads and files#853
samuv wants to merge 2 commits intomainfrom
docs-773-playground-threads-attachments

Conversation

@samuv
Copy link
Copy Markdown
Contributor

@samuv samuv commented May 8, 2026

Description

Closes #773.

Summary

  • Refresh playground.mdx for v0.30.0: document the threaded chat sidebar (New chat, Starred / Recents, double-click rename, Star / Unstar, Delete with confirmation copy) and file attachments (Add images or PDFs, drag-and-drop, 5-file / 10 MB limits, supported types, attachment-only sends, image modal, 📎 <FILE_NAME> plus Download for non-image files).
  • Add new subsections Manage playground threads and Attach files to a message under Using the playground, plus Thread and attachment hygiene under Recommended practices.
  • Verified UI strings against stacklok/toolhive-studio at tag v0.30.0. No new screenshots added (none currently exist under static/img/).

Test plan

  • npm run build passes
  • New subsections appear in the right-hand TOC

Type of change

  • Documentation update

Related issues/PRs

Closes #773

Submitter checklist

Content and formatting

  • I have reviewed the content for technical accuracy
  • I have reviewed the content for spelling, grammar, and style

Made with Cursor

Document multi-thread chat (Star/Rename/Delete) and file attachments
(images and PDFs, up to 5 per message at 10 MB each), as shipped in
toolhive-studio v0.30.0.

Refs #773.
Copilot AI review requested due to automatic review settings May 8, 2026 13:09
@vercel
Copy link
Copy Markdown

vercel Bot commented May 8, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs-website Ready Ready Preview, Comment May 8, 2026 4:19pm

Request Review

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the ToolHive UI playground guide to cover newly added v0.30.0 features for managing threaded conversations and attaching files, addressing the documentation gap reported in #773.

Changes:

  • Adds “Threaded conversations” and “Attachments” to the playground’s key capabilities.
  • Documents thread management actions (new, rename, star/unstar, delete with confirmation) and file attachment flows (drag-and-drop, toolbar, limits, and UI behaviors).
  • Adds recommended “Thread and attachment hygiene” practices.

Comment thread docs/toolhive/guides-ui/playground.mdx Outdated
Comment on lines +248 to +249
- **PDFs and other non-image files** show as `📎 <FILE_NAME>` with a
**Download** link so you can save the original file.
Copy link
Copy Markdown
Collaborator

@danbarr danbarr left a comment

Choose a reason for hiding this comment

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

Useful coverage of the threaded chat and attachments. The main issues are content duplication across the new subsections, plus the same code-vs-bold UI string formatting issue from PR 851.

Primary issues

1. Same content stated in two or three places

The PR introduces parallel subsections that repeat the same facts:

  • Attachments: 5 files / 10 MB / images-and-PDFs limits appear in (a) Key capabilities > Attachments (lines 47-51), (b) Getting started step 6 (lines 119-123), and (c) Using the playground > Attach files to a message (lines 230-232). Three statements of the same constraint.
  • Threads: thread sidebar behavior is summarized in Key capabilities > Threaded conversations, walked through in Getting started step 5, and walked through again in Using the playground > Manage playground threads with overlapping bullet content.

Readers walking the page top-to-bottom will hit the same content three times. The "Manage chat threads" / "Manage playground threads" headings even use slightly different names for the same thing.

Ask: Pick one section as the canonical reference (the detailed subsections under Using the playground are the natural fit) and reduce the others to short pointers: a one-sentence callout under Key capabilities and a "see Manage playground threads" / "see Attach files to a message" pointer in the Getting started steps. That keeps the journey clean without losing discoverability.

2. Concur with Copilot: "PDFs and other non-image files" is internally inconsistent

Line 249 says PDFs and other non-image files, but the same section states "supports image files and PDFs" (line 226) and the rejection toast says Only images and PDFs are supported (line 245). Only PDFs and images are supported.

Ask: Replace with just "PDFs."

3. Inconsistent code-vs-bold for UI strings

Same pattern as PR 851. Short UI labels are correctly bold (New chat, Thread options, Star, Add images or PDFs), but longer placeholder text, toast messages, and confirmation copy are wrapped in inline code: Delete "<THREAD_NAME>"? This cannot be undone., Sent with attachments, Select an AI model to get started, Type your message..., Double-click to rename, plus the rejection toast messages. The project style guide reserves inline code for code elements; UI strings should be bold or, for multi-sentence alert text, blockquoted (the pattern PR 851's drift section uses).

Ask: Bold the short labels, blockquote the longer dialog/toast text, keep code only for actual code (no examples in this PR's additions).

Secondary issues

Issue Recommendation
The new Threaded conversations and Attachments entries under Key capabilities sit next to genuine differentiators (Instant testing, Detailed logs, ToolHive management); they're useful UI features but not headline capabilities If you keep them at all after collapsing the duplication, consider whether they belong here or only in Using the playground.
"remove old runs when you're done" (line 44): "runs" is unexpected here since the items are chat threads, not test executions Use "threads" consistently.
Placeholder timestamps Nm ago, Nh ago, Nd ago (line 220) read as literal UI text Use realistic examples: 5m ago, 2h ago, 3d ago.
"Treat attachments as inputs that may leak data" (line 297): the actual risk is sending sensitive content to the AI provider, not the playground leaking data on its own Reframe, e.g., "Attachments are sent to your AI provider. Strip credentials, customer information, and other sensitive content from PDFs and screenshots before sharing them."

Re: Copilot's comment

"PDFs and other non-image files" inconsistency (line 249): Concur. Captured as primary issue 2.

Address danbarr's CHANGES_REQUESTED review on #853: dedupe threads and
attachments across sections, fix PDF-only wording, replace
placeholder timestamps with concrete examples, reframe attachment
risk around the AI provider, and align UI string formatting.

Co-authored-by: Cursor <cursoragent@cursor.com>
@samuv
Copy link
Copy Markdown
Contributor Author

samuv commented May 8, 2026

Thanks for the review. Pushed updates as d81ede1.

  • Made Using the playground the canonical home for thread and attachment behavior. Key capabilities and Getting started are now short pointers with in-page links to Manage playground threads and Attach files to a message.
  • Confirmed the canonical headings are Manage playground threads and Attach files to a message so the new anchors resolve.
  • Replaced "PDFs and other non-image files" with PDFs-only wording. The supported-formats statement, rejection toast, and the limits bullet now agree.
  • Changed "runs" to "threads" in the recommended-practices bullet.
  • Replaced the placeholder timestamps Nm ago / Nh ago / Nd ago with concrete examples (5m ago, 2h ago, 3d ago) plus the older-thread fallback.
  • Reframed the attachment-risk note around the AI provider rather than the desktop app, calling out credentials and customer information explicitly.
  • Converted tooltip, confirmation, toast, and placeholder strings to blockquotes, kept short labels bold, and left values like image/*, application/pdf, and 📎 <FILE_NAME> as inline code.

A couple of judgment calls:

  • The delete confirmation blockquote uses backticks around the placeholder, e.g. Delete "`<THREAD_NAME>`"? This cannot be undone., because MDX 3 parses bare <THREAD_NAME> as JSX and fails the build.
  • Your example wording for the Key capabilities pointers used em dashes; the project style guide forbids em / en dashes, so the structure was kept but rephrased into separate sentences.
  • The toast rejection bullets were restructured as a "When ..." prefix plus a two-paragraph blockquote, so both the title and description halves render as the actual UI strings.

Copy link
Copy Markdown
Collaborator

@danbarr danbarr left a comment

Choose a reason for hiding this comment

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

Most of the previous review is addressed cleanly: duplication collapsed (Key capabilities and Getting started are now one-line pointers to the canonical subsections), "PDFs and other non-image files" replaced with "PDFs", UI strings moved into blockquotes, realistic timestamps in place of Nm ago / Nh ago / Nd ago, and the attachments-security framing rewritten as suggested. Two small follow-ups remaining:

1. Composer placeholder section reads as broken prose

The new structure interleaves blockquotes with sentence fragments that don't connect to surrounding sentences:

The composer placeholder reflects the playground state:

Select an AI model to get started

is shown when no model is selected, then:

Type your message...

once you've chosen one.

"is shown when no model is selected" and "once you've chosen one" read as orphaned verb fragments. Ask: Restructure, e.g., as a short bullet list mapping state to placeholder:

The composer placeholder reflects the playground state:

- Before you select a model:

  > Select an AI model to get started

- After you select a model:

  > Type your message...

2. Bullet label/body mismatch in Manage playground threads

The fourth bullet is labeled Delete or unstar threads: but the body only describes the Delete action. Star/Unstar is already covered in the bullet above it.

Ask: Change the label to Delete a thread:.

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.

[Gap]: Refresh playground.mdx for thread management and file attachments

3 participants