Webhook Event log - reduced TTL for successful webhooks and serialised message
- Dominant language
- PHP
- Stars
- 3.4k
- Forks
- 1.2k
- Avg merge
- 3d 55m
- Merged PRs (30d)
- 436
Description
### User story
For a larger stores with many webhook executions, the webhook event log table can easily grow to more than 30GB.
Proposal:
- Reduce TTL for successful webhook executions (e.g. to 7 days)
- Remove serialised message after successful sent
- Make TTL (successful and unsuccessful) configurable via shopware.yaml
### Acceptance criteria
- Lower TTL for successful execution
- Empty/Null value for serialised message after sent
- Configurable TTL
### Definition of Done
- [ ] Fulfills all acceptance criteria defined during discovery.
- [ ] Integration/E2E testing in staging is done.
- [ ] All integration/E2E/unit tests passing; all critical or high-priority bugs are resolved.
- [ ] Fulfills compliance, performance, security, and cloud-readiness needs.
- [ ] Observability—includes monitoring, alerting, and logging; incident response handbooks updated.
- [ ] Documentation—developer docs are written or updated, including information on how the feature or change is adopted and tested. If new functionality, end user documentation is written or updated.
- [ ] (conditional) All new API endpoints have a defined API schema.
- [ ] (conditional) If the change affects the Storefront, it has been tested in the latest three versions of Firefox, Chrome, Edge, IE11, and Safari, as well as the different viewports and devices (Desktop / Tablet / Mobile).
- [ ] (conditional) If the change affects the Administration, it has been tested in current versions of Firefox, Chrome, and Edge.
- [ ] (conditional) Functionality that includes new API routes are callable via the Store-API (/store-api/[version]/).
- [ ] (conditional) If a new Admin module is created, the access control layer is provided, and permissions can be managed via the Users & Permissions module.
- [ ] (conditional) If a new UI input field or interactive element is introduced, the ACL wrapper is added.
- [ ] (conditional) Performance testing done if the change has a high performance impact, such as affecting scalability, load balancing, or query optimization.
Contributor guide
Research direction
Start by locating the webhook event log persistence and the shopware.yaml configuration entry point. Trace successful and unsuccessful webhook cleanup, then review the integration, E2E, and unit tests. Done means successful entries use a shorter TTL, their serialized message is empty or null after sending, and both TTLs are configurable.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- php
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100