[Server] Let users fetch their own private chat history

Players lose their private conversations on reconnect or on another
device. Servatrice can already log private messages, but only
moderators can read the logs.

Add Command_GetPrivateChatHistory / Response_PrivateChatHistory so a
registered user can page through their own logged conversation with one
other user. Operators opt in with logging/allow_user_chat_history
(default off, and log_user_msg_chat must be on). The caller is matched
by account id so reused guest or deleted-account names can't read older
messages; only time, sender name and text are returned. Pages hold
1..200 messages and never split a second, since log_time has 1-second
resolution.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
SwitchOCE 2026-10-11 23:09:49 +11:00 • committed by Lukas Brübach
parent 9793a0df4a
commit d9852e13b4
11 changed files with 189 additions and 0 deletions

View file

@ -534,6 +534,10 @@ log_user_msg_chat=false
; Log user messages coming from other servers in the network
log_user_msg_isl=false
; Allow registered users to read their retained private messages; requires log_user_msg_chat=true
; Privacy: exposes previously logged conversations to their participants on any device
allow_user_chat_history=false
[audit]
; Servatrice can record certain actions being performed in the database for server operators to better understand