21198d9401
Handlers that need the answer inline had no way to reach the shared dialog without hoisting state and a JSX mount into their component, so they all reached for window.confirm instead. This mirrors notify(): a store action carries the question, one host at the shell renders the real ConfirmDialog.