<p style="margin:0;">Hi all,</p><p style="margin:0;">While reviewing the protocol documentation, I noticed that the description of wl_data_offer could more clearly reflect the actual mediation role of the compositor in data transfer.</p><p style="margin:0;">Current Description (problematic)</p><p style="margin:0;">``</p><p style="margin:0;"><description summary="offer to transfer data"></p><p style="margin:0;">  A wl_data_offer represents a piece of data offered for transfer</p><p style="margin:0;">  by another client (the source client).  </p><p style="margin:0;">  It is used by the copy-and-paste and drag-and-drop mechanisms.  </p><p style="margin:0;">  The offer describes the different mime types that the data can be converted to </p><p style="margin:0;">  and provides the mechanism for transferring the data directly from the source client.</p><p style="margin:0;"></description></p><p style="margin:0;">``</p><p style="margin:0;">This could be misinterpreted as implying direct client-to-client transfer, obscuring the compositor's critical role.</p><p style="margin:0;">Proposed Revision</p><p style="margin:0;">``</p><p style="margin:0;"><description summary="offer to transfer data"></p><p style="margin:0;">  A wl_data_offer is created by the compositor to mediate data transfer between clients.</p><p style="margin:0;">  The source client interacts via wl_data_source, while the destination client</p><p style="margin:0;">  uses this interface. It enables:</p><p style="margin:0;">  - MIME type negotiation through the compositor</p><p style="margin:0;">  - Secure data transfer orchestration</p><p style="margin:0;">  - Both clipboard and drag-and-drop operations</p><p style="margin:0;"></description></p><p style="margin:0;">``</p><p style="margin:0;">Key Clarifications</p><p style="margin:0;">Compositor as mediator</p><p style="margin:0;">Explicitly states the compositor creates/manages wl_data_offer</p><p style="margin:0;">Matches actual implementation (Weston/wlroots)</p><p style="margin:0;">Role separation</p><p style="margin:0;">Distinguishes wl_data_source (source) and wl_data_offer (destination)</p><p style="margin:0;">Avoids "direct transfer" implication</p><p style="margin:0;">Protocol accuracy</p><p style="margin:0;">Aligns with the security model where all transfers are compositor-supervised</p><p style="margin:0;">Would appreciate feedback on whether this warrants a protocol patch. A minimal documentation update could prevent client implementation confusion.</p><p style="margin:0;">Best regards,</p><p style="margin:0;">苏怀安</p>