1726 Commits

Author SHA1 Message Date
dsx137
7c242b8491
refactor(group): optimize group notification and cache handling (#3704)
* refactor(group): optimize group notification and cache handling

- Improve notification sender with bulk operations and fallback logic
- Enhance group cache with new methods for member counts and version handling
- Refactor group controller with better cache integration
- Add more robust error handling and logging

fix(group): optimize group cache implementation

This commit refactors the GroupCacheRedis implementation to improve code organization and maintainability. The changes include:

- Added proper import organization and removed unused imports
- Implemented batchGetCache2 function calls for efficient data retrieval
- Added comprehensive cache key management functions
- Improved version tracking for group members and requests
- Enhanced error handling and logging
- Added batch operations for better performance
- Refactored complex functions into smaller, more manageable pieces

The changes focus on improving the overall structure and performance of the group cache system while maintaining backward compatibility.

refactor(group): improve notification error handling and add admin context

- Convert notification methods to return errors for better error propagation
- Add admin context checking for bulk notifications
- Enhance group info retrieval with proper error handling
- Improve notification sender with fallback user information

fix(group): handle nil group member map in notification

Add nil check for groupMemberMap[groupInfo.GroupID] before accessing to prevent nil pointer panic. Skip iteration if map is nil.

refactor(group): update group notification methods to use UserInfo struct

Renamed function parameter from groupMemberUserID string to changedUserInfo *sdkws.UserInfo
Updated function logic to use changedUserInfo.UserID instead of separate parameter
Refactored notification methods to use consistent UserInfo struct pattern
Added proper error handling for opUser retrieval
Updated function signatures and internal logic for GroupMemberInfoSetNotificationBulk

fix: batchGetGroupRoleLevelMemberIDs with BatchCache

fix: GetGroupMemberNums BatchCache

perf(group): optimize notification logic for group member operations

# Conflicts:
#	internal/rpc/group/group.go
#	pkg/common/storage/cache/redis/group.go

* fix: import
2026-06-04 12:05:40 +00:00
buvidk1234
1ac6a259dd
Modify conversation_id index options (#3722)
* Modify conversation_id index options

Removed the unique constraint from the conversation_id index.

* fix(msggateway): reset read deadline in pong handler to prevent Web client timeout

Root cause:
Due to browser API restrictions, Web (Wasm) clients cannot actively send standard WebSocket Ping frames. They rely entirely on server-initiated Pings (every 27s) and automatic browser Pong responses to maintain the connection. The `pongHandler` was empty and failed to reset the connection's read deadline upon receiving a Pong, causing the server's read loop to strictly time out at 30 seconds.

Solution:
Call `c.setReadDeadline()` inside the `pongHandler` to properly extend the connection's lifespan when a Pong frame is received.

---------

Co-authored-by: OpenIM-Gordon <1432970085@qq.com>
2026-06-04 12:03:52 +00:00
dsx137
8f913ca13b
refactor(ci): actions and dockerfile (#3732)
* feat(build): add unified server image build flow

Consolidate service image definitions into a single server build setup, and update CI workflows to use it.

* fix(ci): correct Docker image tag generation
2026-06-04 10:09:07 +00:00
wsy6543
9118b3a339
fix GetMaxSeqs (#3561) 2026-06-04 18:02:42 +08:00
Derek YU
fd61ea4b03
fix: remove duplicate conversation_id unique index (#3713)
Group conversations store one record per owner_user_id and conversation_id pair, so a global unique index on conversation_id breaks group conversation creation with duplicate key errors.
2026-06-04 16:12:55 +08:00
dsx137
6b3faaef1a
chore: update tools ver (#3730) 2026-05-28 08:48:32 +00:00
dsx137
d16a617ba8
feat: gomake upgrade (#3702) 2026-03-19 04:09:02 +00:00
icey-yu
942d155d2d
feat: update protocol support botPlatform (#3696) 2026-03-11 05:44:36 +00:00
chao
b7200c163c
feat: add error code for handled friend requests and improve error handling in friend operations (#3670)
* fix: performance issues with Kafka caused by encapsulating the MQ interface

* fix: admin token in standalone mode

* fix: full id version

* fix: resolve deadlock in cache eviction and improve GetBatch implementation

* refactor: replace LongConn with ClientConn interface and simplify message handling

* refactor: replace LongConn with ClientConn interface and simplify message handling

* fix: seq use $setOnInsert for min_seq in conversation update

* feat: add error code for handled friend requests and improve error handling in friend operations
2026-01-22 08:34:00 +00:00
神奇bug在哪里
579db3bd48
bugfix(conversation):removed unexpectedly called functions and itself to avoid out of index query. (#3668)
# Conflicts:
#	internal/rpc/conversation/conversation.go
#	pkg/common/storage/database/mgo/conversation.go
2026-01-21 10:10:29 +00:00
chao
a0e6d9aa69
fix: Mongo Malloc upsert overwrites min_seq initialization (#3657)
* fix: performance issues with Kafka caused by encapsulating the MQ interface

* fix: admin token in standalone mode

* fix: full id version

* fix: resolve deadlock in cache eviction and improve GetBatch implementation

* refactor: replace LongConn with ClientConn interface and simplify message handling

* refactor: replace LongConn with ClientConn interface and simplify message handling

* fix: seq use $setOnInsert for min_seq in conversation update
2026-01-15 06:24:17 +00:00
dsx137
fbca49d431
fix(group): set max_seq to 0 when join group (#3649) 2025-12-31 10:02:38 +00:00
dsx137
0a93fb1b6d
fix(group): move member count retrieval after member deletion for accurate updates (#3651) 2025-12-31 10:01:51 +00:00
chao
78b255396f
feat: replace LongConn with ClientConn interface and simplify message handling (#3643)
* fix: performance issues with Kafka caused by encapsulating the MQ interface

* fix: admin token in standalone mode

* fix: full id version

* fix: resolve deadlock in cache eviction and improve GetBatch implementation

* refactor: replace LongConn with ClientConn interface and simplify message handling

* refactor: replace LongConn with ClientConn interface and simplify message handling
2025-12-25 08:27:16 +00:00
ribin2333
6f33c0a515
fix: reset user conversation seq when rejoining group to resolve message recall issue (#3640)
* fix: reset user conversation seq when rejoining group to resolve message recall issue

* fix: refactor setMemberJoinSeq based on review feedback

* group: 入群个人上限重置为不受限值;退出个人上限固化;通知控制入群 minSeq
2025-12-23 06:37:32 +00:00
Gagan Singh
c97d63754b
Simplify iOS background push gating (#3611) (#3612) 2025-12-15 09:16:29 +00:00
chao
1b8a3b0b75
fix: resolve deadlock in cache eviction and improve GetBatch implementation and full id version (#3591)
* fix: performance issues with Kafka caused by encapsulating the MQ interface

* fix: admin token in standalone mode

* fix: full id version

* fix: resolve deadlock in cache eviction and improve GetBatch implementation
2025-12-12 08:24:39 +00:00
icey-yu
b8c4b459fa
merge: pre-release-v3.8.4 (#3623)
* merge: pre-release-v3.8.4

* merge: v3.8.4
2025-11-25 08:23:22 +00:00
Monet Lee
07badb162f
​Build: Implement rate limiting and circuit breaker for API and RPC services.​​ (#3572)
* feat: implement ratelimit and circuitbreaker in middleware.

* ​Build: Implement rate limiting and circuit breaker for API and RPC services.​​

* revert change.

* update ratelimiter and circuitbreaker config.

* update tools to openimsdk tools
2025-11-05 07:12:06 +00:00
Monet Lee
3a1c8df3b9
fix: solve msg wsHandler panic. (#3595) 2025-11-05 06:30:11 +00:00
Monet Lee
0e3879aad6
feat: implement DeleteConversations interface. (#3549)
* feat: implement DeleteConversations interface.

* remove unused comment.

* update logic and rename method.
2025-11-05 06:16:23 +00:00
Monet Lee
390d253cea
Fix: Resolved the issue of incorrect generation of conversationID (#3581) 2025-11-05 02:43:51 +00:00
Monet Lee
cbd29a71de
build: add sdk version log when registerClient (#3574) 2025-11-04 06:55:32 +00:00
Monet Lee
ea6b7eb525
build: improve publish docker image workflow. (#3552) 2025-11-04 06:54:43 +00:00
Monet Lee
b36f00f2ad
feat: add msgDBSave webhook when data save to DB. (#3578)
* feat: add msgDBSave webhook when data save to DB.

* update callback args condition.

* remove unused contents.
2025-11-04 04:18:06 +00:00
Monet Lee
7d6682ca4b
fix: update JSON field names to camelCase in conversation structs (#3609) 2025-10-31 06:39:16 +00:00
icey-yu
11358404f9
fix: db manager (#3600) 2025-10-23 07:56:09 +00:00
Monet Lee
277da378ea
fix: solve incorrect time.Unix and logger asyncwrite (#3584) 2025-10-07 01:53:30 +00:00
Monet Lee
bf0289075b
fix: switch kafka & etcd image namespace to bitnamilegacy (#3555) 2025-09-03 08:16:06 +00:00
Monet Lee
219fb04f03
build: comment admin services. (#3537) 2025-08-28 04:15:11 +00:00
Monet Lee
6856a864d0
feat: implement auth local cache. (#3533)
* feat: add auth local cache.

* feat: implement auth local cache.

* feat: improve auth localcache.
2025-08-28 03:26:02 +00:00
Monet Lee
349a8cd9af
fix: nil pointer when chatlog not found. (#3531) 2025-08-19 09:22:09 +00:00
Monet Lee
929c6704f3
fix: solve incorrect batchGetIncrGroupMember when group dismissed. (#3526) 2025-08-19 09:20:58 +00:00
icey-yu
68a735ba99
feat: enable redis aof-use-rdb-preamble && disable auto rdb (#3529) 2025-08-19 08:23:27 +00:00
OpenIM-Gordon
123abe9803
fix: fill in the most recent sendTime for a gap message to prevent the client from repeatedly retrieving the same message due to sendTime being 0. (#3522) 2025-08-14 06:16:50 +00:00
Monet Lee
34971c8b96
fix: optimize to lru local cache. (#3514)
* fix: optimize to lru  local cache.

* revert lock timing.
2025-08-14 02:19:11 +00:00
Monet Lee
d542df7000
fix: revert contentType in API msg (#3509) 2025-08-13 09:01:27 +00:00
chao
d817cb0ffd
fix: admin token in standalone mode (#3499)
* fix: performance issues with Kafka caused by encapsulating the MQ interface

* fix: admin token in standalone mode
2025-08-01 02:48:25 +00:00
xuzhijvn
c208c3789f
fix: searchMessage method has potential NPE bug (#3287) (#3289) 2025-07-29 08:16:30 +00:00
chao
2d4cf99744
fix: performance issues with Kafka caused by encapsulating the MQ interface (#3485) 2025-07-28 09:10:38 +00:00
OpenIM-Gordon
b44e56b151
docs: update readme of config file. (#3356) 2025-07-28 07:51:26 +00:00
github-actions[bot]
b19b81b10e
Update CHANGELOG for release v3.8.3-patch.6 (#3473)
Co-authored-by: FGadvancer <46924906+FGadvancer@users.noreply.github.com>
Co-authored-by: Monet Lee <monet_lee@163.com>
2025-07-28 07:33:05 +00:00
github-actions[bot]
80de08e8ed
Update CHANGELOG for release v3.8.3-patch.5 (#3405)
Co-authored-by: mo3et <34803812+mo3et@users.noreply.github.com>
Co-authored-by: Monet Lee <monet_lee@163.com>
2025-07-28 07:29:41 +00:00
Monet Lee
4c9fdf70db
feat: support mongo replicaset mode. (#3433)
* feat: support mongo replicaset mode.

* fix mongo config.
2025-07-28 06:22:40 +00:00
OpenIM-Gordon
d6cd0258a5
fix: correctly aggregate read seqs by conversation and user before DB update. (#3442)
* build: docker compose file add some comments.

* fix: correctly aggregate read seqs by conversation and user before DB update.
2025-07-28 04:11:38 +00:00
Monet Lee
becc999d63
fix: solve batch incorrect error in Find DocIDs (#3476) 2025-07-28 03:29:51 +00:00
OpenIM-Gordon
f9475bdd87
fix: added AtUserIDList to the @ message for API sending. (#3472) 2025-07-28 03:18:49 +00:00
github-actions[bot]
839d7d90ac
Update CHANGELOG for release v3.8.3-patch.4 (#3226)
Co-authored-by: mo3et <34803812+mo3et@users.noreply.github.com>
Co-authored-by: Monet Lee <monet_lee@163.com>
2025-07-28 03:13:35 +00:00
github-actions[bot]
359201a005
Update CHANGELOG for release v3.8.3-patch.3 (#3206)
Co-authored-by: withchao <48119764+withchao@users.noreply.github.com>
Co-authored-by: Monet Lee <monet_lee@163.com>
2025-07-28 03:10:42 +00:00
github-actions[bot]
865eaa719f
Update CHANGELOG for release v3.8.3-patch.2 (#3175)
Co-authored-by: icey-yu <119291641+icey-yu@users.noreply.github.com>
Co-authored-by: Monet Lee <monet_lee@163.com>
2025-07-28 03:07:59 +00:00