[PR #4390] [MERGED] Content user notifications #6353

Closed
opened 2026-02-05 10:30:07 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/BookStackApp/BookStack/pull/4390
Author: @ssddanbrown
Created: 7/19/2023
Status: Merged
Merged: 8/17/2023
Merged by: @ssddanbrown

Base: developmentHead: content_notifications


📝 Commits (10+)

  • 45e75ed Notifications: Started activity->notification core framework
  • 100b287 Notifications: added user preference UI & logic
  • ff2674c Notifications: Added role receive-notifications permission
  • 730f539 Notifications: Started entity watch UI
  • 6100b99 Notifications: Extracted watch options, updated UI further
  • 8cdf320 Notifications: Started back-end for watch system
  • 9d149e4 Notifications: Linked watch functionality to UI
  • 9779c1a Notifications: Started core user notification logic
  • 18ae67a Notifications: Got core notification logic working for new pages
  • ecab2c8 Notifications: Added logic and classes for remaining notification types

📊 Changes

69 files changed (+1877 additions, -50 deletions)

View changed files

app/Activity/Controllers/WatchController.php (+65 -0)
📝 app/Activity/Models/Comment.php (+11 -6)
app/Activity/Models/Watch.php (+45 -0)
app/Activity/Notifications/Handlers/BaseNotificationHandler.php (+42 -0)
app/Activity/Notifications/Handlers/CommentCreationNotificationHandler.php (+48 -0)
app/Activity/Notifications/Handlers/NotificationHandler.php (+17 -0)
app/Activity/Notifications/Handlers/PageCreationNotificationHandler.php (+24 -0)
app/Activity/Notifications/Handlers/PageUpdateNotificationHandler.php (+51 -0)
app/Activity/Notifications/MessageParts/LinkedMailMessageLine.php (+26 -0)
app/Activity/Notifications/MessageParts/ListMessageLine.php (+26 -0)
app/Activity/Notifications/Messages/BaseActivityNotification.php (+63 -0)
app/Activity/Notifications/Messages/CommentCreationNotification.php (+30 -0)
app/Activity/Notifications/Messages/PageCreationNotification.php (+26 -0)
app/Activity/Notifications/Messages/PageUpdateNotification.php (+27 -0)
app/Activity/Notifications/NotificationManager.php (+52 -0)
📝 app/Activity/Tools/ActivityLogger.php (+9 -2)
app/Activity/Tools/EntityWatchers.php (+86 -0)
app/Activity/Tools/UserEntityWatchOptions.php (+131 -0)
app/Activity/Tools/WatchedParentDetails.php (+19 -0)
app/Activity/WatchLevels.php (+91 -0)

...and 49 more files

📄 Description

As per proposal in #4371.

Todo

  • User preferences UI
  • User preferences logic
  • Role permission addition
    • Admin default gain of permission
  • Content "watch" controls UI
    • Make conditional based upon role permission
    • Add indication of parent preference
    • Filter/Alter options for pages vs chapters/books since the same options/text does not apply.
  • Content "watch" controls logic
  • Mail Notification Classes
  • Add watched items to user notifications view.
  • Make user notification preference view access conditional upon role permission.
  • Make notifications prettier
  • Check against proposal
  • Ensure text is extracted
  • Ensure guest user cannot access notification controls, even if permissions given.
  • Dark mode check
  • Testing
    • Test role permission controls UI and receiving.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/BookStackApp/BookStack/pull/4390 **Author:** [@ssddanbrown](https://github.com/ssddanbrown) **Created:** 7/19/2023 **Status:** ✅ Merged **Merged:** 8/17/2023 **Merged by:** [@ssddanbrown](https://github.com/ssddanbrown) **Base:** `development` ← **Head:** `content_notifications` --- ### 📝 Commits (10+) - [`45e75ed`](https://github.com/BookStackApp/BookStack/commit/45e75edf0544217e1a46f5628037770a6713b23b) Notifications: Started activity->notification core framework - [`100b287`](https://github.com/BookStackApp/BookStack/commit/100b28707cbda87a57d5f1d31c6e33f88642caa6) Notifications: added user preference UI & logic - [`ff2674c`](https://github.com/BookStackApp/BookStack/commit/ff2674c464994408b6fc359c5b93ca5633211c5d) Notifications: Added role receive-notifications permission - [`730f539`](https://github.com/BookStackApp/BookStack/commit/730f539029385109e3e3b9557bca6f7a8b8a8855) Notifications: Started entity watch UI - [`6100b99`](https://github.com/BookStackApp/BookStack/commit/6100b99828153a1b712e73da84d90b583d833b01) Notifications: Extracted watch options, updated UI further - [`8cdf320`](https://github.com/BookStackApp/BookStack/commit/8cdf3203ef67b01ad359699c5c6a5ea8d890e4f8) Notifications: Started back-end for watch system - [`9d149e4`](https://github.com/BookStackApp/BookStack/commit/9d149e4d36f0f15c18053dda29b2974a5994f660) Notifications: Linked watch functionality to UI - [`9779c1a`](https://github.com/BookStackApp/BookStack/commit/9779c1a357d49654856ceb1b1f30d91cde8fa2fd) Notifications: Started core user notification logic - [`18ae67a`](https://github.com/BookStackApp/BookStack/commit/18ae67a1385945ebe7db199e7ede0c90525d9943) Notifications: Got core notification logic working for new pages - [`ecab2c8`](https://github.com/BookStackApp/BookStack/commit/ecab2c8e42ae11485bb3c0fcce1a51df1bc6b118) Notifications: Added logic and classes for remaining notification types ### 📊 Changes **69 files changed** (+1877 additions, -50 deletions) <details> <summary>View changed files</summary> ➕ `app/Activity/Controllers/WatchController.php` (+65 -0) 📝 `app/Activity/Models/Comment.php` (+11 -6) ➕ `app/Activity/Models/Watch.php` (+45 -0) ➕ `app/Activity/Notifications/Handlers/BaseNotificationHandler.php` (+42 -0) ➕ `app/Activity/Notifications/Handlers/CommentCreationNotificationHandler.php` (+48 -0) ➕ `app/Activity/Notifications/Handlers/NotificationHandler.php` (+17 -0) ➕ `app/Activity/Notifications/Handlers/PageCreationNotificationHandler.php` (+24 -0) ➕ `app/Activity/Notifications/Handlers/PageUpdateNotificationHandler.php` (+51 -0) ➕ `app/Activity/Notifications/MessageParts/LinkedMailMessageLine.php` (+26 -0) ➕ `app/Activity/Notifications/MessageParts/ListMessageLine.php` (+26 -0) ➕ `app/Activity/Notifications/Messages/BaseActivityNotification.php` (+63 -0) ➕ `app/Activity/Notifications/Messages/CommentCreationNotification.php` (+30 -0) ➕ `app/Activity/Notifications/Messages/PageCreationNotification.php` (+26 -0) ➕ `app/Activity/Notifications/Messages/PageUpdateNotification.php` (+27 -0) ➕ `app/Activity/Notifications/NotificationManager.php` (+52 -0) 📝 `app/Activity/Tools/ActivityLogger.php` (+9 -2) ➕ `app/Activity/Tools/EntityWatchers.php` (+86 -0) ➕ `app/Activity/Tools/UserEntityWatchOptions.php` (+131 -0) ➕ `app/Activity/Tools/WatchedParentDetails.php` (+19 -0) ➕ `app/Activity/WatchLevels.php` (+91 -0) _...and 49 more files_ </details> ### 📄 Description As per proposal in #4371. ### Todo - [x] User preferences UI - [x] User preferences logic - [x] Role permission addition - [x] Admin default gain of permission - [x] Content "watch" controls UI - [x] Make conditional based upon role permission - [x] Add indication of parent preference - [x] Filter/Alter options for pages vs chapters/books since the same options/text does not apply. - [x] Content "watch" controls logic - [x] Mail Notification Classes - [x] Add watched items to user notifications view. - [x] Make user notification preference view access conditional upon role permission. - [x] Make notifications prettier - [x] Check against proposal - [x] Ensure text is extracted - [x] Ensure guest user cannot access notification controls, even if permissions given. - [x] Dark mode check - [x] Testing - [x] Test role permission controls UI _and_ receiving. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-05 10:30:07 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/BookStack#6353