Skip to content

adding hover copy button in verbose hover#323121

Open
aiday-mar wants to merge 2 commits into
mainfrom
environmental-swordfish
Open

adding hover copy button in verbose hover#323121
aiday-mar wants to merge 2 commits into
mainfrom
environmental-swordfish

Conversation

@aiday-mar

Copy link
Copy Markdown
Contributor

fixes #321171

Copilot AI review requested due to automatic review settings June 26, 2026 12:35
@aiday-mar aiday-mar enabled auto-merge June 26, 2026 12:35
@aiday-mar aiday-mar self-assigned this Jun 26, 2026
benibenj
benibenj previously approved these changes Jun 26, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This pull request fixes an editor hover UX regression where increasing/decreasing hover verbosity causes the hover’s copy button to disappear. It does so by tracking listeners/copy-button disposables per rendered hover part, so a single part can be updated and have its UI wiring re-established without affecting other parts.

Changes:

  • Introduce per-hover-part disposable tracking to manage focus listeners and the copy button independently per rendered part.
  • On hover verbosity updates, dispose the previous part’s listeners/copy button and recreate them for the updated part to keep the copy button present.

Comment on lines +324 to +326
// Create per-part disposables so that when an individual rendered part is
// updated we can dispose its listeners and copy button without affecting
// the others.
Comment on lines +426 to +439
// Dispose any listeners/copy button for the previous part at this index
const prevDisposable = this._perPartDisposables.get(i);
if (prevDisposable) {
prevDisposable.dispose();
this._perPartDisposables.delete(i);
}
this._renderedParts[i] = {
type: 'hoverPart',
participant: this._markdownHoverParticipant,
hoverPart: renderedPart.hoverPart,
hoverElement: renderedPart.hoverElement,
};
// Recreate listeners and copy button for the updated part.
this._createListenersForPart(i, this._renderedParts[i]);
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.

Pressing on verbosity hover buttons makes the copy button disappear

4 participants