mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-07 11:19:38 +03:00
page_restore does not trigger the webhook #5575
Open
opened 2026-02-05 10:10:46 +03:00 by OVERLORD
·
4 comments
No Branch/Tag Specified
development
further_theme_development
l10n_development
release
llm_only
vectors
v25-11
docker_env
drawio_rendering
user_permissions
ldap_host_failover
svg_image
prosemirror
captcha_example
fix/video-export
v25.12.3
v25.12.2
v25.12.1
v25.12
v25.11.6
v25.11.5
v25.11.4
v24.11.4
v25.11.3
v25.11.2
v25.11.1
v25.11
v25.07.3
v25.07.2
v25.07.1
v25.07
v25.05.2
v25.05.1
v25.05
v25.02.5
v25.02.4
v25.02.3
v25.02.2
v25.02.1
v25.02
v24.12.1
v24.12
v24.10.3
v24.10.2
v24.10.1
v24.10
v24.05.4
v24.05.3
v24.05.2
v24.05.1
v24.05
v24.02.3
v24.02.2
v24.02.1
v24.02
v23.12.3
v23.12.2
v23.12.1
v23.12
v23.10.4
v23.10.3
v23.10.2
v23.10.1
v23.10
v23.08.3
v23.08.2
v23.08.1
v23.08
v23.06.2
v23.06.1
v23.06
v23.05.2
v23.05.1
v23.05
v23.02.3
v23.02.2
v23.02.1
v23.02
v23.01.1
v23.01
v22.11.1
v22.11
v22.10.2
v22.10.1
v22.10
v22.09.1
v22.09
v22.07.3
v22.07.2
v22.07.1
v22.07
v22.06.2
v22.06.1
v22.06
v22.04.2
v22.04.1
v22.04
v22.03.1
v22.03
v22.02.3
v22.02.2
v22.02.1
v22.02
v21.12.5
v21.12.4
v21.12.3
v21.12.2
v21.12.1
v21.12
v21.11.3
v21.11.2
v21.11.1
v21.11
v21.10.3
v21.10.2
v21.10.1
v21.10
v21.08.6
v21.08.5
v21.08.4
v21.08.3
v21.08.2
v21.08.1
v21.08
v21.05.4
v21.05.3
v21.05.2
v21.05.1
v21.05
v21.04.6
v21.04.5
v21.04.4
v21.04.3
v21.04.2
v21.04.1
v21.04
v0.31.8
v0.31.7
v0.31.6
v0.31.5
v0.31.4
v0.31.3
v0.31.2
v0.31.1
v0.31.0
v0.30.7
v0.30.6
v0.30.5
v0.30.4
v0.30.3
v0.30.2
v0.30.1
v0.30.0
v0.29.3
v0.29.2
v0.29.1
v0.29.0
v0.28.3
v0.28.2
v0.28.1
v0.28.0
v0.27.5
v0.27.4
v0.27.3
v0.27.2
v0.27.1
v0.27
v0.26.4
v0.26.3
v0.26.2
v0.26.1
v0.26.0
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
v0.25.0
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.2
v0.23.1
v0.23.0
v0.22.0
v0.21.0
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.0
v0.18.5
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.0
v0.16.3
v0.16.2
v0.16.1
v0.16.0
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.13.1
v0.13.0
v0.12.2
v0.12.1
v0.12.0
v0.11.2
v0.11.1
v0.11.0
v0.10.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.6
v0.7.5
v0.7.4
v0.7.3
0.7.2
v.0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.0
Labels
Clear labels
🎨 Design
📖 Docs Update
🐛 Bug
🐛 Bug
:cat2:🐈 Possible duplicate
💿 Database
☕ Open to discussion
💻 Front-End
🐕 Support
🚪 Authentication
🌍 Translations
🔌 API Task
🏭 Back-End
⛲ Upstream
🔨 Feature Request
🛠️ Enhancement
🛠️ Enhancement
🛠️ Enhancement
❤️ Happy feedback
🔒 Security
🔍 Pending Validation
💆 UX
📝 WYSIWYG Editor
🌔 Out of scope
🔩 API Request
:octocat: Admin/Meta
🖌️ View Customization
❓ Question
🚀 Priority
🛡️ Blocked
🚚 Export System
♿ A11y
🔧 Maintenance
> Markdown Editor
pull-request
Mirrored from GitHub Pull Request
No Label
🐛 Bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#5575
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @mweinbergh on GitHub (Jan 23, 2026).
Describe the Bug
I have set up a webhook that is triggered by all page_* events. When I restore a page from the Recycle Bin, the page_restore event does not trigger the webhook. The page_restore event is logged in the audit log.
Steps to Reproduce
Expected Behaviour
Calling the webhook URL
Screenshots or Additional Context
No response
Browser Details
No response
Exact BookStack Version
v25.07.1
@ssddanbrown commented on GitHub (Jan 24, 2026):
Hi @mweinbergh,
The
page_restoreevent is for when a page is restored from a page revision.You'd instead want to listen to the
recycle_bin_restorefor recycle-bin-based restore events.@mweinbergh commented on GitHub (Jan 26, 2026):
Hi Dan,
that's not quite what I'm observing.
When I restore a revision, the page_restore event is triggered, followed by the revision_restore event.
When I restore a page from the recycle bin, only the recycle_bin_restore event is triggered. However, this does not contain any information about which page was restored (“related_item”). For all other page_* events, I get the affected page via “related_item”. I need this information to update our embeddings database.
I have attached a log from a test webhook that shows the events with the request parameters. For the test, I activated all page_*, recycle_bin_restore, and revision_restore events in the webhook settings.
bookstack_webhook_test.log
And these are the events from the audit log:
2026-01-26 07:51:30 | page_update | page | 436 | page1
2026-01-26 07:52:32 | page_restore | page | 436 | page1
2026-01-26 07:52:32 | revision_restore | None | None | Revision #6 (ID: 16232) for page ID 436
2026-01-26 07:53:13 | page_delete | page | 436 | page1
2026-01-26 07:54:03 | recycle_bin_restore | None | None | Deletion (150) for page (436) page1
@ssddanbrown commented on GitHub (Jan 29, 2026):
Thanks for the extra information @mweinbergh.
It looks like the
related_itemdetail is not being added to the webhook due to the deletion model extending the wrong model class (should be the BookStack specific model class).I could update this issue to focus on fixing that, so deletion data will be emitted on the restore event.
That said, I'm not sure that would provide what you desire. That data would contain which item was deleted, but if a parent chapter/book is restored, then it won't directly reference the the child page, or be emitted for each child page for the deleted item. You'd have to perform additional steps to consider that.
@mweinbergh commented on GitHub (Feb 2, 2026):
Hi Dan,
thank you for looking into this and for the possible fix. Implementing it would help me.
You're right that I would need to do some follow-up work in the case of restored shelves/books. But that's no big deal.
Cheers, Michael