notifications icon indicating copy to clipboard operation
notifications copied to clipboard

Notification settings UX review

Open nickvergessen opened this issue 2 years ago • 0 comments

  • [ ] Clear activity notifications via the creator app (forms visiting result, etc.)
  • [ ] Throw away old notifications
    • [x] On render: Activity expired => remove notification https://github.com/nextcloud/activity/pull/1460
    • [ ] In background job to reduce DB size
  • [x] Remove "hidden" activity settings from DB https://github.com/nextcloud/activity/pull/1446
  • [x] 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)

nickvergessen avatar Dec 05 '23 12:12 nickvergessen