Commit Graph
20 Commits
Author SHA1 Message Date
richjohnrambo 9f30995787 fix: move group push work off topic loop 2026-09-30 10:01:59 +08:00
richjohnrambo 6b8ed4a2cc perf: batch group unread fanout 2026-09-27 23:10:28 +08:00
richjohnrambo f952249dc3 feat: cache topic and subscription reads 2026-09-24 14:46:00 +08:00
richjohnrambo e37b52c3c0 feat: complete shared database tenant sharding 2026-09-23 02:19:07 +08:00
Austin 753a04ed12 fix: broadcast offline presence as soon as the last session drops
Logout left contacts seeing the user online until the me topic idle timeout
fired presUsersOfInterest(off), and even that frame was silently dropped
for p2p routes by handlePresence's xoriginal check. MarkUserOffline now
returns the remaining session count and cleanUp notifies users of interest
immediately once it hits zero; p2p presence is delivered straight to the
contact's me topic, mirroring presSingleUserOffline. Zentao #22.
2026-09-18 17:42:18 +08:00
richjohnrambo 816be46e03 fix: fan out unread presence to online sessions 2026-09-17 10:24:39 +08:00
richjohnrambo 139681fadb feat: shard group messages by month 2026-09-15 23:53:51 +08:00
Austin 5dd0a42002 fix: harden message seq allocation against stale redis replicas
- 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
2026-09-15 12:41:38 +08:00
richjohnrambo 9ec5da5b02 fix: persist login sessions for workbench auth 2026-09-15 10:23:47 +08:00
richjohnrambo 79babdb6aa fix: scope realtime fanout dedup per node 2026-09-14 20:15:22 +08:00
richjohnrambo a9afc6ff6a fix: align group management APIs 2026-09-13 16:03:55 +08:00
richjohnrambo 926b4bbd81 fix im forwarding and message list regressions 2026-09-11 09:00:38 +08:00
richjohnrambo 6b2f1e06e0 feat: implement precise token logout 2026-09-10 09:43:02 +08:00
richjohnrambo 0b3c0b1c78 fix: resolve P1 backend consistency issues 2026-09-08 16:23:21 +08:00
richjohnrambo 4ad6ca00b4 Prevent Redis message seq regression 2026-09-04 16:39:32 +08:00
richjohnrambo a0bd0b0649 Fix Kafka message seq idempotency 2026-09-03 13:21:26 +08:00
richjohnrambo 929f847003 Refactor Kafka publishing without DB outbox 2026-09-01 23:00:14 +08:00
richjohnrambo 4ea828fb09 fix: tolerate retried internal api nonce 2026-08-28 10:43:01 +08:00
richjohnrambo 5cc6eebc1a feat: add kafka admin integration 2026-08-28 00:05:54 +08:00
richjohnrambo f900a08a01 feat: add redis cache and fanout support 2026-08-25 20:54:03 +08:00