Skip to content

Add copy affordances, collapsible long content, and follow-the-tail s… - #488

Merged
iceljc merged 1 commit into
SciSharp:mainfrom
iceljc:features/add-rule-criteria
Sep 14, 2026
Merged

iceljc merged 1 commit into
SciSharp:mainfrom
iceljc:features/add-rule-criteria

Conversation

@iceljc

@iceljc iceljc commented Sep 14, 2026

Copy link
Copy Markdown
Collaborator

…crolling

Chat and log panes:

  • Copy button on each content log entry; timestamp moves to its own row beneath the agent name and the button.
  • Copy button on fenced code blocks in agent messages. The button is emitted by a marked renderer override so it survives streaming re-renders, and the code is read back out of the DOM on click so the clipboard matches the screen and no message content passes through generated markup. Off by default elsewhere via a new copyableCode prop.
  • Both the message thread and the log panes now follow new content whenever they are already at the bottom, instead of only after the jump button was pressed. Scrolling back down resumes following on its own.

Collapsible long content:

  • New shared CollapsibleText component: clips past ~10 measured lines, with a fade mask and click-anywhere or keyboard toggling.
  • Applied to the chat bubbles (held off while a reply streams), and it now backs the content log rows and the conversation page's dialog entries, replacing three separate hand-rolled implementations. Removes the dialog page's hardcoded-white '...' indicator, which was wrong in dark mode, and the double clamp it needed to work around Markdown's inner BFC.

Class naming:

  • Rename the agent detail page's ad- prefix to agd-; ad blockers ship element-hiding rules that match a leading ad- and were hiding the page's layout. cta-popup renamed to cta-overlay as a precaution.

…crolling

Chat and log panes:
- Copy button on each content log entry; timestamp moves to its own row
  beneath the agent name and the button.
- Copy button on fenced code blocks in agent messages. The button is emitted
  by a marked renderer override so it survives streaming re-renders, and the
  code is read back out of the DOM on click so the clipboard matches the
  screen and no message content passes through generated markup. Off by
  default elsewhere via a new `copyableCode` prop.
- Both the message thread and the log panes now follow new content whenever
  they are already at the bottom, instead of only after the jump button was
  pressed. Scrolling back down resumes following on its own.

Collapsible long content:
- New shared CollapsibleText component: clips past ~10 measured lines, with a
  fade mask and click-anywhere or keyboard toggling.
- Applied to the chat bubbles (held off while a reply streams), and it now
  backs the content log rows and the conversation page's dialog entries,
  replacing three separate hand-rolled implementations. Removes the dialog
  page's hardcoded-white '...' indicator, which was wrong in dark mode, and
  the double clamp it needed to work around Markdown's inner BFC.

Class naming:
- Rename the agent detail page's `ad-` prefix to `agd-`; ad blockers ship
  element-hiding rules that match a leading `ad-` and were hiding the page's
  layout. `cta-popup` renamed to `cta-overlay` as a precaution.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

@iceljc
iceljc merged commit f94377e into SciSharp:main Sep 14, 2026
1 of 2 checks passed
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