# Dialog presentation identity followup A custom body retained the service-wide resolver after cancellation, and a delayed native activation rejection canceled whichever presentation was current. Both defects reproduced before the change: two stale custom-context cases and one delayed rejection case failed. DialogService now checks the captured completion source. DialogHost binds rendered handlers and activation rejection to their captured DialogState; a stale handler cannot change a replacement prompt draft or result. Existing public APIs, typed cancellation outcomes and the single-active contract are preserved. Disposal still cancels the current presentation. Verification: all three regressions pass; the full CentralUI suite passes 1600/1600, zero skips/failures. Logs retain actual red and green runs. This is a local managed lifecycle regression check, not a new native browser matrix or production operation.