Zentao #24/#25: commit 50f8581 added friend_request_verification and group_invite_verification to userPrivacyByUID, but existing databases lack those columns, so GetPrivacy failed with Error 1054 and every cross-user profile/qrcodes/friend-request endpoint returned 500.
Add user_privacy_schema.go which, under GET_LOCK, checks information_schema and ALTERs in any missing privacy columns, wired into the root adapter Open() and per-tenant TenantAdapterFor so tenant-scoped databases are provisioned too.
- use sentinel failover client for group message runtime when
sentinel_master_name/sentinel_addrs are configured, so seq counter
reads never hit a stale replica after failover
- re-seed missing redis seq counter from DB topic seqid instead of
trusting the caller in-memory baseline
- on unique-key conflict during async persist, re-allocate seq from DB
latest, bump redis counter and fix the idempotency record so resends
with the same client mid return the final seq
- add uk(topic, seqid) unique keys for im_messages in tenant DDL