feat: jwt cache, redis health, help-ticket admin, and write rate limits
Cut Auth.js DB load with cached jwtVersion checks, surface Redis in /api/health and deploy warnings, add admin help-center ticket reply UI, rate-limit API tickets/reactions/referral claims, and revoke PATs on sign-out-everywhere. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
1 parent
3bb96eb6f3
commit
968ca15c27
23 files changed
+1344
-205
No files matched your search
@@ -1001,6 +1001,7 @@
|
||||
"writeableBoxes": "Writeable boxes",
|
||||
"photos": "Photos",
|
||||
"tickets": "Tickets",
|
||||
"helpTickets": "Help center tickets",
|
||||
"events": "Events",
|
||||
"polls": "Polls",
|
||||
"banners": "Banners",
|
||||
@@ -1523,6 +1524,41 @@
|
||||
"colDate": "Date",
|
||||
"meta": "by {user} · {count} msg · {category}"
|
||||
},
|
||||
"helpTickets": {
|
||||
"title": "Help center tickets",
|
||||
"subtitle": "Player tickets from /help/tickets",
|
||||
"noTickets": "No open help center tickets",
|
||||
"searchPlaceholder": "Search title, user or ID…",
|
||||
"presetOpen": "Open",
|
||||
"presetAll": "All",
|
||||
"statusOpen": "Open",
|
||||
"statusClosed": "Closed",
|
||||
"colTicket": "Ticket",
|
||||
"colStatus": "Status",
|
||||
"colUser": "User",
|
||||
"colCreated": "Created",
|
||||
"colUpdated": "Updated",
|
||||
"meta": "by {user} · {count} replies",
|
||||
"backToList": "Back to list",
|
||||
"threadTitle": "Conversation",
|
||||
"staffBadge": "Staff",
|
||||
"replyPlaceholder": "Reply as staff…",
|
||||
"replySubmit": "Send reply",
|
||||
"replyHint": "Ctrl+Enter to send.",
|
||||
"closeSubmit": "Close ticket",
|
||||
"reopenSubmit": "Reopen ticket",
|
||||
"closedHint": "This ticket is closed.",
|
||||
"actionsTitle": "Actions",
|
||||
"requesterTitle": "Requester",
|
||||
"detailsTitle": "Details",
|
||||
"rankLabel": "Rank {rank}",
|
||||
"messageCountLabel": "Messages",
|
||||
"success": {
|
||||
"replied": "Reply sent.",
|
||||
"closed": "Ticket closed.",
|
||||
"reopened": "Ticket reopened."
|
||||
}
|
||||
},
|
||||
"cfh": {
|
||||
"title": "Call for Help",
|
||||
"subtitle": "In-game CFH / support tickets",
|
||||
@@ -2393,6 +2429,7 @@
|
||||
"eventTypes": "Event types",
|
||||
"polls": "Polls",
|
||||
"tickets": "Tickets",
|
||||
"helpTickets": "Help center tickets",
|
||||
"templates": "Templates",
|
||||
"directory": "Directory",
|
||||
"multiAccounts": "Multi-accounts",
|
||||
|
||||
@@ -953,6 +953,7 @@
|
||||
"writeableBoxes": "Box modificabili",
|
||||
"photos": "Foto",
|
||||
"tickets": "Ticket",
|
||||
"helpTickets": "Ticket centro assistenza",
|
||||
"events": "Eventi",
|
||||
"polls": "Sondaggi",
|
||||
"banners": "Banner",
|
||||
@@ -1479,6 +1480,41 @@
|
||||
"colDate": "Data",
|
||||
"meta": "di {user} · {count} msg · {category}"
|
||||
},
|
||||
"helpTickets": {
|
||||
"title": "Ticket centro assistenza",
|
||||
"subtitle": "Ticket dei giocatori da /help/tickets",
|
||||
"noTickets": "Nessun ticket aperto nel centro assistenza",
|
||||
"searchPlaceholder": "Cerca titolo, utente o ID…",
|
||||
"presetOpen": "Aperti",
|
||||
"presetAll": "Tutti",
|
||||
"statusOpen": "Aperti",
|
||||
"statusClosed": "Chiusi",
|
||||
"colTicket": "Ticket",
|
||||
"colStatus": "Stato",
|
||||
"colUser": "Utente",
|
||||
"colCreated": "Creato",
|
||||
"colUpdated": "Aggiornato",
|
||||
"meta": "di {user} · {count} risposte",
|
||||
"backToList": "Torna all'elenco",
|
||||
"threadTitle": "Conversazione",
|
||||
"staffBadge": "Staff",
|
||||
"replyPlaceholder": "Rispondi come staff…",
|
||||
"replySubmit": "Invia risposta",
|
||||
"replyHint": "Ctrl+Invio per inviare.",
|
||||
"closeSubmit": "Chiudi ticket",
|
||||
"reopenSubmit": "Riapri ticket",
|
||||
"closedHint": "Questo ticket è chiuso.",
|
||||
"actionsTitle": "Azioni",
|
||||
"requesterTitle": "Richiedente",
|
||||
"detailsTitle": "Dettagli",
|
||||
"rankLabel": "Rank {rank}",
|
||||
"messageCountLabel": "Messaggi",
|
||||
"success": {
|
||||
"replied": "Risposta inviata.",
|
||||
"closed": "Ticket chiuso.",
|
||||
"reopened": "Ticket riaperto."
|
||||
}
|
||||
},
|
||||
"cfh": {
|
||||
"title": "Call for Help",
|
||||
"subtitle": "Ticket CFH in-game",
|
||||
@@ -2628,6 +2664,7 @@
|
||||
"eventTypes": "Tipi evento",
|
||||
"polls": "Sondaggi",
|
||||
"tickets": "Ticket",
|
||||
"helpTickets": "Ticket centro assistenza",
|
||||
"templates": "Template",
|
||||
"directory": "Directory",
|
||||
"multiAccounts": "Multi-account",
|
||||
|
||||
@@ -998,6 +998,7 @@
|
||||
"writeableBoxes": "Bewerkbare boxes",
|
||||
"photos": "Foto's",
|
||||
"tickets": "Tickets",
|
||||
"helpTickets": "Helpcentrum-tickets",
|
||||
"events": "Events",
|
||||
"polls": "Polls",
|
||||
"banners": "Banners",
|
||||
@@ -2729,6 +2730,7 @@
|
||||
"eventTypes": "Evenementtypen",
|
||||
"polls": "Polls",
|
||||
"tickets": "Tickets",
|
||||
"helpTickets": "Helpcentrum-tickets",
|
||||
"templates": "Sjablonen",
|
||||
"directory": "Adresboek",
|
||||
"multiAccounts": "Multi-accounts",
|
||||
@@ -2815,6 +2817,41 @@
|
||||
"colDate": "Datum",
|
||||
"meta": "door {user} · {count} berichten · {category}"
|
||||
},
|
||||
"helpTickets": {
|
||||
"title": "Helpcentrum-tickets",
|
||||
"subtitle": "Spelertickets van /help/tickets",
|
||||
"noTickets": "Geen open helpcentrum-tickets",
|
||||
"searchPlaceholder": "Zoek op titel, gebruiker of ID…",
|
||||
"presetOpen": "Open",
|
||||
"presetAll": "Alle",
|
||||
"statusOpen": "Open",
|
||||
"statusClosed": "Gesloten",
|
||||
"colTicket": "Ticket",
|
||||
"colStatus": "Status",
|
||||
"colUser": "Gebruiker",
|
||||
"colCreated": "Aangemaakt",
|
||||
"colUpdated": "Bijgewerkt",
|
||||
"meta": "door {user} · {count} antwoorden",
|
||||
"backToList": "Terug naar lijst",
|
||||
"threadTitle": "Gesprek",
|
||||
"staffBadge": "Staff",
|
||||
"replyPlaceholder": "Antwoord als staff…",
|
||||
"replySubmit": "Antwoord versturen",
|
||||
"replyHint": "Ctrl+Enter om te versturen.",
|
||||
"closeSubmit": "Ticket sluiten",
|
||||
"reopenSubmit": "Ticket heropenen",
|
||||
"closedHint": "Dit ticket is gesloten.",
|
||||
"actionsTitle": "Acties",
|
||||
"requesterTitle": "Aanvrager",
|
||||
"detailsTitle": "Details",
|
||||
"rankLabel": "Rank {rank}",
|
||||
"messageCountLabel": "Berichten",
|
||||
"success": {
|
||||
"replied": "Antwoord verzonden.",
|
||||
"closed": "Ticket gesloten.",
|
||||
"reopened": "Ticket heropend."
|
||||
}
|
||||
},
|
||||
"cfh": {
|
||||
"title": "Call for Help",
|
||||
"subtitle": "In-game CFH / ondersteuningstickets",
|
||||
|
||||
Reference in new issue
Block a user