Notification settings UX review
nickvergessen opened this issue · comments
Joas Schilling commented
- Clear activity notifications via the creator app (forms visiting result, etc.)
- Throw away old notifications
- On render: Activity expired => remove notification nextcloud/activity#1460
- In background job to reduce DB size
- Remove "hidden" activity settings from DB nextcloud/activity#1446
- Remove notifications of disabled users from OUR DB
- Improve default
- Grouping by app/object for activity_notification
- Dismiss all of a type
- Recovery option/modal/overview after vacation/DND/sick-leave
SELECT app, object_type, COUNT(*) AS num FROM oc_notifications WHERE object_type = 'activity_notification' GROUP BY app, object_type ORDER BY num DESC LIMIT 500;
+--------------------+-----------------------+------+
| app | object_type | num |
+--------------------+-----------------------+------+
| files_sharing | activity_notification | 1553 |
| files | activity_notification | 1515 |
| forms | activity_notification | 1314 |
| deck | activity_notification | 897 |
| announcementcenter | activity_notification | 185 |
| settings | activity_notification | 100 |
| dav | activity_notification | 75 |
| spreed | activity_notification | 74 |
| comments | activity_notification | 25 |
| systemtags | activity_notification | 2 |
+--------------------+-----------------------+------+
Deleting notifications of activities that got removed:
DELETE FROM oc_notifications WHERE notification_id IN (SELECT n.notification_id FROM oc_notifications n LEFT JOIN oc_activity a ON a.activity_id = n.object_id WHERE n.object_type = 'activity_notification' AND a.activity_id IS NULL);
SELECT app, object_type, COUNT(*) AS num FROM oc_notifications WHERE object_type = 'activity_notification' GROUP BY app, object_type ORDER BY num DESC LIMIT 500;
+--------------------+-----------------------+------+
| app | object_type | num |
+--------------------+-----------------------+------+
| files_sharing | activity_notification | 1170 |
| files | activity_notification | 557 |
| deck | activity_notification | 219 |
| forms | activity_notification | 212 |
| dav | activity_notification | 64 |
| settings | activity_notification | 38 |
| announcementcenter | activity_notification | 36 |
+--------------------+-----------------------+------+
7 rows in set (0.007 sec)