     private var lastPongCheckTimer: Timer?
     private var pongCatchTimer: Timer?
 
-    // App-side Health Check (Last Text)
-    private var lastTextSocketDates: LastSocketDates?
-    private var lastTextCheckTimer: Timer?
+    // App-side Health Check (Text Socket)
+    private var textSocketEventCheckTimer: Timer?
 
     init() {
         let configuration = URLSessionConfiguration.af.default

            log.debug("disconnected")
        case .text(let text):
            log.debug("text: \(text)")
            processChat(text: text)
            lastTextSocketDates?.message = Date()
        case .binary(_):
            log.debug("binary")
        case .pong(_):

            guard let me = self else { return }
            switch $0 {
            case .success():
                me.startAllTimers()
                me.connectRequests.lastEstablished = me.connectRequests.onGoing
                me.delegate?.nicoUtilityDidConnectToLive(me, roomPosition: RoomPosition.arena, connectContext: connectContext)
            case .failure(_):
