-
I've just had weird thing, I tried sending separate messages to two people about a classifieds ad, and it ended up making a group conversation with all 3 of us with both messages, one after the other. How??
Fixed.
We have a de-duplication checker, and it thought the two messages were duplicates.
When it encounters duplicates, it gives back the original one.
What this really means in terms of HTTP requests:
- Create message, get given ID = 1
- Add recipient to message 1, get given OK
- Add comment to message 1, get given OK
Then the second message goes like this:
- Create message, see that it's the same title and author as message 1, get given ID = 1
- Add recipient to message 1, get given OK
- Add comment to message 1, get given OK
The problem was that dupe checking is too aggressive. It doesn't consider different recipients or comment, at the point it does the checking it's looking at title + author. It also looks for dupes within the last 5 minutes on this basis.
The dupe checking is there to handle people hitting submit multiple times, or people cross-posting an advert on multiple forums. 5 minutes is probably reasonable to handle both those scenarios for forums, or comments in conversations... but is unreasonable for messages.
Fix: Reduce dupe checking to only look for dupes in the last 5 seconds.
It will still de-dupe if you submit multiple times, but won't if they are 5 seconds apart, or have a different title.
- Create message, get given ID = 1
I've just had weird thing, I tried sending separate messages to two people about a classifieds ad, and it ended up making a group conversation with all 3 of us with both messages, one after the other. How??
I clicked on the first user, clicked send message, wrote message, sent message.
I then clicked on the second user, clicked send message, wrote message (in the top corner where it says 'who can see and reply to this' there was just the one guy. When I sent it, however, I got a message with all 3 of us with both messages.
I tried doing it again, and the same thing happened. It's all a bit awkward.