We can move the class remove logic after user responding to reduce the unnecessary animation. If user select  cancel, we do nothing, otherwise we will remove 'new' class and clean the field.
Another question: Why we only consider in 'new' thread? If the thread view already has the number as hash, can we just discard message directly?