Compare commits

..

773 Commits

Author SHA1 Message Date
kubbot 0001573af7 release: v3.0 release
Signed-off-by: kubbot <3293172751ysy@gmail.com>
2023-07-14 21:14:22 +08:00
skiffer-git 4ca0a4b861 fix bug: DelConvsersations->DelConversations 2023-07-14 21:07:30 +08:00
BanTanger 9d6acf41f9 fix: implement of GetUsersOnlineStatus (#567) (#569) 2023-07-14 12:54:24 +00:00
WangchuXiao 2f59be98d1 fix bug: multiple gateway kick user (#568)
* new feature: add batch send msg

* new feature: add batch send msg

* new feature: add batch send msg

* new feature: add batch send msg

* new feature: add batch send msg

* new feature: add batch send msg

* fix bug: multiple gateway kick user

* fix bug: multiple gateway kick user

* fix bug: multiple gateway kick user

* fix bug: multiple gateway kick user

* fix bug: multiple gateway kick user
2023-07-14 12:46:25 +00:00
Alan 0c23b3a443 debug (#566)
* message for your changes

Signed-off-by: ‘hanzhixiao’ <‘709674996@qq.com’>

* debug

Signed-off-by: ‘hanzhixiao’ <‘709674996@qq.com’>

* Delete start.bat

* Delete build.cmd

---------

Signed-off-by: ‘hanzhixiao’ <‘709674996@qq.com’>
Co-authored-by: ‘hanzhixiao’ <‘709674996@qq.com’>
2023-07-14 12:40:41 +00:00
Alan 16a851d951 message for your changes (#565)
Signed-off-by: ‘hanzhixiao’ <‘709674996@qq.com’>
Co-authored-by: ‘hanzhixiao’ <‘709674996@qq.com’>
2023-07-14 11:14:18 +00:00
pluto 887267e62d fix bug #545 (#555) 2023-07-14 10:59:28 +00:00
Xinwei Xiong e8229700e9 feat: Add light mode and dark mode.(#89) (#564)
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-14 10:56:54 +00:00
Alan 3aa8d2fa69 fix get groups bug (#562)
* fix get group bug

Signed-off-by: ‘hanzhixiao’ <‘709674996@qq.com’>

* bug

* api

Signed-off-by: ‘hanzhixiao’ <‘709674996@qq.com’>

* Delete start.bat

* Delete build.cmd

---------

Signed-off-by: ‘hanzhixiao’ <‘709674996@qq.com’>
Co-authored-by: ‘hanzhixiao’ <‘709674996@qq.com’>
2023-07-14 10:54:56 +00:00
Xinwei Xiong b85c5ad84e feat: Add light mode and dark mode.(#89) (#558)
* feat: Add light mode and dark mode.(#89)

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* fix: make file code len

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* feat: fix scripts support win

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* fix: make build issue

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* fix: golint and format

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* feat: add scripts sudo limits of authority

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* fix: docker images fix

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* fix: docker images fix

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

---------

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-14 08:17:59 +00:00
WangchuXiao 70d8ae4c19 new feature: add batch send msg (#560)
* new feature: add batch send msg

* new feature: add batch send msg

* new feature: add batch send msg

* new feature: add batch send msg

* new feature: add batch send msg

* new feature: add batch send msg
2023-07-14 06:49:28 +00:00
Xinwei Xiong 3b438d58a9 fix: scripts and release (#552)
* fix: scripts and release

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* fix: fix  bug

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* fix: docker compose  and release

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* fix: cicd bug

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* fix: cicd bug

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

---------

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-14 03:32:14 +00:00
Xinwei Xiong 02cf07de3d Merge pull request #547 from wangchuxiao-dev/main
fix bug: log path and user rpc
2023-07-13 12:56:54 +00:00
wangchuxiao 084a374c62 fix bug: log not in correct position 2023-07-13 20:48:57 +08:00
wangchuxiao 642ae4d159 Merge branch 'main' of github.com:wangchuxiao-dev/Open-IM-Server 2023-07-13 20:05:46 +08:00
wangchuxiao 99de4f8a7e fix bug: init conn once 2023-07-13 20:05:39 +08:00
wangchuxiao e1b1fc705b Merge remote-tracking branch 'upstream/main' 2023-07-13 20:02:26 +08:00
wangchuxiao 38a191e5d1 fix bug: init conn once 2023-07-13 19:57:52 +08:00
wangchuxiao 7cf48c89f3 fix bug: init conn once 2023-07-13 19:57:40 +08:00
withchao 7624821f5f Merge pull request #546 from withchao/main
fix: rpc mw mismatch key
2023-07-13 11:53:19 +00:00
wangchuxiao dbe58fac04 Merge remote-tracking branch 'upstream/main' 2023-07-13 19:49:09 +08:00
withchao 3163f42597 fix: rpc mw mismatch key 2023-07-13 19:26:17 +08:00
Xinwei Xiong ab406bea3d Merge pull request #543 from hanzhixiao/fix/v3-error2
fix conflict
2023-07-13 10:39:35 +00:00
‘hanzhixiao’ 4bd97149c3 fix conflict
Signed-off-by: ‘hanzhixiao’ <‘709674996@qq.com’>
2023-07-13 18:37:59 +08:00
‘hanzhixiao’ fda6cd5354 fix conflict
Signed-off-by: ‘hanzhixiao’ <‘709674996@qq.com’>
2023-07-13 18:30:18 +08:00
Xinwei Xiong c6203c825f Merge pull request #542 from hanzhixiao/fix/v3-error
Fix/v3 error
2023-07-13 10:26:27 +00:00
‘hanzhixiao’ 90d226c290 fix conflict
Signed-off-by: ‘hanzhixiao’ <‘709674996@qq.com’>
2023-07-13 18:21:42 +08:00
‘hanzhixiao’ 25eabde3f6 fix conflict
Signed-off-by: ‘hanzhixiao’ <‘709674996@qq.com’>
2023-07-13 18:20:11 +08:00
‘hanzhixiao’ 02e6b7ec18 fix conflict
Signed-off-by: ‘hanzhixiao’ <‘709674996@qq.com’>
2023-07-13 18:20:03 +08:00
‘hanzhixiao’ be7d785f1d fix conflict
Signed-off-by: ‘hanzhixiao’ <‘709674996@qq.com’>
2023-07-13 18:17:27 +08:00
Xinwei Xiong ccf2cdaab2 Merge pull request #540 from cubxxw/fix/copy
feat: add test file
2023-07-13 10:09:16 +00:00
Xinwei Xiong(cubxxw-openim) 99dc701ff6 feat: script and make build
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-13 17:37:51 +08:00
Xinwei Xiong 8fbc7e8116 Merge pull request #539 from plutoyty/main
url to uri
2023-07-13 09:33:37 +00:00
pluto 4066726221 Merge branch 'OpenIMSDK:main' into main 2023-07-13 17:22:39 +08:00
withchao 53048951ec Merge pull request #538 from withchao/main
fix: minio auto make bucket
2023-07-13 09:19:30 +00:00
plutoyty 772cb859fa url to uri 2023-07-13 17:18:14 +08:00
withchao 81bcd86304 fix: minio auto make bucket 2023-07-13 17:10:48 +08:00
pluto b0b7d6fe7f Merge branch 'OpenIMSDK:main' into main 2023-07-13 17:08:00 +08:00
Xinwei Xiong(cubxxw-openim) 6ecf253ef6 feat: add copy
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-13 17:07:45 +08:00
Xinwei Xiong(cubxxw-openim) fd3c19d6a5 feat: add test file
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-13 17:07:45 +08:00
Gordon ce33b79915 fix: conflict resolve main (#537)
* statistics user register

* refactor: router change

* minio init

* UserRegisterCount

* push use local conn

* refactor: user pb update

* remove online push close grpc conn

* refactor: user pb update

* refactor:pb file

* msgs statistics

* msgs statistics

* revoke userID

* refactor: errcode update

* active user

* active user

* active user

* refactor: errcode update

* feat: conn update token

* active user

* active user

* feat: conn update token

* active user

* feat: conn update token

* feat: conn update token

* feat: conn update token

* add tx_oss cos

* active user

* active user

* group create

* group create

* feat: group notification show to conversation

* feat: group notification show to conversation

* group active

* user active

* sendNotificationWithName

* withname

* privateChat

* a2r call option

* grpc with detail return error

* change log error

* chain unary interceptor

* api nil slice map

* fix sync has read

* fix: text update

* fix: update add model

* set conversations update

* set privateChat

* fix: content update

* remove unuse rpc

* msgDestruct

* cron use rpc mw

* set IsMsgDestruct

* msg destruct

* msgDestruct

* s3 minio, cos, oss support

* feat: add implement of GetUsersOnlineStatus, #472 (#477)

* s3 minio, cos, oss support

* s3 route

* remove extendMsg code

* s3 route

* remove unuse code

* s3 pb

* s3 pb

* s3 pb

* s3 presigned put

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* Update .gitignore (#482)

* s3 debug log

* s3 debug log

* cron add log and fix cron

* add log

* cron

* s3 config

* fix kick user bug

* s3 cos

* add kick log

* s3 cos test

* s3 cos test

* s3 cos test

* kick user log

* kickuserlog

* s3 cos copy

* s3 cos copy

* s3 url

* s3 url

* s3 AccessURL

* log

* s3 InitiateMultipartUpload add ExpireTime

* feat: regenerate pb file

* feat: regenerate pb file

* Revert "feat: regenerate pb file"

This reverts commit 434f22564a.

* Delete .idea directory

* feat: regenerate pb file

* fix: remove import C

* fix: add msg transfer main file

* fix: get user online status fix

---------

Co-authored-by: withchao <993506633@qq.com>
Co-authored-by: wangchuxiao <wangchuxiao97@outlook.com>
Co-authored-by: BanTanger <88583317+BanTanger@users.noreply.github.com>
Co-authored-by: withchao <48119764+withchao@users.noreply.github.com>
Co-authored-by: Alan <68671759+hanzhixiao@users.noreply.github.com>
2023-07-13 16:51:52 +08:00
pluto 2388f93cfb Merge branch 'OpenIMSDK:main' into main 2023-07-13 15:46:37 +08:00
WangchuXiao 4cacc3f621 fix bug: friend, args error (#534)
* fix bug: args error

* fix bug: args error

* fix bug: add friend need update both request

* fix bug: add friend need update both request
2023-07-13 15:26:25 +08:00
wangchuxiao 2607862544 Merge remote-tracking branch 'upstream/main' 2023-07-13 15:22:59 +08:00
Gordon e5ab278be5 fix: get user online status #472 (#527)
* statistics user register

* refactor: router change

* minio init

* UserRegisterCount

* push use local conn

* refactor: user pb update

* remove online push close grpc conn

* refactor: user pb update

* refactor:pb file

* msgs statistics

* msgs statistics

* revoke userID

* refactor: errcode update

* active user

* active user

* active user

* refactor: errcode update

* feat: conn update token

* active user

* active user

* feat: conn update token

* active user

* feat: conn update token

* feat: conn update token

* feat: conn update token

* add tx_oss cos

* active user

* active user

* group create

* group create

* feat: group notification show to conversation

* feat: group notification show to conversation

* group active

* user active

* sendNotificationWithName

* withname

* privateChat

* a2r call option

* grpc with detail return error

* change log error

* chain unary interceptor

* api nil slice map

* fix sync has read

* fix: text update

* fix: update add model

* set conversations update

* set privateChat

* fix: content update

* remove unuse rpc

* msgDestruct

* cron use rpc mw

* set IsMsgDestruct

* msg destruct

* msgDestruct

* s3 minio, cos, oss support

* feat: add implement of GetUsersOnlineStatus, #472 (#477)

* s3 minio, cos, oss support

* s3 route

* remove extendMsg code

* s3 route

* remove unuse code

* s3 pb

* s3 pb

* s3 pb

* s3 presigned put

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* Update .gitignore (#482)

* s3 debug log

* s3 debug log

* cron add log and fix cron

* add log

* cron

* s3 config

* fix kick user bug

* s3 cos

* add kick log

* s3 cos test

* s3 cos test

* s3 cos test

* kick user log

* kickuserlog

* s3 cos copy

* s3 cos copy

* s3 url

* s3 url

* s3 AccessURL

* log

* s3 InitiateMultipartUpload add ExpireTime

* feat: regenerate pb file

* feat: regenerate pb file

* Revert "feat: regenerate pb file"

This reverts commit 434f22564a.

* Delete .idea directory

* feat: regenerate pb file

* fix: remove import C

* fix: add msg transfer main file

* fix: get user online status fix

---------

Co-authored-by: withchao <993506633@qq.com>
Co-authored-by: wangchuxiao <wangchuxiao97@outlook.com>
Co-authored-by: BanTanger <88583317+BanTanger@users.noreply.github.com>
Co-authored-by: withchao <48119764+withchao@users.noreply.github.com>
Co-authored-by: Alan <68671759+hanzhixiao@users.noreply.github.com>
2023-07-13 15:17:05 +08:00
Alan 0b306d996d all back-office api (#533)
* fix conflict

Signed-off-by: ‘hanzhixiao’ <‘709674996@qq.com’>

* all Back-office management api

Signed-off-by: ‘hanzhixiao’ <‘709674996@qq.com’>

---------

Signed-off-by: ‘hanzhixiao’ <‘709674996@qq.com’>
Co-authored-by: ‘hanzhixiao’ <‘709674996@qq.com’>
2023-07-13 15:11:33 +08:00
wangchuxiao 643de8c7ec fix bug: add friend need update both request 2023-07-13 14:41:49 +08:00
wangchuxiao 4c365701d4 fix bug: add friend need update both request 2023-07-13 13:09:46 +08:00
pluto 5e92c76136 Merge branch 'OpenIMSDK:main' into main 2023-07-13 12:27:20 +08:00
pluto 058e2eee32 add MongoDB,Redis,Kafka retry mechanism (#518) 2023-07-13 12:26:09 +08:00
wangchuxiao 9d6f46b7f9 fix bug: args error 2023-07-13 11:49:51 +08:00
Xinwei Xiong 7bf8a898e2 feat: add scripts (#525) 2023-07-13 11:37:23 +08:00
wangchuxiao 549721ec8e Merge remote-tracking branch 'upstream/main' 2023-07-13 11:33:25 +08:00
wangchuxiao 4d89d7c618 fix bug: args error 2023-07-13 11:03:22 +08:00
pluto eb7953cacb cicd: update openim-ci.yml (#528) 2023-07-13 10:30:25 +08:00
pluto 59f948bde2 Merge branch 'OpenIMSDK:main' into main 2023-07-13 10:14:40 +08:00
skiffer-git b46f3410ad Add feature: Replace apiURL (in config.yaml) with an external IP address 2023-07-12 22:07:25 +08:00
skiffer-git 62cd1dace0 Merge remote-tracking branch 'origin/main' 2023-07-12 21:33:25 +08:00
skiffer-git 95ec99daf0 fix bug ContentType is wrong range for Check 2023-07-12 21:33:11 +08:00
pluto df38875d88 Merge branch 'OpenIMSDK:main' into main 2023-07-12 20:58:37 +08:00
Xinwei Xiong 135dc7b359 feat: add scripts (#515)
* feat: add scripts

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* build: Infrastructure, openimv3.0.0

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* feat: add code (#519)

---------

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-12 20:46:34 +08:00
plutoyty d41f2a7aef Add retry mechanism to mongoDB, Redis, Kafka 2023-07-12 20:21:52 +08:00
plutoyty 40b26f9a2f Merge remote-tracking branch 'origin/main' into add-new-feature-#484 2023-07-12 19:29:12 +08:00
pluto 2cca8b8927 Merge branch 'OpenIMSDK:main' into main 2023-07-12 19:27:50 +08:00
Xinwei Xiong 1b5eb4a5c0 feat: add scripts (#514) 2023-07-12 19:21:55 +08:00
plutoyty 9ac47e3423 Merge remote-tracking branch 'origin/main' into add-new-feature-#484
# Conflicts:
#	pkg/common/db/unrelation/extend_msg.go
2023-07-12 19:16:48 +08:00
pluto 568e6a8e86 Merge branch 'OpenIMSDK:main' into main 2023-07-12 19:16:04 +08:00
plutoyty 35b1f75036 Add retry mechanism to mongoDB, Redis, Kafka 2023-07-12 19:15:39 +08:00
Gordon de1b970046 fix: add msg transfer file (#512)
* statistics user register

* refactor: router change

* minio init

* UserRegisterCount

* push use local conn

* refactor: user pb update

* remove online push close grpc conn

* refactor: user pb update

* refactor:pb file

* msgs statistics

* msgs statistics

* revoke userID

* refactor: errcode update

* active user

* active user

* active user

* refactor: errcode update

* feat: conn update token

* active user

* active user

* feat: conn update token

* active user

* feat: conn update token

* feat: conn update token

* feat: conn update token

* add tx_oss cos

* active user

* active user

* group create

* group create

* feat: group notification show to conversation

* feat: group notification show to conversation

* group active

* user active

* sendNotificationWithName

* withname

* privateChat

* a2r call option

* grpc with detail return error

* change log error

* chain unary interceptor

* api nil slice map

* fix sync has read

* fix: text update

* fix: update add model

* set conversations update

* set privateChat

* fix: content update

* remove unuse rpc

* msgDestruct

* cron use rpc mw

* set IsMsgDestruct

* msg destruct

* msgDestruct

* s3 minio, cos, oss support

* feat: add implement of GetUsersOnlineStatus, #472 (#477)

* s3 minio, cos, oss support

* s3 route

* remove extendMsg code

* s3 route

* remove unuse code

* s3 pb

* s3 pb

* s3 pb

* s3 presigned put

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* Update .gitignore (#482)

* s3 debug log

* s3 debug log

* cron add log and fix cron

* add log

* cron

* s3 config

* fix kick user bug

* s3 cos

* add kick log

* s3 cos test

* s3 cos test

* s3 cos test

* kick user log

* kickuserlog

* s3 cos copy

* s3 cos copy

* s3 url

* s3 url

* s3 AccessURL

* log

* s3 InitiateMultipartUpload add ExpireTime

* feat: regenerate pb file

* feat: regenerate pb file

* Revert "feat: regenerate pb file"

This reverts commit 434f22564a.

* Delete .idea directory

* feat: regenerate pb file

* fix: remove import C

* fix: add msg transfer main file

---------

Co-authored-by: withchao <993506633@qq.com>
Co-authored-by: wangchuxiao <wangchuxiao97@outlook.com>
Co-authored-by: BanTanger <88583317+BanTanger@users.noreply.github.com>
Co-authored-by: withchao <48119764+withchao@users.noreply.github.com>
Co-authored-by: Alan <68671759+hanzhixiao@users.noreply.github.com>
2023-07-12 18:18:08 +08:00
Gordon fc71af8ce2 fix: remove import C (#511)
* statistics user register

* refactor: router change

* minio init

* UserRegisterCount

* push use local conn

* refactor: user pb update

* remove online push close grpc conn

* refactor: user pb update

* refactor:pb file

* msgs statistics

* msgs statistics

* revoke userID

* refactor: errcode update

* active user

* active user

* active user

* refactor: errcode update

* feat: conn update token

* active user

* active user

* feat: conn update token

* active user

* feat: conn update token

* feat: conn update token

* feat: conn update token

* add tx_oss cos

* active user

* active user

* group create

* group create

* feat: group notification show to conversation

* feat: group notification show to conversation

* group active

* user active

* sendNotificationWithName

* withname

* privateChat

* a2r call option

* grpc with detail return error

* change log error

* chain unary interceptor

* api nil slice map

* fix sync has read

* fix: text update

* fix: update add model

* set conversations update

* set privateChat

* fix: content update

* remove unuse rpc

* msgDestruct

* cron use rpc mw

* set IsMsgDestruct

* msg destruct

* msgDestruct

* s3 minio, cos, oss support

* feat: add implement of GetUsersOnlineStatus, #472 (#477)

* s3 minio, cos, oss support

* s3 route

* remove extendMsg code

* s3 route

* remove unuse code

* s3 pb

* s3 pb

* s3 pb

* s3 presigned put

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* Update .gitignore (#482)

* s3 debug log

* s3 debug log

* cron add log and fix cron

* add log

* cron

* s3 config

* fix kick user bug

* s3 cos

* add kick log

* s3 cos test

* s3 cos test

* s3 cos test

* kick user log

* kickuserlog

* s3 cos copy

* s3 cos copy

* s3 url

* s3 url

* s3 AccessURL

* log

* s3 InitiateMultipartUpload add ExpireTime

* feat: regenerate pb file

* feat: regenerate pb file

* Revert "feat: regenerate pb file"

This reverts commit 434f22564a.

* Delete .idea directory

* feat: regenerate pb file

* fix: remove import C

---------

Co-authored-by: withchao <993506633@qq.com>
Co-authored-by: wangchuxiao <wangchuxiao97@outlook.com>
Co-authored-by: BanTanger <88583317+BanTanger@users.noreply.github.com>
Co-authored-by: withchao <48119764+withchao@users.noreply.github.com>
Co-authored-by: Alan <68671759+hanzhixiao@users.noreply.github.com>
2023-07-12 18:11:10 +08:00
Gordon c7c9f170ad fix: remove some structs (#509)
* statistics user register

* refactor: router change

* minio init

* UserRegisterCount

* push use local conn

* refactor: user pb update

* remove online push close grpc conn

* refactor: user pb update

* refactor:pb file

* msgs statistics

* msgs statistics

* revoke userID

* refactor: errcode update

* active user

* active user

* active user

* refactor: errcode update

* feat: conn update token

* active user

* active user

* feat: conn update token

* active user

* feat: conn update token

* feat: conn update token

* feat: conn update token

* add tx_oss cos

* active user

* active user

* group create

* group create

* feat: group notification show to conversation

* feat: group notification show to conversation

* group active

* user active

* sendNotificationWithName

* withname

* privateChat

* a2r call option

* grpc with detail return error

* change log error

* chain unary interceptor

* api nil slice map

* fix sync has read

* fix: text update

* fix: update add model

* set conversations update

* set privateChat

* fix: content update

* remove unuse rpc

* msgDestruct

* cron use rpc mw

* set IsMsgDestruct

* msg destruct

* msgDestruct

* s3 minio, cos, oss support

* feat: add implement of GetUsersOnlineStatus, #472 (#477)

* s3 minio, cos, oss support

* s3 route

* remove extendMsg code

* s3 route

* remove unuse code

* s3 pb

* s3 pb

* s3 pb

* s3 presigned put

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* Update .gitignore (#482)

* s3 debug log

* s3 debug log

* cron add log and fix cron

* add log

* cron

* s3 config

* fix kick user bug

* s3 cos

* add kick log

* s3 cos test

* s3 cos test

* s3 cos test

* kick user log

* kickuserlog

* s3 cos copy

* s3 cos copy

* s3 url

* s3 url

* s3 AccessURL

* log

* s3 InitiateMultipartUpload add ExpireTime

* feat: regenerate pb file

* feat: regenerate pb file

* Revert "feat: regenerate pb file"

This reverts commit 434f22564a.

* Delete .idea directory

* feat: regenerate pb file

---------

Co-authored-by: withchao <993506633@qq.com>
Co-authored-by: wangchuxiao <wangchuxiao97@outlook.com>
Co-authored-by: BanTanger <88583317+BanTanger@users.noreply.github.com>
Co-authored-by: withchao <48119764+withchao@users.noreply.github.com>
Co-authored-by: Alan <68671759+hanzhixiao@users.noreply.github.com>
2023-07-12 17:48:06 +08:00
Xinwei Xiong 4d05ea1de6 Delete .idea directory (#507) 2023-07-12 15:55:24 +08:00
Xinwei Xiong b865fb1264 fix: fix start scripts (#501)
* fix: fix start scripts

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* feat: add openim ci

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* feat: add bash scripts

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

---------

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-12 15:44:06 +08:00
pluto 496d178313 Merge branch 'OpenIMSDK:main' into main 2023-07-12 15:34:47 +08:00
Gordon 454bf97e3f merge v3dev into main (#504)
* statistics user register

* refactor: router change

* minio init

* UserRegisterCount

* push use local conn

* refactor: user pb update

* remove online push close grpc conn

* refactor: user pb update

* refactor:pb file

* msgs statistics

* msgs statistics

* revoke userID

* refactor: errcode update

* active user

* active user

* active user

* refactor: errcode update

* feat: conn update token

* active user

* active user

* feat: conn update token

* active user

* feat: conn update token

* feat: conn update token

* feat: conn update token

* add tx_oss cos

* active user

* active user

* group create

* group create

* feat: group notification show to conversation

* feat: group notification show to conversation

* group active

* user active

* sendNotificationWithName

* withname

* privateChat

* a2r call option

* grpc with detail return error

* change log error

* chain unary interceptor

* api nil slice map

* fix sync has read

* fix: text update

* fix: update add model

* set conversations update

* set privateChat

* fix: content update

* remove unuse rpc

* msgDestruct

* cron use rpc mw

* set IsMsgDestruct

* msg destruct

* msgDestruct

* s3 minio, cos, oss support

* feat: add implement of GetUsersOnlineStatus, #472 (#477)

* s3 minio, cos, oss support

* s3 route

* remove extendMsg code

* s3 route

* remove unuse code

* s3 pb

* s3 pb

* s3 pb

* s3 presigned put

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* s3 presigned test

* Update .gitignore (#482)

* s3 debug log

* s3 debug log

* cron add log and fix cron

* add log

* cron

* s3 config

* fix kick user bug

* s3 cos

* add kick log

* s3 cos test

* s3 cos test

* s3 cos test

* kick user log

* kickuserlog

* s3 cos copy

* s3 cos copy

* s3 url

* s3 url

* s3 AccessURL

* log

* s3 InitiateMultipartUpload add ExpireTime

---------

Co-authored-by: withchao <993506633@qq.com>
Co-authored-by: wangchuxiao <wangchuxiao97@outlook.com>
Co-authored-by: BanTanger <88583317+BanTanger@users.noreply.github.com>
Co-authored-by: withchao <48119764+withchao@users.noreply.github.com>
Co-authored-by: Alan <68671759+hanzhixiao@users.noreply.github.com>
2023-07-12 15:31:24 +08:00
pluto 1fe6423593 Merge branch 'OpenIMSDK:main' into main 2023-07-12 15:28:38 +08:00
pluto 5467887e1c For "add database retry" add test (#500)
* Add database retry

* For "add database retry" add test

* For "add database retry" add test

* For 'add database retry' add test

Signed-off-by: plutoyty <2631223275@qq.com>

* Remove .idea directory and add it to .gitignore

---------

Signed-off-by: plutoyty <2631223275@qq.com>
2023-07-12 15:23:25 +08:00
guangwu e000236eca chore: use fmt.Errorf Sprint (#469) 2023-07-12 13:19:44 +08:00
kubbot 3ff4103711 fix: scripts start
Signed-off-by: kubbot <3293172751ysy@gmail.com>
2023-07-12 13:11:31 +08:00
kubbot e649943649 fix: scripts start
Signed-off-by: kubbot <3293172751ysy@gmail.com>
2023-07-12 13:01:20 +08:00
kubbot 3ae5375d1a fix: scripts start
Signed-off-by: kubbot <3293172751ysy@gmail.com>
2023-07-12 12:58:24 +08:00
kubbot 5755a43f1c fix: scripts start
Signed-off-by: kubbot <3293172751ysy@gmail.com>
2023-07-12 12:45:23 +08:00
Xinwei Xiong dd7e2be74a feat: add logic to deploy images (#497)
* feat: add logic to deploy images

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* feat: add logic to deploy images

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* fix: add ubuntu

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* fix: sync quest

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* feat: add copyright information

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* feat: add more cicd design

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* fix: fix sync

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* feat: test file

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* feat: test file

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* feat: build multiarch

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* feat: build multiarch

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* feat: add start scripts

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

---------

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-12 12:28:18 +08:00
plutoyty a735a70a7b Remove .idea directory and add it to .gitignore 2023-07-12 12:05:32 +08:00
plutoyty 2f5bcf1cf7 For 'add database retry' add test
Signed-off-by: plutoyty <2631223275@qq.com>
2023-07-12 11:53:22 +08:00
plutoyty 6bc369ed00 For "add database retry" add test 2023-07-12 11:43:30 +08:00
plutoyty 66f6e3d604 Merge remote-tracking branch 'origin/main' into add-new-feature-#484 2023-07-12 11:39:28 +08:00
pluto 4d2bd1a1c5 Merge branch 'OpenIMSDK:main' into main 2023-07-12 11:37:54 +08:00
plutoyty 2693db218a For "add database retry" add test 2023-07-12 11:35:06 +08:00
pluto 531c8a9876 Add database retry (#493) 2023-07-12 10:06:30 +08:00
pluto 51314729fc Merge branch 'OpenIMSDK:main' into main 2023-07-12 09:57:32 +08:00
kubbot 154658ee12 feat: add make file
Signed-off-by: kubbot <3293172751ysy@gmail.com>
2023-07-11 22:14:44 +08:00
kubbot f13ffc6e6c fix: all file
Signed-off-by: kubbot <3293172751ysy@gmail.com>
2023-07-11 22:10:43 +08:00
Xinwei Xiong 0350636960 fix: docker file path (#495)
* fix: docker file path

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* fix: docker file path

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

* fix: fix scripts

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>

---------

Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-11 21:13:06 +08:00
杨腾宇 2b041d8f6a Add database retry 2023-07-11 17:34:39 +08:00
Xinwei Xiong b5d1adb465 fix: docker file path (#492)
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-11 16:37:51 +08:00
Xinwei Xiong 42aa349846 feat: add the changelog (#490) 2023-07-11 16:18:12 +08:00
Xinwei Xiong 6a1cf144fb Merge pull request #462 from cubxxw/feat/cicd-actions 2023-07-11 16:10:20 +08:00
Xinwei Xiong(cubxxw-openim) ae029ebdfa feat: add scripts and fix
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:19:25 +08:00
Xinwei Xiong(cubxxw-openim) 29d422b71d feat: add scripts and fix
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:19:25 +08:00
Xinwei Xiong(cubxxw-openim) b4dcbe7202 feature: release version logs
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:19:25 +08:00
Xinwei Xiong(cubxxw-openim) 5b05152f9a feat: optimize scripts
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:19:25 +08:00
Xinwei Xiong(cubxxw-openim) a5191bac95 feat: add link file
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:19:25 +08:00
Xinwei Xiong(cubxxw-openim) eaaf309b30 feat: add link file
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:19:25 +08:00
Xinwei Xiong(cubxxw-openim) 3c73ba03ba feat: fix code
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:19:25 +08:00
Xinwei Xiong(cubxxw-openim) 826c86907c feat: complete the basic build
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:19:25 +08:00
Xinwei Xiong(cubxxw-openim) d41ad35b21 feat: add all command
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:19:25 +08:00
Xinwei Xiong(cubxxw-openim) 7426ee0abe feat: sets the absolute path of the script
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:19:25 +08:00
Xinwei Xiong(cubxxw-openim) b6e108774a fix: directory name
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:19:25 +08:00
Xinwei Xiong(cubxxw-openim) 94bc02caa2 feat: add cyan
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:19:25 +08:00
Xinwei Xiong(cubxxw-openim) f4cef32b95 feat: add cyan
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:19:25 +08:00
Xinwei Xiong(cubxxw-openim) 4e64888651 feat: add cyan
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:19:25 +08:00
Xinwei Xiong(cubxxw-openim) abc538c64f feat: add cyan
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:19:25 +08:00
Xinwei Xiong(cubxxw-openim) 48f1580e04 feat: add cyan
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:19:25 +08:00
Xinwei Xiong(cubxxw-openim) 44d7f79637 feat: add COLOR_SUFFIX=033[0m # End all colors and special effects
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:19:25 +08:00
Xinwei Xiong(cubxxw-openim) 396f455c77 feat: fix scripts
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:19:25 +08:00
Xinwei Xiong(cubxxw-openim) 049ae6eb80 feat: add chmod
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:19:25 +08:00
Xinwei Xiong(cubxxw-openim) 905c55caad fix: binary name modification
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:19:25 +08:00
Xinwei Xiong(cubxxw-openim) 3e7989c2e7 fix: binary name modification
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:17:56 +08:00
Xinwei Xiong(cubxxw-openim) d6a89567e5 feat: add all page
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:53 +08:00
Xinwei Xiong(cubxxw-openim) f7bd391ed7 fix: optimization details
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:53 +08:00
Xinwei Xiong(cubxxw-openim) 6484c32e26 docs: add more docs help deployer
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:53 +08:00
Xinwei Xiong(cubxxw-openim) d30131166d feat: add make file
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:53 +08:00
Xinwei Xiong(cubxxw-openim) ae2369c3a9 feat: add scripts
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:53 +08:00
Xinwei Xiong(cubxxw-openim) 74b849f4bc feat: add code comment
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:53 +08:00
Xinwei Xiong(cubxxw-openim) 80a4e35c0f fix: remove test file
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:53 +08:00
Xinwei Xiong(cubxxw-openim) fe16385c9b fix: rename open_im to openim
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:45 +08:00
Xinwei Xiong(cubxxw-openim) 98fe83b62d feat: add make
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:30 +08:00
Xinwei Xiong(cubxxw-openim) 1158de9f35 fix: details optimize
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:30 +08:00
Xinwei Xiong(cubxxw-openim) 57fe056316 feat: add deployments readme file
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:30 +08:00
Xinwei Xiong(cubxxw-openim) 02a24aebfe style: migrate image locations
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:30 +08:00
Xinwei Xiong(cubxxw-openim) dae7849393 feat: add license
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:30 +08:00
Xinwei Xiong(cubxxw-openim) 859d82fcd1 feat: add makefile bug
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:30 +08:00
Xinwei Xiong(cubxxw-openim) aedd16a33a fix: fix cmd filename
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:30 +08:00
Xinwei Xiong(cubxxw-openim) 12695337e9 feat: add more feature in scripts
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:30 +08:00
Xinwei Xiong(cubxxw-openim) ada9acf218 feat: add git hook sign
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:30 +08:00
Xinwei Xiong(cubxxw-openim) 667d9e33d7 feat: add codeowners file
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:30 +08:00
Xinwei Xiong(cubxxw-openim) 4d8fafe029 feat: add release
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:30 +08:00
Xinwei Xiong(cubxxw-openim) edcb065636 feat: add common scripts
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:30 +08:00
Xinwei Xiong(cubxxw-openim) 2dcbfde3bf test: add chmod file in scripts
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:30 +08:00
Xinwei Xiong(cubxxw-openim) f1b82e1297 fix: fix scripts
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:30 +08:00
Xinwei Xiong(cubxxw-openim) 21789bd7ac feat: add copyright
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:30 +08:00
Xinwei Xiong(cubxxw-openim) 91979285eb feat: add scripts lib
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:29 +08:00
Xinwei Xiong(cubxxw-openim) dc318bbdb5 cide: fix make file command
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:29 +08:00
Xinwei Xiong(cubxxw-openim) d03097108c feat: add code comment
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:29 +08:00
Xinwei Xiong(cubxxw-openim) 3742973e3d feat: add feature
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:29 +08:00
Xinwei Xiong(cubxxw-openim) cf6f7be56f feat: add code ql system
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:29 +08:00
Xinwei Xiong(cubxxw-openim) 166ddb1e34 style: add format
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:29 +08:00
Xinwei Xiong(cubxxw-openim) 187ee9a375 feat: fix openim ci
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:29 +08:00
Xinwei Xiong(cubxxw-openim) 5ec628fccb style: add import formatting
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-07-10 18:13:29 +08:00
YuanJey 4684a428f5 Docker compose bug (#471) 2023-07-06 10:58:07 +08:00
skiffer-git ca071fdf68 fixbug: remove slashes in the compile script 2023-07-04 20:44:43 +08:00
Alan a9e2b55f6a Feat/parameter check (#465)
Co-authored-by: ‘hanzhixiao’ <‘709674996@qq.com’>
2023-07-03 22:51:56 +08:00
skiffer-git 308f84e222 Replace the value in 'secret' within the config.yaml file with the PASSWORD from the .env file. 2023-07-03 17:59:20 +08:00
WangchuXiao 941c1f954e V3dev (#463)
* statistics user register

* refactor: router change

* minio init

---------

Co-authored-by: withchao <993506633@qq.com>
Co-authored-by: Gordon <1432970085@qq.com>
2023-07-03 15:21:17 +08:00
Xinwei Xiong e50b8bd8f1 feat: adding actions (#461) 2023-07-03 12:16:34 +08:00
skiffer-git c6611a6679 Update docker_check_service.sh 2023-07-02 22:14:20 +08:00
skiffer-git 0fffa0c43b Update install_im_server.sh 2023-07-02 22:13:10 +08:00
withchao d345fc80c7 gorm chat_logs init 2023-07-02 18:59:18 +08:00
skiffer-git 7930a8bf85 Update docker_check_service.sh 2023-07-02 17:49:00 +08:00
skiffer-git f828a6b122 Update docker-compose.yaml 2023-07-02 17:43:23 +08:00
skiffer-git c48d479053 Update docker_check_service.sh 2023-07-02 11:37:02 +08:00
skiffer-git 144e511672 Update init_pwd.sh 2023-07-02 11:01:59 +08:00
skiffer-git 4e66f4d237 Update init_pwd.sh 2023-07-02 10:50:49 +08:00
Xinwei Xiong(cubxxw) b44c895d12 feat: set scripts
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-30 23:21:49 +08:00
Xinwei Xiong(cubxxw) 28c7a959a6 feat: set scripts
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-30 23:16:33 +08:00
Xinwei Xiong(cubxxw) 51ab6a6156 test: version quest
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-30 23:11:59 +08:00
skiffer-git 378221f903 Update docker_start_all.sh 2023-06-30 23:35:07 +08:00
Xinwei Xiong(cubxxw) 359e6b1c46 feat: add chmod script
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-30 22:49:52 +08:00
kubbot & kubecub e5724b32e1 fix: script -> scripts
Signed-off-by: kubbot & kubecub <3293172751ysy@gmail.com>
2023-06-30 23:22:58 +08:00
kubbot & kubecub 45f0a5445e fix: script -> scripts
Signed-off-by: kubbot & kubecub <3293172751ysy@gmail.com>
2023-06-30 23:22:16 +08:00
kubbot & kubecub 64bb62d814 feat: ver3 branch
Signed-off-by: kubbot & kubecub <3293172751ysy@gmail.com>
2023-06-30 23:04:28 +08:00
kubbot & kubecub 74de8825f6 fix bug
Signed-off-by: kubbot & kubecub <3293172751ysy@gmail.com>
2023-06-30 22:32:30 +08:00
Xinwei Xiong(cubxxw-openim) 491d87872c fix: env file
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-30 21:20:06 +08:00
Xinwei Xiong(cubxxw-openim) 27e475a122 fix: remote
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-30 20:41:01 +08:00
Xinwei Xiong(cubxxw-openim) b61b7c9216 feat: add scripts chmod
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-30 19:59:40 +08:00
Xinwei Xiong(cubxxw-openim) e2f56443ea feat: add scripts
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-30 19:52:49 +08:00
Xinwei Xiong(cubxxw-openim) e36560a630 feat: docker compose logs unified directory
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-30 19:35:10 +08:00
Xinwei Xiong(cubxxw-openim) 8d698ce1c2 fix: docker compose
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-30 19:33:59 +08:00
Xinwei Xiong(cubxxw-openim) ec38c8535d fix: docker compose
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-30 19:13:39 +08:00
Xinwei Xiong(cubxxw-openim) 65b54c85a9 fix: version ploblem
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-30 19:03:52 +08:00
Xinwei Xiong(cubxxw-openim) 149fa3a4e3 feat: docker compose logs unified directory
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-30 18:59:56 +08:00
Xinwei Xiong(cubxxw-openim) 9394ac658e feat: add copyright permission
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-30 17:59:38 +08:00
Xinwei Xiong(cubxxw-openim) 6d7f8c68e5 feat: optimize scripts and makefiles
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-30 17:54:56 +08:00
Xinwei Xiong(cubxxw-openim) a5147ca564 feat: optimize scripts and makefiles
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-30 17:54:56 +08:00
Xinwei Xiong e6bf4da430 Update README-zh_CN.md 2023-06-30 13:31:19 +08:00
Xinwei Xiong 67c9553722 Update README.md 2023-06-30 13:30:56 +08:00
withchao 5b3e977665 add tools 2023-06-30 11:24:37 +08:00
withchao c19952d483 remove OmitHost 2023-06-30 10:58:37 +08:00
kubbot & kubecub 6772c25deb test: delete bash
Signed-off-by: kubbot & kubecub <3293172751ysy@gmail.com>
2023-06-30 10:33:01 +08:00
kubbot & kubecub 06047ae778 feat: set up golang ci
Signed-off-by: kubbot & kubecub <3293172751ysy@gmail.com>
2023-06-30 10:31:13 +08:00
kubbot & kubecub 2b6f382c4a feat: refactoring main
Signed-off-by: kubbot & kubecub <3293172751ysy@gmail.com>
2023-06-30 10:21:11 +08:00
kubbot & kubecub 6f3d17b927 feat: migrate the original main branch code
Signed-off-by: kubbot & kubecub <3293172751ysy@gmail.com>
2023-06-30 09:56:10 +08:00
kubbot & kubecub e8ff01790b feat(main): update readme in v3
Signed-off-by: kubbot & kubecub <3293172751ysy@gmail.com>
2023-06-30 09:48:15 +08:00
kubbot & kubecub 539e0fdfb6 feat: use robot to migrate code
Signed-off-by: kubbot & kubecub <3293172751ysy@gmail.com>
2023-06-30 09:45:02 +08:00
Xinwei Xiong(cubxxw-openim) 2d41819008 v3 - main to cut out 2023-06-29 22:44:25 +08:00
withchao 3fbeb622a2 optimize seq, specifying that seq is stored in the only certain unknown 2023-06-29 22:44:25 +08:00
withchao c5a494f28b optimize the calling process from api to rpc 2023-06-29 22:44:25 +08:00
withchao e1f5b2afe0 error code optimization 2023-06-29 22:44:25 +08:00
Xinwei Xiong(cubxxw-openim) ce7ae6a9b9 fix: fix branch git hooks
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:25 +08:00
Xinwei Xiong(cubxxw-openim) 86cf2f3263 feat: add actions form org
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:25 +08:00
Xinwei Xiong(cubxxw-openim) 06a1f9edef feat: add actions form org
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:25 +08:00
Xinwei Xiong(cubxxw-openim) 6394ad9227 feat: project actions
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:25 +08:00
Xinwei Xiong(cubxxw-openim) 5b76d9e853 feat: service architecture
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:25 +08:00
Xinwei Xiong(cubxxw-openim) 18ae8f67d0 feat: service architecture
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:25 +08:00
Xinwei Xiong(cubxxw) 70d2f93a40 feat: Automatic PR title AI fix
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:24 +08:00
Xinwei Xiong(cubxxw-openim) d41b91c67f refactor: add openim-sdk-core submodule
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:24 +08:00
Xinwei Xiong(cubxxw-openim) 633f0ade3e feat: vscode gitignore
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:24 +08:00
Xinwei Xiong(cubxxw-openim) 21a68c353a feat: sync file to *
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:24 +08:00
Xinwei Xiong(cubxxw-openim) 66d8fafc8d feat: sync file to *
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:24 +08:00
Xinwei Xiong(cubxxw-openim) fe58c8459b test: test robot form kubbot
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:24 +08:00
Xinwei Xiong(cubxxw-openim) 79f4ef5b99 test: test robot form kubbot
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:24 +08:00
Xinwei Xiong(cubxxw-openim) 7947cfa08e test: test robot form kubbot
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:24 +08:00
Xinwei Xiong(cubxxw-openim) c7b3f6e94f test: test robot form kubbot
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:24 +08:00
Xinwei Xiong(cubxxw-openim) 42d78368e5 test: test robot form kubbot
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:24 +08:00
Xinwei Xiong(cubxxw-openim) 9b39428f26 test: test robot form kubbot
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:24 +08:00
Xinwei Xiong(cubxxw-openim) 220cd9fc09 feat: sync core branch
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:24 +08:00
Xinwei Xiong(cubxxw-openim) 3d5670bc96 feat: copy license
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:24 +08:00
Xinwei Xiong(cubxxw-openim) 909ed48b1e fix: Improved initial docker scripts
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:24 +08:00
Xinwei Xiong(cubxxw-openim) c6595bee54 feat: make multiarch 2023-06-29 22:44:24 +08:00
Xinwei Xiong(cubxxw-openim) 32e60fd250 fix: Fix make Help
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:24 +08:00
Xinwei Xiong(cubxxw-openim) cd86f8b03f feat: sync robot
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:24 +08:00
Xinwei Xiong(cubxxw-openim) c002967c9d feat: tools optimize
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:23 +08:00
Xinwei Xiong(cubxxw-openim) 61ea5b1912 feat(main): dockerfile fix
Signed-off-by: Xinwei Xiong(cubxxw-openim) <3293172751nss@gmail.com>
2023-06-29 22:44:23 +08:00
Xinwei Xiong(cubxxw) fdbc60eef1 docs(main): update readme file
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:23 +08:00
Xinwei Xiong(cubxxw) 0831593a45 feat(main): add stale labels
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:22 +08:00
Xinwei Xiong(cubxxw) ea58e22f33 feat: resolving initialization
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:22 +08:00
Xinwei Xiong(cubxxw) 8c471955e3 fix: robot name
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:22 +08:00
Xinwei Xiong(cubxxw) 2e74d0c22f feat: exchange tokens for the robot
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:22 +08:00
Xinwei Xiong(cubxxw) 68ff2b0cdb feat: provide robot for use
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:22 +08:00
Xinwei Xiong(cubxxw) 8f45b1d794 fix: comment invite trigger actions
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:22 +08:00
Xinwei Xiong(cubxxw) 1496a23fdc fix: comment invite trigger actions
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:22 +08:00
Xinwei Xiong(cubxxw) e39367049a feat: support for closing issues
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:22 +08:00
Xinwei Xiong(cubxxw) 76612469c6 feat: comment invite trigger actions
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:22 +08:00
Xinwei Xiong(cubxxw) 7eadf9ef6e fix: gosec help us audit the Go code
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:22 +08:00
Xinwei Xiong(cubxxw) 03be4a4494 ci: gosec help us audit the Go code
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:22 +08:00
Xinwei Xiong(cubxxw) 7e0e779cbf docs(main): D
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:22 +08:00
Xinwei Xiong(cubxxw) 8007488ee3 feat: add codecov context
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:22 +08:00
Xinwei Xiong(cubxxw) 2e2980028d feat: super log dergen
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:22 +08:00
Xinwei Xiong(cubxxw) 36cd78c3be fix: changelog error
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:22 +08:00
Xinwei Xiong(cubxxw) 5a8f2e8157 ci: join the desgin of chglog and init
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:22 +08:00
Xinwei Xiong(cubxxw) 0e41f8621d fix: cover adjustment in some actions
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:22 +08:00
Xinwei Xiong(cubxxw) 472ab6cfad feat: set the structure of the rebase
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:22 +08:00
Xinwei Xiong(cubxxw) 94abdbd664 fix: make up for small problems with pre-push D
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:22 +08:00
Xinwei Xiong(cubxxw) 0de951f065 fix: optimize codeql ananlysis workflows
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:22 +08:00
Xinwei Xiong(cubxxw) ad1fe42352 style: optimize the limit of githook commit
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 3d431abf30 fix: file name quest
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 14b2e3f4f0 fix: fix the cicd error of the robot
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong 74c94d39db docs: update readme is openim slack 2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 103c231a1d fix: copyright owner
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 47f94ada70 docs(readme): chinese and englist
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 0ca55c088d fix: readme styles
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 40a0663f9f styles: tweak bash scripts
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) ed71f4fb9a feat: adjust the install go-gitlint role
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 4d78ab0de3 feat: complete the githook design
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) b9dc4d302e docs(readme): styles beautify
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) e21982534e feat(githook): make sure to trigger githook when you make
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 0ef4fbfa5a feat(make): add file name pre-commit for githook
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 1a034cfc66 feat(make): define common githook
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 6ca3de6063 feat(make): define the common implementation of the base
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) d30efd7425 feat(make): determine the base constant setting for common
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) db721ace5f fix: markfown lint test cicd actions deplpy
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 01fedcf83f test: test cicd actions deplpy
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 70e25f688e fix: designing and supplementing gnore
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 29bc6f17ce feat: designing and supplementing gnore
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 0d93480e39 fix(gnore): remove .github
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 097df11840 feat: super dependencies makefile help
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 84609dd73a styles: readme file update
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) b613a045d5 scripts fix change scripts to script, and create dependencies
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) c85bbe0488 feat: Improve tools information
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 4ca0212629 feat: Improve copyright information
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 51c51a6668 feat: Improve copyright information
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 2acb856021 feat: Improve help information
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 7b9db69f87 feat: good frist issue readme
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 97eec5cc48 feat: good frist issue readme
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 84b36e8e1b feat: good frist issue readme
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 46f36474f2 feat: slack
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) dd532a6039 feat: readme add shields
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) 9ed2513e6c feat: readme add shields
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) fbaea5dba1 feat: ADOPTERS
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) cf5ed40bd7 fix: readme file
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) cd7bcc75b6 feat: zh-reamde
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong 5af0932fa8 delete issue template (#376) 2023-06-29 22:44:21 +08:00
Xinwei Xiong 312d8cffc2 feat: a feat of Makefile large-scale engineering design (#370) 2023-06-29 22:44:21 +08:00
Xinwei Xiong 312d61abe2 fix: fixed some connection display issues 2023-06-29 22:44:21 +08:00
Xinwei Xiong 30a3ce80d6 fix: Update README image address 2023-06-29 22:44:21 +08:00
Xinwei Xiong 0092ec1871 Update README.md 2023-06-29 22:44:21 +08:00
Xinwei Xiong 2cf15e8893 fix: Update CONTRIBUTING.md 2023-06-29 22:44:21 +08:00
Xinwei Xiong 796612d56e fix: Update README.md file 2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) e009aea244 docs: design contributor documentation
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Xinwei Xiong(cubxxw) b8772ceb0f feat: extensions ignore files
Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com>
2023-06-29 22:44:21 +08:00
Gordon 6c5190f10f remove file 2023-06-29 22:44:21 +08:00
soasurs 2710db63a1 feat: add recvID/groupID for msg modification callback (#351)
Signed-off-by: soasurs <soasurs@gmail.com>
2023-06-29 22:44:20 +08:00
Gordon 4a7026622e ws recycle conn bug fix 2023-06-29 22:44:20 +08:00
wangchuxiao 09fe19d97b fix mongoDB bug 2023-06-29 22:44:19 +08:00
skiffer-git 7812a4bb58 Update config.example.yaml 2023-06-29 22:44:18 +08:00
skiffer-git e7afb35b31 Update README.md 2023-06-29 22:44:18 +08:00
skiffer-git a45e763fef Update config.yaml 2023-06-29 22:44:18 +08:00
Gordon f42b9a6dfe super group remove unread message 2023-06-29 22:44:16 +08:00
wangchuxiao 465dbf09cd fix script 2023-06-29 22:44:15 +08:00
Gordon 8c27ac3afc file add 2023-06-29 22:44:15 +08:00
withchao e598d8ad79 agree user join group 2023-06-29 22:44:15 +08:00
wangchuxiao bb65c7293e modify 2023-06-29 22:44:10 +08:00
skiffer-git 2f23baa629 check time synchronize 2023-06-29 22:44:08 +08:00
skiffer-git 22ad94b336 check time synchronize 2023-06-29 22:44:08 +08:00
Gordon 5870e9f599 add friend notification 2023-06-29 22:44:07 +08:00
skiffer-git 9af98618b4 log 2023-06-29 22:44:07 +08:00
skiffer-git d09576f54d log 2023-06-29 22:44:07 +08:00
skiffer-git fcabd1b1cf log 2023-06-29 22:44:07 +08:00
wangchuxiao 8aefd41cdd group 2023-06-29 22:44:06 +08:00
wangchuxiao ff1718fef5 group 2023-06-29 22:44:06 +08:00
wangchuxiao 6cc0fcf928 mongo 2023-06-29 22:44:05 +08:00
Gordon ad74d39e02 user 2023-06-29 22:44:02 +08:00
skiffer-git a248e0ffad Update README.md 2023-06-29 22:44:01 +08:00
skiffer-git f31410c6b1 readme 2023-06-29 22:44:01 +08:00
wangchuxiao d53d35c831 check script 2023-06-29 22:44:00 +08:00
skiffer-git 43eb2326d1 nginx config 2023-06-29 22:43:58 +08:00
skiffer-git 8246d0dd9f nginx config 2023-06-29 22:43:58 +08:00
skiffer-git bc12c74b85 slack 2023-06-29 22:43:58 +08:00
skiffer-git a047b4c5e6 slack 2023-06-29 22:43:58 +08:00
skiffer-git a39a3a9c0c slack 2023-06-29 22:43:58 +08:00
skiffer-git 103b0c3050 slack 2023-06-29 22:43:58 +08:00
wangchuxiao 795f78655f Merge branch 'main' into v2.3.0release
# Conflicts:
#	.env
#	install_im_server.sh
2023-06-29 22:43:57 +08:00
skiffer-git 1a6945f40b install_im_server 2023-06-29 22:43:57 +08:00
skiffer-git ec2ff42080 Optimize the script 2023-06-29 22:43:57 +08:00
skiffer-git eabb095dba Optimize the configuration 2023-06-29 22:43:57 +08:00
skiffer-git b82c795b50 remove log 2023-06-29 22:43:57 +08:00
skiffer-git fd30e5f469 log 2023-06-29 22:43:56 +08:00
Gordon 95b9f0d4a3 message pull 2023-06-29 22:43:52 +08:00
wangchuxiao 7c3a3d7c7c fix bug 2023-06-29 22:43:50 +08:00
skiffer-git 59c7300bc8 update proto 2023-06-29 22:43:48 +08:00
skiffer-git 610a66395a update proto 2023-06-29 22:43:48 +08:00
skiffer-git b6d3623dd7 update proto 2023-06-29 22:43:48 +08:00
skiffer-git 0f4b615aa3 update proto 2023-06-29 22:43:48 +08:00
wangchuxiao 8b616df1d5 organization 2023-06-29 22:43:48 +08:00
wangchuxiao 7aba8d1250 orgization 2023-06-29 22:43:48 +08:00
wangchuxiao 7f05212771 orgization 2023-06-29 22:43:48 +08:00
wangchuxiao c82e35f55c orgization 2023-06-29 22:43:48 +08:00
wangchuxiao 3651292186 grafana 2023-06-29 22:43:44 +08:00
skiffer-git e01c6799ac log 2023-06-29 22:43:41 +08:00
wangchuxiao d04133c042 add log 2023-06-29 22:43:41 +08:00
Gordon b82062ff54 log test 2023-06-29 22:43:39 +08:00
Gordon d914eb92d4 log test 2023-06-29 22:43:39 +08:00
Gordon 0a36ff7eec opid add 2023-06-29 22:43:36 +08:00
wangchuxiao 727e08f333 conversation 2023-06-29 22:43:35 +08:00
wangchuxiao 9c7165d121 cms 2023-06-29 22:43:33 +08:00
skiffer-git 9e3103cb90 log 2023-06-29 22:43:32 +08:00
skiffer-git 5f513287ba change log file mode 2023-06-29 22:43:32 +08:00
skiffer-git c4a5eb9cb3 change log file mode 2023-06-29 22:43:32 +08:00
Gordon a5f79eae07 user conn map copy 2023-06-29 22:43:32 +08:00
wangchuxiao bdb8642c12 k8s 2023-06-29 22:43:31 +08:00
skiffer-git 5709238c2b set mysql connection 2023-06-29 22:43:31 +08:00
wangchuxiao ae86caf39e fix bug 2023-06-29 22:43:30 +08:00
wangchuxiao 5148f3fdb6 etcd 2023-06-29 22:43:28 +08:00
wangchuxiao eb0a8132d5 update orgnization after update user 2023-06-29 22:43:27 +08:00
skiffer-git ad94857351 set mysql max conn 2023-06-29 22:43:27 +08:00
skiffer-git d3badd279a build_all_service 2023-06-29 22:43:27 +08:00
skiffer-git d947ca0965 batch_build_all_service 2023-06-29 22:43:27 +08:00
Gordon 92b9df8541 model add update time 2023-06-29 22:43:27 +08:00
wangchuxiao 92c2a420e9 rtc pb 2023-06-29 22:43:27 +08:00
skiffer-git ade80af037 GetSelfUserInfo: Handle the case where the user does not exist 2023-06-29 22:43:27 +08:00
wangchuxiao b5456da3f3 update orgnization after update user 2023-06-29 22:43:26 +08:00
wangchuxiao f23e904171 update orgnization after update user 2023-06-29 22:43:26 +08:00
Gordon 6cb8f01a74 retry function 2023-06-29 22:43:26 +08:00
Gordon af8d412d1a mark message 2023-06-29 22:43:25 +08:00
Gordon 4e5d180bfa mark message 2023-06-29 22:43:25 +08:00
欧阳氏 ae2342353f 封禁用户列表 2023-06-29 22:43:25 +08:00
wangchuxiao d1985a6de8 fix delete 2023-06-29 22:43:21 +08:00
wangchuxiao d8f751eb4f fix delete 2023-06-29 22:43:21 +08:00
wangchuxiao d6200180d9 fix delete 2023-06-29 22:43:21 +08:00
Gordon f0a22e6a6c conversation update 2023-06-29 22:43:21 +08:00
wangchuxiao fb018985c2 getui debug 2023-06-29 22:43:19 +08:00
wangchuxiao 7f1b2bd59a cache get group 2023-06-29 22:43:17 +08:00
wangchuxiao 4e51e4e79b fix bug 2023-06-29 22:43:15 +08:00
wangchuxiao 6f6382eae2 fix bug 2023-06-29 22:43:15 +08:00
wangchuxiao d275f6b4d4 fix bug 2023-06-29 22:43:14 +08:00
wangchuxiao 1096dcd49e minio obj locking 2023-06-29 22:43:14 +08:00
wangchuxiao 01adec6003 fix bug 2023-06-29 22:43:14 +08:00
Gordon e5d6107795 add test file 2023-06-29 22:43:14 +08:00
wenxu12345 06c74de0a8 debug 2023-06-29 22:43:12 +08:00
wenxu12345 31ab45d246 debug 2023-06-29 22:43:12 +08:00
wenxu12345 c458d59da5 debug 2023-06-29 22:43:12 +08:00
Gordon 5e5654f513 add update conversation unread count 2023-06-29 22:43:12 +08:00
Gordon cbba9bdeb3 remove validation for notificationFaceURL 2023-06-29 22:43:12 +08:00
wangchuxiao cf85ed2ffe superGroupMaxSeq 2023-06-29 22:43:11 +08:00
Gordon 3568c58574 seq add 2023-06-29 22:43:11 +08:00
wangchuxiao ba095cd196 superGroupMaxSeq 2023-06-29 22:43:11 +08:00
wangchuxiao 0edd99825d superGroupMaxSeq 2023-06-29 22:43:11 +08:00
wangchuxiao d7bae8573e fix bug 2023-06-29 22:43:11 +08:00
skiffer-git 5ada15a461 rename 2023-06-29 22:43:09 +08:00
skiffer-git 24e3196bf5 rename 2023-06-29 22:43:09 +08:00
skiffer-git 0211f568a0 rename 2023-06-29 22:43:09 +08:00
skiffer-git 5e60ba7f0d rename 2023-06-29 22:43:09 +08:00
skiffer-git 69b805a537 rename 2023-06-29 22:43:09 +08:00
skiffer-git 5c405a9f3f rename 2023-06-29 22:43:09 +08:00
skiffer-git ce22696760 rename 2023-06-29 22:43:09 +08:00
wangchuxiao cf9a7a7cb7 docker-compose fix 2023-06-29 22:43:08 +08:00
skiffer-git 3189937aca new image 2023-06-29 22:43:08 +08:00
Gordon 3ef9db0ebe add docker-compose shard cluster 2023-06-29 22:43:06 +08:00
Gordon e6161ee410 add docker-compose shard cluster 2023-06-29 22:43:06 +08:00
Gordon f824b824e0 add docker-compose shard cluster 2023-06-29 22:43:06 +08:00
Gordon 14959b7d96 add docker-compose shard cluster 2023-06-29 22:43:06 +08:00
欧阳氏 6dce8188dc + windows编译脚本 (#245)
新增windows编译脚本
win_build_all_service.cmd windows下编译脚本
win_start_all_service.cmd windows下执行脚本
2023-06-29 22:43:06 +08:00
Gordon 8a869335ad check all shell update 2023-06-29 22:43:06 +08:00
Gordon 3ecc50bc3d test 2023-06-29 22:43:05 +08:00
wangchuxiao cf8cc38e22 v2.2.0 2023-06-29 22:43:05 +08:00
Gordon 3cca12f0b7 test 2023-06-29 22:43:05 +08:00
skiffer-git a05e5b6bca fix bug 2023-06-29 22:43:04 +08:00
Gordon b64f141f9a compose file update 2023-06-29 22:43:03 +08:00
skiffer-git 431472363d fix bug 2023-06-29 22:43:02 +08:00
Gordon e4eea8cb35 mongo version update 2023-06-29 22:43:02 +08:00
skiffer-git 7ae19ad111 fix bug 2023-06-29 22:43:02 +08:00
skiffer-git 244d38b616 debug 2023-06-29 22:43:02 +08:00
wangchuxiao 3df74a08fa docker-compose 2023-06-29 22:43:01 +08:00
wangchuxiao 2d6d5e707f docker-compose 2023-06-29 22:43:01 +08:00
wangchuxiao d98c9683e6 demo 2023-06-29 22:43:01 +08:00
Gordon a7c7b5ce58 compose file update 2023-06-29 22:43:01 +08:00
wangchuxiao f9014afe94 fix bug 2023-06-29 22:43:00 +08:00
wangchuxiao bbf3c2d981 fix bug 2023-06-29 22:43:00 +08:00
Gordon bbd3ebc9c9 test 2023-06-29 22:43:00 +08:00
Gordon 6655a4135c compose limit memory 2023-06-29 22:42:59 +08:00
Gordon f3f014c170 jpush add config for ios env mode 2023-06-29 22:42:59 +08:00
Gordon dec96cd429 jpush add config for ios env mode 2023-06-29 22:42:59 +08:00
wangchuxiao 315fc6024e v2.1.0 2023-06-29 22:42:58 +08:00
wangchuxiao 8583dd017a merge super 2 tuoyun 2023-06-29 22:42:58 +08:00
wangchuxiao 036105ab47 入职流程 2023-06-29 22:42:58 +08:00
skiffer-git f71d9b95c1 log for etcd 2023-06-29 22:42:58 +08:00
wangchuxiao 9d2a2804ab 入职流程 2023-06-29 22:42:58 +08:00
wangchuxiao d5c338dee5 fix bug 2023-06-29 22:42:58 +08:00
skiffer-git 1536d7e259 log for etcd 2023-06-29 22:42:58 +08:00
wangchuxiao 1bdf743193 fix bug 2023-06-29 22:42:58 +08:00
wangchuxiao b3f924c081 fix bug 2023-06-29 22:42:58 +08:00
Gordon 434f09c6d8 user proto modify 2023-06-29 22:42:58 +08:00
Gordon d3e6d210ee user proto modify 2023-06-29 22:42:58 +08:00
Gordon 5f5320e353 user proto modify 2023-06-29 22:42:58 +08:00
wangchuxiao c18b0ce26e fix bug 2023-06-29 22:42:58 +08:00
wangchuxiao 6d1930d0d1 fix bug 2023-06-29 22:42:58 +08:00
wangchuxiao a8cd3129e7 fix bug 2023-06-29 22:42:57 +08:00
skiffer-git b0d8fe5c3d fix bug 2023-06-29 22:42:57 +08:00
skiffer-git 5f9f1ab996 Handling exception: getcdv3.GetConn == nil 2023-06-29 22:42:57 +08:00
skiffer-git cab0a46fb3 Handling exception: getcdv3.GetConn == nil 2023-06-29 22:42:56 +08:00
skiffer-git 1cbd2eed9d Handling exception: getcdv3.GetConn == nil 2023-06-29 22:42:56 +08:00
Gordon 389ea2c726 add global recv opt 2023-06-29 22:42:56 +08:00
skiffer-git e923cbd53e Optimization for log 2023-06-29 22:42:56 +08:00
skiffer-git e1eb18db13 Optimization for log 2023-06-29 22:42:56 +08:00
wangchuxiao 2ee723c134 GlobalRecvMsgOpt 2023-06-29 22:42:56 +08:00
wangchuxiao 8de737f0b3 hash userID 2023-06-29 22:42:56 +08:00
Gordon 320aad203c redis replace to go_redis 2023-06-29 22:42:55 +08:00
wangchuxiao 2f3a731f3a go-redis 2023-06-29 22:42:55 +08:00
wangchuxiao a6b1a35bea alter rtc timeout 2023-06-29 22:42:55 +08:00
wangchuxiao a62d5b3897 alter rtc timeout 2023-06-29 22:42:55 +08:00
wangchuxiao f7ab01be27 alter rtc timeout 2023-06-29 22:42:55 +08:00
wangchuxiao 3da22fc1cc alter rtc timeout 2023-06-29 22:42:55 +08:00
wangchuxiao 70a576123d alter rtc timeout 2023-06-29 22:42:55 +08:00
Gordon 0c7d6022ca user add global set message recv opt 2023-06-29 22:42:55 +08:00
Gordon 3a04780aec log 2023-06-29 22:42:55 +08:00
Gordon d52a9a9206 redis model update 2023-06-29 22:42:55 +08:00
Gordon 34cbbbd826 push update 2023-06-29 22:42:54 +08:00
skiffer-git 9ea6520092 SuperGroupOnlineBatchPushOneMsg 2023-06-29 22:42:54 +08:00
wangchuxiao 5010060459 org 2023-06-29 22:42:54 +08:00
wangchuxiao 52869c9a39 org 2023-06-29 22:42:54 +08:00
wangchuxiao 12efe434ee org 2023-06-29 22:42:54 +08:00
skiffer-git e0f3014c4e batch build 2023-06-29 22:42:54 +08:00
skiffer-git ff81d7a6a5 compile 2023-06-29 22:42:54 +08:00
skiffer-git 830d3f9a28 batch push 2023-06-29 22:42:54 +08:00
skiffer-git fe5b457f29 batch build 2023-06-29 22:42:54 +08:00
skiffer-git cbf53e12cd batch build 2023-06-29 22:42:54 +08:00
wangchuxiao 3825653c49 org 2023-06-29 22:42:54 +08:00
skiffer-git 4329cfc414 batch build 2023-06-29 22:42:54 +08:00
wangchuxiao d9aa410045 base64 userID 2023-06-29 22:42:54 +08:00
wangchuxiao 2f62db66cb base64 userID 2023-06-29 22:42:54 +08:00
skiffer-git 05e378fe37 batch build 2023-06-29 22:42:54 +08:00
skiffer-git ad5d32538c batch build 2023-06-29 22:42:54 +08:00
skiffer-git 929c0415a1 batch build 2023-06-29 22:42:54 +08:00
skiffer-git 866a41472d batch build 2023-06-29 22:42:54 +08:00
skiffer-git 5df0598aea batch build 2023-06-29 22:42:54 +08:00
skiffer-git 6515599986 batch build 2023-06-29 22:42:54 +08:00
skiffer-git 3f313a40d2 batch build 2023-06-29 22:42:54 +08:00
skiffer-git 448cdddc80 batch build 2023-06-29 22:42:54 +08:00
skiffer-git 71ae2d1f01 batch build 2023-06-29 22:42:54 +08:00
skiffer-git 68df4c86ee batch build 2023-06-29 22:42:54 +08:00
skiffer-git 4609675a39 batch build 2023-06-29 22:42:54 +08:00
wangchuxiao dc3206dd3e fix signal 2023-06-29 22:42:53 +08:00
wangchuxiao 2661f71671 demo 2023-06-29 22:42:53 +08:00
wangchuxiao 57d2be140a demo 2023-06-29 22:42:53 +08:00
wangchuxiao 7d9494ebb2 fix bug 2023-06-29 22:42:52 +08:00
wangchuxiao 2d55e92d8c fix bug 2023-06-29 22:42:52 +08:00
wangchuxiao 439110f95b fix bug 2023-06-29 22:42:52 +08:00
wangchuxiao 54589814f8 fix bug 2023-06-29 22:42:52 +08:00
wangchuxiao 13498a5f95 fix bug 2023-06-29 22:42:52 +08:00
wangchuxiao 119aa4df02 organization 2023-06-29 22:42:52 +08:00
wangchuxiao 6ce261c7f1 fix bug 2023-06-29 22:42:52 +08:00
wangchuxiao c2a1134a53 organization 2023-06-29 22:42:52 +08:00
Gordon 9d63a09ec1 ws pb 2023-06-29 22:42:51 +08:00
Gordon 60f8c117c1 super group push 2023-06-29 22:42:51 +08:00
Gordon c41fd248cc ws and push update 2023-06-29 22:42:50 +08:00
Gordon 9594f6a2df ws and push update 2023-06-29 22:42:50 +08:00
Gordon d6971f959e ws and push update 2023-06-29 22:42:50 +08:00
wenxu12345 61f58bf465 tools 2023-06-29 22:42:49 +08:00
Gordon d990af7e71 redis replace go redis 2023-06-29 22:42:49 +08:00
Gordon b9597a139b redis replace go redis 2023-06-29 22:42:49 +08:00
Gordon 85b9a2cc39 redis replace go redis 2023-06-29 22:42:49 +08:00
Gordon f002044db1 redis replace go redis 2023-06-29 22:42:49 +08:00
Gordon 40494f605b redis replace go redis 2023-06-29 22:42:49 +08:00
Gordon 1c36220c1f redis replace go redis 2023-06-29 22:42:49 +08:00
Gordon 96f2eea111 redis replace go redis 2023-06-29 22:42:48 +08:00
Gordon 7a5c8323df redis replace go redis 2023-06-29 22:42:48 +08:00
Gordon 6e088f1eb8 redis replace go redis 2023-06-29 22:42:48 +08:00
Gordon 29f9931a42 redis replace go redis 2023-06-29 22:42:48 +08:00
Gordon f3fbe86ca4 log 2023-06-29 22:42:48 +08:00
wenxu12345 89098f65d6 super group 2023-06-29 22:42:48 +08:00
Gordon 3c9afe5bcf log 2023-06-29 22:42:48 +08:00
Gordon cb44e1678d message update 2023-06-29 22:42:48 +08:00
wenxu12345 26edb159d9 super group 2023-06-29 22:42:48 +08:00
Gordon 5013a2cd42 pb file 2023-06-29 22:42:47 +08:00
wenxu12345 f189bb83e5 super group 2023-06-29 22:42:47 +08:00
wangchuxiao daec07b09e rtc 2023-06-29 22:42:47 +08:00
wangchuxiao 67da48a41a signal 2023-06-29 22:42:46 +08:00
skiffer-git c05a98dca6 remove kick 2023-06-29 22:42:46 +08:00
skiffer-git 9bacd07973 set time out 2023-06-29 22:42:46 +08:00
skiffer-git 7e517b9ab9 set time out 2023-06-29 22:42:46 +08:00
skiffer-git c2782a4bb6 SetWriteTimeoutWriteMsg 2023-06-29 22:42:46 +08:00
skiffer-git 0a2e4d2325 log 2023-06-29 22:42:46 +08:00
skiffer-git 4e8b240dc6 log 2023-06-29 22:42:46 +08:00
skiffer-git 87fed2bb0f add send msg timeout 2023-06-29 22:42:46 +08:00
skiffer-git 0363bce110 add send msg timeout 2023-06-29 22:42:45 +08:00
skiffer-git 2b60982327 log 2023-06-29 22:42:45 +08:00
Gordon 4c5b4a38fc log 2023-06-29 22:42:45 +08:00
Gordon a97eb7b7c9 log 2023-06-29 22:42:45 +08:00
wangchuxiao b4a8e9a2c4 singal offline push 2023-06-29 22:42:43 +08:00
wangchuxiao 60486f3b2e organization 2023-06-29 22:42:41 +08:00
wangchuxiao f6e0fa378c k8s 2023-06-29 22:42:41 +08:00
wangchuxiao 73db052ab3 k8s 2023-06-29 22:42:41 +08:00
wangchuxiao c48e149ae6 k8s 2023-06-29 22:42:41 +08:00
wangchuxiao 3c9ca0b006 k8s 2023-06-29 22:42:41 +08:00
wangchuxiao e1ab1a00ae k8s 2023-06-29 22:42:41 +08:00
wangchuxiao 463d0a4ca7 k8s 2023-06-29 22:42:41 +08:00
wangchuxiao 1cc9a5a2ae k8s 2023-06-29 22:42:41 +08:00
wangchuxiao e377ac3b06 k8s 2023-06-29 22:42:41 +08:00
wangchuxiao aa54133ed5 k8s 2023-06-29 22:42:41 +08:00
wangchuxiao 6a94de9c84 k8s 2023-06-29 22:42:41 +08:00
wangchuxiao b02859bbfe k8s 2023-06-29 22:42:41 +08:00
wangchuxiao ce2830e9a1 k8s 2023-06-29 22:42:41 +08:00
wangchuxiao 7e28c27f2a k8s 2023-06-29 22:42:41 +08:00
wangchuxiao 9553b4056e k8s 2023-06-29 22:42:41 +08:00
wangchuxiao 381213ae75 k8s 2023-06-29 22:42:40 +08:00
wangchuxiao 10da5beb5a k8s 2023-06-29 22:42:40 +08:00
wangchuxiao 41af67be53 k8s 2023-06-29 22:42:40 +08:00
wangchuxiao 716d6accb7 k8s 2023-06-29 22:42:40 +08:00
wangchuxiao 965c8bd9a4 callback 2023-06-29 22:42:40 +08:00
wangchuxiao fba3b25225 callback 2023-06-29 22:42:40 +08:00
wangchuxiao c1dd36d09e ingress 2023-06-29 22:42:39 +08:00
wangchuxiao b998162a7e ingress 2023-06-29 22:42:39 +08:00
wangchuxiao 94b7ce2172 ingress 2023-06-29 22:42:39 +08:00
wangchuxiao 2a75b42e6a ingress 2023-06-29 22:42:39 +08:00
wangchuxiao 4c884ee078 callback 2023-06-29 22:42:39 +08:00
wangchuxiao d9b5fc8be0 callback 2023-06-29 22:42:39 +08:00
wangchuxiao c9a9eb7ec6 ingress 2023-06-29 22:42:39 +08:00
wangchuxiao 2843f8b03d ingress 2023-06-29 22:42:38 +08:00
wangchuxiao 29ca352766 ingress 2023-06-29 22:42:38 +08:00
wangchuxiao a40a9da324 ingress 2023-06-29 22:42:38 +08:00
wangchuxiao 6680833efb script 2023-06-29 22:42:38 +08:00
wangchuxiao 4a8ad389d8 script 2023-06-29 22:42:38 +08:00
wangchuxiao e444ba3fd0 script 2023-06-29 22:42:38 +08:00
wangchuxiao 103c0f88ee script 2023-06-29 22:42:38 +08:00
wangchuxiao 7ecd39acb7 script 2023-06-29 22:42:38 +08:00
wangchuxiao ccc34bcb0a script 2023-06-29 22:42:38 +08:00
wangchuxiao 1b87c322b3 script 2023-06-29 22:42:38 +08:00
wangchuxiao 384d39120d script 2023-06-29 22:42:38 +08:00
wangchuxiao cad360869e script 2023-06-29 22:42:38 +08:00
wangchuxiao 0390a34ee6 script 2023-06-29 22:42:38 +08:00
wangchuxiao ae9be873c5 script 2023-06-29 22:42:38 +08:00
wangchuxiao 5c26611886 script 2023-06-29 22:42:38 +08:00
wangchuxiao e56c8923a2 script 2023-06-29 22:42:38 +08:00
wangchuxiao c35d7d3e01 script 2023-06-29 22:42:38 +08:00
wangchuxiao 8ed629118e del msg 2023-06-29 22:42:38 +08:00
wenxu12345 bf42f0b907 debug 2023-06-29 22:42:38 +08:00
wangchuxiao d5ffbf4d67 del msg 2023-06-29 22:42:38 +08:00
Gordon 8511ea166b message update 2023-06-29 22:42:37 +08:00
Gordon d14e9c8430 message update 2023-06-29 22:42:37 +08:00
Gordon 6adef7b562 pb file 2023-06-29 22:42:37 +08:00
Gordon 86a6ab1c47 pb file 2023-06-29 22:42:37 +08:00
wenxu12345 7e38335f0c msg cache 2023-06-29 22:42:37 +08:00
wenxu12345 daa716a083 msg cache 2023-06-29 22:42:36 +08:00
wangchuxiao d8814ad09f k8s deploy 2023-06-29 22:42:35 +08:00
Gordon aee20ffe09 docker compose file update 2023-06-29 22:42:35 +08:00
Gordon 880901364f compose file update 2023-06-29 22:42:35 +08:00
Gordon a98950381e compose file update 2023-06-29 22:42:35 +08:00
Gordon eac4215f62 compose file update 2023-06-29 22:42:35 +08:00
Gordon bbf125b351 compose file update 2023-06-29 22:42:35 +08:00
Gordon 52461c09b5 compose file update 2023-06-29 22:42:35 +08:00
Gordon 7762d57609 compose file update 2023-06-29 22:42:35 +08:00
wangchuxiao ac52b250e7 k8s deploy 2023-06-29 22:42:35 +08:00
Gordon 5070a72752 consumer update 2023-06-29 22:42:35 +08:00
wangchuxiao 5326741b26 k8s deploy 2023-06-29 22:42:35 +08:00
wangchuxiao aae7bb45ec k8s deploy 2023-06-29 22:42:35 +08:00
wangchuxiao 51eec6ccaa k8s deploy 2023-06-29 22:42:35 +08:00
wangchuxiao 56e26a31bb k8s deploy 2023-06-29 22:42:35 +08:00
wangchuxiao bbbeaa0f0d k8s deploy 2023-06-29 22:42:35 +08:00
wangchuxiao db93f7cba9 k8s deploy 2023-06-29 22:42:35 +08:00
Gordon d17559c528 log 2023-06-29 22:42:35 +08:00
wangchuxiao 2c2b5d5737 k8s deploy 2023-06-29 22:42:35 +08:00
wangchuxiao 8708659761 k8s deploy 2023-06-29 22:42:35 +08:00
skiffer-git c0a9ddb760 log 2023-06-29 22:42:35 +08:00
Gordon 4d2f3fa219 concurrent consumption of messages 2023-06-29 22:42:33 +08:00
skiffer-git c7e0a57b50 fix bug 2023-06-29 22:42:33 +08:00
Gordon e8670896b3 concurrent consumption of messages 2023-06-29 22:42:33 +08:00
skiffer-git d5167688b1 fix bug 2023-06-29 22:42:33 +08:00
Gordon 1fda2e5135 concurrent consumption of messages 2023-06-29 22:42:33 +08:00
skiffer-git d6dc839f34 log 2023-06-29 22:42:33 +08:00
skiffer-git 1af6e628ff batch to mongo 2023-06-29 22:42:32 +08:00
skiffer-git fa7c6b6f52 batch to mongo 2023-06-29 22:42:32 +08:00
skiffer-git a35712f281 batch to mongo 2023-06-29 22:42:32 +08:00
skiffer-git 5e76a8b3a8 batch to mongo 2023-06-29 22:42:32 +08:00
skiffer-git 3345771bca batch to mongo 2023-06-29 22:42:31 +08:00
skiffer-git 37c668cc29 batch to mongo 2023-06-29 22:42:31 +08:00
skiffer-git db4d8976f8 batch to mongo 2023-06-29 22:42:31 +08:00
skiffer-git 7b2de29e30 batch to mongo 2023-06-29 22:42:31 +08:00
skiffer-git ae7e681bca batch to mongo 2023-06-29 22:42:31 +08:00
Gordon 61c102c794 push message 2023-06-29 22:42:31 +08:00
Gordon 8a1ddafec8 tag message sender not notification 2023-06-29 22:42:31 +08:00
wangchuxiao c4d3f87bf1 k8s_deployment 2023-06-29 22:42:31 +08:00
wangchuxiao 270034204c k8s_deploy 2023-06-29 22:42:31 +08:00
wangchuxiao c65c1a0859 k8s_deploy 2023-06-29 22:42:31 +08:00
wangchuxiao b238ccbc29 k8s_deploy 2023-06-29 22:42:31 +08:00
wangchuxiao ebd3a2e84f k8s_deploy 2023-06-29 22:42:31 +08:00
wangchuxiao 81374ef98f k8s_deploy 2023-06-29 22:42:31 +08:00
wangchuxiao 831f074a99 k8s_deploy 2023-06-29 22:42:31 +08:00
wangchuxiao 0f38dc5c6b k8s_deploy 2023-06-29 22:42:31 +08:00
wangchuxiao 1a5f3c25c1 k8s_deploy 2023-06-29 22:42:31 +08:00
wangchuxiao 28a5ca824c k8s_deploy 2023-06-29 22:42:31 +08:00
wangchuxiao faee88a442 k8s_deploy 2023-06-29 22:42:31 +08:00
wangchuxiao 231ce47fd6 k8s_deploy 2023-06-29 22:42:31 +08:00
wangchuxiao 09f818f0f9 k8s_deploy 2023-06-29 22:42:31 +08:00
wangchuxiao a6bdc36318 k8s_deploy 2023-06-29 22:42:31 +08:00
wangchuxiao 2d107ec5af k8s_deploy 2023-06-29 22:42:31 +08:00
wangchuxiao 2eedba89d4 k8s_deploy 2023-06-29 22:42:31 +08:00
wangchuxiao e67fe4ca88 k8s_deploy 2023-06-29 22:42:31 +08:00
wangchuxiao b4caadc704 k8s_deploy 2023-06-29 22:42:31 +08:00
Gordon f26170540f options add value 2023-06-29 22:42:30 +08:00
wangchuxiao e459295a72 organization 2023-06-29 22:42:30 +08:00
skiffer-git 58c717f75b Update README.md 2023-06-29 22:42:29 +08:00
skiffer-git b8dae3b1c2 Update README.md 2023-06-29 22:42:29 +08:00
skiffer-git b2f049827e Update README.md 2023-06-29 22:42:29 +08:00
skiffer-git 8cf3977208 Add files via upload 2023-06-29 22:42:29 +08:00
skiffer-git 82b1dfea56 Delete Wechat.jpg 2023-06-29 22:42:29 +08:00
skiffer-git 6c8e11caf0 Update README.md 2023-06-29 22:42:29 +08:00
skiffer-git df6e8be6c4 Update README.md 2023-06-29 22:42:29 +08:00
skiffer-git 2986328ed0 Update README.md 2023-06-29 22:42:29 +08:00
skiffer-git 493d9dc7d8 Update README.md 2023-06-29 22:42:29 +08:00
skiffer-git b037af820f Add files via upload 2023-06-29 22:42:29 +08:00
Gordon 9ea9dcfe92 log add operationID 2023-06-29 22:42:29 +08:00
Gordon a83b5a6e35 docker-compose version upgrade 2023-06-29 22:42:29 +08:00
Gordon 8fcc851f8c add log 2023-06-29 22:42:29 +08:00
wangchuxiao 76ee5be606 organization 2023-06-29 22:42:29 +08:00
wangchuxiao 342ea0b767 organization 2023-06-29 22:42:29 +08:00
wangchuxiao 8acf60a1ef organization 2023-06-29 22:42:29 +08:00
wangchuxiao a5455feff4 organization 2023-06-29 22:42:29 +08:00
Gordon 143c0e022c compose restore 2023-06-29 22:42:29 +08:00
Gordon 01828b8635 video message send 2023-06-29 22:42:28 +08:00
wangchuxiao 78a78ab22a update app 2023-06-29 22:42:28 +08:00
Gordon e1eef33cf2 add kafka manager 2023-06-29 22:42:27 +08:00
wangchuxiao f35ab2638f update app 2023-06-29 22:42:27 +08:00
wangchuxiao 213ed54266 update app 2023-06-29 22:42:27 +08:00
wenxu12345 838fa4ff7b add ParseToken 2023-06-29 22:42:25 +08:00
Gordon cde6f1ee9b test 2023-06-29 22:42:24 +08:00
Gordon 55be9da582 manager send message to mysql duplicate primary key fix 2023-06-29 22:42:24 +08:00
skiffer-git aae978535b add err log 2023-06-29 22:42:24 +08:00
skiffer-git ef91522813 add err log 2023-06-29 22:42:24 +08:00
Gordon f887b50471 log change 2023-06-29 22:42:22 +08:00
skiffer-git 9a2102e96c delete msg by index 2023-06-29 22:42:22 +08:00
skiffer-git 7285bc7657 delete msg by index 2023-06-29 22:42:22 +08:00
skiffer-git 4c5766b7af group chat log 2023-06-29 22:41:57 +08:00
wangchuxiao 57b70c0490 cache 2023-06-29 22:41:34 +08:00
Gordon 0b68ba5874 send message parallel 2023-06-29 22:41:31 +08:00
wenxu12345 012b6d09f7 Revert "update etcd to v3.5.2 (#206)"
This reverts commit 766b6e9f
2023-06-29 22:41:31 +08:00
wenxu12345 7c3b3431fe etcd 2023-06-29 22:41:31 +08:00
wenxu12345 d88036758b etcd 2023-06-29 22:41:31 +08:00
wenxu12345 83b33771f4 etcd 2023-06-29 22:41:31 +08:00
wenxu12345 50de2a7cc6 etcd 2023-06-29 22:41:31 +08:00
Gordon 647d03fcca test 2023-06-29 22:41:31 +08:00
Gordon f4d7457a57 test 2023-06-29 22:41:31 +08:00
wangchuxiao 8554f1e228 cache & workMoments 2023-06-29 22:41:31 +08:00
wenxu12345 36c6a3b41b config 2023-06-29 22:41:31 +08:00
wenxu12345 3debc27227 config 2023-06-29 22:41:31 +08:00
wenxu12345 e7c5e465d1 config 2023-06-29 22:41:31 +08:00
wenxu12345 e1ee0500ea config 2023-06-29 22:41:31 +08:00
wenxu12345 41d94e2f40 config 2023-06-29 22:41:31 +08:00
Gordon 82511322a2 test 2023-06-29 22:41:31 +08:00
yiippee 4987f8b80c update etcd to v3.5.2 (#206)
Co-authored-by: lizhanbin <lizhanbin@52tt.com>
2023-06-29 22:41:31 +08:00
wenxu12345 a090ecb8ac ulimit -n 2023-06-29 22:40:32 +08:00
Gordon e6dd438a84 log modify 2023-06-29 22:40:31 +08:00
wenxu12345 970786b755 ulimit -n 2023-06-29 22:40:30 +08:00
wenxu12345 4a2556653a fix bug user_register port 2023-06-29 22:40:30 +08:00
wangchuxiao 7169113067 cache rpc 2023-06-29 22:40:23 +08:00
Gordon 7c007e54a3 conversation update 2023-06-29 22:40:23 +08:00
Gordon a994ef5f67 conversation update 2023-06-29 22:40:23 +08:00
wenxu12345 925bdfa773 Adjust port 2023-06-29 22:40:23 +08:00
wenxu12345 9b13aeafce Adjust port 2023-06-29 22:40:23 +08:00
Gordon ee88c586cc conversation update 2023-06-29 22:40:23 +08:00
wenxu12345 9359399d07 Adjust port 2023-06-29 22:40:23 +08:00
wenxu12345 fe83cda881 Adjust port 2023-06-29 22:40:23 +08:00
wenxu12345 f0616a3052 Adjust port 2023-06-29 22:40:23 +08:00
wenxu12345 46142aa670 Adjust port 2023-06-29 22:40:23 +08:00
wenxu12345 1fae6a61d7 Adjust port 2023-06-29 22:40:23 +08:00
wangchuxiao 51891c632d alter router 2023-06-29 22:40:22 +08:00
Gordon 29d81d5e8f shell update 2023-06-29 22:40:16 +08:00
wangchuxiao 8d93d5a780 work_moments 2023-06-29 22:40:16 +08:00
Gordon 67dcd24410 add modify conversation api 2023-06-29 22:40:16 +08:00
Gordon 9b6446c95e add modify conversation api 2023-06-29 22:40:16 +08:00
Gordon 9e593085c1 add modify conversation api 2023-06-29 22:40:16 +08:00
Gordon 21a63b98ce @ people update 2023-06-29 22:40:16 +08:00
Gordon 830784463c config 2023-06-29 22:40:15 +08:00
Gordon 102feb0e57 config 2023-06-29 22:40:15 +08:00
Gordon 5572f90319 add rpc conversation 2023-06-29 22:40:15 +08:00
wangchuxiao f16b7d694b fix docker-compose 2023-06-29 22:40:15 +08:00
wangchuxiao ba8765aed0 Merge branch 'tuoyun'
# Conflicts:
#	config/config.yaml
2023-06-29 22:40:15 +08:00
Gordon 11d120e387 conversation update 2023-06-29 22:40:15 +08:00
wangchuxiao f4768df8ee minio config 2023-06-29 22:40:15 +08:00
Gordon a5a3d039c6 conversation update 2023-06-29 22:40:15 +08:00
wangchuxiao 6a1c0960e1 workMoments 2023-06-29 22:40:15 +08:00
Gordon 7964a6a7ce conversation update 2023-06-29 22:40:15 +08:00
Gordon 41212de95d kick group invite group update 2023-06-29 22:40:15 +08:00
Gordon f0aa679b6d kick group invite group update 2023-06-29 22:40:14 +08:00
Gordon 541dacd293 quit group and dismiss group update 2023-06-29 22:40:14 +08:00
Gordon 393eb6aecb quit group and dismiss group update 2023-06-29 22:40:14 +08:00
Gordon ece1dac81a add save message to mysql switch 2023-06-29 22:40:12 +08:00
Gordon a525db7088 conversation add fields 2023-06-29 22:40:12 +08:00
skiffer-git 20000ac670 add cache 2023-06-29 22:40:11 +08:00
skiffer-git 1f0f81c60d add cache 2023-06-29 22:40:11 +08:00
skiffer-git 8a938c889b log 2023-06-29 22:40:11 +08:00
wangchuxiao 5601a33c17 workMoments 2023-06-29 22:40:11 +08:00
Gordon 1c8f0076ad pb file 2023-06-29 22:40:11 +08:00
Gordon be3869ba2b pb file 2023-06-29 22:40:11 +08:00
skiffer-git 2d57f742e2 Organization 2023-06-29 22:40:11 +08:00
skiffer-git 066fae0b74 Organization 2023-06-29 22:40:11 +08:00
skiffer-git 31d2527cfe Organization 2023-06-29 22:40:11 +08:00
skiffer-git 6182ac4e23 Organization 2023-06-29 22:40:11 +08:00
skiffer-git 537df93b17 Organization 2023-06-29 22:40:11 +08:00
skiffer-git 53281eef3d Organization 2023-06-29 22:40:11 +08:00
skiffer-git efcf466c7d OrganizationChangedNotification 2023-06-29 22:40:11 +08:00
skiffer-git bf81b7a78b OrganizationChangedNotification 2023-06-29 22:40:11 +08:00
skiffer-git 1ea38e6b20 OrganizationChangedNotification 2023-06-29 22:40:11 +08:00
wangchuxiao 81ec54d6e4 workMoments 2023-06-29 22:40:08 +08:00
skiffer-git 0122c4f9ce organization 2023-06-29 22:40:06 +08:00
skiffer-git 4adb409fc5 add operationID when ws connecting 2023-06-29 22:40:06 +08:00
skiffer-git b05565026a add operationID when ws connecting 2023-06-29 22:40:06 +08:00
skiffer-git 8a5bb7be35 add operationID when ws connecting 2023-06-29 22:40:06 +08:00
skiffer-git d3aa3dbf41 add operationID when ws connecting 2023-06-29 22:35:31 +08:00
skiffer-git dbf233d30b organization 2023-06-29 22:35:31 +08:00
skiffer-git 0392d9e900 organization 2023-06-29 22:35:31 +08:00
skiffer-git 06fe1f5b5a organization 2023-06-29 22:35:31 +08:00
skiffer-git 9d999c4067 organization 2023-06-29 22:35:31 +08:00
skiffer-git 35d4ea7cce organization 2023-06-29 22:35:31 +08:00
skiffer-git 5cfffc61a4 organization 2023-06-29 22:35:31 +08:00
skiffer-git 164a15cfd0 organization 2023-06-29 22:35:31 +08:00
skiffer-git 97303eebe4 organization 2023-06-29 22:35:31 +08:00
skiffer-git e73f5981c9 organization 2023-06-29 22:35:31 +08:00
skiffer-git a030d7181c organization 2023-06-29 22:35:31 +08:00
skiffer-git ec9474e96f organization 2023-06-29 22:35:31 +08:00
skiffer-git 5271d22174 organization 2023-06-29 22:35:31 +08:00
skiffer-git 581dbec117 /user/get_users_online_status 2023-06-29 22:35:31 +08:00
skiffer-git 9c19d2d81c set group member nickname 2023-06-29 22:35:31 +08:00
skiffer-git ee0a168414 set group member nickname 2023-06-29 22:35:31 +08:00
skiffer-git e1bb294fdb set group member nickname 2023-06-29 22:35:31 +08:00
skiffer-git f9d9f794de set groupmember nickname 2023-06-29 22:35:31 +08:00
skiffer-git 4f6f68b70f organization 2023-06-29 22:35:31 +08:00
skiffer-git aa73b78e84 organization 2023-06-29 22:35:31 +08:00
skiffer-git c9d7c20871 organization 2023-06-29 22:35:31 +08:00
skiffer-git d949ee0239 organization 2023-06-29 22:35:31 +08:00
skiffer-git f917eb19f1 organization 2023-06-29 22:35:31 +08:00
skiffer-git df2271ee9a organization 2023-06-29 22:35:31 +08:00
Xinwei Xiong(cubxxw-openim) 6d499032fa v3 - main to cut out 2023-06-29 22:35:31 +08:00
791 changed files with 86236 additions and 90810 deletions
+79
View File
@@ -0,0 +1,79 @@
# Copyright © 2023 OpenIM. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#---------------Infrastructure configuration---------------------#
etcd:
etcdSchema: openim #默认即可
etcdAddr: [ 127.0.0.1:2379 ] #单机部署时,默认即可
userName:
password:
secret: openIM123
mysql:
dbMysqlDatabaseName: admin_chat # 数据库名字 默认即可
# 默认管理员账号
admin:
defaultAccount:
account: [ "admin1", "admin2" ]
defaultPassword: [ "password1", "password2" ]
openIMUserID: [ "openIM123456", "openIMAdmin" ]
faceURL: [ "", "" ]
nickname: [ "admin1", "admin2" ]
level: [ 1, 100 ]
adminapi:
openImAdminApiPort: [ 10009 ] #管理后台api服务端口,默认即可,需要开放此端口或做nginx转发
listenIP: 0.0.0.0
chatapi:
openImChatApiPort: [ 10008 ] #登录注册,默认即可,需要开放此端口或做nginx转发
listenIP: 0.0.0.0
rpcport: # rpc服务端口 默认即可
openImAdminPort: [ 30200 ]
openImChatPort: [ 30300 ]
rpcregistername: #rpc注册服务名,默认即可
openImChatName: Chat
openImAdminCMSName: Admin
chat:
codeTTL: 300 #短信验证码有效时间(秒)
superVerificationCode: 666666 # 超级验证码
alismsverify: #阿里云短信配置,在阿里云申请成功后修改以下四项
accessKeyId:
accessKeySecret:
signName:
verificationCodeTemplateCode:
oss:
tempDir: enterprise-temp # 临时密钥上传的目录
dataDir: enterprise-data # 最终存放目录
aliyun:
endpoint: https://oss-cn-chengdu.aliyuncs.com
accessKeyID: ""
accessKeySecret: ""
bucket: ""
tencent:
BucketURL: ""
serviceURL: https://cos.COS_REGION.myqcloud.com
secretID: ""
secretKey: ""
sessionToken: ""
bucket: ""
use: "minio"
@@ -0,0 +1,27 @@
# Copyright © 2023 OpenIM. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#more datasource-compose.yaml
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
access: proxy
orgId: 1
url: http://127.0.0.1:9091
basicAuth: false
isDefault: true
version: 1
editable: true
Binary file not shown.
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,85 @@
# Copyright © 2023 OpenIM. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#more prometheus-compose.yml
global:
scrape_interval: 15s
evaluation_interval: 15s
external_labels:
monitor: 'openIM-monitor'
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9091']
- job_name: 'openIM-server'
metrics_path: /metrics
static_configs:
- targets: ['localhost:10002']
labels:
group: 'api'
- targets: ['localhost:20110']
labels:
group: 'user'
- targets: ['localhost:20120']
labels:
group: 'friend'
- targets: ['localhost:20130']
labels:
group: 'message'
- targets: ['localhost:20140']
labels:
group: 'msg-gateway'
- targets: ['localhost:20150']
labels:
group: 'group'
- targets: ['localhost:20160']
labels:
group: 'auth'
- targets: ['localhost:20170']
labels:
group: 'push'
- targets: ['localhost:20120']
labels:
group: 'friend'
- targets: ['localhost:20230']
labels:
group: 'conversation'
- targets: ['localhost:21400', 'localhost:21401', 'localhost:21402', 'localhost:21403']
labels:
group: 'msg-transfer'
- job_name: 'node'
scrape_interval: 8s
static_configs:
- targets: ['localhost:9100']
+31
View File
@@ -0,0 +1,31 @@
# Ignore files and directories starting with a dot
# Ignore specific files
.dockerignore
# Ignore build artifacts
_output/
logs/
# Ignore non-essential documentation
README.md
README-zh_CN.md
CONTRIBUTING.md
CHANGELOG/
# LICENSE
# Ignore testing and linting configuration
.golangci.yml
# Ignore deployment-related files
docker-compose.yaml
deployments/
# Ignore assets
assets/
# Ignore components
components/
# Ignore tools and scripts
.github/
+5
View File
@@ -0,0 +1,5 @@
USER=root
PASSWORD=openIM123
MINIO_ENDPOINT=http://127.0.0.1:10005
API_URL=http://127.0.0.1:10002/object/
DATA_DIR=./
+9
View File
@@ -0,0 +1,9 @@
coverage:
status:
project:
default: false # disable the default status that measures entire project
pkg: # declare a new status context "pkg"
paths:
- pkg/* # only include coverage in "pkg/" folder
informational: true # Always pass check
patch: off # disable the commit only checks
-37
View File
@@ -1,37 +0,0 @@
---
name: "\U0001F41E Bug"
about: File a bug/issue
title: "[BUG] <title>"
labels: ''
assignees: ''
---
<!--
Note: Please search to see if an issue already exists for the bug you encountered.
-->
### Environment:
<!-- linux? windows? or Mac?
Example:
- OS: Ubuntu 20.04 -->
### Physical Memory Capacity:
<!-- 8G or above is better -->
### Docker Image:
<!-- Did you pull the docker image before execute docker images -->
### Code Version:
<!-- Did you pull code from github? Make sure the code is up to date-->
### Component installation:
<!-- Has etcd, mysql, mongodb, redis or Kafka been installed on the server before Open-IM-Server deployment-->
### Log File:
<!-- view log file(logs/openIM.log) content. -->
### screenshot:
<!---->
@@ -1,36 +0,0 @@
---
name: Deployment issues
about: Deployment issues
title: ''
labels: ''
assignees: ''
---
If you are deploying OpenIM for the first time
```
git clone https://github.com/OpenIMSDK/Open-IM-Server.git --recursive
```
screenshot here
```
cd Open-IM-Server/script ; chmod +x *.sh ; ./env_check.sh
```
screenshot here
```
cd .. ; docker-compose up -d
```
screenshot here
```
cd script ; ./docker_check_service.sh
```
screenshot here
-38
View File
@@ -1,38 +0,0 @@
---
name: 'update '
about: update docker image
title: update docker image
labels: ''
assignees: ''
---
```
cd Open-IM-Server ; docker-compose down
```
screenshot here
```
git pull
```
screenshot here
```
docker-compose pull
```
screenshot here
```
chmod +x script/*.sh ; docker-compose up -d
```
screenshot here
```
cd script ; ./docker_check_service.sh
```
screenshot here
+29
View File
@@ -0,0 +1,29 @@
# Refer to Kubernetes for size/* Settings
# https://github.com/Kubernetes/Kubernetes
XS:
name: size/XS
lines: 0
color: 3CBF00
S:
name: size/S
lines: 10
color: 5D9801
M:
name: size/M
lines: 30
color: 7F7203
L:
name: size/L
lines: 100
color: A14C05
XL:
name: size/XL
lines: 500
color: C32607
XXL:
name: size/XXL
lines: 1000
color: E50009
comment: |
# Whoa! Easy there, Partner!
This PR is too big. Please break it up into smaller PRs.
+92
View File
@@ -0,0 +1,92 @@
# https://github.com/BetaHuhn/repo-file-sync-action
# Synchronization for the.github repository
OpenIMSDK/.github:
- source: LICENSE
dest: LICENSE
- source: scripts/LICENSE/
dest: scripts/LICENSE/
replace: false
OpenIMSDK/community:
- source: LICENSE
dest: LICENSE
- source: scripts/LICENSE/
dest: scripts/LICENSE/
replace: false
- source: .github/workflows/
dest: .github/workflows/
OpenIMSDK/openim-sdk-core:
- source: LICENSE
dest: LICENSE
- source: scripts/LICENSE/
dest: scripts/LICENSE/
replace: false
- source: .github/workflows/issue-robot.yml
dest: .github/workflows/issue-robot.yml
replace: false
- source: .github/workflows/stale.yml
dest: .github/workflows/stale.yml
replace: false
- source: .github/.codecov.yml
dest: .github/.codecov.yml
replace: false
OpenIMSDK/OpenIM-Docs:
- source: .github/workflows/
dest: .github/workflows/
exclude: |
e2e-test.yml
sync.yml
- source: scripts/githooks/
dest: scripts/githooks/
replace: true
- source: .github/.codecov.yml
dest: .github/.codecov.yml
replace: false
OpenIMSDK/OpenKF:
- source: LICENSE
dest: LICENSE
- source: scripts/LICENSE/
dest: scripts/LICENSE/
replace: false
- source: .github/workflows/issue-robot.yml
dest: .github/workflows/issue-robot.yml
replace: false
- source: .github/workflows/stale.yml
dest: .github/workflows/stale.yml
replace: false
- source: .github/.codecov.yml
dest: .github/.codecov.yml
replace: false
group:
# first groupcommon to all warehouses
# TODO: add the required warehouse here
- repos: |
OpenIMSDK/OpenKF@main
OpenIMSDK/openim-miniprogram-demo@main
OpenIMSDK/openim-sdk-cpp@main
files:
- source: LICENSE
dest: LICENSE
replace: false
- source: .github/workflows/issue-robot.yml
dest: .github/workflows/issue-robot.yml
replace: false
- source: .github/workflows/stale.yml
dest: .github/workflows/stale.yml
replace: false
- source: .github/workflows/project-progress.yml
dest: .github/workflows/project-progress.yml
replace: false
- source: .github/workflows/help-comment-issue.yml
dest: .github/workflows/help-comment-issue.yml
replace: false
- source: .github/.codecov.yml
dest: .github/.codecov.yml
replace: false
- source: ./scripts/githooks/
dest: ./scripts/githooks/
replace: true
+7
View File
@@ -0,0 +1,7 @@
# https://github.com/apps/weekly-digest/installations/new
publishDay: sun
canPublishIssues: true
canPublishPullRequests: true
canPublishContributors: true
canPublishStargazers: true
canPublishCommits: true
+39
View File
@@ -0,0 +1,39 @@
name: Invite users to join our group
on:
issue_comment:
types:
- created
jobs:
issue_comment:
name: Invite users to join our group
if: ${{ github.event.comment.body == '/invite' || github.event.comment.body == '/close' || github.event.comment.body == '/comment' }}
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Invite user to join our group
uses: peter-evans/create-or-update-comment@v1
with:
token: ${{ secrets.BOT_GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
body: |
We value close connections with our users, developers, and contributors here at Open-IM-Server. With a large community and maintainer team, we're always here to help and support you. Whether you're looking to join our community or have any questions or suggestions, we welcome you to get in touch with us.
Our most recommended way to get in touch is through [Slack](https://join.slack.com/t/openimsdk/shared_invite/zt-1tmoj26uf-_FDy3dowVHBiGvLk9e5Xkg). Even if you're in China, Slack is usually not blocked by firewalls, making it an easy way to connect with us. Our Slack community is the ideal place to discuss and share ideas and suggestions with other users and developers of Open-IM-Server. You can ask technical questions, seek help, or share your experiences with other users of Open-IM-Server.
In addition to Slack, we also offer the following ways to get in touch:
+ <a href="https://join.slack.com/t/openimsdk/shared_invite/zt-1tmoj26uf-_FDy3dowVHBiGvLk9e5Xkg" target="_blank"><img src="https://img.shields.io/badge/Slack-OpenIM%2B-blueviolet?logo=slack&amp;logoColor=white"></a> We also have Slack channels for you to communicate and discuss. To join, visit https://slack.com/ and join our [👀 Open-IM-Server slack](https://join.slack.com/t/openimsdk/shared_invite/zt-1tmoj26uf-_FDy3dowVHBiGvLk9e5Xkg) team channel.
+ <a href="https://mail.google.com/mail/u/0/?fs=1&tf=cm&to=winxu81@gmail.com" target="_blank"><img src="https://img.shields.io/badge/gmail-%40OOpenIMSDKCore?style=social&logo=gmail"></a> Get in touch with us on [Gmail](https://mail.google.com/mail/u/0/?fs=1&tf=cm&to=winxu81@gmail.com). If you have any questions or issues that need resolving, or any suggestions and feedback for our open source projects, please feel free to contact us via email.
+ <a href="https://doc.rentsoft.cn/" target="_blank"><img src="https://img.shields.io/badge/%E5%8D%9A%E5%AE%A2-%40OpenIMSDKCore-blue?style=social&logo=Octopus%20Deploy"></a> Read our [blog](https://doc.rentsoft.cn/). Our blog is a great place to stay up-to-date with Open-IM-Server projects and trends. On the blog, we share our latest developments, tech trends, and other interesting information.
+ <a href="https://github.com/OpenIMSDK/OpenIM-Docs/blob/main/docs/images/WechatIMG20.jpeg" target="_blank"><img src="https://img.shields.io/badge/%E5%BE%AE%E4%BF%A1-OpenIMSDKCore-brightgreen?logo=wechat&style=flat-square"></a> Add [Wechat](https://github.com/OpenIMSDK/OpenIM-Docs/blob/main/docs/images/WechatIMG20.jpeg) and indicate that you are a user or developer of Open-IM-Server. We will process your request as soon as possible.
- name: Close Issue
uses: peter-evans/close-issue@v3
with:
token: ${{ secrets.BOT_GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
comment: 🤖 Auto-closing issue, if you still need help please reopen the issue or ask for help in the community above
labels: |
triage/accepted
+36
View File
@@ -0,0 +1,36 @@
name: OpenIM Build Docker Images
on:
push:
tags:
- v*
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
bin:
- ssserver
- sslocal
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Docker metadata
id: metadata
uses: docker/metadata-action@v4
with:
images: ghcr.io/${{ github.repository_owner }}/openim-${{ matrix.bin }}
- name: Build and release Docker images
uses: docker/build-push-action@v3
with:
platforms: linux/386,linux/amd64,linux/arm64/v8
target: ${{ matrix.bin }}
tags: ${{ steps.metadata.outputs.tags }}
push: true
+45
View File
@@ -0,0 +1,45 @@
# name: Check-Coverage
# on:
# workflow_dispatch:
# push:
# branches: [ "main" ]
# paths-ignore:
# - "docs/**"
# - "**/*.md"
# - "**/*.yaml"
# - "CONTRIBUTORS"
# - "CHANGELOG/**"
# pull_request:
# branches: [ "*" ]
# paths-ignore:
# - "docs/**"
# - "**/*.md"
# - "**/*.yaml"
# - "CONTRIBUTORS"
# - "CHANGELOG/**"
# env:
# # Common versions
# GO_VERSION: "1.20"
# jobs:
# coverage:
# runs-on: ubuntu-20.04
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# - name: Setup Golang with cache
# uses: magnetikonline/action-golang-cache@v3
# with:
# go-version: ${{ env.GO_VERSION }}
# token: ${{ secrets.BOT_GITHUB_TOKEN }}
# - name: Install Dependencies
# run: sudo apt update && sudo apt install -y libgpgme-dev libbtrfs-dev libdevmapper-dev
# - name: Run Cover
# run: make cover
# - name: Upload Coverage to Codecov
# uses: codecov/codecov-action@v3
+54 -49
View File
@@ -1,71 +1,76 @@
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
# Copyright © 2023 OpenIM open source community. All rights reserved.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
# http://www.apache.org/licenses/LICENSE-2.0
#
name: "CodeQL"
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: "Code Scanning - Action"
on:
push:
branches: [ main ]
branches: [main]
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
branches: [main]
schedule:
- cron: '23 2 * * 2'
# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12 or JAN-DEC)
# │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT)
# │ │ │ │ │
# │ │ │ │ │
# │ │ │ │ │
# * * * * *
- cron: '30 1 * * 0'
jobs:
analyze:
name: Analyze
CodeQL-Build:
# CodeQL runs on ubuntu-latest, windows-latest, and macos-latest
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
# required for all workflows
security-events: write
strategy:
fail-fast: false
matrix:
language: [ 'go' ]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
# Learn more:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
# only required for workflows in private repositories
actions: read
contents: read
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Checkout repository
uses: actions/checkout@v3
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
# Override language selection by uncommenting this and choosing your languages
# with:
# languages: go, javascript, csharp, python, cpp, java, ruby
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@v1
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
# If this step fails, then you should remove it and run the build manually (see below).
- name: Autobuild
uses: github/codeql-action/autobuild@v2
# ️ Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# ️ Command-line programs to run using the OS shell.
# 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
# ✏️ If the Autobuild fails above, remove it and uncomment the following
# three lines and modify them (or add more) to build your code if your
# project uses a compiled language
#- run: |
# make bootstrap
# make release
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
View File
+51
View File
@@ -0,0 +1,51 @@
# Copyright © 2023 OpenIM open source community. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: OpenKF golangci-lint
on:
push:
branches: [main]
# pull_request:
# branches: [main]
jobs:
golangci:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v4
with:
go-version: '1.20'
cache: false
- name: golangci-lint
uses: golangci/golangci-lint-action@v3
with:
# Require: version of golangci-lint to use in form of v1.2 or v1.2.3 or `latest` to use the latest version
version: v1.53
# Optional: working directory, useful for monorepos
working-directory: server
# Optional: golangci-lint command line arguments.
#
# Note: by default the `.golangci.yml` file should be at the root of the repository.
# The location of the configuration file can be changed by using `--config=`
# args: --timeout=30m --config=/my/path/.golangci.yml --issues-exit-code=0
# Optional: show only new issues if it's a pull request. The default value is `false`.
# only-new-issues: true
# Optional:The mode to install golangci-lint. It can be 'binary' or 'goinstall'.
install-mode: "goinstall"
+30
View File
@@ -0,0 +1,30 @@
# name: Run gosec
# # gosec is a source code security audit tool for the Go language. It performs a static
# # analysis of the Go code, looking for potential security problems. The main functions of gosec are:
# # 1. Find common security vulnerabilities, such as SQL injection, command injection, and cross-site scripting (XSS).
# # 2. Audit codes according to common security standards and find non-standard codes.
# # 3. Assist the Go language engineer to write safe and reliable code.
# on:
# push:
# branches: "*"
# pull_request:
# branches: "*"
# paths-ignore:
# - '*.md'
# - '*.yml'
# - '.github'
# jobs:
# golang-security-action:
# runs-on: ubuntu-latest
# env:
# GO111MODULE: on
# steps:
# - name: Check out code
# uses: actions/checkout@v3
# - name: Run Gosec Security Scanner
# uses: securego/gosec@master
# with:
# args: ./...
+21
View File
@@ -0,0 +1,21 @@
name: Good frist issue add comment
on:
issues:
types:
- labeled
jobs:
add-comment:
if: github.event.label.name == 'help wanted' || github.event.label.name == 'good first issue'
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- name: Add comment
uses: peter-evans/create-or-update-comment@v3
with:
issue-number: ${{ github.event.issue.number }}
token: ${{ secrets.BOT_GITHUB_TOKEN }}
body: |
This issue is available for anyone to work on. **Make sure to reference this issue in your pull request.** :sparkles: Thank you for your contribution! :sparkles:
[Join slack 🤖](https://join.slack.com/t/openimsdk/shared_invite/zt-1tmoj26uf-_FDy3dowVHBiGvLk9e5Xkg) to connect and communicate with our developers.
If you wish to accept this assignment, please leave a comment in the comments section: `/accept`.🎯
+81
View File
@@ -0,0 +1,81 @@
name: Build Image
on:
push:
branches:
- main
paths:
- "**.go"
- "!**_test.go"
- "build/**"
tags:
- v*
jobs:
release:
strategy:
matrix:
components: [core, swagger]
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 20
- uses: dorny/paths-filter@v2
if: ${{ !startsWith(github.ref_name, 'v') }}
id: changes
with:
filters: |
go:
- '**.go'
- 'build/core/Dockerfile'
api:
- 'openapi/**'
- 'build/swagger/build.sh'
- 'build/swagger/Dockerfile'
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
flavor: |
latest=false
images: |
${{ secrets.DOCKERHUB_USERNAME }}/openimsdk-${{ matrix.components }}
registry.cn-hangzhou.aliyuncs.com/${{ secrets.ALIREGISTRY_NAMESPACE }}/openimsdk-${{ matrix.components }}
tags: |
type=ref,event=branch
type=sha,prefix={{branch}}-,enable=${{ github.ref_type == 'branch' }}
type=ref,event=tag
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to Ali Container Registry
uses: docker/login-action@v2
with:
registry: registry.cn-hangzhou.aliyuncs.com
username: ${{ secrets.ALIREGISTRY_USERNAME }}
password: ${{ secrets.ALIREGISTRY_TOKEN }}
- name: Condition
id: condition
run: |
echo "run=${{ startsWith(github.ref_name, 'v') || ((steps.changes.outputs.go == 'true' && (matrix.components == 'core' || matrix.components == 'job')) || (steps.changes.outputs.api == 'true' && matrix.components == 'swagger')) }}" >> $GITHUB_OUTPUT
- name: Set up QEMU
if: ${{ steps.condition.outputs.run == 'true' }}
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
if: ${{ steps.condition.outputs.run == 'true' }}
uses: docker/setup-buildx-action@v2
- name: Build and push
if: ${{ steps.condition.outputs.run == 'true' }}
uses: docker/build-push-action@v3
with:
context: .
file: ./build/${{ matrix.components }}/Dockerfile
platforms: linux/amd64
push: true
tags: ${{ steps.meta.outputs.tags }}
+17
View File
@@ -0,0 +1,17 @@
name: 'issue translator'
on:
issue_comment:
types: [created]
issues:
types: [opened]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: usthe/issues-translate-action@v2.7
with:
# it is not necessary to decide whether you need to modify the issue header content
IS_MODIFY_TITLE: true
BOT_GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }}
# Required, input your bot github token
+39
View File
@@ -0,0 +1,39 @@
name: Github Rebot for Link check error
# Every Monday at 12:30 p.m
on:
schedule:
- cron: '30 12 * * 1'
jobs:
linkChecker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Link Checker
id: lychee
uses: lycheeverse/lychee-action@v1.7.0
with:
# For parameter description, see https://github.com/lycheeverse/lychee#commandline-parameters
# Actions Link address -> https://github.com/lycheeverse/lychee-action
# -E, --exclude-all-private Exclude all private IPs from checking.
# -i, --insecure Proceed for server connections considered insecure (invalid TLS)
# -n, --no-progress Do not show progress bar.
# -t, --timeout <timeout> Website timeout in seconds from connect to response finished [default:20]
# --max-concurrency <max-concurrency> Maximum number of concurrent network requests [default: 128]
# -a --accept <accept> Comma-separated list of accepted status codes for valid links
# docs/.vitepress/dist the site directory to check
# ./*.md all markdown files in the root directory
args: --verbose -E -i --no-progress --exclude-path './CHANGELOG' './**/*.md'
env:
GITHUB_TOKEN: ${{secrets.GH_PAT}}
- name: Create Issue From File
if: env.lychee_exit_code != 0
uses: peter-evans/create-issue-from-file@v4
with:
title: Bug reports for links in OpenIM docs
content-filepath: ./lychee/out.md
labels: kind/documentation, triage/unresolved, report
token: ${{ secrets.BOT_GITHUB_TOKEN }}
+38
View File
@@ -0,0 +1,38 @@
name: 'OpenCommit Action'
on:
push:
branches:
- main
jobs:
opencommit:
timeout-minutes: 10
name: OpenCommit
runs-on: ubuntu-latest
permissions: write-all
steps:
- name: Setup Node.js Environment
uses: actions/setup-node@v2
with:
node-version: '16'
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: di-sukharev/opencommit@github-action-v1.0.4
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
env:
# set openAI api key in repo actions secrets,
# for openAI keys go to: https://platform.openai.com/account/api-keys
# for repo secret go to: https://github.com/kuebcub/settings/secrets/actions
OCO_OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}
# customization
OCO_OPENAI_MAX_TOKENS: 500
OCO_OPENAI_BASE_PATH: ''
OCO_DESCRIPTION: false
OCO_EMOJI: false
OCO_MODEL: gpt-3.5-turbo
OCO_LANGUAGE: en
+134
View File
@@ -0,0 +1,134 @@
# Copyright © 2023 OpenIM open source community. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
name: OpenIM CI
on:
push:
branches:
- main
paths-ignore:
- "docs/**"
- "README.md"
- "README_zh-CN.md"
- "CONTRIBUTING.md"
pull_request:
branches:
- main
paths-ignore:
- "README.md"
- "README_zh-CN.md"
- "CONTRIBUTING.md"
- "docs/**"
env:
GO_VERSION: "1.19"
GOLANGCI_VERSION: "v1.50.1"
jobs:
openim:
name: Test with go ${{ matrix.go_version }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
environment:
name: openim
strategy:
matrix:
go_version: ["1.18","1.19","1.20"]
os: [ubuntu-latest]
steps:
- name: Set up Go ${{ matrix.go_version }}
uses: actions/setup-go@v2
with:
go-version: ${{ matrix.go_version }}
id: go
- name: Check out code into the Go module directory
uses: actions/checkout@v2
- name: Run go modules tidy
run: |
make tidy
- name: Run go format
run: |
make format
echo "Run go format successfully"
continue-on-error: true
# - name: Generate all necessary files, such as error code files
# run: |
# make generate
# - name: Check syntax and styling of go sources
# run: |
# set -e
# make lint
# - name: Run unit test and get test coverage
# run: |
# make cover
- name: Build source code for host platform
run: |
make build
echo "Build source code for host platform successfully"
# - name: Collect Test Coverage File
# uses: actions/upload-artifact@v1.0.0
# with:
# name: main-output
# path: _output/tmp/coverage.out
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v1
# lint:
# runs-on: ubuntu-20.04
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# with:
# fetch-depth: 0
# - name: Set up Go
# uses: actions/setup-go@v3
# with:
# go-version: ${{ env.GO_VERSION }}
# - name: golangci-lint
# uses: golangci/golangci-lint-action@v3
# with:
# version: ${{ env.GOLANGCI_VERSION }}
# docker-image-tests:
# runs-on: ubuntu-20.04
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# with:
# fetch-depth: 0
# - name: Set up Go
# uses: actions/setup-go@v3
# with:
# go-version: ${{ env.GO_VERSION }}
# - name: Run tests
# run: make build
# - name: Test docker image
# run: |
# docker build -t openim:ci-build .
+22
View File
@@ -0,0 +1,22 @@
# GitHub recommends pinning actions to a commit SHA.
# To get a newer version, you will need to update the SHA.
# You can also reference a tag or branch, but the action may change without warning.
name: Move assigned card
on:
issues:
types:
- assigned
pull_request:
types:
- assigned
jobs:
move-assigned-card:
runs-on: ubuntu-latest
steps:
- uses: alex-page/github-project-automation-plus@v0.8.3
with:
project: OpenIM 2023 Sprint 🔥
column: In Progress
repo-token: ${{ secrets.BOT_GITHUB_TOKEN }}
+37
View File
@@ -0,0 +1,37 @@
name: goreleaser
on:
push:
# run only against tags
tags:
- '*'
permissions:
contents: write
# packages: write
# issues: write
jobs:
goreleaser:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- run: git fetch --force --tags
- uses: actions/setup-go@v4
with:
go-version: stable
# More assembly might be required: Docker logins, GPG, etc. It all depends
# on your needs.
- uses: goreleaser/goreleaser-action@v4
with:
# either 'goreleaser' (default) or 'goreleaser-pro':
distribution: goreleaser
version: latest
args: release --clean
env:
GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }}
# Your GoReleaser Pro key, if you are using the 'goreleaser-pro'
# distribution:
# GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }}
+73
View File
@@ -0,0 +1,73 @@
name: OpenIM Start Execute Scripts
on:
push:
branches:
- main
paths-ignore:
- "docs/**"
- "README.md"
- "README_zh-CN.md"
- "CONTRIBUTING.md"
pull_request:
branches:
- main
paths-ignore:
- "README.md"
- "README_zh-CN.md"
- "CONTRIBUTING.md"
- "docs/**"
jobs:
execute-scripts:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Start Docker Compose
run: |
sudo docker compose stop
sudo sleep 30
sudo docker compose up -d
sudo sleep 60
continue-on-error: true
- name: Stop all services
run: |
sudo chmod +x ./scripts/stop_all.sh
sudo ./scripts/stop_all.sh
sudo cat logs/openIM.log 2>/dev/null
shell: bash
continue-on-error: true
- name: Build all services
run: |
sudo chmod +x ./scripts/build_all_service.sh
sudo ./scripts/build_all_service.sh
sudo cat logs/openIM.log 2>/dev/null
shell: bash
continue-on-error: true
- name: Start all services
run: |
sudo chmod +x ./scripts/start_all.sh
sudo ./scripts/start_all.sh
sudo cat logs/openIM.log 2>/dev/null
continue-on-error: true
shell: bash
- name: Check all services
run: |
sudo chmod +x ./scripts/check_all.sh
sudo ./scripts/check_all.sh
sudo cat logs/openIM.log 2>/dev/null
shell: bash
- name: Print openIM.log
run: |
sudo cat logs/* 2>/dev/null
sudo cat logs/* 2>/dev/null >> "$GITHUB_OUTPUT"
shell: bash
continue-on-error: true
+34
View File
@@ -0,0 +1,34 @@
# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.
#
# You can adjust the behavior by modifying this file.
# For more information, see:
# https://github.com/actions/stale
name: Mark stale issues and pull requests
on:
schedule:
- cron: '0 8 * * *'
jobs:
stale:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/stale@v5
with:
repo-token: ${{ secrets.BOT_GITHUB_TOKEN }}
days-before-stale: 60
days-before-close: 7
stale-issue-message: 'This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.'
stale-pr-message: 'This issue is stale because it has been open 60 days with no activity.'
close-issue-message: 'This issue was closed because it has been stalled for 7 days with no activity.'
close-pr-message: 'This PR was closed because it has been stalled for 7 days with no activity. You can reopen it if you want.'
stale-pr-label: lifecycle/stale
stale-issue-label: lifecycle/stale
exempt-issue-labels: 'openim'
exempt-pr-labels: 'openim'
exempt-draft-pr: true
+39
View File
@@ -0,0 +1,39 @@
# Copyright © 2023 KubeCub open source community. All rights reserved.
# Licensed under the MIT License (the "License");
# you may not use this file except in compliance with the License.
# https://github.com/BetaHuhn/repo-file-sync-action
name: Synchronize kubecub public code to other repositories
on:
push:
branches:
- main
workflow_dispatch:
jobs:
sync:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Run GitHub File Sync
uses: BetaHuhn/repo-file-sync-action@latest
with:
GH_INSTALLATION_TOKEN: "${{ secrets.BOT_GITHUB_TOKEN }}"
CONFIG_PATH: .github/sync.yml
ORIGINAL_MESSAGE: true
SKIP_PR: true
COMMIT_EACH_FILE: false
COMMIT_BODY: "🤖 kubbot to synchronize the warehouse"
GIT_EMAIL: "3293172751ysy@gmail.com"
GIT_USERNAME: "kubbot"
PR_BODY: 👌 kubecub provides automated community services
REVIEWERS: |
kubbot
cubxxw
PR_LABELS: |
file-sync
automerge
ASSIGNEES: |
kubbot
+385 -15
View File
@@ -1,22 +1,392 @@
bin
# Copyright © 2023 OpenIMSDK.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
# For the entire design of.gitignore, ignore git commits and ignore files
#===============================================================================
#
### OpenIM developer supplement ###
logs
.devcontainer
components
logs
out-test
.github
.idea
### Makefile ###
tmp/
bin/
output/
_output/
deploy/open_im_demo
deploy/open_im_api
deploy/open_im_msg_gateway
deploy/open_im_msg_transfer
deploy/open_im_push
deploy/open_im_timer_task
deploy/open_im_rpc_user
deploy/open_im_rpc_friend
deploy/open_im_rpc_group
deploy/open_im_rpc_msg
deploy/open_im_rpc_auth
### OpenIM deploy ###
deploy/openim_demo
deploy/openim-api
deploy/openim-rpc-msg_gateway
deploy/openim-msgtransfer
deploy/openim-push
deploy/openim_timer_task
deploy/openim-rpc-user
deploy/openim-rpc-friend
deploy/openim-rpc-group
deploy/openim-rpc-msg
deploy/openim-rpc-auth
deploy/Open-IM-SDK-Core
# files used by the developer
.idea.md
.todo.md
.note.md
# ==============================================================================
# Created by https://www.toptal.com/developers/gitignore/api/go,git,vim,tags,test,emacs,backup,jetbrains
# Edit at https://www.toptal.com/developers/gitignore?templates=go,git,vim,tags,test,emacs,backup,jetbrains
### Backup ###
*.bak
*.gho
*.ori
*.orig
*.tmp
### Emacs ###
# -*- mode: gitignore; -*-
*~
\#*\#
/.emacs.desktop
/.emacs.desktop.lock
*.elc
auto-save-list
tramp
.\#*
# Org-mode
.org-id-locations
*_archive
# flymake-mode
*_flymake.*
# eshell files
/eshell/history
/eshell/lastdir
# elpa packages
/elpa/
# reftex files
*.rel
# AUCTeX auto folder
/auto/
# cask packages
.cask/
dist/
# Flycheck
flycheck_*.el
# server auth directory
/server/
# projectiles files
.projectile
# directory configuration
.dir-locals.el
# network security
/network-security.data
### vscode ###
.vscode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
*.code-workspace
# End of https://www.toptal.com/developers/gitignore/api/vim,jetbrains,vscode,git,go,tags,backup,test
### Git ###
# Created by git for backups. To disable backups in Git:
# $ git config --global mergetool.keepBackup false
# Created by git when using merge tools for conflicts
*.BACKUP.*
*.BASE.*
*.LOCAL.*
*.REMOTE.*
*_BACKUP_*.txt
*_BASE_*.txt
*_LOCAL_*.txt
*_REMOTE_*.txt
### Go ###
# If you prefer the allow list template instead of the deny list, see community template:
# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore
#
# Binaries for programs and plugins
*.exe
*.exe~
*.dll
*.so
*.dylib
# Test binary, built with `go test -c`
*.test
# Output of the go coverage tool, specifically when used with LiteIDE
*.out
# Dependency directories (remove the comment below to include it)
# vendor/
# Go workspace file
go.work
### JetBrains ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
.idea/
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# AWS User-specific
.idea/**/aws.xml
# Generated files
.idea/**/contentModel.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# SonarLint plugin
.idea/sonarlint/
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
### JetBrains Patch ###
# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721
# *.iml
# modules.xml
# .idea/misc.xml
# *.ipr
# Sonarlint plugin
# https://plugins.jetbrains.com/plugin/7973-sonarlint
.idea/**/sonarlint/
# SonarQube Plugin
# https://plugins.jetbrains.com/plugin/7238-sonarqube-community-plugin
.idea/**/sonarIssues.xml
# Markdown Navigator plugin
# https://plugins.jetbrains.com/plugin/7896-markdown-navigator-enhanced
.idea/**/markdown-navigator.xml
.idea/**/markdown-navigator-enh.xml
.idea/**/markdown-navigator/
# Cache file creation bug
# See https://youtrack.jetbrains.com/issue/JBR-2257
.idea/$CACHE_FILE$
# CodeStream plugin
# https://plugins.jetbrains.com/plugin/12206-codestream
.idea/codestream.xml
# Azure Toolkit for IntelliJ plugin
# https://plugins.jetbrains.com/plugin/8053-azure-toolkit-for-intellij
.idea/**/azureSettings.xml
### Tags ###
# Ignore tags created by etags, ctags, gtags (GNU global) and cscope
TAGS
.TAGS
!TAGS/
tags
.tags
!tags/
gtags.files
GTAGS
GRTAGS
GPATH
GSYMS
cscope.files
cscope.out
cscope.in.out
cscope.po.out
### Test ###
### Ignore all files that could be used to test your code and
### you wouldn't want to push
# Reference https://en.wikipedia.org/wiki/Metasyntactic_variable
# Most common
*foo
*bar
*fubar
*foobar
*baz
# Less common
*qux
*quux
*bongo
*bazola
*ztesch
# UK, Australia
*wibble
*wobble
*wubble
*flob
*blep
*blah
*boop
*beep
# Japanese
*hoge
*piyo
*fuga
*hogera
*hogehoge
# Portugal, Spain
*fulano
*sicrano
*beltrano
*mengano
*perengano
*zutano
# France, Italy, the Netherlands
*toto
*titi
*tata
*tutu
*pipppo
*pluto
*paperino
*aap
*noot
*mies
# Other names that would make sense
*tests
*testsdir
*testsfile
*testsfiles
*testdir
*testfile
*testfiles
*testing
*testingdir
*testingfile
*testingfiles
*temp
*tempdir
*tempfile
*tempfiles
*tmp
*tmpdir
*tmpfile
*tmpfiles
*lol
### Vim ###
# Swap
[._]*.s[a-v][a-z]
!*.svg # comment out if you don't need vector files
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
# Session
Session.vim
Sessionx.vim
# Temporary
.netrwhist
# Auto-generated tag files
# Persistent undo
[._]*.un~
# End of https://www.toptal.com/developers/gitignore/api/go,git,vim,tags,test,emacs,backup,jetbrains
.idea
-4
View File
@@ -1,4 +0,0 @@
[submodule "cmd/Open-IM-SDK-Core"]
path = cmd/Open-IM-SDK-Core
url = https://github.com/OpenIMSDK/Open-IM-SDK-Core.git
+934
View File
@@ -0,0 +1,934 @@
# Copyright © 2023 OpenIMSDK open source community. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# This file contains all available configuration options
# with their default values.
# options for analysis running
run:
# default concurrency is a available CPU number
concurrency: 4
# timeout for analysis, e.g. 30s, 5m, default is 1m
timeout: 5m
# exit code when at least one issue was found, default is 1
issues-exit-code: 1
# include test files or not, default is true
tests: true
# list of build tags, all linters use it. Default is empty list.
build-tags:
- mytag
# which dirs to skip: issues from them won't be reported;
# can use regexp here: generated.*, regexp is applied on full path;
# default value is empty list, but default dirs are skipped independently
# from this option's value (see skip-dirs-use-default).
# "/" will be replaced by current OS file path separator to properly work
# on Windows.
skip-dirs:
- util
- .*~
- api/swagger/docs
- server/docs
# default is true. Enables skipping of directories:
# vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
skip-dirs-use-default: true
# which files to skip: they will be analyzed, but issues from them
# won't be reported. Default value is empty list, but there is
# no need to include all autogenerated files, we confidently recognize
# autogenerated files. If it's not please let us know.
# "/" will be replaced by current OS file path separator to properly work
# on Windows.
skip-files:
- ".*\\.my\\.go$"
- _test.go
# by default isn't set. If set we pass it to "go list -mod={option}". From "go help modules":
# If invoked with -mod=readonly, the go command is disallowed from the implicit
# automatic updating of go.mod described above. Instead, it fails when any changes
# to go.mod are needed. This setting is most useful to check that go.mod does
# not need updates, such as in a continuous integration and testing system.
# If invoked with -mod=vendor, the go command assumes that the vendor
# directory holds the correct copies of dependencies and ignores
# the dependency descriptions in go.mod.
#modules-download-mode: release|readonly|vendor
# Allow multiple parallel golangci-lint instances running.
# If false (default) - golangci-lint acquires file lock on start.
allow-parallel-runners: true
# output configuration options
output:
# colored-line-number|line-number|json|tab|checkstyle|code-climate, default is "colored-line-number"
format: colored-line-number
# print lines of code with issue, default is true
print-issued-lines: true
# print linter name in the end of issue text, default is true
print-linter-name: true
# make issues output unique by line, default is true
uniq-by-line: true
# add a prefix to the output file references; default is no prefix
path-prefix: ""
# sorts results by: filepath, line and column
sort-results: true
# all available settings of specific linters
linters-settings:
bidichk:
# The following configurations check for all mentioned invisible unicode
# runes. It can be omitted because all runes are enabled by default.
left-to-right-embedding: true
right-to-left-embedding: true
pop-directional-formatting: true
left-to-right-override: true
right-to-left-override: true
left-to-right-isolate: true
right-to-left-isolate: true
first-strong-isolate: true
pop-directional-isolate: true
dogsled:
# checks assignments with too many blank identifiers; default is 2
max-blank-identifiers: 2
dupl:
# tokens count to trigger issue, 150 by default
threshold: 100
errcheck:
# report about not checking of errors in type assertions: `a := b.(MyStruct)`;
# default is false: such cases aren't reported by default.
check-type-assertions: false
# report about assignment of errors to blank identifier: `num, _ := strconv.Atoi(numStr)`;
# default is false: such cases aren't reported by default.
check-blank: false
# [deprecated] comma-separated list of pairs of the form pkg:regex
# the regex is used to ignore names within pkg. (default "fmt:.*").
# see https://github.com/kisielk/errcheck#the-deprecated-method for details
#ignore: GenMarkdownTree,os:.*,BindPFlags,WriteTo,Help
#ignore: (os\.)?std(out|err)\..*|.*Close|.*Flush|os\.Remove(All)?|.*print(f|ln)?|os\.(Un)?Setenv
# path to a file containing a list of functions to exclude from checking
# see https://github.com/kisielk/errcheck#excluding-functions for details
#exclude: errcheck.txt
errorlint:
# Check whether fmt.Errorf uses the %w verb for formatting errors. See the readme for caveats
errorf: true
# Check for plain type assertions and type switches
asserts: true
# Check for plain error comparisons
comparison: true
exhaustive:
# check switch statements in generated files also
check-generated: false
# indicates that switch statements are to be considered exhaustive if a
# 'default' case is present, even if all enum members aren't listed in the
# switch
default-signifies-exhaustive: false
# enum members matching the supplied regex do not have to be listed in
# switch statements to satisfy exhaustiveness
ignore-enum-members: ""
# consider enums only in package scopes, not in inner scopes
package-scope-only: false
exhaustivestruct:
struct-patterns:
- '*.Test'
- '*.Test2'
- '*.Embedded'
- '*.External'
# forbidigo:
# # Forbid the following identifiers (identifiers are written using regexp):
# forbid:
# - ^print.*$
# - 'fmt\.Print.*'
# - fmt.Println.* # too much log noise
# - ginkgo\\.F.* # these are used just for local development
# # Exclude godoc examples from forbidigo checks. Default is true.
# exclude_godoc_examples: false
funlen:
lines: 150
statements: 50
gci:
# put imports beginning with prefix after 3rd-party packages;
# only support one prefix
# if not set, use goimports.local-prefixes
prefix: github.com/OpenIMSDK/OpenKF
gocognit:
# minimal code complexity to report, 30 by default (but we recommend 10-20)
min-complexity: 30
goconst:
# minimal length of string constant, 3 by default
min-len: 3
# minimal occurrences count to trigger, 3 by default
min-occurrences: 3
# ignore test files, false by default
ignore-tests: false
# look for existing constants matching the values, true by default
match-constant: true
# search also for duplicated numbers, false by default
numbers: false
# minimum value, only works with goconst.numbers, 3 by default
min: 3
# maximum value, only works with goconst.numbers, 3 by default
max: 3
# ignore when constant is not used as function argument, true by default
ignore-calls: true
gocritic:
# Which checks should be enabled; can't be combined with 'disabled-checks';
# See https://go-critic.github.io/overview#checks-overview
# To check which checks are enabled run `GL_DEBUG=gocritic golangci-lint run`
# By default list of stable checks is used.
enabled-checks:
#- rangeValCopy
- nestingreduce
- truncatecmp
- unnamedresult
- ruleguard
# Which checks should be disabled; can't be combined with 'enabled-checks'; default is empty
disabled-checks:
- regexpMust
- ifElseChain
#- exitAfterDefer
# Enable multiple checks by tags, run `GL_DEBUG=gocritic golangci-lint run` to see all tags and checks.
# Empty list by default. See https://github.com/go-critic/go-critic#usage -> section "Tags".
enabled-tags:
- performance
disabled-tags:
- experimental
# Settings passed to gocritic.
# The settings key is the name of a supported gocritic checker.
# The list of supported checkers can be find in https://go-critic.github.io/overview.
settings:
captLocal: # must be valid enabled check name
# whether to restrict checker to params only (default true)
paramsOnly: true
elseif:
# whether to skip balanced if-else pairs (default true)
skipBalanced: true
hugeParam:
# size in bytes that makes the warning trigger (default 80)
sizeThreshold: 80
nestingReduce:
# min number of statements inside a branch to trigger a warning (default 5)
bodyWidth: 5
rangeExprCopy:
# size in bytes that makes the warning trigger (default 512)
sizeThreshold: 512
# whether to check test functions (default true)
skipTestFuncs: true
rangeValCopy:
# size in bytes that makes the warning trigger (default 128)
sizeThreshold: 32
# whether to check test functions (default true)
skipTestFuncs: true
ruleguard:
# path to a gorules file for the ruleguard checker
rules: ''
truncateCmp:
# whether to skip int/uint/uintptr types (default true)
skipArchDependent: true
underef:
# whether to skip (*x).method() calls where x is a pointer receiver (default true)
skipRecvDeref: true
unnamedResult:
# whether to check exported functions
checkExported: true
gocyclo:
# minimal code complexity to report, 30 by default (but we recommend 10-20)
min-complexity: 30
cyclop:
# the maximal code complexity to report
max-complexity: 50
# the maximal average package complexity. If it's higher than 0.0 (float) the check is enabled (default 0.0)
package-average: 0.0
# should ignore tests (default false)
skip-tests: false
godot:
# comments to be checked: `declarations`, `toplevel`, or `all`
scope: declarations
# list of regexps for excluding particular comment lines from check
exclude:
# example: exclude comments which contain numbers
# - '[0-9]+'
# check that each sentence starts with a capital letter
capital: false
godox:
# report any comments starting with keywords, this is useful for TODO or FIXME comments that
# might be left in the code accidentally and should be resolved before merging
keywords: # default keywords are TODO, BUG, and FIXME, these can be overwritten by this setting
#- TODO
- BUG
- FIXME
#- NOTE
- OPTIMIZE # marks code that should be optimized before merging
- HACK # marks hack-arounds that should be removed before merging
gofmt:
# simplify code: gofmt with `-s` option, true by default
simplify: true
gofumpt:
# Select the Go version to target. The default is `1.18`.
lang-version: "1.20"
# Choose whether or not to use the extra rules that are disabled
# by default
extra-rules: false
goheader:
values:
const:
# define here const type values in format k:v, for example:
# COMPANY: MY COMPANY
regexp:
# define here regexp type values, for example
# AUTHOR: .*@mycompany\.com
template: # |-
# put here copyright header template for source code files, for example:
# Note: {{ YEAR }} is a builtin value that returns the year relative to the current machine time.
#
# {{ AUTHOR }} {{ COMPANY }} {{ YEAR }}
# SPDX-License-Identifier: Apache-2.0
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
# http://www.apache.org/licenses/LICENSE-2.0
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
template-path:
# also as alternative of directive 'template' you may put the path to file with the template source
goimports:
# put imports beginning with prefix after 3rd-party packages;
# it's a comma-separated list of prefixes
local-prefixes: github.com/OpenIMSDK/OpenKF
golint:
# minimal confidence for issues, default is 0.8
min-confidence: 0.9
gomnd:
settings:
mnd:
# the list of enabled checks, see https://github.com/tommy-muehle/go-mnd/#checks for description.
checks: argument,case,condition,operation,return,assign
# ignored-numbers: 1000
# ignored-files: magic_.*.go
# ignored-functions: math.*
gomoddirectives:
# Allow local `replace` directives. Default is false.
replace-local: true
# List of allowed `replace` directives. Default is empty.
replace-allow-list:
- google.golang.org/grpc
# Allow to not explain why the version has been retracted in the `retract` directives. Default is false.
retract-allow-no-explanation: false
# Forbid the use of the `exclude` directives. Default is false.
exclude-forbidden: false
gomodguard:
allowed:
modules:
- gorm.io/gen # List of allowed modules
- gorm.io/gorm
- gorm.io/driver/mysql
- k8s.io/klog
# - gopkg.in/yaml.v2
domains: # List of allowed module domains
- google.golang.org
- gopkg.in
- golang.org
- github.com
- go.uber.org
- go.etcd.io
blocked:
versions:
- github.com/MakeNowJust/heredoc:
version: "> 2.0.9"
reason: "use the latest version"
local_replace_directives: false # Set to true to raise lint issues for packages that are loaded from a local path via replace directive
gosec:
# To select a subset of rules to run.
# Available rules: https://github.com/securego/gosec#available-rules
includes:
- G401
- G306
- G101
# To specify a set of rules to explicitly exclude.
# Available rules: https://github.com/securego/gosec#available-rules
excludes:
- G204
# Exclude generated files
exclude-generated: true
# Filter out the issues with a lower severity than the given value. Valid options are: low, medium, high.
severity: "low"
# Filter out the issues with a lower confidence than the given value. Valid options are: low, medium, high.
confidence: "low"
# To specify the configuration of rules.
# The configuration of rules is not fully documented by gosec:
# https://github.com/securego/gosec#configuration
# https://github.com/securego/gosec/blob/569328eade2ccbad4ce2d0f21ee158ab5356a5cf/rules/rulelist.go#L60-L102
config:
G306: "0600"
G101:
pattern: "(?i)example"
ignore_entropy: false
entropy_threshold: "80.0"
per_char_threshold: "3.0"
truncate: "32"
gosimple:
# Select the Go version to target. The default is '1.13'.
go: "1.20"
# https://staticcheck.io/docs/options#checks
checks: [ "all" ]
govet:
# report about shadowed variables
check-shadowing: true
# settings per analyzer
settings:
printf: # analyzer name, run `go tool vet help` to see all analyzers
funcs: # run `go tool vet help printf` to see available settings for `printf` analyzer
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Infof
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Warnf
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Errorf
- (github.com/golangci/golangci-lint/pkg/logutils.Log).Fatalf
# enable or disable analyzers by name
enable:
- atomicalign
enable-all: false
disable:
- shadow
disable-all: false
# depguard:
# list-type: blacklist
# include-go-root: false
# packages:
# - github.com/Sirupsen/logrus
# packages-with-error-message:
# # specify an error message to output when a blacklisted package is used
# - github.com/Sirupsen/logrus: "logging is allowed only by logutils.Log"
ifshort:
# Maximum length of variable declaration measured in number of lines, after which linter won't suggest using short syntax.
# Has higher priority than max-decl-chars.
max-decl-lines: 1
# Maximum length of variable declaration measured in number of characters, after which linter won't suggest using short syntax.
max-decl-chars: 30
importas:
# if set to `true`, force to use alias.
no-unaliased: true
# List of aliases
alias:
# using `servingv1` alias for `knative.dev/serving/pkg/apis/serving/v1` package
- pkg: knative.dev/serving/pkg/apis/serving/v1
alias: servingv1
# using `autoscalingv1alpha1` alias for `knative.dev/serving/pkg/apis/autoscaling/v1alpha1` package
- pkg: knative.dev/serving/pkg/apis/autoscaling/v1alpha1
alias: autoscalingv1alpha1
# You can specify the package path by regular expression,
# and alias by regular expression expansion syntax like below.
# see https://github.com/julz/importas#use-regular-expression for details
- pkg: knative.dev/serving/pkg/apis/(\w+)/(v[\w\d]+)
alias: $1$2
# using `jwt` alias for `github.com/appleboy/gin-jwt/v2` package
jwt: github.com/appleboy/gin-jwt/v2
ireturn:
# ireturn allows using `allow` and `reject` settings at the same time.
# Both settings are lists of the keywords and regular expressions matched to interface or package names.
# keywords:
# - `empty` for `interface{}`
# - `error` for errors
# - `stdlib` for standard library
# - `anon` for anonymous interfaces
# By default, it allows using errors, empty interfaces, anonymous interfaces,
# and interfaces provided by the standard library.
allow:
- anon
- error
- empty
- stdlib
# You can specify idiomatic endings for interface
- (or|er)$
# Reject patterns
reject:
- github.com\/user\/package\/v4\.Type
lll:
# max line length, lines longer will be reported. Default is 120.
# '\t' is counted as 1 character by default, and can be changed with the tab-width option
line-length: 240
# tab width in spaces. Default to 1.
tab-width: 4
maligned:
# print struct with more effective memory layout or not, false by default
suggest-new: true
misspell:
# Correct spellings using locale preferences for US or UK.
# Default is to use a neutral variety of English.
# Setting locale to US will correct the British spelling of 'colour' to 'color'.
locale: US
ignore-words:
- someword
nakedret:
# make an issue if func has more lines of code than this setting and it has naked returns; default is 30
max-func-lines: 30
nestif:
# minimal complexity of if statements to report, 5 by default
min-complexity: 4
nilnil:
# By default, nilnil checks all returned types below.
checked-types:
- ptr
- func
- iface
- map
- chan
nlreturn:
# size of the block (including return statement that is still "OK")
# so no return split required.
block-size: 1
nolintlint:
# Disable to ensure that all nolint directives actually have an effect. Default is true.
allow-unused: false
# Disable to ensure that nolint directives don't have a leading space. Default is true.
allow-leading-space: true
# Exclude following linters from requiring an explanation. Default is [].
allow-no-explanation: [ ]
# Enable to require an explanation of nonzero length after each nolint directive. Default is false.
require-explanation: false
# Enable to require nolint directives to mention the specific linter being suppressed. Default is false.
require-specific: true
prealloc:
# XXX: we don't recommend using this linter before doing performance profiling.
# For most programs usage of prealloc will be a premature optimization.
# Report preallocation suggestions only on simple loops that have no returns/breaks/continues/gotos in them.
# True by default.
simple: true
range-loops: true # Report preallocation suggestions on range loops, true by default
for-loops: false # Report preallocation suggestions on for loops, false by default
promlinter:
# Promlinter cannot infer all metrics name in static analysis.
# Enable strict mode will also include the errors caused by failing to parse the args.
strict: false
# Please refer to https://github.com/yeya24/promlinter#usage for detailed usage.
disabled-linters:
# - "Help"
# - "MetricUnits"
# - "Counter"
# - "HistogramSummaryReserved"
# - "MetricTypeInName"
# - "ReservedChars"
# - "CamelCase"
# - "lintUnitAbbreviations"
predeclared:
# comma-separated list of predeclared identifiers to not report on
ignore: ""
# include method names and field names (i.e., qualified names) in checks
q: false
rowserrcheck:
packages:
- github.com/jmoiron/sqlx
revive:
# see https://github.com/mgechev/revive#available-rules for details.
ignore-generated-header: true
severity: warning
rules:
- name: indent-error-flow
severity: warning
staticcheck:
# Select the Go version to target. The default is '1.13'.
go: "1.16"
# https://staticcheck.io/docs/options#checks
checks: [ "all" ]
stylecheck:
# Select the Go version to target. The default is '1.13'.
go: "1.16"
# https://staticcheck.io/docs/options#checks
checks: [ "all", "-ST1000", "-ST1003", "-ST1016", "-ST1020", "-ST1021", "-ST1022" ]
# https://staticcheck.io/docs/options#dot_import_whitelist
dot-import-whitelist:
- fmt
# https://staticcheck.io/docs/options#initialisms
initialisms: [ "ACL", "API", "ASCII", "CPU", "CSS", "DNS", "EOF", "GUID", "HTML", "HTTP", "HTTPS", "ID", "IP", "JSON", "QPS", "RAM", "RPC", "SLA", "SMTP", "SQL", "SSH", "TCP", "TLS", "TTL", "UDP", "UI", "GID", "UID", "UUID", "URI", "URL", "UTF8", "VM", "XML", "XMPP", "XSRF", "XSS" ]
# https://staticcheck.io/docs/options#http_status_code_whitelist
http-status-code-whitelist: [ "200", "400", "404", "500" ]
tagliatelle:
# check the struck tag name case
case:
# use the struct field name to check the name of the struct tag
use-field-name: true
rules:
# any struct tag type can be used.
# support string case: `camel`, `pascal`, `kebab`, `snake`, `goCamel`, `goPascal`, `goKebab`, `goSnake`, `upper`, `lower`
json: camel
yaml: camel
xml: camel
bson: camel
avro: snake
mapstructure: kebab
testpackage:
# regexp pattern to skip files
skip-regexp: (id|export|internal)_test\.go
thelper:
# The following configurations enable all checks. It can be omitted because all checks are enabled by default.
# You can enable only required checks deleting unnecessary checks.
test:
first: true
name: true
begin: true
benchmark:
first: true
name: true
begin: true
tb:
first: true
name: true
begin: true
tenv:
# The option `all` will run against whole test files (`_test.go`) regardless of method/function signatures.
# By default, only methods that take `*testing.T`, `*testing.B`, and `testing.TB` as arguments are checked.
all: false
unparam:
# Inspect exported functions, default is false. Set to true if no external program/library imports your code.
# XXX: if you enable this setting, unparam will report a lot of false-positives in text editors:
# if it's called for subdir of a project it can't find external interfaces. All text editor integrations
# with golangci-lint call it on a directory with the changed file.
check-exported: false
unused:
# treat code as a program (not a library) and report unused exported identifiers; default is false.
# XXX: if you enable this setting, unused will report a lot of false-positives in text editors:
# if it's called for subdir of a project it can't find funcs usages. All text editor integrations
# with golangci-lint call it on a directory with the changed file.
check-exported: false
whitespace:
multi-if: false # Enforces newlines (or comments) after every multi-line if statement
multi-func: false # Enforces newlines (or comments) after every multi-line function signature
wrapcheck:
# An array of strings that specify substrings of signatures to ignore.
# If this set, it will override the default set of ignored signatures.
# See https://github.com/tomarrell/wrapcheck#configuration for more information.
ignoreSigs:
- .Errorf(
- errors.New(
- errors.Unwrap(
- .Wrap(
- .Wrapf(
- .WithMessage(
- .WithMessagef(
- .WithStack(
ignorePackageGlobs:
- encoding/*
- github.com/pkg/*
wsl:
# If true append is only allowed to be cuddled if appending value is
# matching variables, fields or types on line above. Default is true.
strict-append: true
# Allow calls and assignments to be cuddled as long as the lines have any
# matching variables, fields or types. Default is true.
allow-assign-and-call: true
# Allow assignments to be cuddled with anything. Default is false.
allow-assign-and-anything: false
# Allow multiline assignments to be cuddled. Default is true.
allow-multiline-assign: true
# Allow declarations (var) to be cuddled.
allow-cuddle-declarations: false
# Allow trailing comments in ending of blocks
allow-trailing-comment: false
# Force newlines in end of case at this limit (0 = never).
force-case-trailing-whitespace: 0
# Force cuddling of err checks with err var assignment
force-err-cuddling: false
# Allow leading comments to be separated with empty liens
allow-separated-leading-comment: false
makezero:
# Allow only slices initialized with a length of zero. Default is false.
always: false
# The custom section can be used to define linter plugins to be loaded at runtime. See README doc
# for more info.
#custom:
# Each custom linter should have a unique name.
#example:
# The path to the plugin *.so. Can be absolute or local. Required for each custom linter
#path: /path/to/example.so
# The description of the linter. Optional, just for documentation purposes.
#description: This is an example usage of a plugin linter.
# Intended to point to the repo location of the linter. Optional, just for documentation purposes.
#original-url: github.com/golangci/example-linter
linters:
# please, do not use `enable-all`: it's deprecated and will be removed soon.
# inverted configuration with `enable-all` and `disable` is not scalable during updates of golangci-lint
# enable-all: true
disable-all: true
enable:
- typecheck
- asciicheck
- bodyclose
- cyclop
- deadcode
# - depguard
- dogsled
- dupl
- durationcheck
- errcheck
- errorlint
- exhaustive
- exportloopref
# - forbidigo
- funlen
# - gci
# - gochecknoinits
- gocognit
- goconst
- gocyclo
- godot
- godox
- gofmt
- gofumpt
- goheader
- goimports
- gomoddirectives
- gomodguard
- goprintffuncname
- gosec
- gosimple
- govet
- ifshort
- importas
- ineffassign
- lll
- makezero
- misspell
- nakedret
- nestif
- nilerr
- nlreturn
- noctx
- nolintlint
- paralleltest
- prealloc
- predeclared
- promlinter
- revive
- rowserrcheck
- sqlclosecheck
- staticcheck
- structcheck
- stylecheck
- thelper
- tparallel
- unconvert
- unparam
- unused
- varcheck
- wastedassign
- whitespace
- bidichk
- wastedassign
- golint
- execinquery
- nosprintfhostport
- grouper
- decorder
- errchkjson
- maintidx
#- containedctx
#- tagliatelle
#- nonamedreturns
#- nilnil
#- tenv
#- varnamelen
#- contextcheck
#- errname
#- ForceTypeAssert
#- nilassign
fast: false
issues:
# List of regexps of issue texts to exclude, empty list by default.
# But independently from this option we use default exclude patterns,
# it can be disabled by `exclude-use-default: false`. To list all
# excluded by default patterns execute `golangci-lint run --help`
exclude:
- tools/.*
- test/.*
- third_party/.*
# Excluding configuration per-path, per-linter, per-text and per-source
exclude-rules:
- linters:
- golint
path: (internal/api/.*)\.go # exclude golint for internal/api/... files
- linters:
- revive
path: (log/.*)\.go
- linters:
- wrapcheck
path: (cmd/.*|pkg/.*)\.go
- linters:
- typecheck
#path: (pkg/storage/.*)\.go
path: (internal/.*|pkg/.*)\.go
- path: (cmd/.*|test/.*|tools/.*|internal/pump/pumps/.*)\.go
linters:
- forbidigo
- path: (cmd/[a-z]*/.*|store/.*)\.go
linters:
- dupl
- linters:
- gocritic
text: (hugeParam:|rangeValCopy:)
- path: (cmd/[a-z]*/.*)\.go
linters:
- lll
- path: (validator/.*|code/.*|validator/.*|watcher/watcher/.*)
linters:
- gochecknoinits
- path: (internal/.*/options|internal/pump|pkg/log/options.go|internal/authzserver|tools/)
linters:
- tagliatelle
- path: (pkg/app/.*)\.go
linters:
- deadcode
- unused
- varcheck
- forbidigo
# Exclude some staticcheck messages
- linters:
- staticcheck
text: "SA9003:"
# Exclude lll issues for long lines with go:generate
- linters:
- lll
source: "^//go:generate "
# Independently from option `exclude` we use default exclude patterns,
# it can be disabled by this option. To list all
# excluded by default patterns execute `golangci-lint run --help`.
# Default value for this option is true.
exclude-use-default: true
# The default value is false. If set to true exclude and exclude-rules
# regular expressions become case sensitive.
exclude-case-sensitive: false
# The list of ids of default excludes to include or disable. By default it's empty.
include:
- EXC0002 # disable excluding of issues about comments from golint
# Maximum issues count per one linter. Set to 0 to disable. Default is 50.
max-issues-per-linter: 0
# Maximum count of issues with the same text. Set to 0 to disable. Default is 3.
max-same-issues: 0
# Show only new issues: if there are unstaged changes or untracked files,
# only those changes are analyzed, else only changes in HEAD~ are analyzed.
# It's a super-useful option for integration of golangci-lint into existing
# large codebase. It's not practical to fix all existing issues at the moment
# of integration: much better don't allow issues in new code.
# Default is false.
new: false
# Show only new issues created after git revision `REV`
# new-from-rev: REV
# Show only new issues created in git patch with set file path.
#new-from-patch: path/to/patch/file
# Fix found issues (if it's supported by the linter)
fix: true
severity:
# Default value is empty string.
# Set the default severity for issues. If severity rules are defined and the issues
# do not match or no severity is provided to the rule this will be the default
# severity applied. Severities should match the supported severity names of the
# selected out format.
# - Code climate: https://docs.codeclimate.com/docs/issues#issue-severity
# - Checkstyle: https://checkstyle.sourceforge.io/property_types.html#severity
# - Github: https://help.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-an-error-message
default-severity: error
# The default value is false.
# If set to true severity-rules regular expressions become case sensitive.
case-sensitive: false
# Default value is empty list.
# When a list of severity rules are provided, severity information will be added to lint
# issues. Severity rules have the same filtering capability as exclude rules except you
# are allowed to specify one matcher per severity rule.
# Only affects out formats that support setting severity information.
rules:
- linters:
- dupl
severity: info
+1
View File
@@ -0,0 +1 @@
CHANGELOG/CHANGELOG.md
+62
View File
@@ -0,0 +1,62 @@
# Version logging for OpenIM
<!-- BEGIN MUNGE: GENERATED_TOC -->
<!-- END MUNGE: GENERATED_TOC -->
{{ if .Versions -}}
<a name="unreleased"></a>
## [Unreleased]
{{ if .Unreleased.CommitGroups -}}
{{ range .Unreleased.CommitGroups -}}
### {{ .Title }}
{{ range .Commits -}}
- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }}
{{ end }}
{{ end -}}
{{ end -}}
{{ end -}}
{{ range .Versions }}
<a name="{{ .Tag.Name }}"></a>
## {{ if .Tag.Previous }}[{{ .Tag.Name }}]{{ else }}{{ .Tag.Name }}{{ end }} - {{ datetime "2006-01-02" .Tag.Date }}
{{ range .CommitGroups -}}
### {{ .Title }}
{{ range .Commits -}}
- {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }}
{{ end }}
{{ end -}}
{{- if .RevertCommits -}}
### Reverts
{{ range .RevertCommits -}}
- {{ .Revert.Header }}
{{ end }}
{{ end -}}
{{- if .MergeCommits -}}
### Pull Requests
{{ range .MergeCommits -}}
- {{ .Header }}
{{ end }}
{{ end -}}
{{- if .NoteGroups -}}
{{ range .NoteGroups -}}
### {{ .Title }}
{{ range .Notes }}
{{ .Body }}
{{ end }}
{{ end -}}
{{ end -}}
{{ end -}}
{{- if .Versions }}
[Unreleased]: {{ .Info.RepositoryURL }}/compare/{{ $latest := index .Versions 0 }}{{ $latest.Tag.Name }}...HEAD
{{ range .Versions -}}
{{ if .Tag.Previous -}}
[{{ .Tag.Name }}]: {{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }}
{{ end -}}
{{ end -}}
{{ end -}}
+67
View File
@@ -0,0 +1,67 @@
bin: git
style: github
template: CHANGELOG.tpl.md
info:
title: CHANGELOG
repository_url: https://github.com/OpenIMSDK/Open-IM-Server
options:
tag_filter_pattern: '^v'
sort: "date"
commits:
filters:
Type:
- feat
- fix
- perf
- refactor
- docs
- test
- chore
- ci
- build
sort_by: Scope
commit_groups:
group_by: Type
sort_by: Title
title_order:
- feat
- fix
- perf
- refactor
- docs
- test
- chore
- ci
- build
title_maps:
feat: Features
header:
pattern: "<regexp>"
pattern_maps:
- PropName
issues:
prefix:
- #
refs:
actions:
- Closes
- Fixes
merges:
pattern: "^Merge branch '(\\w+)'$"
pattern_maps:
- Source
reverts:
pattern: "^Revert \"([\\s\\S]*)\"$"
pattern_maps:
- Header
notes:
keywords:
- BREAKING CHANGE
+56
View File
@@ -0,0 +1,56 @@
# Version logging for OpenIM
> **Note**:
> Deprecated version logging for OpenIM, please refer to [CHANGELOG.md](../CHANGELOG.md)
<!-- BEGIN MUNGE: GENERATED_TOC -->
- [Version logging for OpenIM](#version-logging-for-openim)
- [Unreleased](#unreleased)
- [v1.0.7 - 2021-12-17](#v107---2021-12-17)
- [v1.0.6 - 2021-12-10](#v106---2021-12-10)
- [v1.0.5 - 2021-12-03](#v105---2021-12-03)
- [v1.0.4 - 2021-11-25](#v104---2021-11-25)
- [v1.0.3 - 2021-11-12](#v103---2021-11-12)
- [v1.0.1 - 2021-11-04](#v101---2021-11-04)
- [v1.0.0 - 2021-10-28](#v100---2021-10-28)
- [Reverts](#reverts)
<!-- END MUNGE: GENERATED_TOC -->
<a name="unreleased"></a>
## [Unreleased]
<a name="v1.0.7"></a>
## [v1.0.7] - 2021-12-17
<a name="v1.0.6"></a>
## [v1.0.6] - 2021-12-10
<a name="v1.0.5"></a>
## [v1.0.5] - 2021-12-03
<a name="v1.0.4"></a>
## [v1.0.4] - 2021-11-25
<a name="v1.0.3"></a>
## [v1.0.3] - 2021-11-12
<a name="v1.0.1"></a>
## [v1.0.1] - 2021-11-04
<a name="v1.0.0"></a>
## v1.0.0 - 2021-10-28
### Reverts
- friend modify
- update
[Unreleased]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.7...HEAD
[v1.0.7]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.6...v1.0.7
[v1.0.6]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.5...v1.0.6
[v1.0.5]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.4...v1.0.5
[v1.0.4]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.3...v1.0.4
[v1.0.3]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.1...v1.0.3
[v1.0.1]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.0...v1.0.1
+121
View File
@@ -0,0 +1,121 @@
# Version logging for OpenIM:v2.0
> **Note**:
> Deprecated version logging for OpenIM, please refer to [CHANGELOG.md](../CHANGELOG.md)
<!-- BEGIN MUNGE: GENERATED_TOC -->
- [Version logging for OpenIM:v2.0](#version-logging-for-openimv20)
- [\[Unreleased\]](#unreleased)
- [\[v2.0.10\] - 2022-05-13](#v2010---2022-05-13)
- [\[v2.0.9\] - 2022-04-29](#v209---2022-04-29)
- [Reverts](#reverts)
- [Pull Requests](#pull-requests)
- [\[v2.0.8\] - 2022-04-24](#v208---2022-04-24)
- [Pull Requests](#pull-requests-1)
- [\[v2.0.7\] - 2022-04-08](#v207---2022-04-08)
- [Pull Requests](#pull-requests-2)
- [\[v2.0.6\] - 2022-04-01](#v206---2022-04-01)
- [Pull Requests](#pull-requests-3)
- [\[v2.0.5\] - 2022-03-24](#v205---2022-03-24)
- [\[v2.04\] - 2022-03-18](#v204---2022-03-18)
- [\[v2.0.3\] - 2022-03-11](#v203---2022-03-11)
- [\[v2.0.2\] - 2022-03-04](#v202---2022-03-04)
- [Pull Requests](#pull-requests-4)
- [\[v2.0.1\] - 2022-02-25](#v201---2022-02-25)
- [v2.0.0 - 2022-02-23](#v200---2022-02-23)
- [Reverts](#reverts-1)
<!-- END MUNGE: GENERATED_TOC -->
<a name="unreleased"></a>
## [Unreleased]
<a name="v2.0.10"></a>
## [v2.0.10] - 2022-05-13
<a name="v2.0.9"></a>
## [v2.0.9] - 2022-04-29
### Reverts
- update etcd to v3.5.2 ([#206](https://github.com/OpenIMSDK/Open-IM-Server/issues/206))
### Pull Requests
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
<a name="v2.0.8"></a>
## [v2.0.8] - 2022-04-24
### Pull Requests
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
<a name="v2.0.7"></a>
## [v2.0.7] - 2022-04-08
### Pull Requests
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
<a name="v2.0.6"></a>
## [v2.0.6] - 2022-04-01
### Pull Requests
- Merge branch 'tuoyun'
<a name="v2.0.5"></a>
## [v2.0.5] - 2022-03-24
<a name="v2.04"></a>
## [v2.04] - 2022-03-18
<a name="v2.0.3"></a>
## [v2.0.3] - 2022-03-11
<a name="v2.0.2"></a>
## [v2.0.2] - 2022-03-04
### Pull Requests
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
<a name="v2.0.1"></a>
## [v2.0.1] - 2022-02-25
<a name="v2.0.0"></a>
## v2.0.0 - 2022-02-23
### Reverts
+50
View File
@@ -0,0 +1,50 @@
# Version logging for OpenIM:v2.1
> **Note**:
> Deprecated version logging for OpenIM, please refer to [CHANGELOG.md](../CHANGELOG.md)
<!-- BEGIN MUNGE: GENERATED_TOC -->
- [Version logging for OpenIM:v2.1](#version-logging-for-openimv21)
- [Unreleased](#unreleased)
- [v2.1.0 - 2022-06-17](#v210---2022-06-17)
- [Reverts](#reverts)
- [Pull Requests](#pull-requests)
<!-- END MUNGE: GENERATED_TOC -->
<a name="unreleased"></a>
## [Unreleased]
<a name="v2.1.0"></a>
## v2.1.0 - 2022-06-17
### Reverts
- update etcd to v3.5.2 ([#206](https://github.com/OpenIMSDK/Open-IM-Server/issues/206))
- friend modify
- update
### Pull Requests
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
[Unreleased]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.1.0...HEAD
+50
View File
@@ -0,0 +1,50 @@
# Version logging for OpenIM:v2.2
> **Note**:
> Deprecated version logging for OpenIM, please refer to [CHANGELOG.md](../CHANGELOG.md)
<!-- BEGIN MUNGE: GENERATED_TOC -->
- [Version logging for OpenIM:v2.2](#version-logging-for-openimv22)
- [Unreleased](#unreleased)
- [v2.2.0 - 2022-07-01](#v220---2022-07-01)
- [Reverts](#reverts)
- [Pull Requests](#pull-requests)
<!-- END MUNGE: GENERATED_TOC -->
<a name="unreleased"></a>
## [Unreleased]
<a name="v2.2.0"></a>
## v2.2.0 - 2022-07-01
### Reverts
- update etcd to v3.5.2 ([#206](https://github.com/OpenIMSDK/Open-IM-Server/issues/206))
- friend modify
- update
### Pull Requests
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
[Unreleased]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.2.0...HEAD
+70
View File
@@ -0,0 +1,70 @@
# Version logging for OpenIM:v2.3
> **Note**:
> Deprecated version logging for OpenIM, please refer to [CHANGELOG.md](../CHANGELOG.md)
<!-- BEGIN MUNGE: GENERATED_TOC -->
- [Version logging for OpenIM:v2.3](#version-logging-for-openimv23)
- [Unreleased](#unreleased)
- [v2.3.3 - 2022-09-18](#v233---2022-09-18)
- [v2.3.2 - 2022-09-09](#v232---2022-09-09)
- [v2.3.0-rc2 - 2022-07-29](#v230-rc2---2022-07-29)
- [v2.3.0-rc1 - 2022-07-25](#v230-rc1---2022-07-25)
- [v2.3.0-rc0 - 2022-07-15](#v230-rc0---2022-07-15)
- [Reverts](#reverts)
- [Pull Requests](#pull-requests)
<!-- END MUNGE: GENERATED_TOC -->
<a name="unreleased"></a>
## [Unreleased]
<a name="v2.3.3"></a>
## [v2.3.3] - 2022-09-18
<a name="v2.3.2"></a>
## [v2.3.2] - 2022-09-09
<a name="v2.3.0-rc2"></a>
## [v2.3.0-rc2] - 2022-07-29
<a name="v2.3.0-rc1"></a>
## [v2.3.0-rc1] - 2022-07-25
<a name="v2.3.0-rc0"></a>
## v2.3.0-rc0 - 2022-07-15
### Reverts
- update etcd to v3.5.2 ([#206](https://github.com/OpenIMSDK/Open-IM-Server/issues/206))
- friend modify
- update
### Pull Requests
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
[Unreleased]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.3.3...HEAD
[v2.3.3]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.3.2...v2.3.3
[v2.3.2]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.3.0-rc2...v2.3.2
[v2.3.0-rc2]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.3.0-rc1...v2.3.0-rc2
[v2.3.0-rc1]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.3.0-rc0...v2.3.0-rc1
+52
View File
@@ -0,0 +1,52 @@
# Version logging for OpenIM
<!-- BEGIN MUNGE: GENERATED_TOC -->
- [Version logging for OpenIM](#version-logging-for-openim)
- [Unreleased](#unreleased)
- [v2.9.0+1.839643f - 2023-07-07](#v2901839643f---2023-07-07)
- [v2.9.0+2.35f07fe - 2023-07-06](#v290235f07fe---2023-07-06)
- [v2.9.0+1.b5072b1 - 2023-07-05](#v2901b5072b1---2023-07-05)
- [v2.9.0+3.2667a3a - 2023-07-05](#v29032667a3a---2023-07-05)
- [v2.9.0+7.04818ca - 2023-07-05](#v290704818ca---2023-07-05)
- [v2.9.0 - 2023-07-04](#v290---2023-07-04)
- [Reverts](#reverts)
- [Pull Requests](#pull-requests)
<!-- END MUNGE: GENERATED_TOC -->
<a name="unreleased"></a>
## [Unreleased]
<a name="v2.9.0+1.839643f"></a>
## [v2.9.0+1.839643f] - 2023-07-07
<a name="v2.9.0+2.35f07fe"></a>
## [v2.9.0+2.35f07fe] - 2023-07-06
<a name="v2.9.0+1.b5072b1"></a>
## [v2.9.0+1.b5072b1] - 2023-07-05
<a name="v2.9.0+3.2667a3a"></a>
## [v2.9.0+3.2667a3a] - 2023-07-05
<a name="v2.9.0+7.04818ca"></a>
## [v2.9.0+7.04818ca] - 2023-07-05
<a name="v2.9.0"></a>
## v2.9.0 - 2023-07-04
### Reverts
- update etcd to v3.5.2 ([#206](https://github.com/OpenIMSDK/Open-IM-Server/issues/206))
### Pull Requests
- Merge branch 'tuoyun'
[Unreleased]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.9.0+1.839643f...HEAD
[v2.9.0+1.839643f]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.9.0+2.35f07fe...v2.9.0+1.839643f
[v2.9.0+2.35f07fe]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.9.0+1.b5072b1...v2.9.0+2.35f07fe
[v2.9.0+1.b5072b1]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.9.0+3.2667a3a...v2.9.0+1.b5072b1
[v2.9.0+3.2667a3a]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.9.0+7.04818ca...v2.9.0+3.2667a3a
[v2.9.0+7.04818ca]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.9.0...v2.9.0+7.04818ca
+188
View File
@@ -0,0 +1,188 @@
# Version logging for OpenIM
<!-- BEGIN MUNGE: GENERATED_TOC -->
- [Version logging for OpenIM](#version-logging-for-openim)
- [Unreleased](#unreleased)
- [v2.9.0 - 2023-07-04](#v290---2023-07-04)
- [Reverts](#reverts)
- [Pull Requests](#pull-requests)
- [v2.3.3 - 2022-09-18](#v233---2022-09-18)
- [v2.3.2 - 2022-09-09](#v232---2022-09-09)
- [v2.3.0-rc2 - 2022-07-29](#v230-rc2---2022-07-29)
- [v2.3.0-rc1 - 2022-07-25](#v230-rc1---2022-07-25)
- [v2.3.0-rc0 - 2022-07-15](#v230-rc0---2022-07-15)
- [v2.2.0 - 2022-07-01](#v220---2022-07-01)
- [v2.1.0 - 2022-06-17](#v210---2022-06-17)
- [Pull Requests](#pull-requests-1)
- [v2.0.10 - 2022-05-13](#v2010---2022-05-13)
- [v2.0.9 - 2022-04-29](#v209---2022-04-29)
- [Reverts](#reverts-1)
- [Pull Requests](#pull-requests-2)
- [v2.0.7 - 2022-04-08](#v207---2022-04-08)
- [Pull Requests](#pull-requests-3)
- [v2.0.6 - 2022-04-01](#v206---2022-04-01)
- [Pull Requests](#pull-requests-4)
- [v2.0.5 - 2022-03-24](#v205---2022-03-24)
- [v2.04 - 2022-03-18](#v204---2022-03-18)
- [v2.0.3 - 2022-03-11](#v203---2022-03-11)
- [v2.0.2 - 2022-03-04](#v202---2022-03-04)
- [Pull Requests](#pull-requests-5)
- [v2.0.1 - 2022-02-25](#v201---2022-02-25)
- [v2.0.0 - 2022-02-23](#v200---2022-02-23)
- [v1.0.7 - 2021-12-17](#v107---2021-12-17)
- [v1.0.6 - 2021-12-10](#v106---2021-12-10)
- [v1.0.5 - 2021-12-03](#v105---2021-12-03)
- [v1.0.4 - 2021-11-25](#v104---2021-11-25)
- [v1.0.3 - 2021-11-12](#v103---2021-11-12)
- [v1.0.1 - 2021-11-04](#v101---2021-11-04)
- [v1.0.0 - 2021-10-28](#v100---2021-10-28)
- [Reverts](#reverts-2)
<!-- END MUNGE: GENERATED_TOC -->
<a name="unreleased"></a>
## [Unreleased]
<a name="v2.9.0"></a>
## [v2.9.0] - 2023-07-04
### Reverts
- update etcd to v3.5.2 ([#206](https://github.com/OpenIMSDK/Open-IM-Server/issues/206))
### Pull Requests
- Merge branch 'tuoyun'
<a name="v2.3.3"></a>
## [v2.3.3] - 2022-09-18
<a name="v2.3.2"></a>
## [v2.3.2] - 2022-09-09
<a name="v2.3.0-rc2"></a>
## [v2.3.0-rc2] - 2022-07-29
<a name="v2.3.0-rc1"></a>
## [v2.3.0-rc1] - 2022-07-25
<a name="v2.3.0-rc0"></a>
## [v2.3.0-rc0] - 2022-07-15
<a name="v2.2.0"></a>
## [v2.2.0] - 2022-07-01
<a name="v2.1.0"></a>
## [v2.1.0] - 2022-06-17
### Pull Requests
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
<a name="v2.0.10"></a>
## [v2.0.10] - 2022-05-13
<a name="v2.0.9"></a>
## [v2.0.9] - 2022-04-29
### Reverts
- update etcd to v3.5.2 ([#206](https://github.com/OpenIMSDK/Open-IM-Server/issues/206))
### Pull Requests
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
<a name="v2.0.7"></a>
## [v2.0.7] - 2022-04-08
### Pull Requests
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
<a name="v2.0.6"></a>
## [v2.0.6] - 2022-04-01
### Pull Requests
- Merge branch 'tuoyun'
<a name="v2.0.5"></a>
## [v2.0.5] - 2022-03-24
<a name="v2.04"></a>
## [v2.04] - 2022-03-18
<a name="v2.0.3"></a>
## [v2.0.3] - 2022-03-11
<a name="v2.0.2"></a>
## [v2.0.2] - 2022-03-04
### Pull Requests
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
- Merge branch 'tuoyun'
<a name="v2.0.1"></a>
## [v2.0.1] - 2022-02-25
<a name="v2.0.0"></a>
## [v2.0.0] - 2022-02-23
<a name="v1.0.7"></a>
## [v1.0.7] - 2021-12-17
<a name="v1.0.6"></a>
## [v1.0.6] - 2021-12-10
<a name="v1.0.5"></a>
## [v1.0.5] - 2021-12-03
<a name="v1.0.4"></a>
## [v1.0.4] - 2021-11-25
<a name="v1.0.3"></a>
## [v1.0.3] - 2021-11-12
<a name="v1.0.1"></a>
## [v1.0.1] - 2021-11-04
<a name="v1.0.0"></a>
## v1.0.0 - 2021-10-28
### Reverts
- friend modify
- update
[Unreleased]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.9.0...HEAD
[v2.9.0]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.3.3...v2.9.0
[v2.3.3]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.3.2...v2.3.3
[v2.3.2]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.3.0-rc2...v2.3.2
[v2.3.0-rc2]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.3.0-rc1...v2.3.0-rc2
[v2.3.0-rc1]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.3.0-rc0...v2.3.0-rc1
[v2.3.0-rc0]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.2.0...v2.3.0-rc0
[v2.2.0]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.1.0...v2.2.0
[v2.1.0]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.0.10...v2.1.0
[v2.0.10]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.0.9...v2.0.10
[v2.0.9]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.0.7...v2.0.9
[v2.0.7]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.0.6...v2.0.7
[v2.0.6]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.0.5...v2.0.6
[v2.0.5]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.04...v2.0.5
[v2.04]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.0.3...v2.04
[v2.0.3]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.0.2...v2.0.3
[v2.0.2]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.0.1...v2.0.2
[v2.0.1]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.0.0...v2.0.1
[v2.0.0]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.7...v2.0.0
[v1.0.7]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.6...v1.0.7
[v1.0.6]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.5...v1.0.6
[v1.0.5]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.4...v1.0.5
[v1.0.4]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.3...v1.0.4
[v1.0.3]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.1...v1.0.3
[v1.0.1]: https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.0...v1.0.1
+104
View File
@@ -0,0 +1,104 @@
# Changelog
- [Changelog](#changelog)
- [command](#command)
- [create next tag](#create-next-tag)
- [Release version logs](#release-version-logs)
- [Introduction](#introduction)
- [Naming Format](#naming-format)
- [Examples](#examples)
- [Version Modifiers](#version-modifiers)
- [Versioning Strategy](#versioning-strategy)
All notable changes to this project will be documented in this file.
+ [https://github.com/OpenIMSDK/Open-IM-Server/releases](https://github.com/OpenIMSDK/Open-IM-Server/releases)
## command
```bash
git-chglog --tag-filter-pattern 'v2.0.*' -o CHANGELOG-2.0.md
```
## create next tag
```bash
git-chglog --next-tag 2.0.0 -o CHANGELOG.md
git commit -am "release 2.0.0"
git tag 2.0.0
```
| Query | Description | Example |
| -------------- | ---------------------------------------------- | --------------------------- |
| `<old>..<new>` | Commit contained in `<new>` tags from `<old>`. | `$ git-chglog 1.0.0..2.0.0` |
| `<name>..` | Commit from the `<name>` to the latest tag. | `$ git-chglog 1.0.0..` |
| `..<name>` | Commit from the oldest tag to `<name>`. | `$ git-chglog ..2.0.0` |
| `<name>` | Commit contained in `<name>`. | `$ git-chglog 1.0.0` |
## Release version logs
+ [OpenIM CHANGELOG-V1.0](CHANGELOG-1.0.md)
+ [OpenIM CHANGELOG-V2.0](CHANGELOG-2.0.md)
+ [OpenIM CHANGELOG-V2.1](CHANGELOG-2.1.md)
+ [OpenIM CHANGELOG-V2.2](CHANGELOG-2.2.md)
+ [OpenIM CHANGELOG-V2.3](CHANGELOG-2.3.md)
+ [OpenIM CHANGELOG-V2.9](CHANGELOG-2.9.md)
+ [OpenIM CHANGELOG-V3.0](CHANGELOG-3.0.md)
## Introduction
In both the open-source and closed-source software development communities, it is important to follow a consistent and understandable versioning scheme for software projects. This ensures clear communication of changes, compatibility, and stability across different releases. One widely adopted naming convention is the Semantic Versioning 2.0.0.
## Naming Format
The most common format for version numbers is as follows:
```
major.minor[.patch[.build]]
```
Let's take a closer look at each component:
1. **Major Version**: This is the first number in the versioning scheme and indicates significant changes that may not be backward compatible (specific to each project).
2. **Minor Version**: The second number signifies the addition of new features while maintaining backward compatibility.
3. **Patch Version**: The third number represents bug fixes or code optimizations without introducing new features. It is generally backward compatible.
4. **Build Version**: Typically an automatically generated number that increments with each code commit.
## Examples
Here are a few examples to illustrate the versioning scheme:
1. `1.0`
2. `2.14.0.1478`
3. `3.2.1 build-354`
## Version Modifiers
Apart from the version numbers, there are also version modifiers used to indicate specific stages or statuses of a release. Some commonly used version modifiers include:
- **alpha**: An internal testing version with numerous known bugs. It is primarily used for communication among developers.
- **beta**: A testing version released to enthusiastic users for feedback and bug detection.
- **rc (release candidate)**: The final testing version before the official release.
- **ga (general availability)**: The initial stable release for public distribution.
- **r/release** (or no modifier at all): The final released version intended for general users.
- **lts (long-term support)**: Designates a version that will receive extended maintenance and bug fixes for a specified number of years.
## Versioning Strategy
To effectively manage version numbers, the following strategies are commonly employed:
- The initial version of a project can be either `0.1` or `1.0`.
- When fixing bugs, the patch version is incremented by 1.
- When adding new features, the minor version is incremented by 1, and the patch version is reset to 0.
- In the case of significant modifications, the major version is incremented by 1.
- The build version is usually automatically generated by the compilation process and follows a defined format. It does not require manual control.
By adhering to these strategies and guidelines, developers can maintain consistency and clarity in versioning their software projects. This enables users and collaborators to understand the nature of changes between different releases and ensure compatibility with their systems.
(Note: Markdown formatting has been used to structure this article. Markdown is a lightweight markup language used to format text on platforms like GitHub.)
------
**Note**: The above article is based on the given content and aims to provide a Markdown-formatted English article explaining the naming conventions for software project versions, specifically focusing on the Semantic Versioning 2.0.0.
+372
View File
@@ -0,0 +1,372 @@
# Contributing to Open-IM-Server
So, you want to hack on Open-IM-Server? Yay!
First of all, thank you for considering contributing to our project! We appreciate your time and effort, and we value any contribution, whether it's reporting a bug, suggesting a new feature, or submitting a pull request.
This document provides guidelines and best practices to help you contribute effectively.
## 📇Topics
- [Contributing to Open-IM-Server](#contributing-to-open-im-server)
- [📇Topics](#topics)
- [What we expect of you](#what-we-expect-of-you)
- [Code of ConductCode of Conduct](#code-of-conductcode-of-conduct)
- [Code and doc contribution](#code-and-doc-contribution)
- [Where should I start?](#where-should-i-start)
- [Design documents](#design-documents)
- [Getting Started](#getting-started)
- [Style and Specification](#style-and-specification)
- [Reporting security issues](#reporting-security-issues)
- [Reporting general issues](#reporting-general-issues)
- [Commit Rules](#commit-rules)
- [PR Description](#pr-description)
- [Docs Contribution](#docs-contribution)
- [Engage to help anything](#engage-to-help-anything)
- [Release version](#release-version)
- [Contact Us](#contact-us)
## What we expect of you
We hope that anyone can join Open-IM-Server , even if you are a student, writer, translator
Please meet the minimum version of the Go language published in [go.mod](./go.mod). If you want to manage the Go language version, we provide tools to install [gvm](https://github.com/moovweb/gvm) in our [Makefile](./Makefile)
You'd better use Linux OR WSL as the development environment, Linux with [Makefile](./Makefile) can help you quickly build and test Open-IM-Server project.
If you are familiar with [Makefile](./Makefile) , you can easily see the clever design of the Open-IM-Server Makefile. Storing the necessary tools such as golangci in the `/tools` directory can avoid some tool version issues.
The [Makefile](./Makefile) is for every developer, even if you don't know how to use the Makefile tool, don't worry, we provide two great commands to get you up to speed with the Makefile architecture, `make help` and `make help-all`, it can reduce problems of the developing environment.
## Code of ConductCode of Conduct
#### Code and doc contribution
Every action to make project Open-IM-Server better is encouraged. On GitHub, every improvement for Open-IM-Server could be via a [PR](https://github.com/OpenIMSDK/Open-IM-Server/pulls) (short for pull request).
+ If you find a typo, try to fix it!
+ If you find a bug, try to fix it!
+ If you find some redundant codes, try to remove them!
+ If you find some test cases missing, try to add them!
+ If you could enhance a feature, please **DO NOT** hesitate!
+ If you find code implicit, try to add comments to make it clear!
+ If you find code ugly, try to refactor that!
+ If you can help to improve documents, it could not be better!
+ If you find document incorrect, just do it and fix that!
+ ...
#### Where should I start?
+ If you are new to the project, don't know how to contribute Open-IM-Server, please check out the [good first issue](https://github.com/OpenIMSDK/Open-IM-Server/issues?q=is%3Aopen+label%3A"good+first+issue"+sort%3Aupdated-desc) label.
+ You should be good at filtering the Open-IM-Server issue tags and finding the ones you like, such as [RFC](https://github.com/OpenIMSDK/Open-IM-Server/issues?q=is%3Aissue+is%3Aopen+RFC+label%3ARFC) for big initiatives, features for [feature](https://github.com/OpenIMSDK/Open-IM-Server/issues?q=is%3Aissue+label%3Afeature) proposals, and [bug](https://github.com/OpenIMSDK/Open-IM-Server/issues?q=is%3Aissue+label%3Abug+) fixes.
+ If you are looking for something to work on, check out our [open issues](https://github.com/OpenIMSDK/Open-IM-Server/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc).
+ If you have an idea for a new feature, please [open an issue](https://github.com/OpenIMSDK/Open-IM-Server/issues/new/choose), and we can discuss it.
#### Design documents
For any substantial design, there should be a well-crafted design document. This document is not just a simple record, but also a detailed description and manifestation, which can help team members better understand the design thinking and grasp the design direction. In the process of writing the design document, we can choose to use tools such as `Google Docs` or `Notion`, and even mark RFC in [issues](https://github.com/OpenIMSDK/Open-IM-Server/issues?q=is%3Aissue+is%3Aopen+RFC+label%3ARFC) or [discussions](https://github.com/OpenIMSDK/Open-IM-Server/discussions) for better collaboration. Of course, after completing the design document, we should also add it to our [Shared Drive](https://drive.google.com/drive/) and notify the appropriate working group to let everyone know of its existence. Only by doing so can we maximize the effectiveness of the design document and provide strong support for the smooth progress of the project.
Anybody can access the shared Drive for reading. To get access to comment. Once you've done that, head to the [shared Drive](https://drive.google.com/) and behold all the docs.
In addition to that, we'd love to invite you to [join our Slack](https://join.slack.com/t/openimsdk/shared_invite/zt-1tmoj26uf-_FDy3dowVHBiGvLk9e5Xkg) where you can play with your imagination, tell us what you're working on, and get a quick response.
When documenting a new design, we recommend a 2-step approach:
1. Use the short-form RFC template to outline your ideas and get early feedback.
2. Once you have received sufficient feedback and consensus, you may use the longer-form design doc template to specify and discuss your design in more details.
In order to contribute a feature to Open-IM-Server you'll need to go through the following steps:
+ Discuss your idea with the appropriate [working groups](https://join.slack.com/t/openimsdk/shared_invite/zt-1tmoj26uf-_FDy3dowVHBiGvLk9e5Xkg) on the working group's Slack channel.
+ Once there is general agreement that the feature is useful, create a GitHub issue to track the discussion. The issue should include information about the requirements and use cases that it is trying to address.
+ Include a discussion of the proposed design and technical details of the implementation in the issue.
But keep in mind that there is no guarantee of it being accepted and so it is usually best to get agreement on the idea/design before time is spent coding it. However, sometimes seeing the exact code change can help focus discussions, so the choice is up to you.
## Getting Started
To propose PR for the Open-IM-Server item, we assume you have registered a GitHub ID. Then you could finish the preparation in the following steps:
1. Fork the repository(Open-IM-Server)
2. **CLONE** your own repository to main locally. Use `git clone https://github.com/<your-username>/Open-IM-Server.git` to clone repository to your local machine. Then you can create new branches to finish the change you wish to make.
3. **Set Remote** upstream to be `https://github.com/OpenIMSDK/Open-IM-Server.git` using the following two commands:
```bash
git remote add upstream https://github.com/OpenIMSDK/Open-IM-Server.git
git remote set-url --push upstream no-pushing
```
With this remote setting, you can check your git remote configuration like this:
```bash
git remote -v
origin https://github.com/<your-username>/Open-IM-Server.git (fetch)
origin https://github.com/<your-username>/Open-IM-Server.git (push)
upstream https://github.com/OpenIMSDK/Open-IM-Server.git (fetch)
upstream no-pushing (push)
```
Adding this, we can easily synchronize local branches with upstream branches.
4. Create a new branch for your changes (use a descriptive name, such as `fix-bug-123` or `add-new-feature`).
```bash
cd Open-IM-Server
git fetch upstream
git checkout upstream/main
```
Create a new branch:
```bash
git checkout -b <new-branch>
```
Make any change on the `new-branch` then use [Makefile](./Makefile) build and test your codes.
5. **Commit your changes** to your local branch, lint before committing and commit with sign-off
```bash
git rebase upstream/main
make link # golangci-lint run -c .golangci.yml
git add -A # add changes to staging
git commit -a -s -m "message for your changes" # -s adds a Signed-off-by trailer
```
6. **Push your branch** to your forked repository, it is recommended to have only one commit for a PR.
```bash
# sync up with upstream
git fetch upstream main
git rebase upstream/main
git rebase -i <commit-id> # rebase with interactive mode to squash your commits into a single one
git push # push to the remote repository, if it's a first time push, run git push --set-upstream origin <new-branch># sync up with upstream
git fetch upstream main
git rebase upstream/main
git rebase -i <commit-id> # rebase with interactive mode to squash your commits into a single one
git push # push to the remote repository, if it's a first time push, run git push --set-upstream origin <new-branch>
```
You can also use `git commit -s --amend && git push -f` to update modifications on the previous commit.
If you have developed multiple features in the same branch, you should create PR separately by rebasing to the main branch between each push:
```bash
# create new branch, for example git checkout -b feature/infra
git checkout -b <new branch>
# update some code, feature1
git add -A
git commit -m -s "feat: feature one"
git push # if it's first time push, run git push --set-upstream origin <new-branch>
# then create pull request, and merge
# update some new feature, feature2, rebase main branch first.
git rebase upstream/main # rebase the current branch to upstream/main branch
git add -A
git commit -m -s "feat: feature two"
# then create pull request, and merge
```
7. **Open a pull request** to `OpenIMSDK/Open-IM-Server:main`
It is recommended to review your changes before filing a pull request. Check if your code doesn't conflict with the main branch and no redundant code is included.
## Style and Specification
We divide the problem into security and general problems:
#### Reporting security issues
Security issues are always treated seriously. As our usual principle, we discourage anyone to spread security issues. If you find a security issue of Open-IM-Server, please do not discuss it in public and even do not open a public issue.
Instead we encourage you to send us a private email to winxu81@gmail.com to report this.
#### Reporting general issues
To be honest, we regard every user of Open-IM-Serveras a very kind contributor. After experiencing Open-IM-Server, you may have some feedback for the project. Then feel free to open an issue via [NEW ISSUE](https://github.com/OpenIMSDK/Open-IM-Server/issues/new/choose).
Since we collaborate project Open-IM-Server in a distributed way, we appreciate **WELL-WRITTEN**, **DETAILED**, **EXPLICIT** issue reports. To make the communication more efficient, we wish everyone could search if your issue is an existing one in the searching list. If you find it existing, please add your details in comments under the existing issue instead of opening a brand new one.
To make the issue details as standard as possible, we setup an [ISSUE TEMPLATE](https://github.com/OpenIMSDK/.github/tree/main/.github/ISSUE_TEMPLATE) for issue reporters. You can find three kinds of issue templates there: question, bug report and feature request. Please **BE SURE** to follow the instructions to fill fields in template.
**There are a lot of cases when you could open an issue:**
+ bug report
+ feature request
+ Open-IM-Server performance issues
+ feature proposal
+ feature design
+ help wanted
+ doc incomplete
+ test improvement
+ any questions on Open-IM-Server project
+ and so on
Also, we must be reminded when submitting a new question about Open-IM-Server, please remember to remove the sensitive data from your post. Sensitive data could be password, secret key, network locations, private business data and so on.
#### Commit Rules
Actually in Open-IM-Server, we take two rules serious when committing:
**🥇 Commit Message:**
Commit message could help reviewers better understand what the purpose of submitted PR is. It could help accelerate the code review procedure as well. We encourage contributors to use **EXPLICIT** commit message rather than ambiguous message. In general, we advocate the following commit message type:
We use [Semantic Commits](https://www.conventionalcommits.org/en/v1.0.0/) to make it easier to understand what a commit does and to build pretty changelogs. Please use the following prefixes for your commits:
+ `docs: xxxx`. For example, "docs: add docs about storage installation".
+ `feature: xxxx`.For example, "feature: make result show in sorted order".
+ `bugfix: xxxx`. For example, "bugfix: fix panic when input nil parameter".
+ `style: xxxx`. For example, "style: format the code style of Constants.java".
+ `refactor: xxxx.` For example, "refactor: simplify to make codes more readable".
+ `test: xxx`. For example, "test: add unit test case for func InsertIntoArray".
+ `chore: xxx.` For example, "chore: integrate travis-ci". It's the type of mantainance change.
+ other readable and explicit expression ways.
On the other side, we discourage contributors from committing message like the following ways:
+ ~~fix bug~~
+ ~~update~~
+ ~~add doc~~
**🥈 Commit Content:**
Commit content represents all content changes included in one commit. We had better include things in one single commit which could support reviewer's complete review without any other commits' help.
In another word, contents in one single commit can pass the CI to avoid code mess. In brief, there are two minor rules for us to keep in mind:
1. avoid very large change in a commit.
2. complete and reviewable for each commit.
3. words are written in lowercase English, not uppercase English or other languages such as Chinese.
No matter what the commit message, or commit content is, we do take more emphasis on code review.
An example for this could be:
```bash
git commit -a -s -m "docs: add a new section to the README"
```
#### PR Description
PR is the only way to make change to Open-IM-Server project files. To help reviewers better get your purpose, PR description could not be too detailed. We encourage contributors to follow the [PR template](https://github.com/OpenIMSDK/.github/tree/main/.github/PULL_REQUEST_TEMPLATE.md) to finish the pull request.
You can find some very formal PR in [RFC](https://github.com/OpenIMSDK/Open-IM-Server/issues?q=is%3Aissue+is%3Aopen+RFC+label%3ARFC) issues and learn about them.
**📖 Opening PRs:**
+ As long as you are working on your PR, please mark it as a draft
+ Please make sure that your PR is up-to-date with the latest changes in `main`
+ Mention the issue that your PR is addressing (Fix: #{ID_1}, #{ID_2})
+ Make sure that your PR passes all checks
**🈴 Reviewing PRs:**
+ Be respectful and constructive
+ Assign yourself to the PR
+ Check if all checks are passing
+ Suggest changes instead of simply commenting on found issues
+ If you are unsure about something, ask the author
+ If you are not sure if the changes work, try them out
+ Reach out to other reviewers if you are unsure about something
+ If you are happy with the changes, approve the PR
+ Merge the PR once it has all approvals and the checks are passing
**⚠️ DCO check:**
We have a DCO check that runs on every pull request to ensure code quality and maintainability. This check verifies that the commit has been signed off, indicating that you have read and agreed to the provisions of the Developer Certificate of Origin. If you have not yet signed off on the commit, you can use the following command to sign off on the last commit you made:
```bash
git commit --amend --signoff
```
Please note that signing off on a commit is a commitment that you have read and agreed to the provisions of the Developer Certificate of Origin. If you have not yet read this document, we strongly recommend that you take some time to read it carefully. If you have any questions about the content of this document, or if you need further assistance, please contact an administrator or relevant personnel.
You can also automate signing off your commits by adding the following to your `.zshrc` or `.bashrc`:
```go
git() {
if [ $# -gt 0 ] && [[ "$1" == "commit" ]] ; then
shift
command git commit --signoff "$@"
else
command git "$@"
fi
}
```
#### Docs Contribution
The documentation for Open-IM-Server includes:
+ [README.md](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/README.md): This file includes the basic information and instructions for getting started with Open-IM-Server.
+ [CONTRIBUTING.md](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/CONTRIBUTING.md): This file contains guidelines for contributing to Open-IM-Server's codebase, such as how to submit issues, pull requests, and code reviews.
+ [Official Documentation](https://doc.rentsoft.cn/): This is the official documentation for Open-IM-Server, which includes comprehensive information on all of its features, configuration options, and troubleshooting tips.
Please obey the following rules to better format the docs, which would greatly improve the reading experience.
1. Please do not use Chinese punctuations in English docs, and vice versa.
2. Please use upper case letters where applicable, like the first letter of sentences / headings, etc.
3. Please specify a language for each Markdown code blocks, unless there's no associated languages.
4. Please insert a whitespace between Chinese and English words.
5. Please use the correct case for technical terms, such as using `HTTP` instead of http, `MySQL` rather than mysql, `Kubernetes` instead of kubernetes, etc.
6. Please check if there's any typos in the docs before submitting PRs.
## Engage to help anything
We choose GitHub as the primary place for Open-IM-Server to collaborate. So the latest updates of Open-IM-Server are always here. Although contributions via PR is an explicit way to help, we still call for any other ways.
+ reply to other's [issues](https://github.com/OpenIMSDK/Open-IM-Server/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc) if you could;
+ help solve other user's problems;
+ help review other's [PR](https://github.com/OpenIMSDK/Open-IM-Server/pulls?q=is%3Apr+is%3Aopen+sort%3Aupdated-desc) design;
+ discuss about Open-IM-Server to make things clearer;
+ advocate [Open-IM-Server](https://google.com/search?q=Open-IM-Server) technology beyond GitHub;
+ write blogs on Open-IM-Server and so on.
In a word, **ANY HELP IS CONTRIBUTION.**
## Release version
Releases of Open-IM-Server are done using [Release Please](https://github.com/googleapis/release-please) and [GoReleaser](https://goreleaser.com/). The workflow looks like this:
🎯 A PR is merged to the `main` branch:
+ Release please is triggered, creates or updates a new release PR
+ This is done with every merge to main, the current release PR is updated every time
🎯 Merging the 'release please' PR to `main`:
+ Release please is triggered, creates a new release and updates the changelog based on the commit messages
+ GoReleaser is triggered, builds the binaries and attaches them to the release
+ Containers are created and pushed to the container registry
With the next relevant merge, a new release PR will be created and the process starts again
**👀 Manually setting the version:**
If you want to manually set the version, you can create a PR with an empty commit message that contains the version number in the commit message. For example:
Such a commit can get produced as follows:
````bash
git commit --allow-empty -m "chore: release 0.0.3" -m "Release-As: 0.0.3
````
## Contact Us
We value close connections with our users, developers, and contributors here at Open-IM-Server. With a large community and maintainer team, we're always here to help and support you. Whether you're looking to join our community or have any questions or suggestions, we welcome you to get in touch with us.
Our most recommended way to get in touch is through [Slack](https://join.slack.com/t/openimsdk/shared_invite/zt-1tmoj26uf-_FDy3dowVHBiGvLk9e5Xkg). Even if you're in China, Slack is usually not blocked by firewalls, making it an easy way to connect with us. Our Slack community is the ideal place to discuss and share ideas and suggestions with other users and developers of Open-IM-Server. You can ask technical questions, seek help, or share your experiences with other users of Open-IM-Server.
In addition to Slack, we also offer the following ways to get in touch:
+ <a href="https://join.slack.com/t/openimsdk/shared_invite/zt-1tmoj26uf-_FDy3dowVHBiGvLk9e5Xkg" target="_blank"><img src="https://img.shields.io/badge/slack-%40OpenIMSDKCore-informational?logo=slack&style=flat-square"></a>: We also have Slack channels for you to communicate and discuss. To join, visit https://slack.com/ and join our [👀 Open-IM-Server slack](https://join.slack.com/t/openimsdk/shared_invite/zt-1tmoj26uf-_FDy3dowVHBiGvLk9e5Xkg) team channel.
+ <a href="https://mail.google.com/mail/u/0/?fs=1&tf=cm&to=4closetool3@gmail.com" target="_blank"><img src="https://img.shields.io/badge/gmail-%40OOpenIMSDKCore?style=social&logo=gmail"></a>: Get in touch with us on [Gmail](winxu81@gmail.com). If you have any questions or issues that need resolving, or any suggestions and feedback for our open source projects, please feel free to contact us via email.
+ <a href="https://doc.rentsoft.cn/" target="_blank"><img src="https://img.shields.io/badge/%E5%8D%9A%E5%AE%A2-%40OpenIMSDKCore-blue?style=social&logo=Octopus%20Deploy"></a>: Read our [blog](https://doc.rentsoft.cn/). Our blog is a great place to stay up-to-date with Open-IM-Server projects and trends. On the blog, we share our latest developments, tech trends, and other interesting information.
+ <a href="https://github.com/OpenIMSDK/OpenIM-Docs/blob/main/docs/images/WechatIMG20.jpeg" target="_blank"><img src="https://img.shields.io/badge/%E5%BE%AE%E4%BF%A1-OpenIMSDKCore-brightgreen?logo=wechat&style=flat-square"></a>: Add [Wechat](https://github.com/OpenIMSDK/OpenIM-Docs/blob/main/docs/images/WechatIMG20.jpeg) and indicate that you are a user or developer of Open-IM-Server. We will process your request as soon as possible.
Whether you're looking to join our community or have any questions or suggestions, we welcome you to get in touch with us.
+36
View File
@@ -0,0 +1,36 @@
# Build Stage
FROM golang:1.20 AS builder
LABEL org.opencontainers.image.source=https://github.com/OpenIMSDK/Open-IM-Server
LABEL org.opencontainers.image.description="OpenIM Server image"
LABEL org.opencontainers.image.licenses="Apache 2.0"
# Set go mod installation source and proxy
ARG GO111MODULE=on
ARG GOPROXY=https://goproxy.cn,direct
ENV GO111MODULE=$GO111MODULE
ENV GOPROXY=$GOPROXY
# Set up the working directory
WORKDIR /Open-IM-Server
# Copy all files to the container
ADD . .
RUN /bin/sh -c "make build"
# Production Stage
FROM alpine
RUN apk --no-cache add tzdata
# Set directory to map logs, config files, scripts, and SDK
VOLUME ["/Open-IM-Server/logs", "/Open-IM-Server/config", "/Open-IM-Server/scripts", "/Open-IM-Server/db/sdk"]
# Copy scripts and binary files to the production image
COPY --from=builder /Open-IM-Server/scripts /Open-IM-Server/scripts
COPY --from=builder /Open-IM-Server/_output/bin/platforms/linux/amd64 /Open-IM-Server/_output/bin/platforms/linux/amd64
WORKDIR /Open-IM-Server/scripts
CMD ["docker_start_all.sh"]
+187
View File
@@ -0,0 +1,187 @@
# ==============================================================================
# define the default goal
#
.DEFAULT_GOAL := help
## all: Run tidy, gen, add-copyright, format, lint, cover, build ✨
.PHONY: all
all: tidy gen add-copyright format lint cover build
# ==============================================================================
# Build set
ROOT_PACKAGE=github.com/OpenIMSDK/Open-IM-Server
# TODO: This is version control for the future
VERSION_PACKAGE=github.com/OpenIMSDK/Open-IM-Server/pkg/version
# ==============================================================================
# Includes
include scripts/make-rules/common.mk # make sure include common.mk at the first include line
include scripts/make-rules/golang.mk
include scripts/make-rules/image.mk
include scripts/make-rules/copyright.mk
include scripts/make-rules/gen.mk
include scripts/make-rules/dependencies.mk
include scripts/make-rules/tools.mk
include scripts/make-rules/release.mk
include scripts/make-rules/swagger.mk
# ==============================================================================
# Usage
define USAGE_OPTIONS
Options:
DEBUG Whether or not to generate debug symbols. Default is 0.
BINS Binaries to build. Default is all binaries under cmd.
This option is available when using: make {build}(.multiarch)
Example: make build BINS="openim-api openim-cmdutils".
PLATFORMS Platform to build for. Default is linux_arm64 and linux_amd64.
This option is available when using: make {build}.multiarch
Example: make multiarch PLATFORMS="linux_s390x linux_mips64
linux_mips64le darwin_amd64 windows_amd64 linux_amd64 linux_arm64".
V Set to 1 enable verbose build. Default is 0.
endef
export USAGE_OPTIONS
# ==============================================================================
# Targets
## build: Build binaries by default ✨
.PHONY: build
build:
@$(MAKE) go.build
## multiarch: Build binaries for multiple platforms. See option PLATFORMS. ✨
.PHONY: multiarch
multiarch:
@$(MAKE) go.build.multiarch
## tidy: tidy go.mod ✨
.PHONY: tidy
tidy:
@$(GO) mod tidy
## vendor: vendor go.mod ✨
.PHONY: vendor
vendor:
@$(GO) mod vendor
## style: code style -> fmt,vet,lint ✨
.PHONY: style
style: fmt vet lint
## fmt: Run go fmt against code. ✨
.PHONY: fmt
fmt:
@$(GO) fmt ./...
## vet: Run go vet against code. ✨
.PHONY: vet
vet:
@$(GO) vet ./...
## lint: Check syntax and styling of go sources. ✨
.PHONY: lint
lint:
@$(MAKE) go.lint
## format: Gofmt (reformat) package sources (exclude vendor dir if existed). ✨
.PHONY: format
format:
@$(MAKE) go.format
## test: Run unit test. ✨
.PHONY: test
test:
@$(MAKE) go.test
## cover: Run unit test and get test coverage. ✨
.PHONY: cover
cover:
@$(MAKE) go.test.cover
## updates: Check for updates to go.mod dependencies. ✨
.PHONY: updates
@$(MAKE) go.updates
## imports: task to automatically handle import packages in Go files using goimports tool. ✨
.PHONY: imports
imports:
@$(MAKE) go.imports
## clean: Remove all files that are created by building. ✨
.PHONY: clean
clean:
@$(MAKE) go.clean
## image: Build docker images for host arch. ✨
.PHONY: image
image:
@$(MAKE) image.build
## image.multiarch: Build docker images for multiple platforms. See option PLATFORMS. ✨
.PHONY: image.multiarch
image.multiarch:
@$(MAKE) image.build.multiarch
## push: Build docker images for host arch and push images to registry. ✨
.PHONY: push
push:
@$(MAKE) image.push
## push.multiarch: Build docker images for multiple platforms and push images to registry. ✨
.PHONY: push.multiarch
push.multiarch:
@$(MAKE) image.push.multiarch
## tools: Install dependent tools. ✨
.PHONY: tools
tools:
@$(MAKE) tools.install
## gen: Generate all necessary files. ✨
.PHONY: gen
gen:
@$(MAKE) gen.run
## swagger: Generate swagger document. ✨
.PHONY: swagger
swagger:
@$(MAKE) swagger.run
## serve-swagger: Serve swagger spec and docs. ✨
.PHONY: swagger.serve
serve-swagger:
@$(MAKE) swagger.serve
## verify-copyright: Verify the license headers for all files. ✨
.PHONY: verify-copyright
verify-copyright:
@$(MAKE) copyright.verify
## add-copyright: Add copyright ensure source code files have license headers. ✨
.PHONY: add-copyright
add-copyright:
@$(MAKE) copyright.add
## release: release the project ✨
.PHONY: release
release: release.verify release.ensure-tag
@scripts/release.sh
## help: Show this help info. ✨
.PHONY: help
help: Makefile
$(call makehelp)
## help-all: Show all help details info. ✨
.PHONY: help-all
help-all: go.help copyright.help tools.help image.help dependencies.help gen.help release.help swagger.help help
$(call makeallhelp)
+193
View File
@@ -0,0 +1,193 @@
<h1 align="center" style="border-bottom: none">
<b>
<a href="https://doc.rentsoft.cn/">Open IM Server</a><br>
</b>
⭐️ Open source Instant Messaging Server ⭐️ <br>
</h1>
<p align=center>
<a href="https://goreportcard.com/report/github.com/OpenIMSDK/Open-IM-Server"><img src="https://goreportcard.com/badge/github.com/OpenIMSDK/Open-IM-Server" alt="A+"></a>
<a href="https://github.com/OpenIMSDK/Open-IM-Server/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22good+first+issue%22"><img src="https://img.shields.io/github/issues/OpenIMSDK/Open-IM-Server/good%20first%20issue?logo=%22github%22" alt="good first"></a>
<a href="https://github.com/OpenIMSDK/Open-IM-Server"><img src="https://img.shields.io/github/stars/OpenIMSDK/Open-IM-Server.svg?style=flat&logo=github&colorB=deeppink&label=stars"></a>
<a href="https://join.slack.com/t/openimsdk/shared_invite/zt-1tmoj26uf-_FDy3dowVHBiGvLk9e5Xkg"><img src="https://img.shields.io/badge/Slack-100%2B-blueviolet?logo=slack&amp;logoColor=white"></a>
<a href="https://github.com/OpenIMSDK/Open-IM-Server/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-green"></a>
<a href="https://golang.org/"><img src="https://img.shields.io/badge/Language-Go-blue.svg"></a>
</p>
</p>
<p align="center">
<a href="./README.md"><b>English</b></a> •
<a href="./README_zh-CN.md"><b>中文</b></a>
</p>
</p>
## Open-IM-Server 是什么
Open-IM-Server 是一款即时通讯服务器,使用纯 Golang 开发,采用 JSON over WebSocket 传输协议。在 Open-IM-Server 中,所有东西都是消息,因此您可以轻松扩展自定义消息,而无需修改服务器代码。使用微服务架构,Open-IM-Server 可以使用集群进行部署。通过在客户端服务器上部署 Open-IM-Server,开发人员可以免费快速地将即时通讯和实时网络功能集成到自己的应用程序中,并确保业务数据的安全性和隐私性。
## 特点
+ 免费
+ 可扩展架构
+ 易于集成
+ 良好的可扩展性
+ 高性能
+ 轻量级
+ 支持多种协议
## 社区
+ 访问中文官方网站:[Open-IM中文开发文档](https://doc.rentsoft.cn/)
## 快速开始
### 安装Open-IM-Server
> Open-IM 依赖于五个开源高性能组件:ETCD、MySQL、MongoDB、Redis 和 Kafka。在部署 Open-IM-Server 之前,请确保已安装上述五个组件。如果您的服务器没有上述组件,则必须首先安装缺失组件。如果您已经拥有上述组件,则建议直接使用它们。如果没有,则建议使用 Docker-compose,无需安装依赖项,一键部署,更快更方便。
### 使用 Docker 部署
1. 安装 [Go 环境](https://golang.org/doc/install)。确保 Go 版本至少为 1.17。
2. 克隆 Open-IM 项目到您的服务器
`git clone <https://github.com/OpenIMSDK/Open-IM-Server.git> --recursive`
3. 部署
1. 修改 env
```
#cd Open-IM-server
USER=root
PASSWORD=openIM123 #密码至少8位数字,不包括特殊字符
ENDPOINT=http://127.0.0.1:10005 #请用互联网IP替换127.0.0.1
DATA_DIR=./
```
2. 部署和启动
```
chmod +x install_im_server.sh;
./install_im_server.sh;
```
3. 检查服务
```
cd scripts;
./docker_check_service.sh
./check_all.sh
```
![https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/Open-IM-Servers-on-System.png](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/Open-IM-Servers-on-System.png)
### 使用源代码部署
1. Go 1.17 或更高版本。
2. 克隆
```
git clone <https://github.com/OpenIMSDK/Open-IM-Server.git> --recursive
cd cmd/openim-sdk-core
git checkout main
```
3. 设置可执行权限
```
cd ../../scripts/
chmod +x *.sh
```
4. 构建
```
./batch_build_all_service.sh
```
所有服务已成功构建
### 配置说明
> Open-IM 配置分为基本组件配置和业务内部服务配置。当使用产品时,开发人员需要将每个组件的地址填写为其服务器组件的地址,并确保业务内部服务端口未被占用。
### 基本组件配置说明
+ ETCD
+ Etcd 用于 RPC 服务的发现和注册,Etcd Schema 是注册名称的前缀,建议将其修改为公司名称,Etcd 地址(ip+port)支持集群部署,可以填写多个 ETCD 地址,也可以只有一个 etcd 地址。
+ MySQL
+ MySQL 用于消息和用户关系的全存储,暂时不支持集群部署。修改地址、用户、密码和数据库名称。
+ Mongo
+ Mongo 用于消息的离线存储,默认存储 7 天。暂时不支持集群部署。只需修改地址和数据库名称即可。
+ Redis
+ Redis 目前主要用于消息序列号存储和用户令牌信息存储。暂时不支持集群部署。只需修改相应的 Redis 地址和密码即可。
+ Kafka
+ Kafka 用作消息传输存储队列,支持集群部署,只需修改相应的地址。
### 内部服务配置说明
+ credential&&push
+ Open-IM 需要使用三方离线推送功能。目前使用的是腾讯的三方推送,支持 IOS、Android 和 OSX 推送。这些信息是腾讯推送的一些注册信息,开发人员需要去腾讯云移动推送注册相应的信息。如果您没有填写相应的信息,则无法使用离线消息推送功能。
+ api&&rpcport&&longconnsvr&&rpcregistername
+ API 端口是 HTTP 接口,longconnsvr 是 WebSocket 监听端口,rpcport 是内部服务启动端口。两者都支持集群部署。请确保这些端口未被使用。如果要为单个服务打开多个服务,请填写多个以逗号分隔的端口。rpcregistername 是每个服务在注册表 Etcd 中注册的服务名称,无需修改。
+ log&&modulename
+ 日志配置包括日志文件的存储路径,日志发送到 Elasticsearch 进行日志查看。目前不支持将日志发送到 Elasticsearch。暂时不需要修改配置。modulename 用于根据服务模块的名称拆分日志。默认配置可以。
### 脚本说明
> Open-IM 脚本提供服务编译、启动和停止脚本。有四个 Open-IM 脚本启动模块,一个是 http+rpc 服务启动模块,第二个是 WebSocket 服务启动模块,然后是 msg_transfer 模块,最后是 push 模块。
+ path_info.sh&&style_info.sh&&
functions.sh
+ 包含每个模块的路径信息,包括源代码所在的路径、服务启动名称、shell 打印字体样式以及一些用于处理 shell 字符串的函数。
+ build_all_service.sh
+ 编译模块,将 Open-IM 的所有源代码编译为二进制文件并放入 bin 目录。
+ start_rpc_api_service.sh&&msg_gateway_start.sh&&msg_transfer_start.sh&&push_start.sh
+ 独立脚本启动模块,后跟 API 和 RPC 模块、消息网关模块、消息传输模块和推送模块。
+ start_all.sh&&stop_all.sh
+ 总脚本,启动所有服务和关闭所有服务。
## 认证流程图
![https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/open-im-server.png](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/open-im-server.png)
## 架构
![https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/Architecture.jpg](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/Architecture.jpg)
## 开始开发 OpenIM
[社区存储库](https://github.com/OpenIMSDK/community)包含有关从源代码构建 Kubernetes、如何贡献代码和文档、有关什么的联系人等所有信息。
## 贡献
欢迎对该项目进行贡献!请参见 [CONTRIBUTING.md](http://CONTRIBUTING.md) 了解详细信息。
## 社区会议
我们希望任何人都能参与我们的社区,我们提供礼品和奖励,并欢迎您每周四晚上加入我们。
我们在 [GitHub 讨论](https://github.com/OpenIMSDK/Open-IM-Server/discussions/categories/meeting) 中记录每个 [两周会议](https://github.com/OpenIMSDK/Open-IM-Server/issues/381),我们的记录写在 [Google 文档](https://docs.google.com/document/d/1nx8MDpuG74NASx081JcCpxPgDITNTpIIos0DS6Vr9GU/edit?usp=sharing) 中。
## 谁在使用 Open-IM-Server
[用户案例研究](https://github.com/OpenIMSDK/community/blob/main/ADOPTERS.md) 页面包括该项目的用户列表。您可以留下 [📝评论](https://github.com/OpenIMSDK/Open-IM-Server/issues/379) 让我们知道您的用例。
![https://github.com/OpenIMSDK/OpenIM-Docs/blob/main/docs/images/WechatIMG20.jpeg](https://github.com/OpenIMSDK/OpenIM-Docs/blob/main/docs/images/WechatIMG20.jpeg)
## 许可证
Open-IM-Server 使用 Apache 2.0 许可证。有关详情,请参阅 LICENSE 文件。
+92 -63
View File
@@ -1,18 +1,36 @@
# Open-IM-Server
![avatar](https://github.com/OpenIMSDK/OpenIM-Docs/blob/main/docs/images/WechatIMG20.jpeg)
<p align="center">
<a href="https://www.openim.online">
<img src="./assets/logo-gif/openim-logo.gif" width="60%" height="30%"/>
</a>
</p>
<h3 align="center" style="border-bottom: none">
⭐️ Open source Instant Messaging Server ⭐️ <br>
<h3>
![avatar](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/open-im-logo.png)
[![LICENSE](https://img.shields.io/badge/license-Apache--2.0-green)](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/LICENSE) [![Language](https://img.shields.io/badge/Language-Go-blue.svg)](https://golang.org/)
<p align=center>
<a href="https://goreportcard.com/report/github.com/OpenIMSDK/Open-IM-Server"><img src="https://goreportcard.com/badge/github.com/OpenIMSDK/Open-IM-Server" alt="A+"></a>
<a href="https://github.com/OpenIMSDK/Open-IM-Server/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22good+first+issue%22"><img src="https://img.shields.io/github/issues/OpenIMSDK/Open-IM-Server/good%20first%20issue?logo=%22github%22" alt="good first"></a>
<a href="https://github.com/OpenIMSDK/Open-IM-Server"><img src="https://img.shields.io/github/stars/OpenIMSDK/Open-IM-Server.svg?style=flat&logo=github&colorB=deeppink&label=stars"></a>
<a href="https://join.slack.com/t/openimsdk/shared_invite/zt-1tmoj26uf-_FDy3dowVHBiGvLk9e5Xkg"><img src="https://img.shields.io/badge/Slack-100%2B-blueviolet?logo=slack&amp;logoColor=white"></a>
<a href="https://github.com/OpenIMSDK/Open-IM-Server/blob/main/LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-green"></a>
<a href="https://golang.org/"><img src="https://img.shields.io/badge/Language-Go-blue.svg"></a>
</p>
## Open-IM-Server: Open source Instant Messaging Server
</p>
<p align="center">
<a href="./README.md"><b> English </b></a> •
<a href="./README-zh_CN.md"><b> 中文 </b></a>
</p>
</p>
## What is Open-IM-Server
Instant messaging server. Backend in pure Golang, wire transport protocol is JSON over websocket.
Everything is a message in Open-IM-Server, so you can extend custom messages easily, there is no need to modify the server code.
Using microservice architectures, Open-IM-Server can be deployed using clusters.
By deployment of the Open-IM-Server on the customer's server, developers can integrate instant messaging and real-time network capabilities into their own applications free of charge and quickly, and ensure the security and privacy of business data.
## Features
@@ -26,9 +44,7 @@ By deployment of the Open-IM-Server on the customer's server, developers can int
- Supports multiple protocols
## Community
- Join the Telegram-OpenIM group: https://t.me/joinchat/zSJLPaHBNLZmODI1
- 中文官网访问这里:[Open-IM中文开发文档](https://doc.rentsoft.cn/)
- Visit the Chinese official website here: [📚 Open-IM docs](https://www.openim.online/zh)
## Quick start
@@ -36,75 +52,69 @@ By deployment of the Open-IM-Server on the customer's server, developers can int
> Open-IM relies on five open source high-performance components: ETCD, MySQL, MongoDB, Redis, and Kafka. Privatization deployment Before Open-IM-Server, please make sure that the above five components have been installed. If your server does not have the above components, you must first install Missing components. If you have the above components, it is recommended to use them directly. If not, it is recommended to use Docker-compose, no To install dependencies, one-click deployment, faster and more convenient.
#### Source code deployment
#### Deploy using Docker
1. Install [Go environment](https://golang.org/doc/install). Make sure Go version is at least 1.15.
1. Install [Go environment](https://golang.org/doc/install). Make sure Go version is at least 1.17
2. Clone the Open-IM project to your server.
2. Clone the Open-IM project to your server
```
git clone https://github.com/OpenIMSDK/Open-IM-Server.git --recursive
```
3. Build and start Service.
3. Deploy
1. Shell authorization
1. Modify env
```
#cd Open-IM-server/script
chmod +x *.sh
#cd Open-IM-server
USER=root
PASSWORD=openIM123 #Password with more than 8 digits, excluding special characters
ENDPOINT=http://127.0.0.1:10005 #Replace 127.0.0.1 with Internet IP
DATA_DIR=./
```
2. Execute the build shell
2. Deploy && Start
```
./build_all_service.sh
chmod +x install_im_server.sh;
./install_im_server.sh;
```
3. Start service
```
./start_all.sh
```
4. Check service
```
./check_all.sh
cd scripts;
./docker_check_service.sh./check_all.sh
```
![OpenIMServersonSystempng](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/images/Open-IM-Servers-on-System.png)
![OpenIMServersonSystempng](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/Open-IM-Servers-on-System.png)
#### Deploy using source code
#### Docker deployment
1. Go 1.17 or above.
2. Clone
All images are available at https://hub.docker.com/r/lyt1123/open_im_server
```shell
git clone https://github.com/OpenIMSDK/Open-IM-Server.git --recursive
cd cmd/openim-sdk-core
git checkout main
```
1. [Install Docker](https://docs.docker.com/install/) 1.13 or above.
1. Set executable permissions
2. [Install Docker Compose](https://docs.docker.com/compose/install/) 1.22 or above.
```shell
cd ../../scripts/
chmod +x *.sh
```
3. Clone the Open-IM project to your server.
1. build
```
git clone https://github.com/OpenIMSDK/Open-IM-Server.git --recursive
```
```shell
./batch_build_all_service.sh
```
4. Start docker-compose with one click(Docker automatically pulls all images)
```
cd Open-IM-Server
docker-compose up -d
```
5. Check service
```
./docker_check_service.sh
./check_all.sh
```
![OpenIMServersondockerpng](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/Open-IM-Servers-on-docker.png)
all services build success
### CONFIGURATION INSTRUCTIONS
@@ -134,27 +144,46 @@ All images are available at https://hub.docker.com/r/lyt1123/open_im_server
- multiloginpolicy&&tokenpolicy
- Open-IM supports multi-terminal login. Currently, there are three multi-terminal login policies. The PC terminal and the mobile terminal are online at the same time by default. When multiple policies are configured to be true, the first policy with true is used by default, and the token policy is the generated token policy. , The developer can customize the expiration time of the token
### SCRIPT DESCRIPTION
### scripts DESCRIPTION
> Open-IM script provides service compilation, start, and stop scripts. There are four Open-IM script start modules, one is the http+rpc service start module, the second is the websocket service start module, then the msg_transfer module, and the last is the push module
> Open-IM scripts provides service compilation, start, and stop scripts. There are four Open-IM scripts start modules, one is the http+rpc service start module, the second is the websocket service start module, then the msg_transfer module, and the last is the push module
- path_info.cfg&&style_info.cfg&&functions.sh
- path_info.sh&&style_info.sh&&functions.sh
- Contains the path information of each module, including the path where the source code is located, the name of the service startup, the shell print font style, and some functions for processing shell strings
- build_all_service.sh
- Compile the module, compile all the source code of Open-IM into a binary file and put it into the bin directory
- start_rpc_api_service.sh&&msg_gateway_start.sh&&msg_transfer_start.sh&&push_start.sh
- Independent script startup module, followed by api and rpc modules, message gateway module, message transfer module, and push module
- Independent scripts startup module, followed by api and rpc modules, message gateway module, message transfer module, and push module
- start_all.sh&&stop_all.sh
- Total script, start all services and close all services
- Total scripts, start all services and close all services
## Authentication Clow Chart
![avatar](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/open-im-server.png)
![avatar](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/images/open-im-server.png)
## Architecture
![avatar](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/Architecture.jpg)
![avatar](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/images/Architecture.jpg)
## To start developing OpenIM
The [community repository](https://github.com/OpenIMSDK/community) hosts all information about building Kubernetes from source, how to contribute code and documentation, who to contact about what, etc.
## Contributing
Contributions to this project are welcome! Please see [CONTRIBUTING.md](./CONTRIBUTING.md) for details.
## Community Meetings
We want anyone to get involved in our community, we offer gifts and rewards, and we welcome you to join us every Thursday night.
We take notes of each [biweekly meeting](https://github.com/OpenIMSDK/Open-IM-Server/issues/381) in [GitHub discussions](https://github.com/OpenIMSDK/Open-IM-Server/discussions/categories/meeting), and our minutes are written in [Google Docs](https://docs.google.com/document/d/1nx8MDpuG74NASx081JcCpxPgDITNTpIIos0DS6Vr9GU/edit?usp=sharing).
## Who are using Open-IM-Server
The [user case studies](https://github.com/OpenIMSDK/community/blob/main/ADOPTERS.md) page includes the user list of the project. You can leave a [📝comment](https://github.com/OpenIMSDK/Open-IM-Server/issues/379) to let us know your use case.
![avatar](https://github.com/OpenIMSDK/OpenIM-Docs/blob/main/docs/images/WechatIMG20.jpeg)
## License
Open-IM-Server is under the Apache 2.0 license. See the [LICENSE](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/LICENSE) file for details
Open-IM-Server is under the Apache 2.0 license. See the [LICENSE](./LICENSE) file for details
+32
View File
@@ -0,0 +1,32 @@
# `/assets`
The `/assets` directory in the OpenIM repository contains various assets such as images, logos, and animated GIFs. These assets serve different purposes and contribute to the functionality and aesthetics of the OpenIM project.
## Directory Structure:
```bash
assets/
├── README.md # Documentation for the assets directory
├── images # Directory holding images related to OpenIM
│ ├── architecture.png # Image depicting the architecture of OpenIM
│ └── mvc.png # Image illustrating the Model-View-Controller (MVC) pattern
├── intive-slack.png # Image displaying the Intive Slack logo
├── logo # Directory containing various logo variations for OpenIM
│ ├── openim-logo-black.png # OpenIM logo with a black background
│ ├── openim-logo-blue.png # OpenIM logo with a blue background
│ ├── openim-logo-green.png # OpenIM logo with a green background
│ ├── openim-logo-purple.png # OpenIM logo with a purple background
│ ├── openim-logo-white.png # OpenIM logo with a white background
│ ├── openim-logo-yellow.png # OpenIM logo with a yellow background
│ └── openim-logo.png # OpenIM logo with a transparent background
└── logo-gif # Directory containing animated GIF versions of the OpenIM logo
└── openim-log.gif # Animated OpenIM logo with a transparent background
```
## Copyright Notice:
The OpenIM logo, including its variations and animated versions, displayed in this repository [OpenIM](https://github.com/OpenIMSDK/openim) under the `/assets/logo` and `/assets/logo-gif` directories, are protected by copyright laws.
The logo design is credited to @Xx(席欣).
Please respect the intellectual property rights and refrain from unauthorized use and distribution of these assets.
Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

+1
View File
@@ -0,0 +1 @@
# The OpenIM logo files are licensed under a choice of either Apache-2.0 or CC-BY-4.0 (Creative Commons Attribution 4.0 International).
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

+1
View File
@@ -0,0 +1 @@
# The OpenIM logo files are licensed under a choice of either Apache-2.0 or CC-BY-4.0 (Creative Commons Attribution 4.0 International).
Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 58 KiB

-25
View File
@@ -1,25 +0,0 @@
.PHONY: all build run gotool install clean help
BINARY_NAME=open_im_api
BIN_DIR=../../bin/
all: gotool build
build:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s"
run:
@go run ./
gotool:
go fmt ./
go vet ./
install:
make build
mv ${BINARY_NAME} ${BIN_DIR}
clean:
@if [ -f ${BINARY_NAME} ] ; then rm ${BINARY_NAME} ; fi
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
-218
View File
@@ -1,218 +0,0 @@
package main
import (
_ "Open_IM/cmd/open_im_api/docs"
apiAuth "Open_IM/internal/api/auth"
"Open_IM/internal/api/conversation"
"Open_IM/internal/api/friend"
"Open_IM/internal/api/group"
"Open_IM/internal/api/manage"
apiChat "Open_IM/internal/api/msg"
"Open_IM/internal/api/office"
"Open_IM/internal/api/organization"
apiThird "Open_IM/internal/api/third"
"Open_IM/internal/api/user"
"Open_IM/pkg/common/config"
"Open_IM/pkg/common/log"
"Open_IM/pkg/utils"
"flag"
"fmt"
//_ "github.com/razeencheng/demo-go/swaggo-gin/docs"
swaggerFiles "github.com/swaggo/files"
ginSwagger "github.com/swaggo/gin-swagger"
"io"
"os"
"strconv"
"github.com/gin-gonic/gin"
//"syscall"
"Open_IM/pkg/common/constant"
)
// @title open-IM-Server API
// @version 1.0
// @description open-IM-Server 的API服务器文档, 文档中所有请求都有一个operationID字段用于链路追踪
// @license.name Apache 2.0
// @license.url http://www.apache.org/licenses/LICENSE-2.0.html
// @BasePath /
func main() {
log.NewPrivateLog(constant.LogFileName)
gin.SetMode(gin.ReleaseMode)
f, _ := os.Create("../logs/api.log")
gin.DefaultWriter = io.MultiWriter(f)
gin.SetMode(gin.DebugMode)
r := gin.Default()
r.Use(utils.CorsHandler())
log.Info("load config: ", config.Config)
r.GET("/swagger/*any", ginSwagger.WrapHandler(swaggerFiles.Handler))
// user routing group, which handles user registration and login services
userRouterGroup := r.Group("/user")
{
userRouterGroup.POST("/update_user_info", user.UpdateUserInfo) //1
userRouterGroup.POST("/set_global_msg_recv_opt", user.SetGlobalRecvMessageOpt)
userRouterGroup.POST("/get_users_info", user.GetUsersInfo) //1
userRouterGroup.POST("/get_self_user_info", user.GetSelfUserInfo) //1
userRouterGroup.POST("/get_users_online_status", user.GetUsersOnlineStatus) //1
userRouterGroup.POST("/get_users_info_from_cache", user.GetUsersInfoFromCache)
userRouterGroup.POST("/get_user_friend_from_cache", user.GetFriendIDListFromCache)
userRouterGroup.POST("/get_black_list_from_cache", user.GetBlackIDListFromCache)
userRouterGroup.POST("/get_all_users_uid", manage.GetAllUsersUid) //1
userRouterGroup.POST("/account_check", manage.AccountCheck) //1
// userRouterGroup.POST("/get_users_online_status", manage.GetUsersOnlineStatus) //1
}
//friend routing group
friendRouterGroup := r.Group("/friend")
{
// friendRouterGroup.POST("/get_friends_info", friend.GetFriendsInfo)
friendRouterGroup.POST("/add_friend", friend.AddFriend) //1
friendRouterGroup.POST("/delete_friend", friend.DeleteFriend) //1
friendRouterGroup.POST("/get_friend_apply_list", friend.GetFriendApplyList) //1
friendRouterGroup.POST("/get_self_friend_apply_list", friend.GetSelfFriendApplyList) //1
friendRouterGroup.POST("/get_friend_list", friend.GetFriendList) //1
friendRouterGroup.POST("/add_friend_response", friend.AddFriendResponse) //1
friendRouterGroup.POST("/set_friend_remark", friend.SetFriendRemark) //1
friendRouterGroup.POST("/add_black", friend.AddBlack) //1
friendRouterGroup.POST("/get_black_list", friend.GetBlacklist) //1
friendRouterGroup.POST("/remove_black", friend.RemoveBlack) //1
friendRouterGroup.POST("/import_friend", friend.ImportFriend) //1
friendRouterGroup.POST("/is_friend", friend.IsFriend) //1
}
//group related routing group
groupRouterGroup := r.Group("/group")
{
groupRouterGroup.POST("/create_group", group.CreateGroup) //1
groupRouterGroup.POST("/set_group_info", group.SetGroupInfo) //1
groupRouterGroup.POST("/join_group", group.JoinGroup) //1
groupRouterGroup.POST("/quit_group", group.QuitGroup) //1
groupRouterGroup.POST("/group_application_response", group.ApplicationGroupResponse) //1
groupRouterGroup.POST("/transfer_group", group.TransferGroupOwner) //1
groupRouterGroup.POST("/get_recv_group_applicationList", group.GetRecvGroupApplicationList) //1
groupRouterGroup.POST("/get_user_req_group_applicationList", group.GetUserReqGroupApplicationList)
groupRouterGroup.POST("/get_groups_info", group.GetGroupsInfo) //1
groupRouterGroup.POST("/kick_group", group.KickGroupMember) //1
groupRouterGroup.POST("/get_group_member_list", group.GetGroupMemberList) //no use
groupRouterGroup.POST("/get_group_all_member_list", group.GetGroupAllMemberList) //1
groupRouterGroup.POST("/get_group_members_info", group.GetGroupMembersInfo) //1
groupRouterGroup.POST("/invite_user_to_group", group.InviteUserToGroup) //1
groupRouterGroup.POST("/get_joined_group_list", group.GetJoinedGroupList)
groupRouterGroup.POST("/dismiss_group", group.DismissGroup) //
groupRouterGroup.POST("/mute_group_member", group.MuteGroupMember)
groupRouterGroup.POST("/cancel_mute_group_member", group.CancelMuteGroupMember) //MuteGroup
groupRouterGroup.POST("/mute_group", group.MuteGroup)
groupRouterGroup.POST("/cancel_mute_group", group.CancelMuteGroup)
groupRouterGroup.POST("/set_group_member_nickname", group.SetGroupMemberNickname)
groupRouterGroup.POST("/set_group_member_info", group.SetGroupMemberInfo)
}
superGroupRouterGroup := r.Group("/super_group")
{
superGroupRouterGroup.POST("/get_joined_group_list", group.GetJoinedSuperGroupList)
superGroupRouterGroup.POST("/get_groups_info", group.GetSuperGroupsInfo)
}
//certificate
authRouterGroup := r.Group("/auth")
{
authRouterGroup.POST("/user_register", apiAuth.UserRegister) //1
authRouterGroup.POST("/user_token", apiAuth.UserToken) //1
authRouterGroup.POST("/parse_token", apiAuth.ParseToken) //1
authRouterGroup.POST("/force_logout", apiAuth.ForceLogout) //1
}
//Third service
thirdGroup := r.Group("/third")
{
thirdGroup.POST("/tencent_cloud_storage_credential", apiThird.TencentCloudStorageCredential)
thirdGroup.POST("/ali_oss_credential", apiThird.AliOSSCredential)
thirdGroup.POST("/minio_storage_credential", apiThird.MinioStorageCredential)
thirdGroup.POST("/minio_upload", apiThird.MinioUploadFile)
thirdGroup.POST("/upload_update_app", apiThird.UploadUpdateApp)
thirdGroup.POST("/get_download_url", apiThird.GetDownloadURL)
thirdGroup.POST("/get_rtc_invitation_info", apiThird.GetRTCInvitationInfo)
thirdGroup.POST("/get_rtc_invitation_start_app", apiThird.GetRTCInvitationInfoStartApp)
thirdGroup.POST("/fcm_update_token", apiThird.FcmUpdateToken)
}
//Message
chatGroup := r.Group("/msg")
{
chatGroup.POST("/newest_seq", apiChat.GetSeq)
chatGroup.POST("/send_msg", apiChat.SendMsg)
chatGroup.POST("/pull_msg_by_seq", apiChat.PullMsgBySeqList)
chatGroup.POST("/del_msg", apiChat.DelMsg)
chatGroup.POST("/del_super_group_msg", apiChat.DelSuperGroupMsg)
chatGroup.POST("/clear_msg", apiChat.ClearMsg)
chatGroup.POST("/manage_send_msg", manage.ManagementSendMsg)
chatGroup.POST("/batch_send_msg", manage.ManagementBatchSendMsg)
chatGroup.POST("/check_msg_is_send_success", manage.CheckMsgIsSendSuccess)
chatGroup.POST("/set_msg_min_seq", apiChat.SetMsgMinSeq)
}
//Conversation
conversationGroup := r.Group("/conversation")
{ //1
conversationGroup.POST("/get_all_conversations", conversation.GetAllConversations)
conversationGroup.POST("/get_conversation", conversation.GetConversation)
conversationGroup.POST("/get_conversations", conversation.GetConversations)
conversationGroup.POST("/set_conversation", conversation.SetConversation)
conversationGroup.POST("/batch_set_conversation", conversation.BatchSetConversations)
conversationGroup.POST("/set_recv_msg_opt", conversation.SetRecvMsgOpt)
conversationGroup.POST("/modify_conversation_field", conversation.ModifyConversationField)
}
// office
officeGroup := r.Group("/office")
{
officeGroup.POST("/get_user_tags", office.GetUserTags)
officeGroup.POST("/get_user_tag_by_id", office.GetUserTagByID)
officeGroup.POST("/create_tag", office.CreateTag)
officeGroup.POST("/delete_tag", office.DeleteTag)
officeGroup.POST("/set_tag", office.SetTag)
officeGroup.POST("/send_msg_to_tag", office.SendMsg2Tag)
officeGroup.POST("/get_send_tag_log", office.GetTagSendLogs)
officeGroup.POST("/create_one_work_moment", office.CreateOneWorkMoment)
officeGroup.POST("/delete_one_work_moment", office.DeleteOneWorkMoment)
officeGroup.POST("/like_one_work_moment", office.LikeOneWorkMoment)
officeGroup.POST("/comment_one_work_moment", office.CommentOneWorkMoment)
officeGroup.POST("/get_work_moment_by_id", office.GetWorkMomentByID)
officeGroup.POST("/get_user_work_moments", office.GetUserWorkMoments)
officeGroup.POST("/get_user_friend_work_moments", office.GetUserFriendWorkMoments)
officeGroup.POST("/set_user_work_moments_level", office.SetUserWorkMomentsLevel)
officeGroup.POST("/delete_comment", office.DeleteComment)
}
organizationGroup := r.Group("/organization")
{
organizationGroup.POST("/create_department", organization.CreateDepartment)
organizationGroup.POST("/update_department", organization.UpdateDepartment)
organizationGroup.POST("/get_sub_department", organization.GetSubDepartment)
organizationGroup.POST("/delete_department", organization.DeleteDepartment)
organizationGroup.POST("/get_all_department", organization.GetAllDepartment)
organizationGroup.POST("/create_organization_user", organization.CreateOrganizationUser)
organizationGroup.POST("/update_organization_user", organization.UpdateOrganizationUser)
organizationGroup.POST("/delete_organization_user", organization.DeleteOrganizationUser)
organizationGroup.POST("/create_department_member", organization.CreateDepartmentMember)
organizationGroup.POST("/get_user_in_department", organization.GetUserInDepartment)
organizationGroup.POST("/update_user_in_department", organization.UpdateUserInDepartment)
organizationGroup.POST("/get_department_member", organization.GetDepartmentMember)
organizationGroup.POST("/delete_user_in_department", organization.DeleteUserInDepartment)
}
go apiThird.MinioInit()
defaultPorts := config.Config.Api.GinPort
ginPort := flag.Int("port", defaultPorts[0], "get ginServerPort from cmd,default 10002 as port")
flag.Parse()
address := "0.0.0.0:" + strconv.Itoa(*ginPort)
if config.Config.Api.ListenIP != "" {
address = config.Config.Api.ListenIP + ":" + strconv.Itoa(*ginPort)
}
address = config.Config.Api.ListenIP + ":" + strconv.Itoa(*ginPort)
fmt.Println("start api server, address: ", address)
err := r.Run(address)
if err != nil {
log.Error("", "run failed ", *ginPort, err.Error())
}
}
-28
View File
@@ -1,28 +0,0 @@
package main
import (
"Open_IM/internal/cms_api"
"Open_IM/pkg/utils"
"flag"
"fmt"
"strconv"
"Open_IM/pkg/common/config"
"github.com/gin-gonic/gin"
)
func main() {
gin.SetMode(gin.ReleaseMode)
router := cms_api.NewGinRouter()
router.Use(utils.CorsHandler())
defaultPorts := config.Config.CmsApi.GinPort
ginPort := flag.Int("port", defaultPorts[0], "get ginServerPort from cmd,default 10006 as port")
flag.Parse()
address := "0.0.0.0:" + strconv.Itoa(*ginPort)
if config.Config.Api.ListenIP != "" {
address = config.Config.Api.ListenIP + ":" + strconv.Itoa(*ginPort)
}
address = config.Config.CmsApi.ListenIP + ":" + strconv.Itoa(*ginPort)
fmt.Println("start cms api server, address: ", address)
router.Run(address)
}
-25
View File
@@ -1,25 +0,0 @@
.PHONY: all build run gotool install clean help
BINARY_NAME=open_im_demo
BIN_DIR=../../bin/
all: gotool build
build:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s"
run:
@go run ./
gotool:
go fmt ./
go vet ./
install:
make build
mv ${BINARY_NAME} ${BIN_DIR}
clean:
@if [ -f ${BINARY_NAME} ] ; then rm ${BINARY_NAME} ; fi
-58
View File
@@ -1,58 +0,0 @@
package main
import (
"Open_IM/internal/demo/register"
"Open_IM/pkg/utils"
"flag"
"fmt"
"io"
"os"
"strconv"
"Open_IM/pkg/common/config"
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/log"
"github.com/gin-gonic/gin"
)
func main() {
log.NewPrivateLog(constant.LogFileName)
gin.SetMode(gin.ReleaseMode)
f, _ := os.Create("../logs/api.log")
gin.DefaultWriter = io.MultiWriter(f)
r := gin.Default()
r.Use(utils.CorsHandler())
authRouterGroup := r.Group("/demo")
{
authRouterGroup.POST("/code", register.SendVerificationCode)
authRouterGroup.POST("/verify", register.Verify)
authRouterGroup.POST("/password", register.SetPassword)
authRouterGroup.POST("/login", register.Login)
authRouterGroup.POST("/reset_password", register.ResetPassword)
}
demoRouterGroup := r.Group("/auth")
{
demoRouterGroup.POST("/code", register.SendVerificationCode)
demoRouterGroup.POST("/verify", register.Verify)
demoRouterGroup.POST("/password", register.SetPassword)
demoRouterGroup.POST("/login", register.Login)
demoRouterGroup.POST("/reset_password", register.ResetPassword)
}
defaultPorts := config.Config.Demo.Port
ginPort := flag.Int("port", defaultPorts[0], "get ginServerPort from cmd,default 42233 as port")
flag.Parse()
fmt.Println("start demo api server, port: ", *ginPort)
address := "0.0.0.0:" + strconv.Itoa(*ginPort)
if config.Config.Api.ListenIP != "" {
address = config.Config.Api.ListenIP + ":" + strconv.Itoa(*ginPort)
}
address = config.Config.CmsApi.ListenIP + ":" + strconv.Itoa(*ginPort)
fmt.Println("start demo api server address: ", address)
go register.OnboardingProcessRoutine()
err := r.Run(address)
if err != nil {
log.Error("", "run failed ", *ginPort, err.Error())
}
}
-24
View File
@@ -1,24 +0,0 @@
.PHONY: all build run gotool install clean help
BINARY_NAME=open_im_msg_gateway
BIN_DIR=../../bin/
all: gotool build
build:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s"
run:
@go run ./
gotool:
go fmt ./
go vet ./
install:
make build
mv ${BINARY_NAME} ${BIN_DIR}
clean:
@if [ -f ${BINARY_NAME} ] ; then rm ${BINARY_NAME} ; fi
-26
View File
@@ -1,26 +0,0 @@
package main
import (
"Open_IM/internal/msg_gateway/gate"
"Open_IM/pkg/common/config"
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/log"
"flag"
"fmt"
"sync"
)
func main() {
log.NewPrivateLog(constant.LogFileName)
defaultRpcPorts := config.Config.RpcPort.OpenImMessageGatewayPort
defaultWsPorts := config.Config.LongConnSvr.WebsocketPort
rpcPort := flag.Int("rpc_port", defaultRpcPorts[0], "rpc listening port")
wsPort := flag.Int("ws_port", defaultWsPorts[0], "ws listening port")
flag.Parse()
var wg sync.WaitGroup
wg.Add(1)
fmt.Println("start rpc/msg_gateway server, port: ", *rpcPort, *wsPort)
gate.Init(*rpcPort, *wsPort)
gate.Run()
wg.Wait()
}
-25
View File
@@ -1,25 +0,0 @@
.PHONY: all build run gotool install clean help
BINARY_NAME=open_im_msg_transfer
BIN_DIR=../../bin/
all: gotool build
build:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s"
run:
@go run ./
gotool:
go fmt ./
go vet ./
install:
make build
mv ${BINARY_NAME} ${BIN_DIR}
clean:
@if [ -f ${BINARY_NAME} ] ; then rm ${BINARY_NAME} ; fi
-19
View File
@@ -1,19 +0,0 @@
package main
import (
"Open_IM/internal/msg_transfer/logic"
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/log"
"fmt"
"sync"
)
func main() {
var wg sync.WaitGroup
wg.Add(1)
log.NewPrivateLog(constant.LogFileName)
logic.Init()
fmt.Println("start msg_transfer server")
logic.Run()
wg.Wait()
}
-25
View File
@@ -1,25 +0,0 @@
.PHONY: all build run gotool install clean help
BINARY_NAME=open_im_push
BIN_DIR=../../bin/
all: gotool build
build:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s"
run:
@go run ./
gotool:
go fmt ./
go vet ./
install:
make build
mv ${BINARY_NAME} ${BIN_DIR}
clean:
@if [ -f ${BINARY_NAME} ] ; then rm ${BINARY_NAME} ; fi
-24
View File
@@ -1,24 +0,0 @@
package main
import (
"Open_IM/internal/push/logic"
"Open_IM/pkg/common/config"
"Open_IM/pkg/common/constant"
"Open_IM/pkg/common/log"
"flag"
"fmt"
"sync"
)
func main() {
defaultPorts := config.Config.RpcPort.OpenImPushPort
rpcPort := flag.Int("port", defaultPorts[0], "rpc listening port")
flag.Parse()
var wg sync.WaitGroup
wg.Add(1)
log.NewPrivateLog(constant.LogFileName)
fmt.Println("start push rpc server, port: ", *rpcPort)
logic.Init(*rpcPort)
logic.Run()
wg.Wait()
}
@@ -1,13 +1,24 @@
.PHONY: all build run gotool install clean help
BINARY_NAME=open_im_cms_api
NAME=openim-api
BIN_DIR=../../bin/
OS:= $(or $(os),linux)
ARCH:=$(or $(arch),amd64)
all: gotool build
ifeq ($(OS),windows)
BINARY_NAME=${NAME}.exe
else
BINARY_NAME=${NAME}
endif
build:
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s"
CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH}; go build -ldflags="-w -s" -o ${BINARY_NAME}
run:
@go run ./
@@ -16,10 +27,8 @@ gotool:
go fmt ./
go vet ./
install:
make build
install:build
mv ${BINARY_NAME} ${BIN_DIR}
clean:
@if [ -f ${BINARY_NAME} ] ; then rm ${BINARY_NAME} ; fi
+32
View File
@@ -0,0 +1,32 @@
# Copyright © 2023 OpenIM. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM ubuntu
WORKDIR /Open-IM-Server/bin
RUN apt-get update && apt-get install apt-transport-https && apt-get install procps\
&&apt-get install net-tools
#Non-interactive operation
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get install -y vim curl tzdata gawk
#Time zone adjusted to East eighth District
RUN ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && dpkg-reconfigure -f noninteractive tzdata
RUN apt-get -qq update \
&& apt-get -qq install -y --no-install-recommends ca-certificates curl
COPY ./openim-api ./
VOLUME ["/Open-IM-Server/logs","/Open-IM-Server/config"]
CMD ["./openim-api","--port", "10002"]
+101
View File
@@ -0,0 +1,101 @@
// Copyright © 2023 OpenIM. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package main
import (
"context"
"fmt"
"net"
"net/http"
"os"
"runtime"
"strconv"
"time"
_ "net/http/pprof"
"github.com/OpenIMSDK/Open-IM-Server/internal/api"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/cmd"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/constant"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/cache"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/log"
"github.com/OpenIMSDK/Open-IM-Server/pkg/discoveryregistry"
openKeeper "github.com/OpenIMSDK/Open-IM-Server/pkg/discoveryregistry/zookeeper"
)
func main() {
apiCmd := cmd.NewApiCmd()
apiCmd.AddPortFlag()
apiCmd.AddApi(run)
if err := apiCmd.Execute(); err != nil {
panic(err.Error())
}
}
func startPprof() {
runtime.GOMAXPROCS(1)
runtime.SetMutexProfileFraction(1)
runtime.SetBlockProfileRate(1)
if err := http.ListenAndServe(":6060", nil); err != nil {
panic(err)
}
os.Exit(0)
}
func run(port int) error {
if port == 0 {
return fmt.Errorf("port is empty")
}
rdb, err := cache.NewRedis()
if err != nil {
return err
}
fmt.Println("api start init discov client")
var client discoveryregistry.SvcDiscoveryRegistry
client, err = openKeeper.NewClient(config.Config.Zookeeper.ZkAddr, config.Config.Zookeeper.Schema,
openKeeper.WithFreq(time.Hour), openKeeper.WithUserNameAndPassword(
config.Config.Zookeeper.Username,
config.Config.Zookeeper.Password,
), openKeeper.WithRoundRobin(), openKeeper.WithTimeout(10), openKeeper.WithLogger(log.NewZkLogger()))
if err != nil {
return err
}
if err := client.CreateRpcRootNodes(config.GetServiceNames()); err != nil {
return err
}
fmt.Println("api register public config to discov")
if err := client.RegisterConf2Registry(constant.OpenIMCommonConfigKey, config.EncodeConfig()); err != nil {
return err
}
fmt.Println("api register public config to discov success")
router := api.NewGinRouter(client, rdb)
fmt.Println("api init router success")
var address string
if config.Config.Api.ListenIP != "" {
address = net.JoinHostPort(config.Config.Api.ListenIP, strconv.Itoa(port))
} else {
address = net.JoinHostPort("0.0.0.0", strconv.Itoa(port))
}
fmt.Println("start api server, address: ", address, ", OpenIM version: ", config.Version)
log.ZInfo(context.Background(), "start server success", "address", address, "version", config.Version)
go startPprof()
err = router.Run(address)
if err != nil {
log.ZError(context.Background(), "api run failed ", err, "address", address)
return err
}
return nil
}
+34
View File
@@ -0,0 +1,34 @@
.PHONY: all build run gotool install clean help
NAME=openim-cmdutils
BIN_DIR=../../bin/
OS:= $(or $(os),linux)
ARCH:=$(or $(arch),amd64)
all: gotool build
ifeq ($(OS),windows)
BINARY_NAME=${NAME}.exe
else
BINARY_NAME=${NAME}
endif
build:
CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH}; go build -ldflags="-w -s" -o ${BINARY_NAME}
run:
@go run ./
gotool:
go fmt ./
go vet ./
install:build
mv ${BINARY_NAME} ${BIN_DIR}
clean:
@if [ -f ${BINARY_NAME} ] ; then rm ${BINARY_NAME} ; fi
+59
View File
@@ -0,0 +1,59 @@
// Copyright © 2023 OpenIM. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package main
import (
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/cmd"
)
func main() {
msgUtilsCmd := cmd.NewMsgUtilsCmd("openIMCmdUtils", "openIM cmd utils", nil)
getCmd := cmd.NewGetCmd()
fixCmd := cmd.NewFixCmd()
clearCmd := cmd.NewClearCmd()
seqCmd := cmd.NewSeqCmd()
msgCmd := cmd.NewMsgCmd()
getCmd.AddCommand(seqCmd.GetSeqCmd(), msgCmd.GetMsgCmd())
getCmd.AddSuperGroupIDFlag()
getCmd.AddUserIDFlag()
getCmd.AddBeginSeqFlag()
getCmd.AddLimitFlag()
// openIM get seq --userID=xxx
// openIM get seq --superGroupID=xxx
// openIM get msg --userID=xxx --beginSeq=100 --limit=10
// openIM get msg --superGroupID=xxx --beginSeq=100 --limit=10
fixCmd.AddCommand(seqCmd.FixSeqCmd())
fixCmd.AddSuperGroupIDFlag()
fixCmd.AddUserIDFlag()
fixCmd.AddFixAllFlag()
// openIM fix seq --userID=xxx
// openIM fix seq --superGroupID=xxx
// openIM fix seq --fixAll
clearCmd.AddCommand(msgCmd.ClearMsgCmd())
clearCmd.AddSuperGroupIDFlag()
clearCmd.AddUserIDFlag()
clearCmd.AddClearAllFlag()
clearCmd.AddBeginSeqFlag()
clearCmd.AddLimitFlag()
// openIM clear msg --userID=xxx --beginSeq=100 --limit=10
// openIM clear msg --superGroupID=xxx --beginSeq=100 --limit=10
// openIM clear msg --clearAll
msgUtilsCmd.AddCommand(&getCmd.Command, &fixCmd.Command, &clearCmd.Command)
if err := msgUtilsCmd.Execute(); err != nil {
panic(err)
}
}
+34
View File
@@ -0,0 +1,34 @@
.PHONY: all build run gotool install clean help
NAME=openim-crontask
BIN_DIR=../../bin/
OS:= $(or $(os),linux)
ARCH:=$(or $(arch),amd64)
all: gotool build
ifeq ($(OS),windows)
BINARY_NAME=${NAME}.exe
else
BINARY_NAME=${NAME}
endif
build:
CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH}; go build -ldflags="-w -s" -o ${BINARY_NAME}
run:
@go run ./
gotool:
go fmt ./
go vet ./
install:build
mv ${BINARY_NAME} ${BIN_DIR}
clean:
@if [ -f ${BINARY_NAME} ] ; then rm ${BINARY_NAME} ; fi
+32
View File
@@ -0,0 +1,32 @@
# Copyright © 2023 OpenIM. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM ubuntu
WORKDIR /Open-IM-Server/bin
RUN apt-get update && apt-get install apt-transport-https && apt-get install procps\
&&apt-get install net-tools
#Non-interactive operation
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get install -y vim curl tzdata gawk
#Time zone adjusted to East eighth District
RUN ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && dpkg-reconfigure -f noninteractive tzdata
RUN apt-get -qq update \
&& apt-get -qq install -y --no-install-recommends ca-certificates curl
COPY ./openim-crontask ./
VOLUME ["/Open-IM-Server/logs","/Open-IM-Server/config"]
CMD ["./openim-crontask"]
+27
View File
@@ -0,0 +1,27 @@
// Copyright © 2023 OpenIM. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package main
import (
"github.com/OpenIMSDK/Open-IM-Server/internal/tools"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/cmd"
)
func main() {
cronTaskCmd := cmd.NewCronTaskCmd()
if err := cronTaskCmd.Exec(tools.StartCronTask); err != nil {
panic(err.Error())
}
}
+34
View File
@@ -0,0 +1,34 @@
.PHONY: all build run gotool install clean help
NAME=openim-rpc-msg_gateway
BIN_DIR=../../bin/
OS:= $(or $(os),linux)
ARCH:=$(or $(arch),amd64)
all: gotool build
ifeq ($(OS),windows)
BINARY_NAME=${NAME}.exe
else
BINARY_NAME=${NAME}
endif
build:
CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH}; go build -ldflags="-w -s" -o ${BINARY_NAME}
run:
@go run ./
gotool:
go fmt ./
go vet ./
install:build
mv ${BINARY_NAME} ${BIN_DIR}
clean:
@if [ -f ${BINARY_NAME} ] ; then rm ${BINARY_NAME} ; fi
+32
View File
@@ -0,0 +1,32 @@
# Copyright © 2023 OpenIM. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM ubuntu
WORKDIR /Open-IM-Server/bin
RUN apt-get update && apt-get install apt-transport-https && apt-get install procps\
&&apt-get install net-tools
#Non-interactive operation
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get install -y vim curl tzdata gawk
#Time zone adjusted to East eighth District
RUN ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && dpkg-reconfigure -f noninteractive tzdata
RUN apt-get -qq update \
&& apt-get -qq install -y --no-install-recommends ca-certificates curl
COPY ./openim-rpc-msg_gateway ./
VOLUME ["/Open-IM-Server/logs","/Open-IM-Server/config"]
CMD ["./openim-rpc-msg_gateway","--port", "10140" "--ws_port", "10001", "--prometheus_port", "20240"]
+29
View File
@@ -0,0 +1,29 @@
// Copyright © 2023 OpenIM. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package main
import (
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/cmd"
)
func main() {
msgGatewayCmd := cmd.NewMsgGatewayCmd()
msgGatewayCmd.AddWsPortFlag()
msgGatewayCmd.AddPortFlag()
msgGatewayCmd.AddPrometheusPortFlag()
if err := msgGatewayCmd.Exec(); err != nil {
panic(err.Error())
}
}
+34
View File
@@ -0,0 +1,34 @@
.PHONY: all build run gotool install clean help
NAME=openim-msgtransfer
BIN_DIR=../../bin/
OS:= $(or $(os),linux)
ARCH:=$(or $(arch),amd64)
all: gotool build
ifeq ($(OS),windows)
BINARY_NAME=${NAME}.exe
else
BINARY_NAME=${NAME}
endif
build:
CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH}; go build -ldflags="-w -s" -o ${BINARY_NAME}
run:
@go run ./
gotool:
go fmt ./
go vet ./
install:build
mv ${BINARY_NAME} ${BIN_DIR}
clean:
@if [ -f ${BINARY_NAME} ] ; then rm ${BINARY_NAME} ; fi
+32
View File
@@ -0,0 +1,32 @@
# Copyright © 2023 OpenIM. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
FROM ubuntu
WORKDIR /Open-IM-Server/bin
RUN apt-get update && apt-get install apt-transport-https && apt-get install procps\
&&apt-get install net-tools
#Non-interactive operation
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get install -y vim curl tzdata gawk
#Time zone adjusted to East eighth District
RUN ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && dpkg-reconfigure -f noninteractive tzdata
RUN apt-get -qq update \
&& apt-get -qq install -y --no-install-recommends ca-certificates curl
COPY ./openim-msgtransfer ./
VOLUME ["/Open-IM-Server/logs","/Open-IM-Server/config"]
CMD ["./openim-msgtransfer","--prometheus_port", "21400"]
+27
View File
@@ -0,0 +1,27 @@
// Copyright © 2023 OpenIM. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package main
import (
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/cmd"
)
func main() {
msgTransferCmd := cmd.NewMsgTransferCmd()
msgTransferCmd.AddPrometheusPortFlag()
if err := msgTransferCmd.Exec(); err != nil {
panic(err.Error())
}
}
+34
View File
@@ -0,0 +1,34 @@
.PHONY: all build run gotool install clean help
NAME=openim-push
BIN_DIR=../../bin/
OS:= $(or $(os),linux)
ARCH:=$(or $(arch),amd64)
all: gotool build
ifeq ($(OS),windows)
BINARY_NAME=${NAME}.exe
else
BINARY_NAME=${NAME}
endif
build:
CGO_ENABLED=0 GOOS=${OS} GOARCH=${ARCH}; go build -ldflags="-w -s" -o ${BINARY_NAME}
run:
@go run ./
gotool:
go fmt ./
go vet ./
install:build
mv ${BINARY_NAME} ${BIN_DIR}
clean:
@if [ -f ${BINARY_NAME} ] ; then rm ${BINARY_NAME} ; fi

Some files were not shown because too many files have changed in this diff Show More