client side chat