feat(ticket): record urges in thread, show urge count in admin, mail admins

- aksrt_ticket gains urge_count / last_urge_time (schema 3.1.0)
- cooldown moves from transient to an atomic conditional UPDATE
- urge inserts a system reply rendered as a centered notice (not quotable)
- admin list badge + info card row for urge count / last time
- new ticket_urge_admin mail event via aksrt_ticket_urged

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
kate522andClaude Fable 5 committed 2026-10-27 22:17:40 +08:00
1 parent ac3ed9c956
commit 5febdb35c8
14 files changed
+198 -25

No files matched your search

+1 -1
View File
@@ -362,7 +362,7 @@ final class TicketRestAdmin {
$quote_id = absint($request->get_param('quote_reply_id'));
if ($quote_id > 0) {
$quoted = $repo->find_reply($quote_id);
if ($quoted === null || (int) $quoted['ticket_id'] !== $id) {
if ($quoted === null || (int) $quoted['ticket_id'] !== $id || $quoted['author_type'] === 'system') {
$quote_id = 0;
}
}