Feature proposal #6540
closed
Added by krileon over 7 years ago.
Updated over 7 years ago.
Description
Implement a new "read" column to keep track of if the activity or comment entry has been read by the owner. Owner should be parsed from asset with fallback to stream object. This will only, initially, be parsed and utilized by the notifications usage but eventually will also apply to the conversations usage.
Implement this as a separate database table similar to hidden so it can be per user. It should only join if a read filter is added (e.g. ->set( 'ready', 1_OR_0 )) otherwise ignore the join entirely and also ignore if there is no user id. Implement a date cutoff range. If older than the cutoff then always treat it as read (default 6 months). Improve the pruning function to purge read states older than cutoff as well. Table structure as follows.
user_id, type (activity or comment), item (activity or comment id), read (timestamp)
Needs a mark all read button on notifications page as well.
- % Done changed from 0 to 50
- Status changed from Assigned to Resolved
- % Done changed from 50 to 100
This is now simplified in that it keeps track of read state per asset. So it's 1 row for users notifications for example. It compares the timestamp of the last time they viewed their notifications to the timestamp of the notification. If it's newer than the last time they viewed it's marked unread otherwise it's considered read.
- Status changed from Resolved to Closed
Also available in: Atom
PDF