Notification not sent on new comment #5520

Closed
opened 2026-02-05 10:08:33 +03:00 by OVERLORD · 3 comments
Owner

Originally created by @Phil-GOX on GitHub (Nov 25, 2025).

Attempted Debugging

  • I have read the debugging page

Searched GitHub Issues

  • I have searched GitHub for the issue.

Describe the Scenario

Notifications have already worked normally:

  • Users have correctly configured their desired notifications in their preferences. ("Notify upon comments on pages I own" and "Notify upon replies to my comments")
  • Emails were being sent/received to inform them that comments had been left by other users.

Since version 25.11, no notifications are sent when a user leaves a comment on a page.

  • The action of saving the comment "freezes" (the page does not confirm that the comment is saved, and users can therefore click multiple times, resulting in multiple copies being saved).
  • Upon reloading the page, the new comments appear normally.
  • No interface errors, but a stack trace is added to the app_data/log/bookstack/laravel.log file for each save.

From the information I was able to find, it was still working normally on 25.07.3
Other emails are still being sent successfully ("Send test email" from maintenance page) :

  • Notify upon changes to pages I own

Exact BookStack Version

v25.11.3

Log Content

[2025-11-25 08:49:33] production.ERROR: BookStack\Activity\Notifications\MessageParts\EntityLinkMessageLine::__construct(): Argument #1 ($entity) must be of type BookStack\Entities\Models\Entity, null given, called in /app/www/app/Activity/Notifications/Messages/CommentCreationNotification.php on line 24 {"userId">
[stacktrace]
#0 /app/www/app/Activity/Notifications/Messages/CommentCreationNotification.php(24): BookStack\\Activity\\Notifications\\MessageParts\\EntityLinkMessageLine->__construct()
#1 /app/www/vendor/laravel/framework/src/Illuminate/Notifications/Channels/MailChannel.php(55): BookStack\\Activity\\Notifications\\Messages\\CommentCreationNotification->toMail()
#2 /app/www/vendor/laravel/framework/src/Illuminate/Notifications/NotificationSender.php(163): Illuminate\\Notifications\\Channels\\MailChannel->send()
#3 /app/www/vendor/laravel/framework/src/Illuminate/Notifications/NotificationSender.php(118): Illuminate\\Notifications\\NotificationSender->sendToNotifiable()
#4 /app/www/vendor/laravel/framework/src/Illuminate/Support/Traits/Localizable.php(19): Illuminate\\Notifications\\NotificationSender->{closure:Illuminate\\Notifications\\NotificationSender::sendNow():113}()
#5 /app/www/vendor/laravel/framework/src/Illuminate/Notifications/NotificationSender.php(113): Illuminate\\Notifications\\NotificationSender->withLocale()
#6 /app/www/vendor/laravel/framework/src/Illuminate/Notifications/ChannelManager.php(54): Illuminate\\Notifications\\NotificationSender->sendNow()
#7 /app/www/vendor/laravel/framework/src/Illuminate/Notifications/SendQueuedNotifications.php(118): Illuminate\\Notifications\\ChannelManager->sendNow()
#8 /app/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Notifications\\SendQueuedNotifications->handle()
#9 /app/www/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::{closure:Illuminate\\Container\\BoundMethod::call():35}()
#10 /app/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(96): Illuminate\\Container\\Util::unwrapIfClosure()
#11 /app/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod()
#12 /app/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(836): Illuminate\\Container\\BoundMethod::call()
#13 /app/www/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(129): Illuminate\\Container\\Container->call()
#14 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Bus\\Dispatcher->{closure:Illuminate\\Bus\\Dispatcher::dispatchNow():126}()
#15 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->{closure:Illuminate\\Pipeline\\Pipeline::prepareDestination():178}()
#16 /app/www/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(133): Illuminate\\Pipeline\\Pipeline->then()
#17 /app/www/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(134): Illuminate\\Bus\\Dispatcher->dispatchNow()
#18 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Queue\\CallQueuedHandler->{closure:Illuminate\\Queue\\CallQueuedHandler::dispatchThroughMiddleware():127}()
#19 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->{closure:Illuminate\\Pipeline\\Pipeline::prepareDestination():178}()
#20 /app/www/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(127): Illuminate\\Pipeline\\Pipeline->then()
#21 /app/www/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(68): Illuminate\\Queue\\CallQueuedHandler->dispatchThroughMiddleware()
#22 /app/www/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(102): Illuminate\\Queue\\CallQueuedHandler->call()
#23 /app/www/vendor/laravel/framework/src/Illuminate/Queue/SyncQueue.php(130): Illuminate\\Queue\\Jobs\\Job->fire()
#24 /app/www/vendor/laravel/framework/src/Illuminate/Queue/SyncQueue.php(110): Illuminate\\Queue\\SyncQueue->executeJob()
#25 /app/www/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(246): Illuminate\\Queue\\SyncQueue->push()
#26 /app/www/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(230): Illuminate\\Bus\\Dispatcher->pushCommandToQueue()
#27 /app/www/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(80): Illuminate\\Bus\\Dispatcher->dispatchToQueue()
#28 /app/www/vendor/laravel/framework/src/Illuminate/Notifications/NotificationSender.php(271): Illuminate\\Bus\\Dispatcher->dispatch()
#29 /app/www/vendor/laravel/framework/src/Illuminate/Notifications/NotificationSender.php(88): Illuminate\\Notifications\\NotificationSender->queueNotification()
#30 /app/www/vendor/laravel/framework/src/Illuminate/Notifications/ChannelManager.php(39): Illuminate\\Notifications\\NotificationSender->send()
#31 /app/www/vendor/laravel/framework/src/Illuminate/Notifications/RoutesNotifications.php(18): Illuminate\\Notifications\\ChannelManager->send()
#32 /app/www/app/Activity/Notifications/Handlers/BaseNotificationHandler.php(42): BookStack\\Users\\Models\\User->notify()
#33 /app/www/app/Activity/Notifications/Handlers/CommentCreationNotificationHandler.php(46): BookStack\\Activity\\Notifications\\Handlers\\BaseNotificationHandler->sendNotificationToUserIds()
#34 /app/www/app/Activity/Notifications/NotificationManager.php(28): BookStack\\Activity\\Notifications\\Handlers\\CommentCreationNotificationHandler->handle()
#35 /app/www/app/Activity/Tools/ActivityLogger.php(43): BookStack\\Activity\\Notifications\\NotificationManager->handle()
#36 /app/www/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(363): BookStack\\Activity\\Tools\\ActivityLogger->add()
#37 /app/www/app/Activity/CommentRepo.php(74): Illuminate\\Support\\Facades\\Facade::__callStatic()
#38 /app/www/app/Activity/Controllers/CommentController.php(43): BookStack\\Activity\\CommentRepo->create()
#39 /app/www/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): BookStack\\Activity\\Controllers\\CommentController->savePageComment()
#40 /app/www/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction()
#41 /app/www/vendor/laravel/framework/src/Illuminate/Routing/Route.php(265): Illuminate\\Routing\\ControllerDispatcher->dispatch()
#42 /app/www/vendor/laravel/framework/src/Illuminate/Routing/Route.php(211): Illuminate\\Routing\\Route->runController()
#43 /app/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run()
#44 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->{closure:Illuminate\\Routing\\Router::runRouteWithinStack():821}()
#45 /app/www/app/Http/Middleware/Authenticate.php(23): Illuminate\\Pipeline\\Pipeline->{closure:Illuminate\\Pipeline\\Pipeline::prepareDestination():178}()
#46 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\Authenticate->handle()
#47 /app/www/app/Http/Middleware/Localization.php(32): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
#48 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\Localization->handle()
#49 /app/www/app/Http/Middleware/RunThemeActions.php(26): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
#50 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\RunThemeActions->handle()
#51 /app/www/app/Http/Middleware/CheckEmailConfirmed.php(47): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
#52 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\CheckEmailConfirmed->handle()
#53 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
#54 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle()
#55 /app/www/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
#56 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle()
#57 /app/www/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
#58 /app/www/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest()
#59 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle()
#60 /app/www/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
#61 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle()
#62 /app/www/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
#63 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle()
#64 /app/www/app/Http/Middleware/ApplyCspRules.php(33): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
#65 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\ApplyCspRules->handle()
#66 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
#67 /app/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then()
#68 /app/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack()
#69 /app/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute()
#70 /app/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute()
#71 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch()
#72 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->{closure:Illuminate\\Foundation\\Http\\Kernel::dispatchToRouter():197}()
#73 /app/www/app/Http/Middleware/PreventResponseCaching.php(28): Illuminate\\Pipeline\\Pipeline->{closure:Illuminate\\Pipeline\\Pipeline::prepareDestination():178}()
#74 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\PreventResponseCaching->handle()
#75 /app/www/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
#76 /app/www/app/Http/Middleware/TrustProxies.php(41): Illuminate\\Http\\Middleware\\TrustProxies->handle()
#77 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\TrustProxies->handle()
#78 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
#79 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle()
#80 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle()
#81 /app/www/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
#82 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle()
#83 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
#84 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle()
#85 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}()
#86 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then()
#87 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter()
#88 /app/www/public/index.php(23): Illuminate\\Foundation\\Http\\Kernel->handle()
#89 {main}
"}

Hosting Environment

Ubuntu 22.04.5 LTS
Docker engine 29.0.2
Docker compose file : bookstack.yml

Originally created by @Phil-GOX on GitHub (Nov 25, 2025). ### Attempted Debugging - [x] I have read the debugging page ### Searched GitHub Issues - [x] I have searched GitHub for the issue. ### Describe the Scenario Notifications have already worked normally: - Users have correctly configured their desired notifications in their preferences. ("Notify upon comments on pages I own" and "Notify upon replies to my comments") - Emails were being sent/received to inform them that comments had been left by other users. Since version 25.11, no notifications are sent when a user leaves a comment on a page. - The action of saving the comment "freezes" (the page does not confirm that the comment is saved, and users can therefore click multiple times, resulting in multiple copies being saved). - Upon reloading the page, the new comments appear normally. - No interface errors, but a stack trace is added to the app_data/log/bookstack/laravel.log file for each save. From the information I was able to find, it was still working normally on 25.07.3 Other emails are still being sent successfully ("Send test email" from maintenance page) : - Notify upon changes to pages I own ### Exact BookStack Version v25.11.3 ### Log Content ```text [2025-11-25 08:49:33] production.ERROR: BookStack\Activity\Notifications\MessageParts\EntityLinkMessageLine::__construct(): Argument #1 ($entity) must be of type BookStack\Entities\Models\Entity, null given, called in /app/www/app/Activity/Notifications/Messages/CommentCreationNotification.php on line 24 {"userId"> [stacktrace] #0 /app/www/app/Activity/Notifications/Messages/CommentCreationNotification.php(24): BookStack\\Activity\\Notifications\\MessageParts\\EntityLinkMessageLine->__construct() #1 /app/www/vendor/laravel/framework/src/Illuminate/Notifications/Channels/MailChannel.php(55): BookStack\\Activity\\Notifications\\Messages\\CommentCreationNotification->toMail() #2 /app/www/vendor/laravel/framework/src/Illuminate/Notifications/NotificationSender.php(163): Illuminate\\Notifications\\Channels\\MailChannel->send() #3 /app/www/vendor/laravel/framework/src/Illuminate/Notifications/NotificationSender.php(118): Illuminate\\Notifications\\NotificationSender->sendToNotifiable() #4 /app/www/vendor/laravel/framework/src/Illuminate/Support/Traits/Localizable.php(19): Illuminate\\Notifications\\NotificationSender->{closure:Illuminate\\Notifications\\NotificationSender::sendNow():113}() #5 /app/www/vendor/laravel/framework/src/Illuminate/Notifications/NotificationSender.php(113): Illuminate\\Notifications\\NotificationSender->withLocale() #6 /app/www/vendor/laravel/framework/src/Illuminate/Notifications/ChannelManager.php(54): Illuminate\\Notifications\\NotificationSender->sendNow() #7 /app/www/vendor/laravel/framework/src/Illuminate/Notifications/SendQueuedNotifications.php(118): Illuminate\\Notifications\\ChannelManager->sendNow() #8 /app/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Illuminate\\Notifications\\SendQueuedNotifications->handle() #9 /app/www/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::{closure:Illuminate\\Container\\BoundMethod::call():35}() #10 /app/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(96): Illuminate\\Container\\Util::unwrapIfClosure() #11 /app/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod() #12 /app/www/vendor/laravel/framework/src/Illuminate/Container/Container.php(836): Illuminate\\Container\\BoundMethod::call() #13 /app/www/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(129): Illuminate\\Container\\Container->call() #14 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Bus\\Dispatcher->{closure:Illuminate\\Bus\\Dispatcher::dispatchNow():126}() #15 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->{closure:Illuminate\\Pipeline\\Pipeline::prepareDestination():178}() #16 /app/www/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(133): Illuminate\\Pipeline\\Pipeline->then() #17 /app/www/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(134): Illuminate\\Bus\\Dispatcher->dispatchNow() #18 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Queue\\CallQueuedHandler->{closure:Illuminate\\Queue\\CallQueuedHandler::dispatchThroughMiddleware():127}() #19 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->{closure:Illuminate\\Pipeline\\Pipeline::prepareDestination():178}() #20 /app/www/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(127): Illuminate\\Pipeline\\Pipeline->then() #21 /app/www/vendor/laravel/framework/src/Illuminate/Queue/CallQueuedHandler.php(68): Illuminate\\Queue\\CallQueuedHandler->dispatchThroughMiddleware() #22 /app/www/vendor/laravel/framework/src/Illuminate/Queue/Jobs/Job.php(102): Illuminate\\Queue\\CallQueuedHandler->call() #23 /app/www/vendor/laravel/framework/src/Illuminate/Queue/SyncQueue.php(130): Illuminate\\Queue\\Jobs\\Job->fire() #24 /app/www/vendor/laravel/framework/src/Illuminate/Queue/SyncQueue.php(110): Illuminate\\Queue\\SyncQueue->executeJob() #25 /app/www/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(246): Illuminate\\Queue\\SyncQueue->push() #26 /app/www/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(230): Illuminate\\Bus\\Dispatcher->pushCommandToQueue() #27 /app/www/vendor/laravel/framework/src/Illuminate/Bus/Dispatcher.php(80): Illuminate\\Bus\\Dispatcher->dispatchToQueue() #28 /app/www/vendor/laravel/framework/src/Illuminate/Notifications/NotificationSender.php(271): Illuminate\\Bus\\Dispatcher->dispatch() #29 /app/www/vendor/laravel/framework/src/Illuminate/Notifications/NotificationSender.php(88): Illuminate\\Notifications\\NotificationSender->queueNotification() #30 /app/www/vendor/laravel/framework/src/Illuminate/Notifications/ChannelManager.php(39): Illuminate\\Notifications\\NotificationSender->send() #31 /app/www/vendor/laravel/framework/src/Illuminate/Notifications/RoutesNotifications.php(18): Illuminate\\Notifications\\ChannelManager->send() #32 /app/www/app/Activity/Notifications/Handlers/BaseNotificationHandler.php(42): BookStack\\Users\\Models\\User->notify() #33 /app/www/app/Activity/Notifications/Handlers/CommentCreationNotificationHandler.php(46): BookStack\\Activity\\Notifications\\Handlers\\BaseNotificationHandler->sendNotificationToUserIds() #34 /app/www/app/Activity/Notifications/NotificationManager.php(28): BookStack\\Activity\\Notifications\\Handlers\\CommentCreationNotificationHandler->handle() #35 /app/www/app/Activity/Tools/ActivityLogger.php(43): BookStack\\Activity\\Notifications\\NotificationManager->handle() #36 /app/www/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(363): BookStack\\Activity\\Tools\\ActivityLogger->add() #37 /app/www/app/Activity/CommentRepo.php(74): Illuminate\\Support\\Facades\\Facade::__callStatic() #38 /app/www/app/Activity/Controllers/CommentController.php(43): BookStack\\Activity\\CommentRepo->create() #39 /app/www/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): BookStack\\Activity\\Controllers\\CommentController->savePageComment() #40 /app/www/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\\Routing\\Controller->callAction() #41 /app/www/vendor/laravel/framework/src/Illuminate/Routing/Route.php(265): Illuminate\\Routing\\ControllerDispatcher->dispatch() #42 /app/www/vendor/laravel/framework/src/Illuminate/Routing/Route.php(211): Illuminate\\Routing\\Route->runController() #43 /app/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(822): Illuminate\\Routing\\Route->run() #44 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Routing\\Router->{closure:Illuminate\\Routing\\Router::runRouteWithinStack():821}() #45 /app/www/app/Http/Middleware/Authenticate.php(23): Illuminate\\Pipeline\\Pipeline->{closure:Illuminate\\Pipeline\\Pipeline::prepareDestination():178}() #46 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\Authenticate->handle() #47 /app/www/app/Http/Middleware/Localization.php(32): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}() #48 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\Localization->handle() #49 /app/www/app/Http/Middleware/RunThemeActions.php(26): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}() #50 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\RunThemeActions->handle() #51 /app/www/app/Http/Middleware/CheckEmailConfirmed.php(47): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}() #52 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\CheckEmailConfirmed->handle() #53 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}() #54 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle() #55 /app/www/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}() #56 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle() #57 /app/www/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}() #58 /app/www/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest() #59 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Session\\Middleware\\StartSession->handle() #60 /app/www/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}() #61 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle() #62 /app/www/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}() #63 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle() #64 /app/www/app/Http/Middleware/ApplyCspRules.php(33): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}() #65 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\ApplyCspRules->handle() #66 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}() #67 /app/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\\Pipeline\\Pipeline->then() #68 /app/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\\Routing\\Router->runRouteWithinStack() #69 /app/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\\Routing\\Router->runRoute() #70 /app/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\\Routing\\Router->dispatchToRoute() #71 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\\Routing\\Router->dispatch() #72 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\\Foundation\\Http\\Kernel->{closure:Illuminate\\Foundation\\Http\\Kernel::dispatchToRouter():197}() #73 /app/www/app/Http/Middleware/PreventResponseCaching.php(28): Illuminate\\Pipeline\\Pipeline->{closure:Illuminate\\Pipeline\\Pipeline::prepareDestination():178}() #74 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\PreventResponseCaching->handle() #75 /app/www/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}() #76 /app/www/app/Http/Middleware/TrustProxies.php(41): Illuminate\\Http\\Middleware\\TrustProxies->handle() #77 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): BookStack\\Http\\Middleware\\TrustProxies->handle() #78 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}() #79 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle() #80 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle() #81 /app/www/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}() #82 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Http\\Middleware\\ValidatePostSize->handle() #83 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}() #84 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle() #85 /app/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\\Pipeline\\Pipeline->{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}() #86 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\\Pipeline\\Pipeline->then() #87 /app/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter() #88 /app/www/public/index.php(23): Illuminate\\Foundation\\Http\\Kernel->handle() #89 {main} "} ``` ### Hosting Environment Ubuntu 22.04.5 LTS Docker engine 29.0.2 Docker compose file : [bookstack.yml](https://github.com/user-attachments/files/23749711/bookstack.yml)
OVERLORD added the 🐛 Bug🚀 Priority🏭 Back-End labels 2026-02-05 10:08:33 +03:00
Author
Owner

@ssddanbrown commented on GitHub (Nov 25, 2025):

Hi @Phil-GOX,
Thanks for the info.
This looks to be a bug which I can reproduce, caused by changes in v25.11.

I've recategorised this as a priority bug issue and assigned it to the next patch release.

@ssddanbrown commented on GitHub (Nov 25, 2025): Hi @Phil-GOX, Thanks for the info. This looks to be a bug which I can reproduce, caused by changes in v25.11. I've recategorised this as a priority bug issue and assigned it to the next patch release.
Author
Owner

@ssddanbrown commented on GitHub (Nov 26, 2025):

This has now been patched in 9de294343d, to be part of the next patch release which I'll publish shortly.

Thanks again @Phil-GOX!

@ssddanbrown commented on GitHub (Nov 26, 2025): This has now been patched in 9de294343dd7309bb00e6a0011dfbd443e8620c4, to be part of the next patch release which I'll publish shortly. Thanks again @Phil-GOX!
Author
Owner

@Phil-GOX commented on GitHub (Nov 26, 2025):

Thank you @ssddanbrown for the quick response and correction! Next time I encounter problems (which I can easily reproduce), I won't hesitate to submit them here ;)

@Phil-GOX commented on GitHub (Nov 26, 2025): Thank you @ssddanbrown for the quick response and correction! Next time I encounter problems (which I can easily reproduce), I won't hesitate to submit them here ;)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/BookStack#5520