- Last evening, I commented on this answer. I then closed the tab and went to bed.
- At an unknown time, someone responded, pinging me with
@Douglas
- an exact name match. - This morning, comments on that answer were moved to chat.
- 2 hours later, I visited stack exchange again. I had no notifications relating to this whatsoever. The only reason I am aware of this is that I actively went looking for the answer I had commented on.
If this operates by the rules for pings in comments, I should have been notified. If this operates by the rules for pings in chat rooms, I still should have been notified because I was active in what later became the chat room well within the time limit and I did not visit the room until long after the notification delay period.
In both comments and chat, the behavior in other situations is consistent that if:
- I participated in a discussion,
- someone promptly pinged me in that discussion, and
- I did not see the response quickly,
then:
- I should be notified.
This situation satisfies all the conditions but does not produce the result. This therefore appears to be a clear violation of the design intent of ping notifications overall, produced by an unintended interaction of other behaviors and how moving to chat was implemented. I'm fairly sure I have also had this happen with pings done after the move.
In addition to that design intent issue, there is also the practical matter of this behavior's consequence: very often, moving a comment discussion to chat instantly kills the discussion entirely, simply because the participants are unaware that there are new comments to respond to.
Ping notifications for comments are removed when the comment ping is deleted. This makes sense for actual deletion of a comment, but not without replacement for just moving a comment. It is triggered incidentally as a side effect here because the move happens to be implemented as delete + repost.
@name
ping notifications for chat are only sent to recent participants in the chat room. The intent appears to be to limit pings to only active participants in the discussion, which is reasonable, and works correctly when the entire discussion took place in the chat room. This restriction is over-applied incidentally as a side effect here because some of the discussion took place before the room existed and the activity of that discussion is not transferred along with its content.
I think the cleanest way to implement this would be to copy the activity history, in addition to the comment text and authorship, when comments are moved to chat.
The author of each moved comment should be counted as having visited the room at the time that they made the comment. The answerer (or asker, if the comments were on a question) should additionally be counted as having visited at the time they posted their answer or question, and each edit should also count as a visit for the editor.
Once the activity record is copied to the chat room, simply apply the same chat notification rules as for other chat rooms. This will properly notify previous participants in the discussion, for pings both before and after the move.