             return
         }
         var request = URLRequest(url: url)
-        request.headers = [
-            commonUserAgentKey: commonUserAgentValue,
-            // TODO: refactor
-            "Sec-WebSocket-Extensions": "permessage-deflate; client_max_window_bits",
-            "Sec-WebSocket-Protocol": "msg.nicovideo.jp#json"
-        ]
-        // TODO: refactor
-        request.timeoutInterval = 10
+        request.applyDefaultMessageSocketSetting()
         let socket = WebSocket(request: request)
-        resetGoBack()
+        resetTimeShiftVariables()
         socket.onEvent = { [weak self] in
             self?.handleMessageSocketEventForTimeShift(
                 socket: socket,

    }
}

// MARK: - Private Methods (Message Socket, TimeShifted)
private extension NicoManager {
    func openTimeShiftMessageSocket(userId: String, room: WebSocketRoomData, connectContext: NicoConnectContext, completion: @escaping (Result<Void, NicoError>) -> Void) {

    // App-side Health Check (Text Socket)
    private var textSocketEventCheckTimer: Timer?

    // Timeshift Comments
    private var earliestTimeShiftChatDate: Date = .distantFuture
    private var timeShiftThreadRequestCount = 0
    private var timeShiftChatCountIn1ThreadRequest = 0
    private var timeShiftChats: [Chat] = []

    init(authManager: AuthManagerProtocol = AuthManager.shared) {
        self.authManager = authManager
