{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":662010611,"defaultBranch":"master","name":"paddi-im-system","ownerLogin":"Paddi-Yan","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-07-04T07:02:38.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/83525773?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1688454532.0","currentOid":""},"activityList":{"items":[{"before":"986ac615218c16872d42d68fbaec4ad490bc4761","after":"7830b21281cbed3f7f164ddcbabca9d9949f4312","ref":"refs/heads/master","pushedAt":"2023-07-12T13:04:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"Paddi-Yan","name":"Sabrina","path":"/Paddi-Yan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/83525773?s=80&v=4"},"commit":{"message":"feat: 实现消息撤回以及通过第三方调用接口拓展功能","shortMessageHtmlLink":"feat: 实现消息撤回以及通过第三方调用接口拓展功能"}},{"before":"27c7cd3b9c72bbf65d2d8f319385c19da00ab35e","after":"986ac615218c16872d42d68fbaec4ad490bc4761","ref":"refs/heads/master","pushedAt":"2023-07-10T17:12:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Paddi-Yan","name":"Sabrina","path":"/Paddi-Yan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/83525773?s=80&v=4"},"commit":{"message":"feat: 离线消息设计与实现、增量同步数据与离线消息","shortMessageHtmlLink":"feat: 离线消息设计与实现、增量同步数据与离线消息"}},{"before":"0e7092ac1a56f69969f285f14b31edd3b27cbfb2","after":"27c7cd3b9c72bbf65d2d8f319385c19da00ab35e","ref":"refs/heads/master","pushedAt":"2023-07-09T17:03:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Paddi-Yan","name":"Sabrina","path":"/Paddi-Yan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/83525773?s=80&v=4"},"commit":{"message":"feat: 消息已读通知以及在线端同步","shortMessageHtmlLink":"feat: 消息已读通知以及在线端同步"}},{"before":"568ff2a350b4156452e4f15e650b7c2c271c961f","after":"0e7092ac1a56f69969f285f14b31edd3b27cbfb2","ref":"refs/heads/master","pushedAt":"2023-07-09T16:18:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Paddi-Yan","name":"Sabrina","path":"/Paddi-Yan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/83525773?s=80&v=4"},"commit":{"message":"feat: 优化消息的实时性,提高消息的发送性能,实现了消息的有序性、可靠性以及幂等性","shortMessageHtmlLink":"feat: 优化消息的实时性,提高消息的发送性能,实现了消息的有序性、可靠性以及幂等性"}},{"before":"5582945de0983e259ed2ceb80944d2a79dbb5b54","after":"568ff2a350b4156452e4f15e650b7c2c271c961f","ref":"refs/heads/master","pushedAt":"2023-07-08T18:09:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Paddi-Yan","name":"Sabrina","path":"/Paddi-Yan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/83525773?s=80&v=4"},"commit":{"message":"feat: 消息存储数据库设计以及读写扩散选型","shortMessageHtmlLink":"feat: 消息存储数据库设计以及读写扩散选型"}},{"before":"d1ca1b71fbdd7da098bde85120f2c14fe6fc3dee","after":"5582945de0983e259ed2ceb80944d2a79dbb5b54","ref":"refs/heads/master","pushedAt":"2023-07-07T17:42:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Paddi-Yan","name":"Sabrina","path":"/Paddi-Yan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/83525773?s=80&v=4"},"commit":{"message":"feat: API调用鉴权加密以及私聊消息分发\n\n私聊消息分发整个链路为以下步骤\n1. 发送方向TCP服务器发送消息\n2. 校验好友关系以及是否被拉黑(可通过配置文件配置是否开启校验)\n3. 向发送方返回ACK\n4. 向发送方的其他在线端同步消息\n5. TCP向接收方所有在线端分发消息\n发送端、TCP和接收端端与端之间使用RocketMQ交互,保证消息不丢失","shortMessageHtmlLink":"feat: API调用鉴权加密以及私聊消息分发"}},{"before":"631de0edee3eed153811a27a8aaac4a0d33cfc1c","after":"d1ca1b71fbdd7da098bde85120f2c14fe6fc3dee","ref":"refs/heads/master","pushedAt":"2023-07-06T17:50:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Paddi-Yan","name":"Sabrina","path":"/Paddi-Yan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/83525773?s=80&v=4"},"commit":{"message":"feat: TCP服务处理业务逻辑层投递的消息\n\n使用模板方法和工厂模式抽象消息处理器,监听业务逻辑层投递的消息,处理解析完毕后打包并通过消息中的用户ID、终端类型以及终端标识找到该用户其他在线客户端与服务器的Channel向客户端推送信息变更。","shortMessageHtmlLink":"feat: TCP服务处理业务逻辑层投递的消息"}},{"before":"3a39099425139dee700fde93944d54d8cbb06328","after":"631de0edee3eed153811a27a8aaac4a0d33cfc1c","ref":"refs/heads/master","pushedAt":"2023-07-06T13:31:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Paddi-Yan","name":"Sabrina","path":"/Paddi-Yan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/83525773?s=80&v=4"},"commit":{"message":"feat: 多端数据同步\n\n用户信息、好友信息以及群聊信息一端发生变动,通过RocketMQ向该用户其他终端通知更新,将消息投递至该保存着该其他终端用户信息的TCP服务器,TCP服务器再通过长连接向用户进行更新信息的推送。\n这种方式比起长轮询和第三方回调更加的有优势,节省网络资源的情况下还接触了第三方回调和TCP服务器的强耦合。","shortMessageHtmlLink":"feat: 多端数据同步"}},{"before":"df267fa2ac32c3c448d5f54753c2dbf604489398","after":"3a39099425139dee700fde93944d54d8cbb06328","ref":"refs/heads/master","pushedAt":"2023-07-05T17:01:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Paddi-Yan","name":"Sabrina","path":"/Paddi-Yan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/83525773?s=80&v=4"},"commit":{"message":"feat: 第三方回调\n\n引入第三方回调功能,分为异步和同步两种模式。引入之后总体架构分为三层开发者应用层-即时通信IM服务层-开发者服务层,即时通讯服务层提供了开放第三方回调,可以用于向开发者服务层同步数据、鉴权以及其他的更精细化的控制。","shortMessageHtmlLink":"feat: 第三方回调"}},{"before":"49841e1f9c6d9cebff4b5a8785de2e593242fc26","after":"df267fa2ac32c3c448d5f54753c2dbf604489398","ref":"refs/heads/master","pushedAt":"2023-07-05T11:17:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Paddi-Yan","name":"Sabrina","path":"/Paddi-Yan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/83525773?s=80&v=4"},"commit":{"message":"feat: 负载均衡\n\n1.实现了随机、轮询以及一致性哈希实现的负载均衡策略\n2.使用配置文件实现负载均衡策略和一致性哈希实现算法的可配置化\n3.使用模板方法优化负载均衡代码结构","shortMessageHtmlLink":"feat: 负载均衡"}},{"before":null,"after":"49841e1f9c6d9cebff4b5a8785de2e593242fc26","ref":"refs/heads/master","pushedAt":"2023-07-04T07:08:52.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"Paddi-Yan","name":"Sabrina","path":"/Paddi-Yan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/83525773?s=80&v=4"},"commit":{"message":"feat: first commit and list existing function\n\n已实现功能:\n1. 用户&好友关系&群组相关数据库设计\n2. 用户基本模块实现\n3. 好友相关功能实现,包括添加、删除、分组以及强好友和弱好友关系下的关系校验等\n4. 群组模块相关功能实现,包括创建、修改、解散、转让、移除群成员、禁言群或群成员等\n5. 使用Netty构建TCP网关,设计私有通信协议以及编解码器\n6. 使用RocketMQ连通TCP网关层和后端逻辑业务层\n7. 引入注册中心实现TCP服务注册,以及使用brokerId区分不同服务并进行分布式改造\n8. 使用多端登录场景,支持一端、双端、三端以及多端登录,通过配置文件进行切换\n9. 使用策略模式和工厂模式对多端登录进行处理优化","shortMessageHtmlLink":"feat: first commit and list existing function"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADVAA-pQA","startCursor":null,"endCursor":null}},"title":"Activity · Paddi-Yan/paddi-im-system"}