Open IvanRF opened 8 years ago
If the user does not confirm the subscription before the comment is replied to, he does not receive a notification. Trying to figure out what notifications the user might have missed in the time between when they created their subscription and when they confirmed their subscription would be a lot of work, and there would be many edge-cases to consider.
I'm not in favor of this idea at all, but I'll leave this open pending further feedback. (Maybe @jaswsinc, who's currently on vacation, wants to chime in here?)
some ideas:
time
for the latest unconfirmed
in the log wp_comment_mail_sub_event_log
comment_id
@raamdev it's been a day since I use the plugin in production site and I already had 3 of these cases. I don't know if they are lazy about confirmation or I'm having spam issues again. Thus, with the current implementation, I can't reply to them until they confirm making it hard to manage.
with the current implementation, I can't reply to them until they confirm making it hard to manage.
Well, you can reply to them, but they won't get a notification. They can always come back to the blog and see if you replied to their comment yet.
If the person who subscribed really wants to get notified via email, they will need to put in the work of looking for the subscription confirmation email--and if they don't receive it, they need to check their spam, etc.
My point is, there's only so much that you, as a site owner, can do about this when you are requiring that subscribers confirm their email address. The person who left the comment and subscribed needs to put in some work in this scenario and confirm their subscription. If you'd prefer to make it easier for commenters and not require that they confirm their email address, you can disable that feature and have Comment Mail auto-confirm subscribers. (That's the setting I use--I don't like unnecessary emails--we don't ask people to confirm their email address when leaving a comment, so why should they require confirming their email address to receive a notification about a reply?)
I realize that protecting against spam is one of the primary reasons to use subscription confirmation emails, but my strategy is to stop the spam at the time they're leaving a comment (using Akismet, and other comment-spam prevention techniques, like requiring that all comments be moderated). If you're already requiring that all comments be moderated, then approving a comment ensures that the comment is not spam anyway, so there's not much use in also requiring a subscription confirmation.
Don't get me wrong: I do see the benefit in what you're requesting here. It would certainly make Comment Mail more intelligent if it were able to send any notifications a subscriber might have missed between the time they subscribed and the time they confirmed their subscription, but that's a lot of extra work for Comment Mail. It's an extra cronjob running. If a user subscribed to "all comments" and then did not confirm their subscription for several days, the post they subscribed to could have hundreds of new comments that they need to get notified about...
My point is, it's a lot of work. It's certainly not impossible, but this feature would require some planning, research, and lots of testing.
@raamdev I can see your point, I use Akismet and I moderate comments. I was not using confirmations with StCR, I enabled them for the spam issues I had with my server. I guess I will manually confirm some subs. for now (https://github.com/websharks/comment-mail/issues/244 would be useful).
Regarding this sync, I realized there is a much simpler solution. When the user confirms, a page is opened. So, that is the place to let the user know there are new comments since he subscribed. It could be something like "There are new comments in the post" or "There are replies to your comment" with a link to the post/comment. Since they are online and the user is currently on a browser, there is no need to send a notification :smiley:
Regarding this sync, I realized there is a much simpler solution. When the user confirms, a page is opened. So, that is the place to let the user know there are new comments since he subscribed.
Ah, great idea! I like that even better. We'd still need to do some processing to figure out which notifications they should be shown, but not generating emails certainly reduces the complexity (and workload) of the feature quite a bit.
We'd still need to do some processing to figure out which notifications they should be shown
Maybe including a link to the first new comment in the post is sufficient. They are on the browser already, so if they want to see new comments just have to click on the link.
So, the only work is to find the first comment id (looking at their dates) which is after the insertion_time
or time
in the event log.
Scenario: a user makes a comment (status
unconfirmed
), his comment is replied, the user confirms the subscription (statussubscribed
) => the user never receives the reply notification.It could be solved when the confirmation is triggered by analyzing the notifications sent between the user
Subscr. Time
(I guess isinsertion_time
in the DB) until the confirmation time. Or, in case the user unsubscribed/subscribed more than once, it should get thetime
from the event log table for the latest entry with statusunconfirmed
for that user.