{"version":"2.1.268","anchor":"new-desktop-surface-plugin-ui-messaging-uimessage-uipre","canonical_anchor":"new-desktop-surface-plugin-ui-messaging-uimessage-uipre","heading":"New desktop-surface plugin UI messaging (ui.message \/ ui.press \/ ui.input \/ ui.select)","tier":"internal","area":"Plugins","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.268\/e\/new-desktop-surface-plugin-ui-messaging-uimessage-uipre","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.268","markdown":"### New desktop-surface plugin UI messaging (ui.message \/ ui.press \/ ui.input \/ ui.select)\n\nNew plugin UI plumbing routes ui.message and press\/input\/select events to a desktop app surface\n\n**Unclear.** What specific desktop client or surface consumes these dispatched events isn't detailed in the evidence.\n\n**What**\n\nTwo new internal functions dispatch plugin-authored UI events, including `ui.message` and press\/input\/select events, to a message target marked as `surface: \"desktop\"`. Before dispatching, they check whether the relevant UI component (`Q4.isDrawn`) is actually drawn, and log a message noting 'nothing ran' when it isn't.\n\n**Why**\n\nThis appears to add the plumbing needed for plugin-driven UI events to reach a desktop client interface, separate from the terminal-based UI, though what desktop surface consumes these events isn't detailed in the evidence.\n\n- Area: Plugins\n- Names: `ui.message`, `ui.press`, `ui.input`, `ui.select`\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 3\/5"}