Skip to content

Document shared WinForms/WPF Clipboard/OLE architecture and cross-repo change risk#14549

Draft
Copilot wants to merge 2 commits into
mainfrom
copilot/document-shared-clipboard-architecture
Draft

Document shared WinForms/WPF Clipboard/OLE architecture and cross-repo change risk#14549
Copilot wants to merge 2 commits into
mainfrom
copilot/document-shared-clipboard-architecture

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 20, 2026

This PR adds focused documentation for the shared Clipboard/OLE implementation used by WinForms and WPF, including how shared bits flow through transport packaging and where cross-repo regressions can originate. It also clarifies operational tradeoffs and change-management expectations for contributors touching shared code.

  • Shared architecture and transport path

    • Clarifies the shared implementation surface in System.Private.Windows.Core (especially Ole/).
    • Documents how bits move via Microsoft.Private.Winforms transport package into Windows Desktop packs consumed by both UI stacks.
    • Makes runtime implication explicit: both frameworks execute the same System.Private.Windows.Core clipboard/OLE behavior.
  • Case studies and impact traceability

    • Adds an explicit customer-facing case study for #14308 (WPF clipboard CFG crash scenario) and links the remediation path through #14257 (main) and #14296 (servicing backport).
    • Keeps existing technical case studies and reorders them into a clearer narrative from user-visible regression → root-cause classes.
  • Change-management guidance and tradeoffs

    • Expands liabilities with explicit ownership ambiguity (code hosted in dotnet/winforms, behavior shared by WinForms/WPF callers).
    • Reinforces review/validation expectations for cross-stack safety, especially in clipboard/OLE servicing scenarios.
### Case Study 1: Customer-visible CFG Crash in WPF Clipboard Calls (WinForms #14308)

**Cross-repo impact path:**
- Reported as WPF scenario in WinForms issue #14308
- Root cause in shared `System.Private.Windows.Core` clipboard/OLE code
- Fix in WinForms PR #14257, backport in #14296

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • v53vsblobprodcus320.vsblob.vsassets.io
    • Triggering command: /home/REDACTED/work/winforms/winforms/.dotnet/dotnet /home/REDACTED/work/winforms/winforms/.dotnet/dotnet package download Microsoft.DotNet.Arcade.Sdk@11.0.0-beta.26269.108 --verbosity minimal --prerelease --output /home/REDACTED/.nuget/packages/ --configfile /home/REDACTED/work/winforms/winforms/NuGet.config (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Copilot AI changed the title [WIP] Add documentation for shared Clipboard/OLE architecture Document shared WinForms/WPF Clipboard/OLE architecture and cross-repo change risk May 20, 2026
Copilot AI requested a review from merriemcgaw May 20, 2026 20:35
@merriemcgaw merriemcgaw requested a review from Shyam-Gupta May 20, 2026 20:36
@merriemcgaw
Copy link
Copy Markdown
Member

@Shyam-Gupta can you review some of this new documentation?

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document shared Clipboard/OLE architecture between WinForms and WPF (advantages and risks)

2 participants