Shop Actions, Inventory Events & ClickHouse
🚀 Features
- Shop Actions - add a new module component type for shop-driven automation. A purchase can now grant a role, send a message, execute a command, give an item, or run custom logic.
- Inventory change events -
player-inventory-changedevents now fire when items are added, removed, or changed, so hooks can react right away instead of relying on cron polling. - ClickHouse event storage - events are now dual-written to ClickHouse alongside PostgreSQL, giving larger deployments a better base for faster event queries.
- Role member views - view players and users assigned to a role directly from the frontend.
- CSMM shop import support - import CSMM shop data with better compatibility.
- Tracker and module links - navigate to related tools more easily from the frontend.
🐛 Fixes
- Prevent midnight database connection pool exhaustion
- Improve cronjob reliability under high load
- Fix CSMM shop imports that stored item quality as zero
- Return proper 400 errors for invalid shop listing imports
- Return a clear error when referencing non-existent records
- Show the full version string in the frontend instead of
0.0.0 - Restore the shop item quantity tooltip on hover