mirror of
https://github.com/electron/electron.git
synced 2026-05-02 03:00:22 -04:00
* fix: dispatch toast action and reply events from WinRT activation path ToastEventHandler::Invoke previously returned S_OK without dispatching whenever the activation arguments looked structured (type=action, type=reply, or contained &tag=), on the assumption that the COM INotificationActivationCallback::Activate path would deliver the event instead. That assumption only holds when Windows actually invokes the COM activator — which it does for MSIX-packaged apps launched cold, and for unpackaged apps with a properly-registered CLSID when the app is not already running. For non-MSIX apps with activationType="foreground" while the app is running (the common case), Windows raises only the in-process WinRT Activated event, so action and reply were silently dropped. Dispatch structured activations through the same HandleToastActivation the COM path uses. User input (reply text, selection values) is pulled from IToastActivatedEventArgs2::UserInput, which carries the data the COM callback would otherwise have received via NOTIFICATION_USER_INPUT_DATA. Also drop the &tag= term from the structured-args check. Plain clicks in Electron-generated XML don't carry tag=, and a custom toast_xml that puts tag= on a click argument should now dispatch as a click rather than being silently dropped. Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> * fix: release HSTRING out-params from toast activation Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com> --------- Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>