Skip to content

feat(devops-copilot): add copy button on each message - #2867

Merged
killiancolla merged 6 commits into
stagingfrom
feat/QOV-2141/add-copy-button
Aug 13, 2026
Merged

feat(devops-copilot): add copy button on each message#2867
killiancolla merged 6 commits into
stagingfrom
feat/QOV-2141/add-copy-button

Conversation

@killiancolla

Copy link
Copy Markdown
Member

Summary

Issue: QOV-2141

  • Add rich text copy button for copilot messages
  • Remove useless "Community forum" link to the header dropdown

Screenshots / Recordings

Before After
image image

Testing

  • Changes tested locally in the relevant Console's pages and Storybooks
  • yarn test or yarn test -u (if you need to regenerate snapshots)
  • yarn format
  • yarn lint

PR Checklist

  • I followed naming, styling, and TypeScript rules (see .cursor/rules)
  • I performed a self-review (diff inspected, dead code removed)
  • I titled the PR using Conventional Commits with a scope when possible (e.g. feat(service): add new Terraform service) - required for semantic-release
  • I only kept necessary comments, written in English (watch for useless AI comments)
  • I involved a designer to validate UI changes if I am not a designer
  • I covered new business logic with tests (unit)
  • I confirmed CI is green (Codecov red can be accepted)
  • I reviewed and executed locally any AI-assisted code

@nx-cloud

nx-cloud Bot commented Aug 13, 2026

Copy link
Copy Markdown

View your CI Pipeline Execution ↗ for commit 55fe1e7

Command Status Duration Result
nx run console:build --parallel=3 --configurati... ✅ Succeeded 1m 1s View ↗
nx affected --target=test --parallel=3 --config... ✅ Succeeded 2m 52s View ↗
nx affected --target=lint --parallel=3 ✅ Succeeded 2m 31s View ↗
nx-cloud record -- yarn nx format:check ✅ Succeeded 6s View ↗

💡 Verify your cache is correct by running tasks in a sandbox. Read docs ↗


☁️ Nx Cloud last updated this comment at 2026-08-13 15:24:52 UTC

@codecov

codecov Bot commented Aug 13, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 40.00000% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 48.49%. Comparing base (1435ca6) to head (55fe1e7).
⚠️ Report is 1 commits behind head on staging.

Files with missing lines Patch % Lines
...ilot-panel/assistant-message/assistant-message.tsx 40.00% 6 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff             @@
##           staging    #2867      +/-   ##
===========================================
- Coverage    49.58%   48.49%   -1.10%     
===========================================
  Files          850      853       +3     
  Lines        21162    21356     +194     
  Branches      6375     6434      +59     
===========================================
- Hits         10494    10356     -138     
- Misses        8898     9260     +362     
+ Partials      1770     1740      -30     
Flag Coverage Δ
unittests 48.49% <40.00%> (-1.10%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

}

function VoteButtons({ messageId, threadId }: { messageId: string; threadId?: string }) {
function CopyRichTextButton({

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

You need to use CopyButton from the design system or use similar code, hook, buttons etc

@killiancolla killiancolla Aug 13, 2026

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Since the CopyButton copies in plain text, I couldn't use it as-is, so I reused the button's exact components; if it's cleaner, I can modify the component to allow a choice between plain and rich text @RemiBonnet

image

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Ah yes, I didn’t realize that rich text requires a different Clipboard API and that our current hook only supports plain text. Since this is specific to the rendered Copilot message and you already reuse the design-system components, your approach makes sense. No need to change the shared hook or CopyButton just for this use case, go for it 👍 (You can keep without the wording it's much cleaner)

@killiancolla
killiancolla merged commit d022841 into staging Aug 13, 2026
6 of 7 checks passed
@killiancolla
killiancolla deleted the feat/QOV-2141/add-copy-button branch August 13, 2026 15:28
@RemiBonnet

Copy link
Copy Markdown
Member

🎉 This PR is included in version 1.337.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants