Bridged dialogs can detach cleanly and stop timing out behind another open dialog.
What's wrong with this entry?
A dialog request sent over the connection bridge can now come back as detached, which cancels the request cleanly instead of falling back to a default answer. Its timeout also no longer expires while a different blocking dialog is on screen: it re-arms, and re-arms again once that other dialog closes. Always on.
- Backed by new shared state tracking whether a blocking dialog surface is mounted and which kind it is
- Previously the handler only distinguished a completed reply from everything else
surfaceMounted
Strings lifted out of the shipped bundle, so the claim above can be checked against them.