moved message de-dupe to client