feature(socket) add chat