     left.isExperiencingHealthAuthorizationRequest == right.isExperiencingHealthAuthorizationRequest &&
     left.isIgnoringUserEvents == right.isIgnoringUserEvents &&
     left.isIdleTimerDisabled == right.isIdleTimerDisabled &&
-    left.openingURL == right.openingURL &&
+    left.urlAction == right.urlAction &&
     left.sendingEvent == right.sendingEvent &&
     left.sendingAction == right.sendingAction &&
     left.isNetworkActivityIndicatorVisible == right.isNetworkActivityIndicatorVisible &&

    var isExperiencingHealthAuthorizationRequest: Bool
    var isIgnoringUserEvents: Bool
    var isIdleTimerDisabled: Bool
    var openingURL: URL?
    var sendingEvent: UIEvent?
    var sendingAction: TargetAction?
    var isNetworkActivityIndicatorVisible: Bool

      
      UIApplication.shared.isIdleTimerDisabled = model.isIdleTimerDisabled
      
      if case .considering(let url) = model.urlAction {
        let didOpen = UIApplication.shared.openURL(url)
        var edit = model
        edit.urlAction = .allowing(
          Session.Model.URLActionResponse(url: url, success: didOpen)
        )
        output.on(.next(edit))
        // Model may change in response to output. Reevaluate before sending further output.
        if case .allowing(let x) = model.urlAction, x.url == url {
          var edit = model
          edit.urlAction = .idle
          output.on(.next(edit))
        }
      }
      
      if let new = model.sendingEvent {
