Compare commits

..

751 Commits

Author SHA1 Message Date
withchao 2e6ea7b193 Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-12 14:27:20 +08:00
withchao fe3e17c3ad s3 InitiateMultipartUpload add ExpireTime 2023-07-12 14:27:06 +08:00
wangchuxiao 38912aed76 Merge branch 'v3dev' of github.com:OpenIMSDK/Open-IM-Server into v3dev 2023-07-12 14:22:23 +08:00
wangchuxiao 98215396f1 log 2023-07-12 14:22:16 +08:00
withchao bdf93565a3 s3 AccessURL 2023-07-12 14:01:48 +08:00
withchao 406a77d5b8 s3 url 2023-07-12 13:58:20 +08:00
withchao 84f8074d6a s3 url 2023-07-12 13:55:17 +08:00
withchao 75af5447ae s3 cos copy 2023-07-12 13:45:45 +08:00
withchao e6d502f0ff Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-12 13:39:54 +08:00
withchao 1f6225db41 s3 cos copy 2023-07-12 13:39:08 +08:00
wangchuxiao 16c2028687 kickuserlog 2023-07-12 13:29:40 +08:00
wangchuxiao fd87d70b56 Merge branch 'v3dev' of github.com:OpenIMSDK/Open-IM-Server into v3dev 2023-07-12 13:23:22 +08:00
wangchuxiao 5dbeac7dcf kick user log 2023-07-12 13:21:49 +08:00
withchao c32b437821 s3 cos test 2023-07-12 12:34:00 +08:00
withchao 535736bad1 s3 cos test 2023-07-12 12:30:42 +08:00
withchao 3b9ff16b3b Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-12 12:22:32 +08:00
withchao 22b1403819 s3 cos test 2023-07-12 12:22:18 +08:00
wangchuxiao 3658f2b198 Merge branch 'v3dev' of github.com:OpenIMSDK/Open-IM-Server into v3dev 2023-07-12 12:20:44 +08:00
wangchuxiao 37bd1526d7 add kick log 2023-07-12 12:20:38 +08:00
withchao 8a2d0e9e3a Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-12 12:10:08 +08:00
withchao c411cc4bc8 s3 cos 2023-07-12 12:09:57 +08:00
wangchuxiao 055853593a Merge branch 'v3dev' of github.com:OpenIMSDK/Open-IM-Server into v3dev 2023-07-12 12:03:58 +08:00
wangchuxiao 31778c9cdf fix kick user bug 2023-07-12 12:03:53 +08:00
withchao 5fd464979d Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-12 12:02:50 +08:00
withchao a2fc790cba s3 config 2023-07-12 12:02:40 +08:00
wangchuxiao 20bb77f0f7 cron 2023-07-12 11:49:25 +08:00
wangchuxiao 52fcf70739 add log 2023-07-12 11:41:33 +08:00
wangchuxiao e92a09ecf5 Merge branch 'v3dev' of github.com:OpenIMSDK/Open-IM-Server into v3dev 2023-07-12 11:33:15 +08:00
wangchuxiao a23ecb1710 cron add log and fix cron 2023-07-12 11:33:08 +08:00
withchao d7c66c6f45 s3 debug log 2023-07-12 11:14:06 +08:00
withchao d7802e15a8 Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-12 11:06:55 +08:00
withchao 95b1d09a3c s3 debug log 2023-07-12 11:06:41 +08:00
Alan 32b60db21b Update .gitignore (#482) 2023-07-12 09:35:27 +08:00
withchao e62f5d8d7c s3 presigned test 2023-07-10 19:50:47 +08:00
withchao 2f1d9f6265 s3 presigned test 2023-07-10 19:19:33 +08:00
withchao 06a5ef9417 s3 presigned test 2023-07-10 19:13:15 +08:00
withchao 4203705bf5 s3 presigned test 2023-07-10 19:10:12 +08:00
withchao bfd1df751e s3 presigned test 2023-07-10 19:07:00 +08:00
withchao 6716a92085 s3 presigned test 2023-07-10 19:03:18 +08:00
withchao d9c7c57343 s3 presigned test 2023-07-10 18:46:45 +08:00
withchao 5a9ecbf295 s3 presigned test 2023-07-10 18:40:30 +08:00
withchao 70b6cd360d s3 presigned put 2023-07-10 18:32:25 +08:00
withchao 04474c6747 s3 pb 2023-07-10 17:51:57 +08:00
withchao f5dcc6c8a3 s3 pb 2023-07-10 17:34:43 +08:00
withchao aee309097b Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-10 17:30:19 +08:00
withchao 732afeab3c s3 pb 2023-07-10 17:30:09 +08:00
wangchuxiao c42a47b6b9 Merge branch 'v3dev' of github.com:OpenIMSDK/Open-IM-Server into v3dev 2023-07-10 17:10:00 +08:00
wangchuxiao cb14fca6c7 remove unuse code 2023-07-10 17:09:55 +08:00
withchao a7a2bd3e4f Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-10 17:08:08 +08:00
withchao e55bd7adae s3 route 2023-07-10 17:07:55 +08:00
wangchuxiao 9468589cc7 Merge branch 'v3dev' of github.com:OpenIMSDK/Open-IM-Server into v3dev 2023-07-10 17:07:14 +08:00
wangchuxiao bcf2f0f443 remove extendMsg code 2023-07-10 17:07:08 +08:00
withchao 1c67fab186 s3 route 2023-07-10 16:39:37 +08:00
withchao e82a08bbbd Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-10 16:25:53 +08:00
withchao 29dade90ec s3 minio, cos, oss support 2023-07-10 16:24:59 +08:00
BanTanger ec6036b5fa feat: add implement of GetUsersOnlineStatus, #472 (#477) 2023-07-10 16:01:39 +08:00
withchao fea3c5358a s3 minio, cos, oss support 2023-07-10 15:50:57 +08:00
wangchuxiao 4b8af3be2e msgDestruct 2023-07-10 14:54:17 +08:00
wangchuxiao 7059d6b5fb msg destruct 2023-07-10 14:47:07 +08:00
wangchuxiao c02f3cc8d5 set IsMsgDestruct 2023-07-10 11:58:04 +08:00
wangchuxiao ece2498d18 cron use rpc mw 2023-07-10 10:34:44 +08:00
wangchuxiao 7bf9d5a305 msgDestruct 2023-07-10 10:09:51 +08:00
wangchuxiao c64657d0b7 Merge branch 'v3dev' of github.com:OpenIMSDK/Open-IM-Server into v3dev 2023-07-07 19:19:29 +08:00
wangchuxiao c2e1d5a21e remove unuse rpc 2023-07-07 19:19:23 +08:00
Gordon 05889706dd Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-07 11:36:22 +08:00
Gordon 91cb0607e3 fix: content update 2023-07-07 11:36:00 +08:00
wangchuxiao 5d82447e92 set privateChat 2023-07-07 11:14:15 +08:00
wangchuxiao 0ae58dac79 Merge branch 'v3dev' of github.com:OpenIMSDK/Open-IM-Server into v3dev 2023-07-07 10:53:00 +08:00
wangchuxiao 4bdf6be372 set conversations update 2023-07-07 10:52:54 +08:00
Gordon f44ba40098 fix: update add model 2023-07-07 10:23:54 +08:00
Gordon ffba76cc6b fix: text update 2023-07-06 18:36:27 +08:00
wangchuxiao e547266755 Merge branch 'v3dev' of github.com:OpenIMSDK/Open-IM-Server into v3dev 2023-07-06 15:22:15 +08:00
wangchuxiao f75bfdabe6 fix sync has read 2023-07-06 15:22:09 +08:00
withchao f6756008b0 api nil slice map 2023-07-06 15:09:41 +08:00
withchao ff22ea7108 chain unary interceptor 2023-07-06 11:23:57 +08:00
wangchuxiao 28fad04d5c change log error 2023-07-06 11:14:50 +08:00
wangchuxiao a3e3dc03c9 Merge branch 'v3dev' of github.com:OpenIMSDK/Open-IM-Server into v3dev 2023-07-06 11:14:28 +08:00
wangchuxiao d50a24e9b1 grpc with detail return error 2023-07-06 11:14:22 +08:00
withchao b494c73328 Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-05 20:31:17 +08:00
withchao c2b7d3bc2c a2r call option 2023-07-05 20:30:54 +08:00
wangchuxiao 54bba9a867 privateChat 2023-07-05 19:08:06 +08:00
wangchuxiao 7bb069d435 withname 2023-07-05 13:23:20 +08:00
wangchuxiao 325d898695 Merge branch 'v3dev' of github.com:OpenIMSDK/Open-IM-Server into v3dev 2023-07-05 13:22:14 +08:00
wangchuxiao 7a9e0af8ed sendNotificationWithName 2023-07-05 13:22:06 +08:00
withchao 6bf5b86227 user active 2023-07-04 20:11:51 +08:00
withchao ffe7cc3b10 Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-04 18:46:34 +08:00
withchao c2d02cbc4c group active 2023-07-04 18:46:21 +08:00
Gordon 3dba5495a6 feat: group notification show to conversation 2023-07-04 18:25:38 +08:00
Gordon 387ac6e930 Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-04 17:38:29 +08:00
Gordon ea4335bb24 feat: group notification show to conversation 2023-07-04 17:38:03 +08:00
withchao 1e93297968 group create 2023-07-04 17:16:38 +08:00
withchao f80372ded4 group create 2023-07-04 17:16:25 +08:00
withchao bb667238f2 active user 2023-07-04 16:55:34 +08:00
withchao be9c8fcab7 active user 2023-07-04 16:36:02 +08:00
withchao 000c68dddd Merge pull request #467 from BanTanger/v3dev
add tx_oss cos
2023-07-04 14:43:38 +08:00
BanTanger 2e99a45dae add tx_oss cos 2023-07-04 12:23:58 +08:00
Gordon 5d115bf651 feat: conn update token 2023-07-04 11:28:43 +08:00
Gordon 49737a2dda feat: conn update token 2023-07-04 11:26:33 +08:00
Gordon 4df0f78af5 Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-04 10:33:25 +08:00
Gordon 94b4a18f2d feat: conn update token 2023-07-04 10:32:54 +08:00
withchao 9f32e3a9bc active user 2023-07-04 09:56:02 +08:00
Gordon e416ace264 Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-04 09:40:11 +08:00
Gordon dbc4fd5e4a feat: conn update token 2023-07-04 09:39:50 +08:00
withchao 0cb1fc3e52 active user 2023-07-04 09:33:59 +08:00
withchao 898adbb833 Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-04 09:32:56 +08:00
withchao aaa1fb29cd active user 2023-07-04 09:32:40 +08:00
Gordon 92f64ddf7c feat: conn update token 2023-07-03 21:30:22 +08:00
Gordon 1f94357498 Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-03 21:17:22 +08:00
Gordon e6c2568f6b refactor: errcode update 2023-07-03 21:15:52 +08:00
withchao 80f25c54c9 active user 2023-07-03 21:01:50 +08:00
withchao 807c6eae15 active user 2023-07-03 20:59:05 +08:00
withchao 28b4506395 Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-03 20:54:21 +08:00
withchao dd6b47fbbb active user 2023-07-03 20:54:03 +08:00
Gordon 4ca3e757bd Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-03 18:29:14 +08:00
Gordon 3a3784329e refactor: errcode update 2023-07-03 18:28:40 +08:00
withchao bedd554269 revoke userID 2023-07-03 18:28:38 +08:00
withchao e2be0fc093 msgs statistics 2023-07-03 18:24:52 +08:00
withchao d787668911 Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-03 18:24:34 +08:00
withchao cae8b377b0 msgs statistics 2023-07-03 18:20:01 +08:00
Gordon ba20fa90f7 refactor:pb file 2023-07-03 17:34:46 +08:00
Gordon d325eed4a3 refactor: user pb update 2023-07-03 17:16:39 +08:00
Gordon 48a6265465 Merge remote-tracking branch 'origin/v3dev' into v3dev
# Conflicts:
#	pkg/proto/user/user.pb.go
2023-07-03 17:14:33 +08:00
wangchuxiao 1ac6279569 remove online push close grpc conn 2023-07-03 17:02:42 +08:00
Gordon 2095e0839d refactor: user pb update 2023-07-03 17:02:31 +08:00
wangchuxiao 8bb177a693 Merge branch 'v3dev' of github.com:OpenIMSDK/Open-IM-Server into v3dev 2023-07-03 16:36:57 +08:00
wangchuxiao 01d3fefd5d push use local conn 2023-07-03 16:36:52 +08:00
withchao 3de21d13bd UserRegisterCount 2023-07-03 15:59:42 +08:00
withchao 840e79ca16 Merge remote-tracking branch 'origin/main' into v3dev 2023-07-03 15:49:04 +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
withchao 12dd42c60d minio init 2023-07-03 15:09:39 +08:00
Gordon 0642f97e12 Merge remote-tracking branch 'origin/v3dev' into v3dev 2023-07-03 14:30:38 +08:00
Gordon a9569a2a97 refactor: router change 2023-07-03 14:26:45 +08:00
Xinwei Xiong e50b8bd8f1 feat: adding actions (#461) 2023-07-03 12:16:34 +08:00
withchao 09ffe40011 statistics user register 2023-07-03 12:11:09 +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
600 changed files with 71521 additions and 35992 deletions
+65
View File
@@ -0,0 +1,65 @@
#---------------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,13 @@
#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,71 @@
#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']
+4
View File
@@ -0,0 +1,4 @@
USER=root
PASSWORD=openIM123
MINIO_ENDPOINT=http://127.0.0.1:10005
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
+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.
+80
View File
@@ -0,0 +1,80 @@
# 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
OpenIMSDK/OpenIM-Docs:
- source: .github/workflows/
dest: .github/workflows/
exclude: |
e2e-test.yml
sync.yml
- source: scripts/githooks/
dest: scripts/githooks/
replace: true
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
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: ./scripts/githooks/
dest: ./scripts/githooks/
replace: 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
+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
+3 -3
View File
@@ -16,9 +16,9 @@ on:
branches: [ main ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ main ]
schedule:
- cron: '23 2 * * 2'
branches: "*"
# schedule:
# - cron: '23 2 * * 2'
jobs:
analyze:
View File
+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`.🎯
+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
+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 }}
+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
+43
View File
@@ -0,0 +1,43 @@
# 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
pull_request:
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
GH_PAT: "${{ secrets.BOT_GITHUB_TOKEN }}"
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
+376 -4
View File
@@ -1,12 +1,35 @@
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/
### OpenIM deploy ###
deploy/open_im_demo
deploy/open_im_api
deploy/open_im_msg_gateway
@@ -19,3 +42,352 @@ deploy/open_im_rpc_group
deploy/open_im_rpc_msg
deploy/open_im_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
.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
*test
*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
+326
View File
@@ -0,0 +1,326 @@
# 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: 1m
# 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
# default is true. Enables skipping of directories:
# vendor$, third_party$, testdata$, examples$, Godeps$, builtin$
skip-dirs-use-default: true
# 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
# all available settings of specific linters
linters-settings:
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
# 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
exhaustive:
# 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
funlen:
lines: 150
statements: 40
gocognit:
# minimal code complexity to report, 30 by default (but we recommend 10-20)
min-complexity: 30
nestif:
# minimal complexity of if statements to report, 5 by default
min-complexity: 4
goconst:
# minimal length of string constant, 3 by default
min-len: 5
# minimal occurrences count to trigger, 3 by default
min-occurrences: 5
gocyclo:
# minimal code complexity to report, 30 by default (but we recommend 10-20)
min-complexity: 30
godot:
# check all top-level comments, not only declarations
check-all: 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
- 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
goimports:
# put imports beginning with prefix after 3rd-party packages;
# it's a comma-separated list of prefixes
local-prefixes: github.com/org/project
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
gomodguard:
allowed:
modules: # List of allowed modules
# - gopkg.in/yaml.v2
domains: # List of allowed module domains
# - golang.org
govet:
# report about shadowed variables
check-shadowing: true
# 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:
packages-with-error-message:
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: 120
# tab width in spaces. Default to 1.
tab-width: 1
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
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
nolintlint:
# Enable to ensure that nolint directives are all used. 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: true
# Enable to require nolint directives to mention the specific linter being suppressed. Default is false.
require-specific: true
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
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 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
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
disable-all: true
enable:
- bodyclose
- deadcode
- depguard
- dogsled
- dupl
- errcheck
- funlen
- gochecknoinits
- goconst
- gocritic
- gocyclo
- gofmt
- goimports
- golint
- goprintffuncname
- gosec
- gosimple
- govet
- ineffassign
- interfacer
- lll
- misspell
- nakedret
- nolintlint
- rowserrcheck
- scopelint
- staticcheck
- structcheck
- stylecheck
- typecheck
- unconvert
- unparam
- unused
- varcheck
- whitespace
- asciicheck
- gocognit
- godot
- godox
- maligned
- nestif
- prealloc
- gomodguard
# don't enable:
#- goerr113
#- wsl
#- testpackage
#- exhaustive (TODO: enable after next release; current release at time of writing is v1.27)
#- gochecknoglobals
#- gomnd
issues:
# Excluding configuration per-path, per-linter, per-text and per-source
# 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
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
+9
View File
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="WEB_MODULE" version="4">
<component name="Go" enabled="true" />
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>
+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="grafana" uuid="95aae14a-3593-4ff7-ab49-5e4316cbecd1">
<driver-ref>sqlite.xerial</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>org.sqlite.JDBC</jdbc-driver>
<jdbc-url>jdbc:sqlite:C:\Users\Administrator\Desktop\Open-IM-Server\docker-compose_cfg\grafana.db</jdbc-url>
<driver-properties>
<property name="enable_load_extension" value="true" />
</driver-properties>
</data-source>
</component>
</project>
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
</project>
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/Open-IM-Server.iml" filepath="$PROJECT_DIR$/.idea/Open-IM-Server.iml" />
</modules>
</component>
</project>
Generated
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>
+40
View File
@@ -0,0 +1,40 @@
{{ range .Versions }}
<a name="{{ .Tag.Name }}"></a>
## {{ if .Tag.Previous }}[{{ .Tag.Name }}]({{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .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 -}}
+28
View File
@@ -0,0 +1,28 @@
style: github
template: CHANGELOG.tpl.md
info:
title: CHANGELOG
repository_url: https://github.com/OpenIMSDK/Open-IM-Server
options:
commits:
# filters:
# Type:
# - feat
# - fix
# - perf
# - refactor
commit_groups:
# title_maps:
# feat: Features
# fix: Bug Fixes
# perf: Performance Improvements
# refactor: Code Refactoring
header:
pattern: "^(\\w*)(?:\\(([\\w\\$\\.\\-\\*\\s]*)\\))?\\:\\s(.*)$"
pattern_maps:
- Type
- Scope
- Subject
notes:
keywords:
- BREAKING CHANGE
+228
View File
@@ -0,0 +1,228 @@
<a name="v2.3.3"></a>
## [v2.3.3](https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.3.2...v2.3.3)
> 2022-09-18
<a name="v2.3.2"></a>
## [v2.3.2](https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.3.0-rc2...v2.3.2)
> 2022-09-09
### GetSelfUserInfo
* Handle the case where the user does not exist
### Pull Requests
* Merge pull request [#267](https://github.com/OpenIMSDK/Open-IM-Server/issues/267) from ouyangshi/del
* Merge pull request [#265](https://github.com/OpenIMSDK/Open-IM-Server/issues/265) from ouyangshi/del
* Merge pull request [#252](https://github.com/OpenIMSDK/Open-IM-Server/issues/252) from x-shadow-man/config-perf
* Merge pull request [#263](https://github.com/OpenIMSDK/Open-IM-Server/issues/263) from ouyangshi/main
* Merge pull request [#258](https://github.com/OpenIMSDK/Open-IM-Server/issues/258) from ouyangshi/main
* Merge pull request [#261](https://github.com/OpenIMSDK/Open-IM-Server/issues/261) from ouyangshi/v2.3.0release
<a name="v2.3.0-rc2"></a>
## [v2.3.0-rc2](https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.3.0-rc1...v2.3.0-rc2)
> 2022-07-29
<a name="v2.3.0-rc1"></a>
## [v2.3.0-rc1](https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.3.0-rc0...v2.3.0-rc1)
> 2022-07-25
<a name="v2.3.0-rc0"></a>
## [v2.3.0-rc0](https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.2.0...v2.3.0-rc0)
> 2022-07-15
<a name="v2.2.0"></a>
## [v2.2.0](https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.1.0...v2.2.0)
> 2022-07-01
<a name="v2.1.0"></a>
## [v2.1.0](https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.0.10...v2.1.0)
> 2022-06-17
<a name="v2.0.10"></a>
## [v2.0.10](https://github.com/OpenIMSDK/Open-IM-Server/compare/list...v2.0.10)
> 2022-05-13
<a name="list"></a>
## [list](https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.0.9...list)
> 2022-04-29
<a name="v2.0.9"></a>
## [v2.0.9](https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.0.7...v2.0.9)
> 2022-04-29
### Reverts
* update etcd to v3.5.2 ([#206](https://github.com/OpenIMSDK/Open-IM-Server/issues/206))
<a name="v2.0.7"></a>
## [v2.0.7](https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.0.6...v2.0.7)
> 2022-04-08
<a name="v2.0.6"></a>
## [v2.0.6](https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.0.5...v2.0.6)
> 2022-04-01
### Fix
* json tag value of UserIDResult.UserID ([#178](https://github.com/OpenIMSDK/Open-IM-Server/issues/178))
### Pull Requests
* Merge pull request [#173](https://github.com/OpenIMSDK/Open-IM-Server/issues/173) from OpenIMSDK/tuoyun
<a name="v2.0.5"></a>
## [v2.0.5](https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.04...v2.0.5)
> 2022-03-24
<a name="v2.04"></a>
## [v2.04](https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.0.3...v2.04)
> 2022-03-18
<a name="v2.0.3"></a>
## [v2.0.3](https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.0.2...v2.0.3)
> 2022-03-11
<a name="v2.0.2"></a>
## [v2.0.2](https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.0.1...v2.0.2)
> 2022-03-04
### Version
* "3"
* "2"
<a name="v2.0.1"></a>
## [v2.0.1](https://github.com/OpenIMSDK/Open-IM-Server/compare/v2.0.0...v2.0.1)
> 2022-02-25
### DbMysqlDatabaseName
* openIM_v2
<a name="v2.0.0"></a>
## [v2.0.0](https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.7...v2.0.0)
> 2022-02-23
### Pb
* open_im_sdk.OfflinePushInfo
### Pull Requests
* Merge pull request [#131](https://github.com/OpenIMSDK/Open-IM-Server/issues/131) from OpenIMSDK/cms-dev
<a name="v1.0.7"></a>
## [v1.0.7](https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.6...v1.0.7)
> 2021-12-17
<a name="v1.0.6"></a>
## [v1.0.6](https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.5...v1.0.6)
> 2021-12-10
### Pb
* open_im_sdk.OfflinePushInfo
<a name="v1.0.5"></a>
## [v1.0.5](https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.4...v1.0.5)
> 2021-12-03
<a name="v1.0.4"></a>
## [v1.0.4](https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.3...v1.0.4)
> 2021-11-25
<a name="v1.0.3"></a>
## [v1.0.3](https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.1...v1.0.3)
> 2021-11-12
### Feat
* test utils ([#26](https://github.com/OpenIMSDK/Open-IM-Server/issues/26))
### Fix
* Startup error ([#11](https://github.com/OpenIMSDK/Open-IM-Server/issues/11))
### Pull Requests
* Merge pull request [#12](https://github.com/OpenIMSDK/Open-IM-Server/issues/12) from njulk/main
* Merge pull request [#9](https://github.com/OpenIMSDK/Open-IM-Server/issues/9) from xmcy0011/dev
* Merge pull request [#6](https://github.com/OpenIMSDK/Open-IM-Server/issues/6) from Bloomingg/int
<a name="v1.0.1"></a>
## [v1.0.1](https://github.com/OpenIMSDK/Open-IM-Server/compare/v1.0.0...v1.0.1)
> 2021-11-04
<a name="v1.0.0"></a>
## v1.0.0
> 2021-10-28
### Ci
* ignore files created by docker-compose ([#19](https://github.com/OpenIMSDK/Open-IM-Server/issues/19))
### Feat
* optimise get server ip ([#20](https://github.com/OpenIMSDK/Open-IM-Server/issues/20))
### Reverts
* friend modify
* update
### Pull Requests
* Merge pull request [#7](https://github.com/OpenIMSDK/Open-IM-Server/issues/7) from memory-qianxiao/docker-compose_update
* Merge pull request [#4](https://github.com/OpenIMSDK/Open-IM-Server/issues/4) from wujingke/patch-1
+3
View File
@@ -0,0 +1,3 @@
# Changelog
All notable changes to this project will be documented in this file.
+363
View File
@@ -0,0 +1,363 @@
# 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
- [What we expect of you](#What-we-expect-of-you)
- [Code of Conduct](#Code-of-Conduct)
- [Getting Started](#Getting-Started)
- [Style and Specification](#Style-and-Specification)
- [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/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/{github/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 master 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/Open-IM-Server/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/Open-IM-Server/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.
+ [DEVELOPGUIDE.md](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/DEVELOPGUIDE.md): This file provides a more in-depth guide to developing Open-IM-Server, including information on the project's architecture, coding conventions, and testing practices.
+ [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](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.
+5 -5
View File
@@ -9,7 +9,7 @@ WORKDIR /Open-IM-Server
# add all files to the container
COPY . .
WORKDIR /Open-IM-Server/script
WORKDIR /Open-IM-Server/scripts
RUN chmod +x *.sh
RUN /bin/sh -c ./build_all_service.sh
@@ -27,13 +27,13 @@ RUN apt-get install -y vim curl tzdata gawk
RUN ln -fs /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && dpkg-reconfigure -f noninteractive tzdata
#set directory to map logs,config file,script file.
VOLUME ["/Open-IM-Server/logs","/Open-IM-Server/config","/Open-IM-Server/script","/Open-IM-Server/db/sdk"]
#set directory to map logs,config file,scripts file.
VOLUME ["/Open-IM-Server/logs","/Open-IM-Server/config","/Open-IM-Server/scripts","/Open-IM-Server/db/sdk"]
#Copy scripts files and binary files to the blank image
COPY --from=build /Open-IM-Server/script /Open-IM-Server/script
COPY --from=build /Open-IM-Server/scripts /Open-IM-Server/scripts
COPY --from=build /Open-IM-Server/bin /Open-IM-Server/bin
WORKDIR /Open-IM-Server/script
WORKDIR /Open-IM-Server/scripts
CMD ["./docker_start_all.sh"]
+168
View File
@@ -0,0 +1,168 @@
# ==============================================================================
# define the default goal
#
.DEFAULT_GOAL := help
.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
# ==============================================================================
# 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="open_im_api open_im_cms_api".
PLATFORMS Platform to build for. Default is linux_arm64 and linux_amd64.
This option is available when using: make {build}.multiarch
Example: make build.multiarch PLATFORMS="linux_arm64 linux_amd64".
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
## build-multiarch: Build binaries for multiple platforms. See option PLATFORMS.
.PHONY: build-multiarch
build-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
## 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
## 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 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.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.cfg&&style_info.cfg&&
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 文件。
+86 -56
View File
@@ -1,17 +1,34 @@
# Open-IM-Server
<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>
![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
@@ -25,9 +42,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
@@ -35,73 +50,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/Open-IM-Servers-on-System.png)
#### Docker deployment
#### Deploy using source code
All images are available at https://hub.docker.com/r/lyt1123/open_im_server
1. Go 1.17 or above.
2. Clone
1. [Install Docker](https://docs.docker.com/install/) 1.13 or above.
```shell
git clone https://github.com/OpenIMSDK/Open-IM-Server.git --recursive
cd cmd/openim-sdk-core
git checkout main
```
2. [Install Docker Compose](https://docs.docker.com/compose/install/) 1.22 or above.
1. Set executable permissions
3. Clone the Open-IM project to your server.
```shell
cd ../../scripts/
chmod +x *.sh
```
```
git clone https://github.com/OpenIMSDK/Open-IM-Server.git --recursive
```
1. build
4. Start docker-compose with one click(Docker automatically pulls all images)
```shell
./batch_build_all_service.sh
```
```
docker-compose up -d
```
5. Check service
```
./docker_check_service.sh
```
![OpenIMServersondockerpng](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/Open-IM-Servers-on-docker.png)
all services build success
### CONFIGURATION INSTRUCTIONS
@@ -131,18 +142,18 @@ 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
- 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
@@ -152,6 +163,25 @@ All images are available at https://hub.docker.com/r/lyt1123/open_im_server
![avatar](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/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
+34
View File
@@ -0,0 +1,34 @@
.PHONY: all build run gotool install clean help
NAME=open_im_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=${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
+18
View File
@@ -0,0 +1,18 @@
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 ./open_im_api ./
VOLUME ["/Open-IM-Server/logs","/Open-IM-Server/config"]
CMD ["./open_im_api","--port", "10002"]
+86
View File
@@ -0,0 +1,86 @@
package main
import (
"context"
"fmt"
"net"
"os"
"runtime"
"strconv"
"time"
"net/http"
_ "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 init discov client success")
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=open_im_cmd_utils
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
+45
View File
@@ -0,0 +1,45 @@
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=open_im_cron_task
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
+18
View File
@@ -0,0 +1,18 @@
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 ./open_im_cron_task ./
VOLUME ["/Open-IM-Server/logs","/Open-IM-Server/config"]
CMD ["./open_im_cron_task"]
+13
View File
@@ -0,0 +1,13 @@
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())
}
}
+35
View File
@@ -0,0 +1,35 @@
.PHONY: all build run gotool install clean help
NAME=open_im_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
+18
View File
@@ -0,0 +1,18 @@
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 ./open_im_msg_gateway ./
VOLUME ["/Open-IM-Server/logs","/Open-IM-Server/config"]
CMD ["./open_im_msg_gateway","--port", "10140" "--ws_port", "10001" "--prometheus_port", "20240"]
+15
View File
@@ -0,0 +1,15 @@
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=open_im_msg_transfer
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
+18
View File
@@ -0,0 +1,18 @@
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 ./open_im_msg_transfer ./
VOLUME ["/Open-IM-Server/logs","/Open-IM-Server/config"]
CMD ["./open_im_msg_transfer","--prometheus_port", "21400"]
+13
View File
@@ -0,0 +1,13 @@
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())
}
}
-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
-110
View File
@@ -1,110 +0,0 @@
package main
import (
apiAuth "Open_IM/internal/api/auth"
apiChat "Open_IM/internal/api/chat"
"Open_IM/internal/api/conversation"
"Open_IM/internal/api/friend"
"Open_IM/internal/api/group"
"Open_IM/internal/api/manage"
apiThird "Open_IM/internal/api/third"
"Open_IM/internal/api/user"
"Open_IM/pkg/common/log"
"Open_IM/pkg/utils"
"flag"
"strconv"
"github.com/gin-gonic/gin"
//"syscall"
)
func main() {
gin.SetMode(gin.ReleaseMode)
r := gin.Default()
r.Use(utils.CorsHandler())
// user routing group, which handles user registration and login services
userRouterGroup := r.Group("/user")
{
userRouterGroup.POST("/update_user_info", user.UpdateUserInfo) //1
userRouterGroup.POST("/get_users_info", user.GetUsersInfo) //1
userRouterGroup.POST("/get_self_user_info", user.GetSelfUserInfo) //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) //1
}
//certificate
authRouterGroup := r.Group("/auth")
{
authRouterGroup.POST("/user_register", apiAuth.UserRegister) //1
authRouterGroup.POST("/user_token", apiAuth.UserToken) //1
}
//Third service
thirdGroup := r.Group("/third")
{
thirdGroup.POST("/tencent_cloud_storage_credential", apiThird.TencentCloudStorageCredential)
thirdGroup.POST("/minio_storage_credential", apiThird.MinioStorageCredential)
}
//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)
}
//Manager
managementGroup := r.Group("/manager")
{
managementGroup.POST("/delete_user", manage.DeleteUser) //1
managementGroup.POST("/send_msg", manage.ManagementSendMsg)
managementGroup.POST("/get_all_users_uid", manage.GetAllUsersUid) //1
managementGroup.POST("/account_check", manage.AccountCheck) //1
managementGroup.POST("/get_users_online_status", manage.GetUsersOnlineStatus) //1
}
//Conversation
conversationGroup := r.Group("/conversation")
{
conversationGroup.POST("/set_receive_message_opt", conversation.SetReceiveMessageOpt) //1
conversationGroup.POST("/get_receive_message_opt", conversation.GetReceiveMessageOpt) //1
conversationGroup.POST("/get_all_conversation_message_opt", conversation.GetAllConversationMessageOpt) //1
}
log.NewPrivateLog("api")
ginPort := flag.Int("port", 10000, "get ginServerPort from cmd,default 10000 as port")
flag.Parse()
r.Run(":" + strconv.Itoa(*ginPort))
}
-25
View File
@@ -1,25 +0,0 @@
.PHONY: all build run gotool install clean help
BINARY_NAME=open_im_cms_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
-15
View File
@@ -1,15 +0,0 @@
package main
import (
"Open_IM/internal/cms_api"
"Open_IM/pkg/utils"
"github.com/gin-gonic/gin"
)
func main() {
gin.SetMode(gin.ReleaseMode)
router := cms_api.NewGinRouter()
router.Use(utils.CorsHandler())
router.Run(":" + "8000")
}
-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
-30
View File
@@ -1,30 +0,0 @@
package main
import (
"Open_IM/internal/demo/register"
"Open_IM/pkg/common/log"
"Open_IM/pkg/utils"
"flag"
"strconv"
"github.com/gin-gonic/gin"
)
func main() {
r := gin.Default()
r.Use(utils.CorsHandler())
authRouterGroup := r.Group("/auth")
{
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)
}
log.NewPrivateLog("demo")
ginPort := flag.Int("port", 42233, "get ginServerPort from cmd,default 42233 as port")
flag.Parse()
r.Run(":" + strconv.Itoa(*ginPort))
}
-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
-18
View File
@@ -1,18 +0,0 @@
package main
import (
"Open_IM/internal/msg_gateway/gate"
"flag"
"sync"
)
func main() {
rpcPort := flag.Int("rpc_port", 10400, "rpc listening port")
wsPort := flag.Int("ws_port", 17778, "ws listening port")
flag.Parse()
var wg sync.WaitGroup
wg.Add(1)
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
-14
View File
@@ -1,14 +0,0 @@
package main
import (
"Open_IM/internal/msg_transfer/logic"
"sync"
)
func main() {
var wg sync.WaitGroup
wg.Add(1)
logic.Init()
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
-17
View File
@@ -1,17 +0,0 @@
package main
import (
"Open_IM/internal/push/logic"
"flag"
"sync"
)
func main() {
rpcPort := flag.Int("port", 10700, "rpc listening port")
flag.Parse()
var wg sync.WaitGroup
wg.Add(1)
logic.Init(*rpcPort)
logic.Run()
wg.Wait()
}
-25
View File
@@ -1,25 +0,0 @@
.PHONY: all build run gotool install clean help
BINARY_NAME=open_im_timer_task
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
-65
View File
@@ -1,65 +0,0 @@
package main
import (
commonDB "Open_IM/pkg/common/db"
"Open_IM/pkg/common/db/mysql_model/im_mysql_model"
"Open_IM/pkg/common/log"
"time"
)
func main() {
log.NewPrivateLog("timer")
//for {
// fmt.Println("start delete mongodb expired record")
// timeUnixBegin := time.Now().Unix()
// count, _ := db.DB.MgoUserCount()
// fmt.Println("mongodb record count: ", count)
// for i := 0; i < count; i++ {
// time.Sleep(1 * time.Millisecond)
// uid, _ := db.DB.MgoSkipUID(i)
// fmt.Println("operate uid: ", uid)
// err := db.DB.DelUserChat(uid)
// if err != nil {
// fmt.Println("operate uid failed: ", uid, err.Error())
// }
// }
//
// timeUnixEnd := time.Now().Unix()
// costTime := timeUnixEnd - timeUnixBegin
// if costTime > int64(config.Config.Mongo.DBRetainChatRecords*24*3600) {
// continue
// } else {
// sleepTime := 0
// if int64(config.Config.Mongo.DBRetainChatRecords*24*3600)-costTime > 24*3600 {
// sleepTime = 24 * 3600
// } else {
// sleepTime = config.Config.Mongo.DBRetainChatRecords*24*3600 - int(costTime)
// }
// fmt.Println("sleep: ", sleepTime)
// time.Sleep(time.Duration(sleepTime) * time.Second)
// }
//}
for {
uidList, err := im_mysql_model.SelectAllUserID()
if err != nil {
//log.NewError("999999", err.Error())
} else {
for _, v := range uidList {
minSeq, err := commonDB.DB.GetMinSeqFromMongo(v)
if err != nil {
//log.NewError("999999", "get user minSeq err", err.Error(), v)
continue
} else {
err := commonDB.DB.SetUserMinSeq(v, minSeq)
if err != nil {
//log.NewError("999999", "set user minSeq err", err.Error(), v)
}
}
time.Sleep(time.Duration(100) * time.Millisecond)
}
}
}
}
+34
View File
@@ -0,0 +1,34 @@
.PHONY: all build run gotool install clean help
NAME=open_im_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
+18
View File
@@ -0,0 +1,18 @@
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 ./open_im_push ./
VOLUME ["/Open-IM-Server/logs","/Open-IM-Server/config"]
CMD ["./open_im_push", "--port", "10170", "--prometheus_port", "20170"]
+19
View File
@@ -0,0 +1,19 @@
package main
import (
"github.com/OpenIMSDK/Open-IM-Server/internal/push"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/cmd"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
)
func main() {
pushCmd := cmd.NewRpcCmd("push")
pushCmd.AddPortFlag()
pushCmd.AddPrometheusPortFlag()
if err := pushCmd.Exec(); err != nil {
panic(err.Error())
}
if err := pushCmd.StartSvr(config.Config.RpcRegisterName.OpenImPushName, push.Start); err != nil {
panic(err.Error())
}
}
@@ -1,12 +1,24 @@
.PHONY: all build run gotool install clean help
BINARY_NAME=open_im_user
NAME=open_im_auth
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 ./
@@ -15,11 +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
+18
View File
@@ -0,0 +1,18 @@
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 ./open_im_auth ./
VOLUME ["/Open-IM-Server/logs","/Open-IM-Server/config"]
CMD ["./open_im_auth", "--port", "10160"]
+19
View File
@@ -0,0 +1,19 @@
package main
import (
"github.com/OpenIMSDK/Open-IM-Server/internal/rpc/auth"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/cmd"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
)
func main() {
authCmd := cmd.NewRpcCmd("auth")
authCmd.AddPortFlag()
authCmd.AddPrometheusPortFlag()
if err := authCmd.Exec(); err != nil {
panic(err.Error())
}
if err := authCmd.StartSvr(config.Config.RpcRegisterName.OpenImAuthName, auth.Start); err != nil {
panic(err.Error())
}
}
+34
View File
@@ -0,0 +1,34 @@
.PHONY: all build run gotool install clean help
NAME=open_im_conversation
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
+18
View File
@@ -0,0 +1,18 @@
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 ./open_im_conversation ./
VOLUME ["/Open-IM-Server/logs","/Open-IM-Server/config"]
CMD ["./open_im_conversation", "--port", "10230", "--prometheus_port","20230"]
+19
View File
@@ -0,0 +1,19 @@
package main
import (
"github.com/OpenIMSDK/Open-IM-Server/internal/rpc/conversation"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/cmd"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
)
func main() {
rpcCmd := cmd.NewRpcCmd("conversation")
rpcCmd.AddPortFlag()
rpcCmd.AddPrometheusPortFlag()
if err := rpcCmd.Exec(); err != nil {
panic(err.Error())
}
if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImConversationName, conversation.Start); err != nil {
panic(err.Error())
}
}
+36
View File
@@ -0,0 +1,36 @@
.PHONY: all build run gotool install clean help
NAME=open_im_friend
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
+18
View File
@@ -0,0 +1,18 @@
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 ./open_im_friend ./
VOLUME ["/Open-IM-Server/logs","/Open-IM-Server/config"]
CMD ["./open_im_friend", "--port", "10120", "--prometheus_port","20120"]
+19
View File
@@ -0,0 +1,19 @@
package main
import (
"github.com/OpenIMSDK/Open-IM-Server/internal/rpc/friend"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/cmd"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
)
func main() {
rpcCmd := cmd.NewRpcCmd("friend")
rpcCmd.AddPortFlag()
rpcCmd.AddPrometheusPortFlag()
if err := rpcCmd.Exec(); err != nil {
panic(err.Error())
}
if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImFriendName, friend.Start); err != nil {
panic(err.Error())
}
}
+39
View File
@@ -0,0 +1,39 @@
.PHONY: all build run gotool install clean help
NAME=open_im_group
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
+18
View File
@@ -0,0 +1,18 @@
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 ./open_im_group ./
VOLUME ["/Open-IM-Server/logs","/Open-IM-Server/config"]
CMD ["./open_im_group", "--port", "10150", "--prometheus_port","20150"]
+19
View File
@@ -0,0 +1,19 @@
package main
import (
"github.com/OpenIMSDK/Open-IM-Server/internal/rpc/group"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/cmd"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
)
func main() {
rpcCmd := cmd.NewRpcCmd("group")
rpcCmd.AddPortFlag()
rpcCmd.AddPrometheusPortFlag()
if err := rpcCmd.Exec(); err != nil {
panic(err.Error())
}
if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImGroupName, group.Start); err != nil {
panic(err.Error())
}
}
@@ -1,12 +1,24 @@
.PHONY: all build run gotool install clean help
BINARY_NAME=open_im_friend
NAME=open_im_msg
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 ./
@@ -15,8 +27,7 @@ gotool:
go fmt ./
go vet ./
install:
make build
install:build
mv ${BINARY_NAME} ${BIN_DIR}
clean:
+18
View File
@@ -0,0 +1,18 @@
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 ./open_im_msg ./
VOLUME ["/Open-IM-Server/logs","/Open-IM-Server/config"]
CMD ["./open_im_msg", "--port", "10130", "--prometheus_port","20130"]
+19
View File
@@ -0,0 +1,19 @@
package main
import (
"github.com/OpenIMSDK/Open-IM-Server/internal/rpc/msg"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/cmd"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
)
func main() {
rpcCmd := cmd.NewRpcCmd("msg")
rpcCmd.AddPortFlag()
rpcCmd.AddPrometheusPortFlag()
if err := rpcCmd.Exec(); err != nil {
panic(err.Error())
}
if err := rpcCmd.StartSvr(config.Config.RpcRegisterName.OpenImMsgName, msg.Start); err != nil {
panic(err.Error())
}
}
-23
View File
@@ -1,23 +0,0 @@
.PHONY: all build run gotool install clean help
BINARY_NAME=open_im_admin_cms
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
-14
View File
@@ -1,14 +0,0 @@
package main
import (
rpcMessageCMS "Open_IM/internal/rpc/admin_cms"
"flag"
)
func main() {
rpcPort := flag.Int("port", 11000, "rpc listening port")
flag.Parse()
rpcServer := rpcMessageCMS.NewAdminCMSServer(*rpcPort)
rpcServer.Run()
}
-24
View File
@@ -1,24 +0,0 @@
.PHONY: all build run gotool install clean help
BINARY_NAME=open_im_auth
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
-14
View File
@@ -1,14 +0,0 @@
package main
import (
rpcAuth "Open_IM/internal/rpc/auth"
"flag"
)
func main() {
rpcPort := flag.Int("port", 10600, "RpcToken default listen port 10800")
flag.Parse()
rpcServer := rpcAuth.NewRpcAuthServer(*rpcPort)
rpcServer.Run()
}
-14
View File
@@ -1,14 +0,0 @@
package main
import (
"Open_IM/internal/rpc/friend"
"flag"
)
func main() {
rpcPort := flag.Int("port", 10200, "get RpcFriendPort from cmd,default 12000 as port")
flag.Parse()
rpcServer := friend.NewFriendServer(*rpcPort)
rpcServer.Run()
}
-25
View File
@@ -1,25 +0,0 @@
.PHONY: all build run gotool install clean help
BINARY_NAME=open_im_group
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
-13
View File
@@ -1,13 +0,0 @@
package main
import (
"Open_IM/internal/rpc/group"
"flag"
)
func main() {
rpcPort := flag.Int("port", 10500, "get RpcGroupPort from cmd,default 16000 as port")
flag.Parse()
rpcServer := group.NewGroupServer(*rpcPort)
rpcServer.Run()
}
-23
View File
@@ -1,23 +0,0 @@
.PHONY: all build run gotool install clean help
BINARY_NAME=open_im_message_cms
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
-13
View File
@@ -1,13 +0,0 @@
package main
import (
rpcMessageCMS "Open_IM/internal/rpc/message_cms"
"flag"
)
func main() {
rpcPort := flag.Int("port", 10900, "rpc listening port")
flag.Parse()
rpcServer := rpcMessageCMS.NewMessageCMSServer(*rpcPort)
rpcServer.Run()
}
-23
View File
@@ -1,23 +0,0 @@
.PHONY: all build run gotool install clean help
BINARY_NAME=open_im_msg
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
-13
View File
@@ -1,13 +0,0 @@
package main
import (
rpcChat "Open_IM/internal/rpc/msg"
"flag"
)
func main() {
rpcPort := flag.Int("port", 10300, "rpc listening port")
flag.Parse()
rpcServer := rpcChat.NewRpcChatServer(*rpcPort)
rpcServer.Run()
}
-23
View File
@@ -1,23 +0,0 @@
.PHONY: all build run gotool install clean help
BINARY_NAME=open_im_statistics
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
-13
View File
@@ -1,13 +0,0 @@
package main
import (
"Open_IM/internal/rpc/statistics"
"flag"
)
func main() {
rpcPort := flag.Int("port", 10800, "rpc listening port")
flag.Parse()
rpcServer := statistics.NewStatisticsServer(*rpcPort)
rpcServer.Run()
}
-13
View File
@@ -1,13 +0,0 @@
package main
import (
"Open_IM/internal/rpc/user"
"flag"
)
func main() {
rpcPort := flag.Int("port", 10100, "rpc listening port")
flag.Parse()
rpcServer := user.NewUserServer(*rpcPort)
rpcServer.Run()
}
+39
View File
@@ -0,0 +1,39 @@
.PHONY: all build run gotool install clean help
NAME=open_im_third
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