Colonel_mortis Posted September 7, 2017 Posted September 7, 2017 Currently, if someone comments on a status update, you receive a notification iff (if and only if - there is no way to receive notifications without meeting one of the criteria, and no way to not receive notifications if you do) you posted the status update originally, the status update was posted on your profile, or you have previously replied to that status update. If you are tagged in the comment, you will receive two notifications - one for the comment and one for the tag. If two people reply to the status update, you will receive two notifications, unlike how the rest of the site works (where comment notifications are collapsed together into "A, B and 3 others"). A system that would make a lot more sense is: Status updates can be followed and unfollowed, like all other content on the site. I would suggest making this a button inline with time/options/report (probably between time and options) that is fa-bell-o when not following, and fa-bell when following, to make it more inline than following elsewhere on the site. When you click it, it should open the follow popup like following elsewhere. By default, the person who posted the status, and the person who's profile it was posted on, should follow it (ideally they should be able to opt out of that in notification settings, but ¯\_(ツ)_/¯). It might also make sense that the "Notify me of replies" checkbox when posting comments is checked by default. When multiple people have replied to a status update, those notifications should be combined together to just say "A, B and 3 others replied to a status update by Z". This is one of the most common (if not the single most common) suggestion/bug report that I see on my site, and I would really appreciate it if it was changed. Implementing it is not particularly complicated - the changes that would be needed are: Add "implements \IPS\Content\Followable" to Statuses\Status Remove the sendNotifications code from Statuses\Reply (you can just rely on the parent) Add the following to Statuses\Status::processAfterCreate: $save = array( 'follow_id' => md5( 'core'. ';' . 'status' . ';' . $this->id . ';' . \IPS\Member::loggedIn()->member_id ), 'follow_app' => 'core', 'follow_area' => 'status', 'follow_rel_id' => $this->id, 'follow_member_id' => \IPS\Member::loggedIn()->member_id, 'follow_is_anon' => 0, 'follow_added' => time() + 1, // Make sure streams show follows after content is created 'follow_notify_do' => 1, 'follow_notify_meta' => '', 'follow_notify_freq' => 'immediate', 'follow_notify_sent' => 0, 'follow_visible' => 1 ); \IPS\Db::i()->insert( 'core_follow', $save ); if ($this->member_id != \IPS\Member::loggedIn()->member_id) { $save = array( 'follow_id' => md5( 'core'. ';' . 'status' . ';' . $this->id . ';' . $this->member_id ), 'follow_app' => 'core', 'follow_area' => 'status', 'follow_rel_id' => $this->id, 'follow_member_id' => $this->member_id, 'follow_is_anon' => 0, 'follow_added' => time() + 1, // Make sure streams show follows after content is created 'follow_notify_do' => 1, 'follow_notify_meta' => '', 'follow_notify_freq' => 'immediate', 'follow_notify_sent' => 0, 'follow_visible' => 1 ); \IPS\Db::i()->insert( 'core_follow', $save ); } Implement createNotification in Statuses\Reply to customise the notification text I think there was one other thing that has to be changed to prevent it from erroring, but it was easy enough to find by just looking at the error stack trace The theme update to add the button I am even happy to actually write the patch for you for free if you want, but due to time constraints the times that I can do it are fairly limited (either in the next couple of weeks or not until December). Please contact me by PM here or by email if you're interested in taking up my offer.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.