feat(chat): prevent blank /join; code cleanup;