Commit Graph

751 Commits

Author SHA1 Message Date
icey-yu 1a67f199dc merge: v3.8.4 2025-11-25 16:50:57 +08:00
icey-yu 6f1cb995e9 merge: main 2025-11-25 16:49:32 +08:00
icey-yu e14b07ac91 Merge remote-tracking branch 'upstream/main' into merge-main 2025-11-25 16:31:40 +08: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 cbd29a71de build: add sdk version log when registerClient (#3574) 2025-11-04 06:55:32 +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
withchao f3f38ac795 fix: full id version
(cherry picked from commit 9a1d2a85cd)
2025-10-15 10:13:46 +08: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
Monet Lee d542df7000 fix: revert contentType in API msg (#3509) 2025-08-13 09:01:27 +00:00
chao 9551ae4f74 fix: admin token in standalone mode (#3499)
* fix: performance issues with Kafka caused by encapsulating the MQ interface

* fix: admin token in standalone mode

(cherry picked from commit d817cb0ffd)
2025-08-01 10:57:39 +08: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
withchao 08c7461ade Merge remote-tracking branch 'origin/main' into pre-release-v3.8.4
# Conflicts:
#	.env
#	.github/workflows/docker-build-and-release-services-images.yml
#	.github/workflows/merge-from-milestone.yml
#	.github/workflows/update-version-file-on-release.yml
#	README.md
#	README_zh_CN.md
#	cmd/main.go
#	config/discovery.yml
#	config/notification.yml
#	config/openim-api.yml
#	config/openim-msggateway.yml
#	config/openim-msgtransfer.yml
#	config/openim-push.yml
#	config/openim-rpc-auth.yml
#	config/openim-rpc-conversation.yml
#	config/openim-rpc-friend.yml
#	config/openim-rpc-group.yml
#	config/openim-rpc-msg.yml
#	config/openim-rpc-third.yml
#	config/openim-rpc-user.yml
#	config/share.yml
#	config/webhooks.yml
#	deployments/templates/config.yaml
#	docker-compose.yml
#	go.mod
#	go.sum
#	internal/api/init.go
#	internal/api/jssdk/tools.go
#	internal/api/msg.go
#	internal/api/prometheus_discovery.go
#	internal/api/router.go
#	internal/msggateway/init.go
#	internal/msggateway/ws_server.go
#	internal/msgtransfer/init.go
#	internal/msgtransfer/online_history_msg_handler.go
#	internal/msgtransfer/online_msg_to_mongo_handler.go
#	internal/push/push.go
#	internal/rpc/auth/auth.go
#	internal/rpc/conversation/conversation.go
#	internal/rpc/group/group.go
#	internal/rpc/msg/callback.go
#	internal/rpc/msg/server.go
#	internal/rpc/relation/friend.go
#	internal/rpc/relation/notification.go
#	internal/rpc/third/third.go
#	internal/rpc/user/user.go
#	internal/tools/cron/cron_task.go
#	magefile.go
#	pkg/common/cmd/api.go
#	pkg/common/cmd/msg_transfer.go
#	pkg/common/config/config.go
#	pkg/common/discovery/discoveryregister.go
#	pkg/common/prommetrics/prommetrics.go
#	pkg/common/startrpc/start.go
#	pkg/common/storage/database/mgo/cache.go
#	pkg/common/storage/database/mgo/msg_test.go
#	pkg/rpcli/auth.go
#	pkg/rpcli/tool.go
#	pkg/rpcli/user.go
#	test/stress-test-v2/main.go
#	test/stress-test/main.go
#	tools/seq/internal/seq.go
#	version/version
2025-07-29 17:29:08 +08:00
chao 2d4cf99744 fix: performance issues with Kafka caused by encapsulating the MQ interface (#3485) 2025-07-28 09:10:38 +00:00
withchao eebff88a29 fix: performance issues with Kafka caused by encapsulating the MQ interface 2025-07-28 16:57:58 +08: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
OpenIM-Robot b1837434df feat: set configs (#3183) (#3243)
Co-authored-by: icey-yu <119291641+icey-yu@users.noreply.github.com>
2025-07-28 11:37:39 +08:00
OpenIM-Gordon f9475bdd87 fix: added AtUserIDList to the @ message for API sending. (#3472) 2025-07-28 03:18:49 +00:00
Monet Lee 097e033347 fix: fix incorrect kicked logic. (#3480)
* fix: fix incorrect ws check logic.

* optimize checkSameToken logic.
2025-07-28 02:57:44 +00:00
Monet Lee 5e813ef079 fix: solve createTime not set in setConversation and Create Conversation. (#3447) 2025-07-08 08:33:39 +00:00
Monet Lee bd56bd23b8 fix: update log level in crontask dist look. (#3440) 2025-07-08 08:33:25 +00:00
icey-yu a5ac7f2a81 feat: add nickname for adminUser (#3435)
* feat: add nickname for adminUser

* feat: add nickname for adminUser

* feat: add nickname for adminUser
2025-06-25 03:33:19 +00:00
chao 6912ad6f33 feat: add api logger (#3427)
* pb

* fix: Modifying other fields while setting IsPrivateChat does not take effect

* fix: quote message error revoke

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* upgrading pkg tools

* fix

* fix

* optimize log output

* feat: support GetLastMessage

* feat: support GetLastMessage

* feat: s3 switch

* feat: s3 switch

* fix: GetUsersOnline

* feat: SendBusinessNotification supported configuration parameters

* feat: SendBusinessNotification supported configuration parameters

* feat: SendBusinessNotification supported configuration parameters

* feat: seq conversion failed without exiting

* fix: DeleteDoc crash

* fix: fill send time

* fix: fill send time

* fix: crash caused by withdrawing messages from users who have left the group

* fix: user msg timestamp

* seq read config

* seq read config

* fix: the source message of the reference is withdrawn, and the referenced message is deleted

* feat: optimize the default notification.yml

* fix: shouldPushOffline

* fix: the sorting is wrong after canceling the administrator in group settings

* feat: Sending messages supports returning fields modified by webhook

* feat: Sending messages supports returning fields modified by webhook

* feat: Sending messages supports returning fields modified by webhook

* fix: oss specifies content-type when uploading

* fix: the version number contains a line break

* fix: the version number contains a line break

* feat: GetConversationsHasReadAndMaxSeq support pinned

* feat: GetConversationsHasReadAndMaxSeq support pinned

* feat: GetConversationsHasReadAndMaxSeq support pinned

* fix: transferring the group owner to a muted member, incremental version error

* feat: unified conversion code

* feat: update gomake

* fix: in standalone mode, the user online status is wrong

* fix: add permission check

* fix: add permission check

* fix: add rpc interface permission check

* fix: CreateGroupChatConversations

* feat: optimize friend and group applications

* feat: optimize friend and group applications

* feat: optimize friend and group applications

* feat: optimize friend and group applications

* fix: optimize friend and group applications

* feat: add api logger
2025-06-19 03:51:35 +00:00
Monet Lee 53bf8acc21 fix: solve webhook incorrect attentionID references. (#3411) 2025-06-18 06:32:29 +00:00
icey-yu 545125884e fix: import friends send notification (#3420) 2025-06-16 02:46:07 +00:00
icey-yu d156e1e519 fix: prometheus discovery (#3408) 2025-06-11 08:29:44 +00:00
Monet Lee 75367545ea feat: support distributed lock in crontask. (#3401)
* feat: support distributed lock in crontask.

* remove space.

* remove comment.

* remove log.

* Update logic.

* Update contents.
2025-06-06 06:25:58 +00:00
Monet Lee 04ee509b68 fix: solve incorrect when sendMsg webhook callback after. (#3409)
* fix: solve incorrect when sendMsg webhook callback after.

* remove print.
2025-06-06 03:29:45 +00:00
chao 8846cbbd31 feat: optimize friend and group applications (#3384)
* pb

* fix: Modifying other fields while setting IsPrivateChat does not take effect

* fix: quote message error revoke

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* upgrading pkg tools

* fix

* fix

* optimize log output

* feat: support GetLastMessage

* feat: support GetLastMessage

* feat: s3 switch

* feat: s3 switch

* fix: GetUsersOnline

* feat: SendBusinessNotification supported configuration parameters

* feat: SendBusinessNotification supported configuration parameters

* feat: SendBusinessNotification supported configuration parameters

* feat: seq conversion failed without exiting

* fix: DeleteDoc crash

* fix: fill send time

* fix: fill send time

* fix: crash caused by withdrawing messages from users who have left the group

* fix: user msg timestamp

* seq read config

* seq read config

* fix: the source message of the reference is withdrawn, and the referenced message is deleted

* feat: optimize the default notification.yml

* fix: shouldPushOffline

* fix: the sorting is wrong after canceling the administrator in group settings

* feat: Sending messages supports returning fields modified by webhook

* feat: Sending messages supports returning fields modified by webhook

* feat: Sending messages supports returning fields modified by webhook

* fix: oss specifies content-type when uploading

* fix: the version number contains a line break

* fix: the version number contains a line break

* feat: GetConversationsHasReadAndMaxSeq support pinned

* feat: GetConversationsHasReadAndMaxSeq support pinned

* feat: GetConversationsHasReadAndMaxSeq support pinned

* fix: transferring the group owner to a muted member, incremental version error

* feat: unified conversion code

* feat: update gomake

* fix: in standalone mode, the user online status is wrong

* fix: add permission check

* fix: add permission check

* fix: add rpc interface permission check

* fix: CreateGroupChatConversations

* feat: optimize friend and group applications

* feat: optimize friend and group applications

* feat: optimize friend and group applications

* feat: optimize friend and group applications

(cherry picked from commit 8e61f30e9c)

# Conflicts:
#	go.mod
#	go.sum
2025-05-26 10:21:36 +08:00
chao 8e61f30e9c feat: optimize friend and group applications (#3384)
* pb

* fix: Modifying other fields while setting IsPrivateChat does not take effect

* fix: quote message error revoke

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* upgrading pkg tools

* fix

* fix

* optimize log output

* feat: support GetLastMessage

* feat: support GetLastMessage

* feat: s3 switch

* feat: s3 switch

* fix: GetUsersOnline

* feat: SendBusinessNotification supported configuration parameters

* feat: SendBusinessNotification supported configuration parameters

* feat: SendBusinessNotification supported configuration parameters

* feat: seq conversion failed without exiting

* fix: DeleteDoc crash

* fix: fill send time

* fix: fill send time

* fix: crash caused by withdrawing messages from users who have left the group

* fix: user msg timestamp

* seq read config

* seq read config

* fix: the source message of the reference is withdrawn, and the referenced message is deleted

* feat: optimize the default notification.yml

* fix: shouldPushOffline

* fix: the sorting is wrong after canceling the administrator in group settings

* feat: Sending messages supports returning fields modified by webhook

* feat: Sending messages supports returning fields modified by webhook

* feat: Sending messages supports returning fields modified by webhook

* fix: oss specifies content-type when uploading

* fix: the version number contains a line break

* fix: the version number contains a line break

* feat: GetConversationsHasReadAndMaxSeq support pinned

* feat: GetConversationsHasReadAndMaxSeq support pinned

* feat: GetConversationsHasReadAndMaxSeq support pinned

* fix: transferring the group owner to a muted member, incremental version error

* feat: unified conversion code

* feat: update gomake

* fix: in standalone mode, the user online status is wrong

* fix: add permission check

* fix: add permission check

* fix: add rpc interface permission check

* fix: CreateGroupChatConversations

* feat: optimize friend and group applications

* feat: optimize friend and group applications

* feat: optimize friend and group applications

* feat: optimize friend and group applications
2025-05-26 02:06:35 +00:00
withchao 4bb12b3b40 fix: CreateGroupChatConversations
(cherry picked from commit cb931b7434)
2025-05-22 17:21:22 +08:00
chao 4d3ec5367f fix: add rpc interface permission check (#3377)
* pb

* fix: Modifying other fields while setting IsPrivateChat does not take effect

* fix: quote message error revoke

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* upgrading pkg tools

* fix

* fix

* optimize log output

* feat: support GetLastMessage

* feat: support GetLastMessage

* feat: s3 switch

* feat: s3 switch

* fix: GetUsersOnline

* feat: SendBusinessNotification supported configuration parameters

* feat: SendBusinessNotification supported configuration parameters

* feat: SendBusinessNotification supported configuration parameters

* feat: seq conversion failed without exiting

* fix: DeleteDoc crash

* fix: fill send time

* fix: fill send time

* fix: crash caused by withdrawing messages from users who have left the group

* fix: user msg timestamp

* seq read config

* seq read config

* fix: the source message of the reference is withdrawn, and the referenced message is deleted

* feat: optimize the default notification.yml

* fix: shouldPushOffline

* fix: the sorting is wrong after canceling the administrator in group settings

* feat: Sending messages supports returning fields modified by webhook

* feat: Sending messages supports returning fields modified by webhook

* feat: Sending messages supports returning fields modified by webhook

* fix: oss specifies content-type when uploading

* fix: the version number contains a line break

* fix: the version number contains a line break

* feat: GetConversationsHasReadAndMaxSeq support pinned

* feat: GetConversationsHasReadAndMaxSeq support pinned

* feat: GetConversationsHasReadAndMaxSeq support pinned

* fix: transferring the group owner to a muted member, incremental version error

* feat: unified conversion code

* feat: update gomake

* fix: in standalone mode, the user online status is wrong

* fix: add permission check

* fix: add permission check

* fix: add rpc interface permission check

* fix: CreateGroupChatConversations
2025-05-22 09:14:30 +00:00
withchao 66a5208279 fix: add rpc interface permission check
(cherry picked from commit 8483d77081)
2025-05-22 16:00:38 +08:00
Monet Lee 6ae00dfab9 fix: solve updateUserInfoEx null pointer. (#3326) 2025-05-22 06:27:30 +00:00
icey-yu 4d69194f62 fix: send simple msg (#3362)
* fix: content in sendSimpleMessage

* fix: send simple msg

* fix: send simple msg
2025-05-22 06:23:43 +00:00
Monet Lee 8b23d4f5bb fix: solve user not found when notification invitedUserID is zero in InviteUserToGroup. (#3375) 2025-05-22 06:21:44 +00:00
OpenIM-Gordon 388a945cc5 feat: add a function for business info change to update related conve… (#3225)
* feat: add a function for business info change to update related conversation's ex info.

* feat: add a function for business info change to update related conversation's ex info.

* feat: add a function for business info change to update related conversation's ex info.

* feat: add a function for business info change to update related conversation's ex info.

(cherry picked from commit 11044eac58)
2025-05-20 16:10:33 +08:00
withchao 4c16294f67 feat: Implement webhook in createConversation (#3228)
* update test method args.

* feat: implement createConversations webhook function.

* improve webhookCreateConversations Implement

* implement createconversation webhook.

* remove unused paramaters.

(cherry picked from commit b969827b9a)
2025-05-20 16:08:35 +08:00
Monet Lee 1ef55cda05 feat: Implement webhook in createConversation (#3228)
* update test method args.

* feat: implement createConversations webhook function.

* improve webhookCreateConversations Implement

* implement createconversation webhook.

* remove unused paramaters.

(cherry picked from commit b969827b9a)
2025-05-20 16:06:44 +08:00
chao 505ce8aad1 feat: add rpc interface permission check (#3366)
* pb

* fix: Modifying other fields while setting IsPrivateChat does not take effect

* fix: quote message error revoke

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* upgrading pkg tools

* fix

* fix

* optimize log output

* feat: support GetLastMessage

* feat: support GetLastMessage

* feat: s3 switch

* feat: s3 switch

* fix: GetUsersOnline

* feat: SendBusinessNotification supported configuration parameters

* feat: SendBusinessNotification supported configuration parameters

* feat: SendBusinessNotification supported configuration parameters

* feat: seq conversion failed without exiting

* fix: DeleteDoc crash

* fix: fill send time

* fix: fill send time

* fix: crash caused by withdrawing messages from users who have left the group

* fix: user msg timestamp

* seq read config

* seq read config

* fix: the source message of the reference is withdrawn, and the referenced message is deleted

* feat: optimize the default notification.yml

* fix: shouldPushOffline

* fix: the sorting is wrong after canceling the administrator in group settings

* feat: Sending messages supports returning fields modified by webhook

* feat: Sending messages supports returning fields modified by webhook

* feat: Sending messages supports returning fields modified by webhook

* fix: oss specifies content-type when uploading

* fix: the version number contains a line break

* fix: the version number contains a line break

* feat: GetConversationsHasReadAndMaxSeq support pinned

* feat: GetConversationsHasReadAndMaxSeq support pinned

* feat: GetConversationsHasReadAndMaxSeq support pinned

* fix: transferring the group owner to a muted member, incremental version error

* feat: unified conversion code

* feat: update gomake

* fix: in standalone mode, the user online status is wrong

* fix: add permission check

* fix: add permission check

(cherry picked from commit 748d783d36)

# Conflicts:
#	internal/rpc/conversation/conversation.go
#	internal/rpc/group/cache.go
#	internal/rpc/group/statistics.go
#	internal/rpc/msg/send.go
2025-05-20 16:04:18 +08:00
chao 748d783d36 feat: add rpc interface permission check (#3366)
* pb

* fix: Modifying other fields while setting IsPrivateChat does not take effect

* fix: quote message error revoke

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* upgrading pkg tools

* fix

* fix

* optimize log output

* feat: support GetLastMessage

* feat: support GetLastMessage

* feat: s3 switch

* feat: s3 switch

* fix: GetUsersOnline

* feat: SendBusinessNotification supported configuration parameters

* feat: SendBusinessNotification supported configuration parameters

* feat: SendBusinessNotification supported configuration parameters

* feat: seq conversion failed without exiting

* fix: DeleteDoc crash

* fix: fill send time

* fix: fill send time

* fix: crash caused by withdrawing messages from users who have left the group

* fix: user msg timestamp

* seq read config

* seq read config

* fix: the source message of the reference is withdrawn, and the referenced message is deleted

* feat: optimize the default notification.yml

* fix: shouldPushOffline

* fix: the sorting is wrong after canceling the administrator in group settings

* feat: Sending messages supports returning fields modified by webhook

* feat: Sending messages supports returning fields modified by webhook

* feat: Sending messages supports returning fields modified by webhook

* fix: oss specifies content-type when uploading

* fix: the version number contains a line break

* fix: the version number contains a line break

* feat: GetConversationsHasReadAndMaxSeq support pinned

* feat: GetConversationsHasReadAndMaxSeq support pinned

* feat: GetConversationsHasReadAndMaxSeq support pinned

* fix: transferring the group owner to a muted member, incremental version error

* feat: unified conversion code

* feat: update gomake

* fix: in standalone mode, the user online status is wrong

* fix: add permission check

* fix: add permission check
2025-05-20 03:30:00 +00:00
chao 632a65303c fix: standalone mode cannot be used (#3360)
* pb

* fix: Modifying other fields while setting IsPrivateChat does not take effect

* fix: quote message error revoke

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* refactoring scheduled tasks

* upgrading pkg tools

* fix

* fix

* optimize log output

* feat: support GetLastMessage

* feat: support GetLastMessage

* feat: s3 switch

* feat: s3 switch

* fix: GetUsersOnline

* feat: SendBusinessNotification supported configuration parameters

* feat: SendBusinessNotification supported configuration parameters

* feat: SendBusinessNotification supported configuration parameters

* feat: seq conversion failed without exiting

* fix: DeleteDoc crash

* fix: fill send time

* fix: fill send time

* fix: crash caused by withdrawing messages from users who have left the group

* fix: user msg timestamp

* seq read config

* seq read config

* fix: the source message of the reference is withdrawn, and the referenced message is deleted

* feat: optimize the default notification.yml

* fix: shouldPushOffline

* fix: the sorting is wrong after canceling the administrator in group settings

* feat: Sending messages supports returning fields modified by webhook

* feat: Sending messages supports returning fields modified by webhook

* feat: Sending messages supports returning fields modified by webhook

* fix: oss specifies content-type when uploading

* fix: the version number contains a line break

* fix: the version number contains a line break

* feat: GetConversationsHasReadAndMaxSeq support pinned

* feat: GetConversationsHasReadAndMaxSeq support pinned

* feat: GetConversationsHasReadAndMaxSeq support pinned

* fix: transferring the group owner to a muted member, incremental version error

* feat: unified conversion code

* feat: update gomake

* fix: in standalone mode, the user online status is wrong
2025-05-16 09:30:38 +00:00
withchao d34bb219e0 fix: in standalone mode, the user online status is wrong 2025-05-16 17:07:38 +08:00
withchao e398152da2 fix: in standalone mode, the user online status is wrong 2025-05-16 16:26:24 +08:00
withchao 5fb6b3adb9 fix: merge conflicts 2025-05-16 14:42:16 +08:00
withchao 8e7457febb fix: merge conflicts 2025-05-16 14:31:50 +08:00