 		self.conInfo = connectionInfo
 		self.fileCache = fileCache
 		self.imageCache = imageCache
-		self.queue = queue
+		self.delegateQueue = queue
+		self.appIncomingQueue = DispatchQueue(label: "session.appserver.incoming", qos: .userInitiated, target: .global(qos: .userInitiated))
 		var ws = wsWorker
 		if nil == ws {
 			ws = SessionWebSocketWorker(conInfo: connectionInfo, wspaceId: workspace.wspaceId)

	}
	
	func handleWebSocket(data: SessionWebSocketWorker.MessageData) {
		DispatchQueue.global(qos: .userInitiated).async { [weak self] in
			self?.handleReceivedMessage(data)
		}
	}

	
	private typealias PendingTransactionHandler = (PendingTransaction, SessionResponse, Rc2Error?) -> Void

	let debugJsonOutputRegex = try! NSRegularExpression(pattern: "<img src=\\\\\\\"data:image.*\\\\\\\"", options: [.anchorsMatchLines])
	
	private struct PendingTransaction {
		let transId: String
		let command: SessionCommand
