Compare commits

..
2270 Commits
Author SHA1 Message Date
heavyrian2012 08b813cd9f version 1.2.0 and release note 2023-11-18 20:28:35 +08:00
heavyrian2012 24c6538084 添加配置,处理多端同时加入聊天室的问题 2023-11-17 09:06:49 +08:00
heavyrian2012 724be0b273 添加获取用户聊天室状态的API 2023-11-17 09:06:00 +08:00
heavyrian2012 63f0fc66ce 支持按照用户ID来搜索用户 2023-11-15 15:38:22 +08:00
heavyrian2012 327b8d43a8 解决某些特殊情况下获取网卡信息失败导致启动失败的问题 2023-11-15 10:21:57 +08:00
imndx df67b8e0c8 禁止私聊时,只要发送者或接受者一方在允许私聊的列表里面,就允许私聊 fix #663 2023-11-10 11:00:45 +08:00
heavyrian2012 b4fcef1ced 会议事件添加时间戳 2023-11-05 10:51:46 +08:00
heavyrian2012 c43dfe26f4 更新SDK的依赖说明 2023-10-21 10:22:24 +08:00
heavyrian2012 aa1161131d 更新readme 2023-10-14 09:11:25 +08:00
heavyrian2012 a1188f5d52 添加配置开关,可以关掉api/version检查接口 2023-10-12 15:44:00 +08:00
heavyrian2012 6a10412940 version 1.1.9 and release note 2023-10-12 10:17:12 +08:00
heavyrian2012 8e3100e5b7 添加配置,是否允许群主和群管理员不受限制撤回自己的发言 2023-10-10 21:53:03 +08:00
heavyrian2012 c17a5be171 支持获取用户群组指定群成员类型 2023-10-10 12:51:40 +08:00
heavyrian2012 7727fad4dc 避免无限制重复好友请求,好友请求在5分钟之内只允许重复请求一次 2023-09-29 11:26:16 +08:00
heavyrian2012 dd5b9b1847 解决好友请求被拒绝后可能还能再次请求的问题 2023-09-29 10:45:41 +08:00
heavyrian2012 92c3c98553 解决重复发送好友请求时,请求时间没有更新的问题 2023-09-29 10:32:52 +08:00
heavyrian2012 d13ed6f989 sdk打印出请求的完整路径,方便问题排查 2023-09-26 09:58:12 +08:00
heavyrian2012 4e6188ee32 添加推送过期配置 2023-09-13 11:16:54 +08:00
heavyrian2012 a183d30f89 解决服务器时间过大的问题 https://github.com/wildfirechat/android-chat/issues/795 2023-09-11 11:12:50 +08:00
heavyrian2012 3f4c2b0cea version 1.1.8 & release note 2023-09-07 22:09:08 +08:00
heavyrian2012 932ee9235f 解决撤回消息中原消息中二进制消息数据格式错误问题 2023-09-07 22:01:37 +08:00
heavyrian2012 1e5ac9b787 修改配置文件注释 2023-09-07 09:56:41 +08:00
heavyrian2012 ad5d4991c8 发送好友请求之后5分钟之内可以再次发送 2023-09-06 19:47:24 +08:00
heavyrian2012 a2ee6c87eb 不能把群主设置为管理员 2023-09-06 15:20:38 +08:00
heavyrian2012 30e01a7040 修改docker说明 2023-08-26 10:40:07 +08:00
heavyrian2012 082f42af77 1.1.7 version and release note 2023-08-07 08:54:14 +08:00
heavyrian2012 2bec610552 优化撤回消息 2023-08-05 10:58:22 +08:00
heavyrian2012 f3a2603309 推送信息中,目标名称考虑到群备注,另外添加发送者和目标的头像 2023-08-04 11:20:09 +08:00
heavyrian2012 7d10251bd9 优化用户搜索 2023-08-04 09:47:07 +08:00
heavyrian2012 5c7b320b04 同步专业版IM服务代码 2023-08-01 14:24:19 +08:00
heavyrian2012 509048da04 1.1.6 version and release node 2023-07-20 21:22:57 +08:00
heavyrian2012 15f7777d78 添加获取订阅频道的功能 2023-07-20 21:07:58 +08:00
heavyrian2012 45b1b9cf96 解决搜索用户时返回用户类型问题 2023-07-08 13:34:05 +08:00
heavyrian2012 57314e673a 用户设置查找自己的方法 2023-06-28 16:14:15 +08:00
heavyrian2012 0a7b8f9587 version and release note 2023-06-20 17:59:11 +08:00
heavyrian2012 c8ff39c2ab 添加获取所有用户的Server API 2023-06-20 15:14:57 +08:00
heavyrian2012 252204a760 添加好友时,只检查对方的黑名单状态 2023-05-27 10:15:07 +08:00
heavyrian2012 26fbde676e stop脚本等待时间延长到30秒 2023-05-17 17:58:03 +08:00
heavyrian2012 81585ec146 docker file 为启动脚本添加执行属性 2023-05-17 17:57:47 +08:00
heavyrian2012 4ad0437730 更新版本号和release note 2023-05-10 20:19:45 +08:00
heavyrian2012 6245fe37fc 添加配置,请求机器人好友时,是否自动接受 2023-05-04 21:39:45 +08:00
heavyrian2012 ca50872913 server api添加获取单个群成员信息的接口 2023-05-04 19:00:08 +08:00
heavyrian2012 3c11c368a3 update readme 2023-04-28 11:32:47 +08:00
heavyrian2012 145709fd76 支持AES256配置 2023-04-24 11:51:13 +08:00
heavyrian2012 758c5de2c7 解决pc多端登录互踢时pc在线状态没有更新的问题 2023-04-24 11:26:55 +08:00
heavyrian2012 c159ff90e3 去掉windows脚本中的中文,解决windows平台下启动失败的问题 2023-04-19 09:28:30 +08:00
heavyrian2012 083b07fdba 修改版本号和release note 2023-04-13 09:36:49 +08:00
heavyrian2012 c6a8462ece 修改启动注释 2023-04-13 09:30:42 +08:00
heavyrian2012 afee0466e7 用户状态和频道订阅状态修改改成同步模式,防止高并发时出现问题 2023-04-13 09:18:43 +08:00
heavyrian2012 62b36cd2b4 超级群组协议 2023-04-13 09:04:55 +08:00
heavyrian2012 99c5210935 同步专业版IM服务超级群组的数据库和SDK 2023-04-13 08:50:07 +08:00
heavyrian2012 75cb7f8b98 修正当server api设置好友关系时,回调状态错误问题 #604 2023-04-07 22:25:01 +08:00
heavyrian2012 c89259e892 修改群昵称时检查是否在群中 2023-04-04 13:57:22 +08:00
heavyrian2012 d40835aa18 解决grouptype为0时被删除用户还能修改群名称的问题 2023-04-03 16:54:36 +08:00
heavyrian2012 b93c76c6c7 优化群组撤回逻辑。 2023-04-03 13:33:07 +08:00
heavyrian2012 c29370ac61 添加撤回消息回调 2023-03-24 15:55:11 +08:00
heavyrian2012 68abeed907 添加一些异常数据的处理 2023-03-20 13:49:29 +08:00
imndx 11b7851b9f 启动脚本里面,打印 JAVA 版本信息 2023-03-20 12:25:07 +08:00
heavyrian2012 329791e70e 解决用户被block后,session失效问题 2023-03-14 14:54:22 +08:00
heavyrian2012 b7b262be00 服务检查时间是否一致 2023-03-12 18:55:14 +08:00
heavyrian2012 6a806aa10b fix build error 2023-03-10 11:02:52 +08:00
heavyrian2012 6542b8ba55 version and release note 2023-03-10 10:55:32 +08:00
heavyrian2012 c3bc62f1e1 单聊会话发送定向消息时,分发目标需要包括自己。 2023-03-10 10:48:39 +08:00
heavyrian2012 8b649200d2 添加检查会议是否存在的接口 2023-03-06 15:17:46 +08:00
heavyrian2012 5f95b18e77 release note 2023-03-06 12:25:11 +08:00
imndx 4d45aedc73 禁止客户端群操作flag 解析错误 2023-03-06 11:41:23 +08:00
heavyrian2012 a038bedb12 version and release note 2023-03-06 10:54:26 +08:00
heavyrian2012 43892dbe41 解决关闭roaming,且message.compensate_time_limit配置为-1时,首次消息无法同步的问题 2023-03-02 08:52:43 +08:00
heavyrian2012 ad33abc424 用户消息表中的target优化 2023-02-28 21:01:20 +08:00
heavyrian2012 290a3cea0e 支持单聊会话的定向消息 2023-02-28 20:45:41 +08:00
imndx ca3bbb6435 添加日志 2023-02-23 10:41:11 +08:00
heavyrian2012 704e6e0ec2 搜索用户时,过滤掉被删除的用户 2023-02-20 19:30:08 +08:00
heavyrian2012 23871487e4 当用户获取群组信息时,如果不在群中返回-1,如果已经离开群了返回离开时间的负数 2023-02-20 19:27:30 +08:00
heavyrian2012 6e1ba9440e 更新版本号和release note 2023-02-15 15:25:33 +08:00
heavyrian2012 c284272b06 文件存储路径中加上分钟和秒 2023-02-15 15:20:57 +08:00
heavyrian2012 6746a54659 优化内置存储功能 2023-02-14 21:35:58 +08:00
heavyrian2012 93be667e17 日志文件精确到分钟,避免出现问题时被复写 2023-02-14 08:45:34 +08:00
heavyrian2012 f11da6225d 添加修改频道菜单接口 2023-02-12 11:06:35 +08:00
heavyrian2012 e28a4c6cbf server api发送消息检查对象是否存在 2023-02-11 13:51:05 +08:00
heavyrian2012 fa8a2bef32 channel api添加检查是否是订阅者的接口 2023-02-08 11:13:32 +08:00
heavyrian2012 1c9d238734 update readme 2023-01-19 16:14:17 +08:00
heavyrian2012 2f7f4e6456 update readme 2023-01-10 11:57:35 +08:00
heavyrian2012 6e83ec85c7 server sdk http request add log 2023-01-04 09:20:12 +08:00
heavyrian2012 cc561b846e 更新版本号和release note 2022-12-28 08:49:40 +08:00
heavyrian2012 4628b3b0b6 sdk add conference rtp forward api 2022-12-22 11:53:38 +08:00
heavyrian2012 9c69fbc7d4 sdk add conference rtp forward api 2022-12-13 17:38:21 +08:00
heavyrian2012 9047020d69 添加停止命令 2022-12-12 12:37:31 +08:00
heavyrian2012 1c18d862a1 会议离开加上原因 2022-12-07 16:25:18 +08:00
heavyrian2012 b0ddca985a route时可能不能携带正确的推送类型 2022-12-06 14:35:16 +08:00
heavyrian2012 996e06c451 添加禁止客户端群操作配置 2022-11-26 22:21:43 +08:00
imndx 612747203a 创建群组时,支持组织群 2022-11-25 10:48:29 +08:00
heavyrian2012 f7853ae299 解决短连接端口被扫描时打印出异常日志的问题 2022-11-24 19:06:27 +08:00
heavyrian2012 7443db3078 检查工具添加help命令 2022-11-22 10:12:09 +08:00
heavyrian2012 ad5f6cb228 添加注释 2022-11-21 08:34:08 +08:00
heavyrian2012 1486b19ce1 更新版本和release note 2022-11-19 09:44:09 +08:00
heavyrian2012 3e1095f745 移动release note文件的位置 2022-11-19 09:38:26 +08:00
heavyrian2012 17039bd3c1 http请求错误时不打印数据内容,防止内容泄露 2022-11-19 09:31:22 +08:00
heavyrian2012 b5d8feab62 客户端连接时检查是否跟获取token的平台一致 2022-11-18 22:10:53 +08:00
heavyrian2012 95b08ff7a3 Revert "mqtt proto version error"
This reverts commit ab8ae9d0c9.
2022-11-18 21:55:49 +08:00
heavyrian2012 ab8ae9d0c9 mqtt proto version error 2022-11-18 21:27:18 +08:00
heavyrian2012 b4d163e144 添加android客户端签名验证功能 2022-11-18 16:01:17 +08:00
heavyrian2012 3ccfd9a29b 解决user setting并发问题,fix #566 2022-11-15 17:12:51 +08:00
heavyrian2012 90504d1305 打包dockerfile 2022-11-14 15:47:42 +08:00
heavyrian2012 88199189a2 当禁止陌生人聊天时,添加例外允许用户id,用于比如管理员、文件助手等场景 2022-11-14 15:23:03 +08:00
heavyrian2012 0b6612eacc 内置对象存储支持绝对路径和相对路径 2022-11-14 15:13:06 +08:00
heavyrian2012 d706f545d2 解决启动脚本中的小错误 2022-11-14 15:04:51 +08:00
heavyrian2012 ae8d63b162 update docker readme 2022-11-14 14:42:04 +08:00
heavyrian2012 77e742e812 添加server sdk检查server api的工具 2022-11-12 19:25:24 +08:00
heavyrian2012 b2ee8b8d94 linux安装包创建日志目录 2022-11-12 19:24:57 +08:00
heavyrian2012 7080d85605 只有server api才能创建组织群 2022-11-12 15:01:57 +08:00
heavyrian2012 1275b2109f fix build error 2022-11-12 14:18:26 +08:00
heavyrian2012 b2eab28cb9 组织群客户端不能自主退出 2022-11-12 14:17:15 +08:00
heavyrian2012 67234ceaa6 添加新的群组类型:组织群 2022-11-12 14:00:24 +08:00
heavyrian2012 45f9e20e97 支持转发消息include/exclude类型,支持配置消息区间 2022-11-12 12:51:25 +08:00
heavyrian2012 6b7edc713a API获取用户信息时,过滤掉被删除的用户 2022-11-09 10:36:52 +08:00
heavyrian2012 1ef8f94d67 忽略掉无效的请求和日志 2022-11-05 17:05:31 +08:00
heavyrian2012 9b0b644cd1 update version and release note 2022-11-01 08:47:34 +08:00
heavyrian2012 b233c49d73 解决字符编码错误问题 2022-11-01 08:40:07 +08:00
heavyrian2012 b8d8d2f8ed 群组成员表添加成员索引和获取2个人共同群组的接口 2022-10-28 21:56:20 +08:00
heavyrian2012 731020ba0f update readme 2022-10-27 08:40:47 +08:00
heavyrian2012 4c00955639 更新readme 2022-10-27 08:33:09 +08:00
heavyrian2012 cbc150905f update screenshots 2022-10-26 10:32:48 +08:00
heavyrian2012 a71b8cef73 add more screenshots 2022-10-26 10:27:03 +08:00
heavyrian2012 66c67fa8d1 pc 截图大小 2022-10-26 09:29:36 +08:00
heavyrian2012 3ca7c70faa add screenshots 2022-10-26 09:26:43 +08:00
heavyrian2012 d4c6b1f616 update release note 2022-10-25 19:28:42 +08:00
imndx ae3eb9c2df linux 多端登录处理错误 2022-10-25 15:03:12 +08:00
heavyrian2012 771a4d751f version 0.97 and release note 2022-10-24 10:54:11 +08:00
heavyrian2012 2bed06cf43 更新升级说明 2022-10-24 10:49:30 +08:00
heavyrian2012 50f0330884 解决版本信息错误问题 2022-10-24 10:25:01 +08:00
heavyrian2012 acd21faa9c 优化野火IM服务安装目录 2022-10-24 09:53:44 +08:00
heavyrian2012 6e570c74ae 更新docker说明 2022-10-23 20:55:30 +08:00
heavyrian2012 893b58cef4 update dockerfile 2022-10-23 20:26:09 +08:00
heavyrian2012 bd2b037edb 删除旧的好友欢迎语的多语言处理方式 2022-10-23 19:22:54 +08:00
heavyrian2012 6acb1c968a 添加h2db路径的配置 2022-10-23 09:48:13 +08:00
heavyrian2012 6048748300 更新readme 2022-10-22 11:07:58 +08:00
heavyrian2012 9be49c3d41 update readme 2022-10-22 09:47:00 +08:00
heavyrian2012 d9eccd39de update readme 2022-10-22 08:52:35 +08:00
heavyrian2012 ffaffc8fc1 update systemctl service file 2022-10-21 19:46:10 +08:00
heavyrian2012 5e1f4fe6c9 update systectl service readme 2022-10-21 19:36:43 +08:00
heavyrian2012 b5d884f9f6 优化deb和rpm包 2022-10-21 19:12:11 +08:00
heavyrian2012 c0840f3a73 添加RPM打包方式 2022-10-21 16:38:58 +08:00
heavyrian2012 34bd59f195 打包输出deb包 2022-10-21 11:07:30 +08:00
heavyrian2012 8e1d56b2ca 添加service运行方式 2022-10-21 09:31:39 +08:00
heavyrian2012 a4eb64edd5 添加配置注释说明 2022-10-20 15:47:59 +08:00
heavyrian2012 b141990661 应用平台的部分错误日志改成error级别 2022-10-20 15:44:47 +08:00
imndx 0f9df0659f 名片消息推送 2022-10-18 22:07:19 +08:00
heavyrian2012 a2d4bf7d43 http回调失败用error打印日志 2022-10-12 17:08:35 +08:00
heavyrain.lee 898c4f2419 Merge pull request #379 from wildfirechat/dependabot/maven/broker/org.apache.httpcomponents-httpclient-4.5.13
Bump httpclient from 4.4.1 to 4.5.13 in /broker
2022-10-12 15:54:59 +08:00
heavyrain.lee e1a8a040df Merge pull request #381 from wildfirechat/dependabot/maven/sdk/org.apache.httpcomponents-httpclient-4.5.13
Bump httpclient from 4.5.3 to 4.5.13 in /sdk
2022-10-12 15:54:14 +08:00
heavyrain.lee adb4f082f1 Merge pull request #364 from wildfirechat/dependabot/maven/sdk/commons-io-commons-io-2.7
Bump commons-io from 2.5 to 2.7 in /sdk
2022-10-12 15:52:40 +08:00
heavyrain.lee 2724c79a79 Merge pull request #363 from wildfirechat/dependabot/maven/broker/commons-io-commons-io-2.7
Bump commons-io from 2.5 to 2.7 in /broker
2022-10-12 15:52:12 +08:00
heavyrain.lee ba01c90171 Merge pull request #544 from ren-jq101/oscs_fix_cd3626oau51of7vbl0vg
fix(sec): upgrade commons-codec:commons-codec to 1.13
2022-10-12 15:49:19 +08:00
ren-jq101 b8967ccaff update commons-codec:commons-codec 1.10 to 1.13 2022-10-12 14:39:29 +08:00
heavyrian2012 0e6e23da13 更新版本号和release note 2022-10-06 13:39:04 +08:00
heavyrian2012 88652af565 添加会议录制接口 2022-10-06 11:41:51 +08:00
heavyrian2012 af58bf91a4 单聊消息可以定向发送,只发送给其中一个用户 2022-09-29 08:36:01 +08:00
heavyrian2012 9d86539d01 update issue template 2022-09-23 22:25:48 +08:00
heavyrian2012 2559fa7e48 文章消息添加摘要信息 2022-09-20 11:03:14 +08:00
heavyrian2012 d8cdcfc09d udpate version and release not 2022-09-20 10:46:07 +08:00
heavyrian2012 209b1950b6 公众号消息添加摘要字段 2022-09-20 10:41:45 +08:00
heavyrian2012 7ea1a2b146 升级netty版本为4.1.68.Final 2022-09-18 22:05:22 +08:00
heavyrian2012 279530ade2 update github issue template 2022-09-08 21:28:42 +08:00
heavyrian2012 5a0fd95fc7 update readme 2022-09-08 13:34:18 +08:00
heavyrian2012 ec72ab6baf fix build error 2022-09-06 16:14:20 +08:00
heavyrian2012 cd6c7d2da9 添加按照用户会话删除消息接口 2022-09-06 12:54:24 +08:00
heavyrian2012 39371797d2 update readme 2022-09-05 16:24:13 +08:00
heavyrian2012 f672f4550e update version and release note 2022-08-31 20:30:03 +08:00
heavyrian2012 04c89d1fc1 gson单例化,另外关掉gson html转义功能 2022-08-31 20:24:46 +08:00
heavyrian2012 97540bdd1b IM exception add node_id 2022-08-26 23:13:04 +08:00
heavyrain2012 8514d808b3 remove useless file 2022-08-26 19:31:57 +08:00
heavyrain2012 e8e3d91dbc update 2022-08-26 19:18:16 +08:00
heavyrain2012 b64316c67d 添加超频限制白名单,某些命令不受超频限制 2022-08-26 19:11:52 +08:00
heavyrian2012 650ffa14e2 添加检查是否订阅频道server api 2022-08-26 15:16:48 +08:00
heavyrian2012 9fa33159c8 解决内置存储某些类型文件返回content-type错误问题 2022-08-26 00:22:18 +08:00
heavyrian2012 35794a777b sdk添加删除会话接口 2022-08-26 00:19:57 +08:00
heavyrian2012 bf60ed2d7d Merge branch 'wildfirechat' of github.com:wildfirechat/im-server into wildfirechat 2022-08-25 21:02:55 +08:00
heavyrian2012 0d09aad24f update readme 2022-08-25 21:02:40 +08:00
heavyrain2012 8d31e031bc update version and release 2022-08-25 14:22:58 +08:00
heavyrian2012 9af2bbf3d0 添加敏感词命中回调 2022-08-23 14:17:31 +08:00
heavyrian2012 d391ba386c http client 添加部分参数,解决调用server sdk时可能出现的connection reset问题 2022-08-23 14:11:34 +08:00
heavyrian2012 b2ef3152db 短链接添加head处理 2022-08-22 15:28:24 +08:00
heavyrian2012 05fe5bd766 server api添加订阅接口 2022-08-20 13:43:12 +08:00
heavyrian2012 48c9b10365 添加release note 2022-08-19 08:50:45 +08:00
heavyrian2012 30cd56aae2 version 0.92 2022-08-19 08:23:19 +08:00
heavyrian2012 6fbecfb0fb 去掉无效的警告 2022-08-19 08:15:03 +08:00
heavyrian2012 d2cb8427bb 解决下载zip包编译失败的问题 2022-08-19 08:05:54 +08:00
heavyrian2012 826bad2d66 add menuid and extra 2022-08-16 20:10:56 +08:00
heavyrian2012 aaccec00e9 add article content 2022-08-16 15:05:30 +08:00
heavyrian2012 3c1c5ce6d3 menu 2022-08-14 22:08:35 +08:00
heavyrian2012 b0fe1636a7 添加配置,在关闭消息漫游时,客户端首次登陆同步多久时间以内的消息 2022-08-14 15:25:00 +08:00
heavyrian2012 014cd3844d 频道只有auto为1时才会回调消息和订阅事件。频道只回调用户发送的消息,自己发送的消息不回调 2022-08-09 15:39:34 +08:00
heavyrian2012 6cc00950f0 SDK部分pojo对象添加无参数构造函数 2022-08-09 12:17:59 +08:00
heavyrian2012 2918c06a01 version 0.91 2022-08-03 12:41:35 +08:00
heavyrian2012 c3b9b9fccf 群组添加成员时,检查是否已经存在群组成员, fix issue #501 2022-08-03 12:19:03 +08:00
heavyrian2012 8c88d5a13f 添加注释 2022-07-29 20:37:53 +08:00
heavyrian2012 967526f5ec 添加发送消息payload错误时的提醒 2022-07-29 20:33:18 +08:00
heavyrian2012 109078abca 参数有效性检查 2022-07-29 20:24:41 +08:00
heavyrian2012 79a58e99aa 添加配置运行回调消息带上客户端信息 2022-07-27 11:36:04 +08:00
heavyrian2012 a394444c86 创建群组时,检查群组类型的有效性 2022-07-21 22:10:39 +08:00
heavyrian2012 dece1d7a1c sdk 添加获取会话阅读时间和消息送达时间接口 2022-07-20 22:25:46 +08:00
heavyrian2012 2b09a7bf84 version 0.90 2022-07-14 20:25:52 +08:00
heavyrian2012 200a6ebd04 添加注释 2022-07-14 20:22:36 +08:00
heavyrian2012 54db1f3b06 触发限频后多调用了一次callback,去掉无用的调用 2022-07-06 10:05:57 +08:00
heavyrian2012 3b90d145a4 去掉绑定IP地址的配置,防止客户误操作 2022-06-28 08:34:17 +08:00
heavyrain.lee e16a116fe4 Merge pull request #487 from wildfirechat/dependabot/maven/broker/mysql-mysql-connector-java-8.0.28
Bump mysql-connector-java from 8.0.19 to 8.0.28 in /broker
2022-06-26 18:34:33 +08:00
dependabot[bot] 7bd0937069 Bump mysql-connector-java from 8.0.19 to 8.0.28 in /broker
Bumps [mysql-connector-java](https://github.com/mysql/mysql-connector-j) from 8.0.19 to 8.0.28.
- [Release notes](https://github.com/mysql/mysql-connector-j/releases)
- [Changelog](https://github.com/mysql/mysql-connector-j/blob/release/8.0/CHANGES)
- [Commits](https://github.com/mysql/mysql-connector-j/compare/8.0.19...8.0.28)

---
updated-dependencies:
- dependency-name: mysql:mysql-connector-java
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
2022-06-21 00:59:19 +00:00
heavyrian2012 c085057032 修正拼写错误 2022-06-09 15:03:56 +08:00
heavyrian2012 eac6648fc0 version 0.89 2022-06-09 09:42:34 +08:00
heavyrian2012 300f9aa0e6 update readme 2022-06-07 21:12:33 +08:00
heavyrian2012 dd40b72ec4 添加允许pc多端的配置 2022-06-06 09:37:37 +08:00
heavyrian2012 556e6ad2a0 解决某些java版本下反序列化IMResult<Void>失败问题 2022-05-27 13:25:21 +08:00
heavyrian2012 473ae32f57 update readme 2022-05-27 10:14:00 +08:00
heavyrian2012 d57ae2ed58 删除群组时清除相关设置 2022-05-27 08:35:12 +08:00
heavyrian2012 1a6907efd3 log4j version 2.17.2 2022-05-25 10:16:40 +08:00
heavyrain.lee 1624c470d6 Merge pull request #480 from wildfirechat/dependabot/maven/common/com.google.code.gson-gson-2.8.9
Bump gson from 2.8.2 to 2.8.9 in /common
2022-05-25 10:10:17 +08:00
heavyrain.lee 5ea6eefe67 Merge pull request #481 from wildfirechat/dependabot/maven/sdk/com.google.code.gson-gson-2.8.9
Bump gson from 2.8.2 to 2.8.9 in /sdk
2022-05-25 10:10:02 +08:00
heavyrian2012 8aebb2537a version 0.88 2022-05-23 14:53:40 +08:00
heavyrian2012 250b0ccebe 解决server api撤回单聊消息无法撤回的问题 2022-05-23 14:20:30 +08:00
heavyrian2012 91669c634f add send articles message builder 2022-05-22 11:26:01 +08:00
dependabot[bot] bf51cb9829 Bump gson from 2.8.2 to 2.8.9 in /sdk
Bumps [gson](https://github.com/google/gson) from 2.8.2 to 2.8.9.
- [Release notes](https://github.com/google/gson/releases)
- [Changelog](https://github.com/google/gson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/gson/compare/gson-parent-2.8.2...gson-parent-2.8.9)

---
updated-dependencies:
- dependency-name: com.google.code.gson:gson
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
2022-05-20 21:09:22 +00:00
dependabot[bot] baadcac2c6 Bump gson from 2.8.2 to 2.8.9 in /common
Bumps [gson](https://github.com/google/gson) from 2.8.2 to 2.8.9.
- [Release notes](https://github.com/google/gson/releases)
- [Changelog](https://github.com/google/gson/blob/master/CHANGELOG.md)
- [Commits](https://github.com/google/gson/compare/gson-parent-2.8.2...gson-parent-2.8.9)

---
updated-dependencies:
- dependency-name: com.google.code.gson:gson
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
2022-05-20 21:09:06 +00:00
heavyrian2012 6c69a5ac96 null 判断 2022-05-19 12:37:01 +08:00
heavyrian2012 eb19ed3301 添加富通知消息的发送测试 2022-05-19 10:29:24 +08:00
heavyrian2012 5be7576bb8 管理端口获取authCode时使用默认的applicationId 2022-05-15 17:16:37 +08:00
heavyrian2012 86d552cd82 管理端口也添加获取应用authCode的方法 2022-05-15 15:07:51 +08:00
heavyrian2012 391f7345c0 add authcode and config api for open platform 2022-05-15 10:19:07 +08:00
heavyrian2012 92fa40f1fd 添加server api和机器人api获取机器人信息的接口 2022-05-13 14:38:26 +08:00
heavyrian2012 3b3c05260c 频道automic状态为1所有消息都不发送到owner,无论callback是否存在 2022-05-12 08:47:26 +08:00
heavyrian2012 4e9cf86302 机器人和频道回调消息带上messageid和时间戳 2022-05-11 09:28:06 +08:00
heavyrian2012 cbb89bbfb5 解决删除用户时,没有回调取消订阅通知的问题 2022-05-07 09:16:15 +08:00
heavyrian2012 537221b0b4 add application token 2022-05-02 22:07:54 +08:00
heavyrian2012 9d23f9c996 优化频道订阅关系缓存逻辑 2022-05-02 11:12:19 +08:00
heavyrian2012 6a25a83857 删除用户或删除频道时,删除对于的订阅关系 2022-05-02 11:05:56 +08:00
heavyrian2012 d0e533ad21 channel add member index 2022-05-02 10:57:46 +08:00
heavyrian2012 cd0e07f32d 优化sql语句 2022-05-01 12:14:07 +08:00
heavyrian2012 a6869c9072 消息表添加会话索引 2022-04-30 21:30:06 +08:00
heavyrian2012 03b3bb2093 同步专业版数据库及错误码 2022-04-30 08:01:45 +08:00
heavyrian2012 304192e303 version 0.87 2022-04-27 18:42:34 +08:00
heavyrian2012 9490226757 update 2022-04-26 20:12:52 +08:00
heavyrian2012 c44062855b 添加获取单条消息的接口 2022-04-26 20:05:35 +08:00
heavyrian2012 9d96fe927f 添加配置,当删除用户时是否保留用户昵称 2022-04-26 19:50:53 +08:00
heavyrian2012 ef21bd6db3 update readme 2022-04-05 15:26:33 +08:00
imndx dc0b718083 Update README.md 2022-04-01 09:12:05 +08:00
heavyrian2012 c0703332d6 在线状态 2022-03-24 09:49:18 +08:00
heavyrian2012 def048836f 在线状态 2022-03-24 08:38:33 +08:00
heavyrian2012 806cd440e3 修正在线状态问题 2022-03-23 21:45:27 +08:00
heavyrian2012 a3f2623d7e 处理disconnect的在线状态 2022-03-23 19:55:58 +08:00
heavyrian2012 4bc5fd6bb9 version 0.86 2022-03-20 20:34:23 +08:00
heavyrian2012 be2979c9a9 获取在线用户结果的变量改成公开的 2022-03-03 14:31:27 +08:00
heavyrian2012 b7a30e1d14 注释 2022-02-24 21:37:05 +08:00
heavyrian2012 beb591fdc5 version 0.85 2022-02-22 16:16:47 +08:00
heavyrian2012 d090244be9 解决可能内存泄漏的问题 2022-02-22 15:31:50 +08:00
heavyrian2012 22708caaaa 不能反复撤回消息 2022-02-22 15:29:53 +08:00
heavyrain2012 2b24fb9f44 添加conference 服务不可用错误码 2022-02-17 14:55:09 +08:00
heavyrain2012 b8ccab5dde update version to 0.84 2022-02-11 20:20:55 +08:00
heavyrian2012 9d29357ffa 解决使用内置存储文件上传时内存释放问题 2022-02-09 23:04:51 +08:00
heavyrian2012 dabb92571a 定向消息,如果目标用户多于1人,取第一个保存到数据库中 2022-02-09 22:58:48 +08:00
heavyrian2012 acb4cf81de version 0.83 2022-01-29 14:03:11 +08:00
heavyrian2012 ace676d215 修改接受好友后通知其他端的问题 2022-01-29 13:47:34 +08:00
heavyrian2012 1170c4209b fix test code 2022-01-29 11:47:19 +08:00
heavyrian2012 57e8814d9c 同步专业版代码 2022-01-29 11:43:44 +08:00
heavyrian2012 e3d9e0d183 处理好友请求后通知客户端更新好友请求信息 2022-01-26 21:53:35 +08:00
heavyrian2012 d6f5614f49 version 0.82 2022-01-26 13:45:29 +08:00
heavyrian2012 9ed4ab7e08 同步专业版SDK 2022-01-17 19:33:32 +08:00
heavyrian2012 4da3d3421d sdk中添加更新消息的接口 2022-01-13 20:57:02 +08:00
heavyrain2012 40ef9abd35 销毁用户时,清理干净所有信息 2022-01-08 16:36:18 +08:00
heavyrian2012 6f5b021c89 解决在线逻辑错误问题 2022-01-06 09:56:46 +08:00
heavyrian2012 f8f225d741 version 0.81 2022-01-05 14:31:37 +08:00
imndx 546110f6d3 修复存储用户消息错误问题 2022-01-05 11:26:40 +08:00
heavyrain2012 c7dbf45af6 当关闭pc在线通知时可以清理掉历史在线状态 2021-12-30 16:47:00 +08:00
heavyrain2012 1434dafd36 version 0.80 2021-12-29 21:03:34 +08:00
heavyrain2012 0d8a6e64ea log4j 2.17.1 2021-12-29 15:09:10 +08:00
heavyrain2012 d96c201aec add log 2021-12-28 19:30:48 +08:00
heavyrain2012 d901707691 add log 2021-12-28 19:22:55 +08:00
heavyrain2012 f456a4cc65 修正在线状态错误问题 2021-12-26 14:52:23 +08:00
heavyrain2012 c4bd706272 support pad platform 2021-12-26 13:47:01 +08:00
heavyrain2012 503768c04b 获取群组成员信息带上创建时间 2021-12-24 22:19:02 +08:00
heavyrain2012 7ca3abe12d 频道权限问题,非订阅用户可以给全局频道和可以给非订阅用户发消息的频道回复消息 2021-12-24 22:14:04 +08:00
heavyrain2012 cb09026408 添加注释 2021-12-24 22:02:40 +08:00
heavyrain2012 fab381a351 add log 2021-12-24 11:25:47 +08:00
heavyrain2012 a3782b94a8 version 2021-12-23 10:04:17 +08:00
heavyrain2012 3c5ba7f1fa log4j 升级到log4j2 2021-12-23 10:03:36 +08:00
heavyrain2012 24e95ea4db 加入聊天室判断聊天室是否销毁 2021-12-22 10:27:08 +08:00
heavyrain2012 f96f202b58 销毁聊天室时,清理聊天室相关数据 2021-12-22 10:25:31 +08:00
heavyrain2012 29a53955b6 敏感词过滤跳过链接 2021-12-22 09:58:28 +08:00
heavyrain2012 bf081cd416 修改user setting key字段的长度 2021-12-20 08:53:33 +08:00
heavyrain2012 a074b9eac3 频道API发送消息时,如果是自动处理就不发送给频道owner 2021-12-17 21:24:56 +08:00
heavyrain2012 f1b2c546a3 version 0.78 2021-12-14 12:22:44 +08:00
heavyrain2012 52b7b6a9d7 替换新的id生成方法,生成9位id 2021-12-14 12:18:14 +08:00
heavyrain2012 1f03230df5 mysql的关键字段改成大小写敏感 2021-12-14 11:08:01 +08:00
heavyrain2012 b2be0bfdd4 当用户信息更新时通知其他端 2021-12-09 19:40:30 +08:00
heavyrian2012 d6dbf08b8b 解决API修改群组或用户为空时的异常问题 2021-12-09 10:39:38 +08:00
heavyrian2012 ace7435726 修正禁止存储消息searchable字段的错误 2021-12-09 10:14:03 +08:00
heavyrain2012 ef45723043 1,添加是否允许机器人发生自定义群通知的开关;2,重构部分代码 2021-12-07 13:46:14 +08:00
heavyrain2012 9858b6060c deprecated output channelinfo status field 2021-12-06 09:16:02 +08:00
heavyrain2012 05476bb678 兼容旧的server sdk 2021-12-06 09:07:35 +08:00
heavyrain2012 54aa4d5dcf version 0.77 2021-12-06 09:02:23 +08:00
heavyrain2012 c992286af5 测试频道代码修改默认频道属性 2021-12-05 11:04:50 +08:00
heavyrain2012 3ed9381084 解决机器人和频道高压力下错误问题 2021-12-05 11:04:28 +08:00
heavyrain2012 1099c87246 add channel no secret error code 2021-12-04 17:03:01 +08:00
heavyrain2012 e4752c832e 解决频道拉取远程消息错误问题 2021-12-01 20:22:04 +08:00
heavyrain2012 74ac13726e 解决频道API发送中文乱码的问题 2021-12-01 20:21:14 +08:00
heavyrain2012 6ad672be76 server api支持获取频道信息,销毁频道信息,销毁机器人功能 2021-12-01 09:16:29 +08:00
heavyrain2012 63dd936675 channel status refactor to state 2021-11-30 20:12:41 +08:00
heavyrain2012 5ae8e375bf version 0.76 2021-11-29 12:25:34 +08:00
heavyrain2012 d7a0fd29bb update 2021-11-24 20:31:39 +08:00
heavyrain2012 92c59d2fe8 获取远程消息支持按照类型来获取 2021-11-23 13:56:59 +08:00
heavyrain2012 7824fb3844 配置文件添加警告 2021-11-20 11:07:46 +08:00
heavyrain2012 0390d44c63 检查server.ip配置,当没有配置时输出警告 2021-11-20 10:58:30 +08:00
heavyrain2012 4fdc883f25 解决服务地址错误问题 2021-11-20 10:52:35 +08:00
heavyrain2012 3862ab5254 为聊天室增加单独的允许拉取远程消息的开关 2021-11-19 21:12:11 +08:00
heavyrain2012 38002aecc9 Http请求失败时打印详细信息 2021-11-19 20:21:41 +08:00
heavyrain2012 c74cddc387 version 0.75 2021-11-17 16:30:25 +08:00
heavyrain2012 b2e4fd9546 update 2021-11-16 16:50:48 +08:00
heavyrain2012 9e8c364642 机器人不允许获取token和登录 2021-11-16 16:49:09 +08:00
heavyrain2012 8127ec03ad 好友欢迎语排序问题 2021-11-10 11:30:06 +08:00
heavyrain2012 c02e9066be update version 0.74 2021-11-04 15:00:43 +08:00
heavyrain2012 ffd1492ea2 添加限频配置项 2021-10-26 10:11:05 +08:00
heavyrain2012 5e9bbcb1e9 修改注释 2021-10-16 22:20:01 +08:00
heavyrain2012 63770c75fa 修正server api设置好友昵称的问题 2021-10-16 19:43:41 +08:00
heavyrain2012 bf0eb5b8aa 更新注释 2021-10-16 18:12:48 +08:00
heavyrain2012 8cbf66930f 修改注释 2021-10-16 18:11:46 +08:00
heavyrain2012 ce48f67b04 发送好友请求时,如果已经是好友了,返回已经是好友的错误码 2021-10-16 18:03:13 +08:00
heavyrain2012 2fdf11006d 解决双方同时加好友后,有一方接受后,另外一方无法接受问题 2021-10-12 07:59:39 +08:00
heavyrain2012 4a2d7a4cc5 version to 0.73 2021-10-12 07:30:18 +08:00
heavyrain2012 0513da8993 客户端断开链接优化 2021-10-12 07:28:47 +08:00
heavyrain2012 d400b74bff version to 0.72 2021-10-08 12:05:14 +08:00
heavyrain2012 3d7220d79c 优化disconnect功能 2021-10-08 11:07:08 +08:00
heavyrain2012 4bcf784a6d 优化数据库表结构升级日志提示 2021-09-29 19:50:20 +08:00
heavyrain2012 6d021568d3 add log 2021-09-29 19:39:01 +08:00
heavyrain2012 44f54ecd17 提醒消息判断是不是server api发送 2021-09-29 10:19:24 +08:00
heavyrain2012 4cd0349911 提醒消息转发 2021-09-29 10:17:32 +08:00
heavyrain2012 9ad78f2fb8 支持客户端lite mode 2021-09-27 10:28:58 +08:00
heavyrain2012 b284d10d0f version to 0.71 2021-09-24 21:20:40 +08:00
heavyrain2012 4fd87eb605 add run time in version info 2021-09-20 21:01:40 +08:00
heavyrain2012 f39fd3abd5 version info add run time 2021-09-20 20:44:04 +08:00
heavyrain2012 db25a6ae04 解决只有pushdata没有pushcontent的推送问题 2021-09-20 08:42:47 +08:00
heavyrain2012 edbed585ce 撤回消息推送 2021-09-20 08:21:16 +08:00
heavyrain2012 9ca69d7318 添加voip免打扰开关 2021-09-20 08:12:26 +08:00
heavyrain2012 eeaa9eefdf 添加开关
1,是否不转发管理员消息
2,客户端是否支持kickoff事件
2021-09-07 22:07:54 +08:00
heavyrain2012 92c9d761ed add kicked off error code 2021-09-07 08:29:29 +08:00
heavyrain2012 1f9824b283 version to 0.70 2021-09-04 11:23:40 +08:00
heavyrain2012 c7e20632a8 解决单个敏感词无法过滤的问题 2021-09-02 11:55:09 +08:00
heavyrain2012 81a2ab8239 更新命名 2021-09-01 14:48:11 +08:00
heavyrain2012 f62e3f3cef 添加设置用户关系中的附加信息 2021-09-01 14:39:59 +08:00
heavyrain2012 5ce8165514 fix word spell 2021-09-01 13:46:57 +08:00
heavyrain2012 106756ded4 修改敏感词替换错误问题 2021-09-01 13:44:49 +08:00
imndx 3f93be0ece update readme 2021-08-15 10:48:05 +08:00
heavyrain2012 a53f3eb587 version 0.68 -> 0.69 2021-08-13 17:00:02 +08:00
heavyrain2012 d43afb282e 健康检查 2021-08-13 16:37:16 +08:00
heavyrain2012 2f195440cf 更新健康检查内容 2021-08-13 15:06:09 +08:00
heavyrain2012 d241acf980 添加健康检查功能 2021-08-13 12:36:33 +08:00
heavyrain2012 debd4f1aea 解决配置文件中特殊字符问题 2021-08-05 15:44:20 +08:00
heavyrain2012 5a2ded4b6e 回滚错删的配置 2021-07-28 16:16:11 +08:00
heavyrain2012 ca1bdc9ee5 配置文件添加注释 2021-07-28 15:53:28 +08:00
heavyrain2012 b187151683 完善会议API 2021-07-25 12:08:47 +08:00
heavyrain2012 c3859a9fae 当web/pc在线时,手机默认不发出通知 2021-07-23 11:40:04 +08:00
heavyrain2012 c233304a8f version 0.67->0.68 2021-07-23 11:21:14 +08:00
heavyrain2012 affc527326 解决文件不存在时出现的异常 2021-07-23 08:28:11 +08:00
heavyrain2012 07fb4ce511 添加注释 2021-07-22 20:18:16 +08:00
heavyrain2012 ce9f2cbafe 添加开关,确定手机是否默认静音当pc或web在线时 2021-07-22 19:38:14 +08:00
heavyrain2012 2ed81ea629 当好友请求原因为空时,在好友请求接受后,不发送此消息 2021-07-22 16:31:15 +08:00
heavyrain2012 2454067fc3 general admin两个用户设置的接口改为public 2021-07-13 10:10:43 +08:00
heavyrain2012 21a0de04ca 不能尝试兼容加密/未加密的消息,因为有可能错误解出消息,导致不可控结果。 2021-07-12 16:36:38 +08:00
heavyrain2012 f8153d68e8 解决获取原创消息揭秘问题 2021-07-12 15:54:31 +08:00
heavyrain2012 a909e79c50 添加配置是否明文存储消息到数据库 2021-07-12 11:20:26 +08:00
heavyrain2012 c58790ebce 去掉控制台的日志输出 2021-07-06 22:43:22 +08:00
heavyrain2012 0f5b0692af version to 0.67 2021-07-02 11:41:51 +08:00
heavyrain2012 2013e2b6ce SDK复用链接问题 2021-07-01 15:53:04 +08:00
heavyrain2012 35c040c476 解决server api创建群组有部分参数无效问题 2021-07-01 15:10:13 +08:00
heavyrain2012 31472bc5aa 当聊天室不存在时,加入聊天室自动创建聊天室 2021-06-22 11:05:41 +08:00
heavyrain2012 7e812a095f 添加群组成员修改附加信息的功能 2021-06-19 11:34:49 +08:00
heavyrain2012 ec03b4632a server api send friend request force参数错误 2021-06-19 11:34:20 +08:00
heavyrain2012 c1d2c77837 修正新引入的错误 2021-06-19 09:15:51 +08:00
heavyrain2012 5f50455169 添加数据库升级提醒 2021-06-16 14:15:24 +08:00
heavyrain2012 499cfe7602 添加Server SDK 配置对象 2021-06-15 16:28:35 +08:00
heavyrain2012 3b98461946 version 0.65 -> 0.66 2021-06-15 10:58:41 +08:00
imhao183 b10ee75da5 SDK支持多个机器人账户 2021-06-09 16:38:15 +08:00
heavyrain.lee a9792b10ac Update README.md 2021-06-08 13:13:14 +08:00
imhao183 51bfb788ac version 0.64 -> 0.65 2021-06-04 18:01:53 +08:00
dependabot[bot] 82088db682 Bump httpclient from 4.4.1 to 4.5.13 in /broker
Bumps httpclient from 4.4.1 to 4.5.13.

---
updated-dependencies:
- dependency-name: org.apache.httpcomponents:httpclient
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
2021-06-04 17:58:45 +08:00
dependabot[bot] 463e3e766a Bump httpclient from 4.5.3 to 4.5.13 in /sdk
Bumps httpclient from 4.5.3 to 4.5.13.

---
updated-dependencies:
- dependency-name: org.apache.httpcomponents:httpclient
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
2021-06-04 17:58:34 +08:00
imhao183 4b00b873c3 同步会议参数 2021-06-04 17:52:37 +08:00
imhao183 0c06e28116 解决server api强制添加好友请求时被限制的问题 2021-06-04 17:42:17 +08:00
dependabot[bot] 20f71f5a21 Bump httpclient from 4.5.3 to 4.5.13 in /sdk
Bumps httpclient from 4.5.3 to 4.5.13.

---
updated-dependencies:
- dependency-name: org.apache.httpcomponents:httpclient
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
2021-06-04 02:11:35 +00:00
dependabot[bot] 326f76afd8 Bump httpclient from 4.4.1 to 4.5.13 in /broker
Bumps httpclient from 4.4.1 to 4.5.13.

---
updated-dependencies:
- dependency-name: org.apache.httpcomponents:httpclient
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
2021-06-04 01:50:00 +00:00
imndx 7ea6ea08fd update readme 2021-06-01 15:50:07 +08:00
imhao183 b61d292fb5 同步会议API 2021-06-01 08:45:00 +08:00
imhao183 0aba453a24 添加分段同步好友/好友请求/用户设置的功能 2021-05-24 14:44:40 +08:00
imhao183 10ce88de20 更新版本号 2021-05-24 10:31:20 +08:00
imhao183 b0fe3fd57f 解决短链接响应错乱问题 2021-05-24 10:31:09 +08:00
heavyrain2012 141c8f38d8 解决server api 获取群组信息时缺少内容 2021-05-20 11:02:00 +08:00
imhao183 43b325d2d5 添加配置项,可以为内存文件存储添加远程服务地址 2021-05-19 14:02:49 +08:00
imhao183 1627515c1d version 0.62 -> 0.63 2021-05-17 20:03:40 +08:00
imhao183 d8670a0f66 group member和friend request中添加extra字段 2021-05-17 19:42:49 +08:00
imhao183 40e9d108ad 当客户端更新用户设置时,不需要再通知修改的端重新更新 2021-05-14 09:28:05 +08:00
heavyrain2012 cdc7f0893c 添加好友成功后的欢迎语默认使用新方式,如果有旧的客户端需要关闭此开关 2021-05-11 00:07:35 +08:00
heavyrain2012 953342747d 实现频道权限的处理,添加全局频道属性 2021-05-10 11:35:38 +08:00
imhao183 346e51b2e1 version 0.61 -> 0.62 2021-04-30 10:50:46 +08:00
dependabot[bot] b64468f86f Bump commons-io from 2.5 to 2.7 in /sdk
Bumps commons-io from 2.5 to 2.7.

Signed-off-by: dependabot[bot] <[email protected]>
2021-04-30 10:47:44 +08:00
dependabot[bot] 3609b02ed3 Bump commons-io from 2.5 to 2.7 in /broker
Bumps commons-io from 2.5 to 2.7.

Signed-off-by: dependabot[bot] <[email protected]>
2021-04-30 10:47:27 +08:00
dependabot[bot] 9f36d47ca8 Bump commons-io from 2.5 to 2.7 in /sdk
Bumps commons-io from 2.5 to 2.7.

Signed-off-by: dependabot[bot] <[email protected]>
2021-04-26 19:30:47 +00:00
dependabot[bot] 57cdd57a30 Bump commons-io from 2.5 to 2.7 in /broker
Bumps commons-io from 2.5 to 2.7.

Signed-off-by: dependabot[bot] <[email protected]>
2021-04-26 18:54:43 +00:00
heavyrain2012 3c9ed877b5 优化sql语句 2021-04-24 08:08:26 +08:00
heavyrain2012 7706efcf8c 添加关闭群主撤回群成员消息的功能 2021-04-24 08:06:09 +08:00
imhao183 2ced517f70 revert对api参数的修改,需要保持SDK的兼容 2021-04-23 10:27:48 +08:00
imhao183 d99e9a079d 修改重构引入的部分问题 2021-04-23 10:22:50 +08:00
imhao183 49fcc73f78 server api/robot api/channel api不进行客户端限制频率 2021-04-23 09:51:42 +08:00
imhao183 d491ac0ad7 重构 2021-04-23 09:50:19 +08:00
imhao183 d89893821f 重构 2021-04-23 09:13:03 +08:00
imhao183 2d661a1f74 重构 2021-04-23 09:05:10 +08:00
imhao183 5028a64fa9 重构 2021-04-23 08:45:31 +08:00
imhao183 b4fe064807 1,robot和channel的api请求要与客户端请求分开限频 2021-04-23 08:41:14 +08:00
imhao183 7335fa4c2a update version to 0.61 2021-04-18 07:43:28 +08:00
imhao183 a62e32a369 upgrate hazelcat version 2021-04-18 07:42:10 +08:00
imhao183 b7abdcae52 移除敏感词的测试代码 2021-04-13 21:48:30 +08:00
imhao183 bc25587461 修改端口绑定错误提示 2021-04-12 09:56:08 +08:00
imhao183 499ee713d6 version to 0.60 2021-04-07 17:34:15 +08:00
imhao183 a6c6cf080c 修正serverapi修改群组信息的错误问题 2021-04-07 17:33:25 +08:00
heavyrain.lee 47c2e26ec3 Update README.md 2021-04-05 10:43:05 +08:00
heavyrain2012 6b264f2c9d version to 0.59 2021-04-05 10:27:06 +08:00
heavyrain2012 705ac341e0 为user message表添加会话信息及索引 2021-04-04 21:17:39 +08:00
heavyrain2012 2c07036364 当群成员被删除后再次加入到群组中,createTime应该会最后一次加入群组的时间 2021-04-03 16:29:01 +08:00
heavyrain2012 1a460f1b29 检查参数的有效性 2021-04-03 14:33:35 +08:00
heavyrain2012 e10b78bb34 优化撤回超市错误提示 2021-04-03 14:29:37 +08:00
heavyrain2012 edd973904a server api修改用户name 2021-04-03 14:29:24 +08:00
heavyrain2012 8ed1ba2f3a Merge branch 'wildfirechat' of https://github.com/wildfirechat/server into wildfirechat 2021-04-03 14:27:20 +08:00
heavyrain2012 6f24579c8e update 2021-04-03 14:27:11 +08:00
imhao183 c7bb49b3f7 修改群组extra消息时,发送通知给客户端 2021-04-02 12:15:11 +08:00
imhao183 d4d467afe2 修正自定义群组无效的问题 2021-04-02 12:04:18 +08:00
imhao183 96f7baece4 内置存储上传文件上限改为200MB 2021-04-02 10:08:03 +08:00
imhao183 2421d02eb8 当server api没有认证信息时,返回没有sign的错误码 2021-03-24 15:13:57 +08:00
imhao183 f6e9af58d4 version to 0.58 2021-03-20 10:56:50 +08:00
heavyrain2012 1dbc5d490e 添加频道控制相关接口 2021-03-20 09:57:38 +08:00
imhao183 f04f4fb087 添加禁言时例外消息类型 2021-03-19 14:33:17 +08:00
imhao183 1c9c77c06b 多人音视频添加成员时推送消息 2021-03-18 18:27:37 +08:00
imhao183 21f766880d update version to 0.57 2021-03-17 09:56:09 +08:00
imhao183 fa7f76ffef 修正群组成员变更时无法同步到客户端的问题 2021-03-17 09:55:08 +08:00
imhao183 d6d3eba8e6 修正拼写错误 2021-03-15 12:22:09 +08:00
imhao183 19bd5e83e5 处理同一个设备多个用户登录的情况 2021-03-11 11:11:19 +08:00
imhao183 2cbbf0a516 优化启动脚本 2021-03-03 18:24:28 +08:00
heavyrain2012 f6e8cd4ca8 update version to 0.55 2021-03-01 18:51:57 +08:00
heavyrain2012 da74b9fa94 添加更新接口 2021-02-24 15:46:46 +08:00
imhao183 281fe4c955 update version 2021-02-23 18:06:50 +08:00
imhao183 adfa3d3031 添加flyway修复说明 2021-02-23 18:05:31 +08:00
imhao183 6c34a9e512 remove default sensitive word 2021-02-23 18:01:28 +08:00
heavyrain.lee 0fd56ba61d Update README.md 2021-02-18 17:06:12 +08:00
imhao183 01342174af 去掉对客户端版本的限制,以便支持更新版本的客户端sdk 2021-02-16 11:27:49 +08:00
heavyrain2012 4742b135a5 添加消息转发类型过滤参数 2021-02-14 15:00:50 +08:00
heavyrain2012 6466218836 添加对接第三方敏感词处理方法 2021-02-14 12:30:40 +08:00
imhao183 a973a731e4 update version to 0.53 2021-02-13 20:54:33 +08:00
heavyrain2012 90449e08c6 解决某些特殊情况下,群组成员个数错误问题 2021-02-12 21:20:44 +08:00
heavyrain2012 5857a3fbd1 Revert "同步群成员状态,当群成员不存在时,返回删除状态"
This reverts commit ae4d8a95ba.
2021-02-12 18:01:55 +08:00
heavyrain2012 ae4d8a95ba 同步群成员状态,当群成员不存在时,返回删除状态 2021-02-12 17:58:27 +08:00
imhao183 9fa1370219 添加获取两个用户好友关系的接口 2021-02-09 14:58:07 +08:00
imhao183 dd4cdb4bc4 修正问题:创建群组时,如果没有把owner加入到群成员列表中,服务器自动加入群成员列表,但count计数时没有加入。 2021-02-01 16:02:43 +08:00
imhao183 e07b839671 修改允许客户端自定义群通知配置默认值为true 2021-01-30 21:45:45 +08:00
imhao183 3a0653b8ed 添加端口被占用时的提示说明 2021-01-30 09:17:57 +08:00
imhao183 b4979e5408 修正当敏感词策略为忽略时敏感词消息会从历史消息功能中拉取的问题 2021-01-30 09:09:25 +08:00
imhao183 59cb884772 update version to 0.52 2021-01-25 14:46:31 +08:00
imhao183 3d0a36b4f3 优化自动清理历史消息逻辑 2021-01-24 20:27:22 +08:00
heavyrain2012 7923a3e0c4 db 自动清除过期历史消息数据 2021-01-23 18:01:28 +08:00
imhao183 e5a4aa4741 内置存储下载带上contenttype 2021-01-23 17:01:12 +08:00
imhao183 e76e8b38df 解决特殊文件下报异常的问题 2021-01-23 15:58:53 +08:00
imhao183 5f7df37664 添加踢用户下线api接口 2021-01-22 10:23:33 +08:00
imhao183 2c9e8d66e8 优化踢客户端下线逻辑 2021-01-22 09:34:03 +08:00
imhao183 d7eddbf7b4 请求数据非法时给出错误响应码 2021-01-22 09:32:55 +08:00
imhao183 3b783fb72e push void answer 2021-01-21 20:51:08 +08:00
imhao183 4e9e87f113 docker file 2021-01-19 15:32:37 +08:00
imhao183 0f0b3398d7 禁止客户端直接修改电话号码,电话号码只能通过server api来修改 2021-01-16 10:30:41 +08:00
imhao183 a725b507c7 机器人api 2021-01-16 10:29:03 +08:00
imhao183 46423a341d 创建群组时,当owner没有加入到群成员列表中时,自动加入到群成员列表 2021-01-16 10:28:44 +08:00
heavyrain2012 f70ae457af add robot callback api 2021-01-16 09:13:53 +08:00
imhao183 29b30cec28 fix build error 2021-01-15 22:27:17 +08:00
imhao183 fc05973b5d 创建群组时使用类型2 2021-01-15 22:23:00 +08:00
imhao183 97a21ff201 添加机器人群组操作 2021-01-15 22:22:42 +08:00
imhao183 0b90f0c56c update sql script alter change status column 2021-01-15 22:21:24 +08:00
imhao183 07454aedce add robot create group function 2021-01-15 22:21:08 +08:00
imhao183 ee26284d39 update 2021-01-14 10:39:08 +08:00
imhao183 99e24dca1c 截取推送信息日志长度,防止消息内容打印到日志中去 2021-01-14 10:37:23 +08:00
imhao183 5dbfeaabf9 sdk添加对设置会话置顶的功能 2021-01-14 10:28:17 +08:00
imhao183 38595c06d8 添加注释 2021-01-13 20:16:27 +08:00
imhao183 e65e313ef3 添加配置,是否不同步指定用户信息到客户端 2021-01-11 12:40:39 +08:00
imhao183 4e5355af11 update version to 0.51 2021-01-08 21:20:37 +08:00
imhao183 fa47de1904 修改注释 2021-01-08 21:15:23 +08:00
imhao183 4abf1ed941 优化多端踢下线的逻辑 2021-01-08 09:45:52 +08:00
heavyrain2012 9b0ca7ac3c 解决某些特殊情况下用户session错误问题 2021-01-04 15:27:57 +08:00
imhao183 772940e50d 解决清除数据库后拉取历史消息时,无法获取自己发送消息问题 2020-12-31 20:14:23 +08:00
imhao183 c63cc74028 修正会话静音设置缓存错误问题 2020-12-26 16:18:56 +08:00
imhao183 76aff64a1b remove useless code 2020-12-24 12:50:23 +08:00
imhao183 9502b01b49 删除无效的配置及代码 2020-12-24 12:35:07 +08:00
heavyrain2012 5b476b205e update 2020-12-23 07:50:33 +08:00
heavyrain2012 d24d71d040 端口被占用时,打印出提醒日志 2020-12-20 15:30:37 +08:00
heavyrain2012 11b0e6454c 更新报警频率 2020-12-12 16:30:57 +08:00
heavyrain2012 31d69e78cf 异常报警功能 2020-12-12 16:27:15 +08:00
imhao183 28b732788c update 2020-12-11 12:34:32 +08:00
imhao183 2d1d5309bf 修改群昵称时发送群通知 2020-12-11 09:08:01 +08:00
imhao183 6d9eeb25d6 version 0.49->0.50 2020-12-10 18:28:27 +08:00
imhao183 32f63a7d9c 修改默认参数 2020-12-10 18:21:02 +08:00
imhao183 4d903ca379 1,添加设置群成员昵称api
2,配置当退群或者群踢人时,是否发送visible群通知
2020-12-10 18:03:41 +08:00
imhao183 d233dbdd99 添加禁止客户端发送某些类型配置功能 2020-12-02 15:38:16 +08:00
imhao183 0f32aa30ce 添加禁止客户端发送群通知开工 2020-12-02 15:32:46 +08:00
imndx 9e007185ba 解决sql语法错误. fix #305 2020-11-27 19:00:34 +08:00
imhao183 ab92bc116c update version to 0.49 2020-11-22 21:17:37 +08:00
imhao183 4308e51357 解决当用户关系不存在时,设置备注名失败的问题 2020-11-19 18:00:33 +08:00
imhao183 59977fb1ba 状态消息同步到发送者其它端时,排除掉发送端 2020-11-12 16:37:17 +08:00
imhao183 d912777974 fix file table name error 2020-11-12 10:28:32 +08:00
imhao183 19b7bc42ef fix build error 2020-11-11 18:34:43 +08:00
imhao183 e621bea8fa 添加撤回群发消息功能 2020-11-11 18:32:16 +08:00
imhao183 ca1cf03cc3 add recall multicast message request 2020-11-11 18:27:54 +08:00
imhao183 ed7e56ca75 add recall boardcast and multicast message api 2020-11-11 18:26:12 +08:00
heavyrain2012 40c5cd615d support java15 2020-11-11 16:29:59 +08:00
imhao183 3438de39ad 状态消息也需要同步到发送者的其它端 2020-11-11 13:08:28 +08:00
imhao183 7f6b2d93df toUsers参数没有带上及api兼容 2020-11-06 17:13:38 +08:00
imhao183 9c57a620c9 发送消息接口添加目标用户参数 2020-11-06 16:52:36 +08:00
imhao183 32252228b0 推送信息中带上用户Id 2020-11-06 16:44:44 +08:00
imhao183 396351cc15 update readme 2020-11-02 21:37:03 +08:00
imhao183 955c2182c8 update version to 0.48 2020-11-02 20:53:10 +08:00
heavyrain2012 823bd53da8 添加修正flyway migrate 38错误问题 2020-11-02 20:50:44 +08:00
heavyrain2012 e4588bfd9d 同步专业版数据库 2020-11-02 20:18:43 +08:00
imhao183 3b0f724ff0 update version to 0.47 2020-10-28 10:42:03 +08:00
imhao183 94bc595757 解决部分情况下消息id重复问题 2020-10-28 10:39:58 +08:00
imhao183 139042c8e7 添加免打扰功能及优化推送逻辑 2020-10-28 09:51:45 +08:00
imhao183 8e894e49b3 解决拉取历史消息问题 2020-10-23 11:24:44 +08:00
imhao183 c30a688032 remove useless fastjson 2020-10-22 10:37:12 +08:00
imhao183 06bcfea16e 拉取历史信息时,处理中间几个月时间没有消息的情况,最长间隔时24个月 2020-10-22 08:09:48 +08:00
imhao183 52bbf57760 Merge commit '30a62cfc58d12dc17406504873f1bc0e36f83a0d' into wildfirechat
* commit '30a62cfc58d12dc17406504873f1bc0e36f83a0d':
  Bump junit from 4.8.2 to 4.13.1 in /broker
2020-10-20 19:37:19 +08:00
imhao183 e63298f50b 实现群组/用户等信息变更通知 2020-10-19 09:09:53 +08:00
heavyrain2012 bc8baf3bcc 更新配置文件注释 2020-10-15 17:52:31 +08:00
dependabot[bot] 30a62cfc58 Bump junit from 4.8.2 to 4.13.1 in /broker
Bumps [junit](https://github.com/junit-team/junit4) from 4.8.2 to 4.13.1.
- [Release notes](https://github.com/junit-team/junit4/releases)
- [Changelog](https://github.com/junit-team/junit4/blob/main/doc/ReleaseNotes4.13.1.md)
- [Commits](https://github.com/junit-team/junit4/compare/r4.8.2...r4.13.1)

Signed-off-by: dependabot[bot] <[email protected]>
2020-10-13 12:24:06 +00:00
imhao183 35b8133046 version 0.45 -> 0.46 2020-10-11 21:50:37 +08:00
imhao183 4a8500b99b 支持群主或管理员修改成员昵称 2020-10-11 21:23:45 +08:00
imhao183 c26e98b960 update proto 2020-10-11 21:19:13 +08:00
heavyrain2012 70fcc66672 添加默认文件传输助手用户 2020-10-06 12:14:22 +08:00
heavyrain2012 2538a6ca68 频道和机器人如果没有密钥,不允许使用api 2020-10-06 12:14:07 +08:00
heavyrain2012 6388f1b89c pc在线时,是否推送手机端信息定义修正 2020-10-05 22:49:02 +08:00
imhao183 ef1f25dab1 mute notification when pc online settings 2020-10-05 17:24:18 +08:00
imhao183 0a5c8a67bb 解决server api删除好友关系时不通知的问题 2020-09-28 09:45:38 +08:00
imhao183 ae3f0027ca 添加敏感词管理api测试代码 2020-09-20 08:40:22 +08:00
imhao183 76dedb3da7 添加server api发送好友请求功能 2020-09-15 09:05:42 +08:00
imhao183 580e9f80fb 重命名server api好友状态model 2020-09-15 09:05:34 +08:00
imhao183 63304c5c5f API获取用户好友列表按照时间排序 2020-09-14 22:47:45 +08:00
heavyrain2012 c377360049 version 0.44->0.45 2020-09-12 19:41:23 +08:00
imhao183 2e74a77e5b 优化用户关系的测试例 2020-09-10 18:47:14 +08:00
imhao183 90286e9484 解决server api无法删除好友问题 2020-09-10 18:46:43 +08:00
imhao183 7f479dd9e5 当A、B都向对方发出好友请求后,A接受好友邀请,A发送给B的好友邀请也要变成接受状态。
(cherry picked from commit a8d076a9ac7faa1a556caeaad239bb393824bd8b)
2020-09-03 15:37:22 +08:00
heavyrain2012 bae0805e64 创建用户时检查用户的有效性 2020-09-01 21:58:10 +08:00
imhao183 e5d63a8d5f 修正server api签名错误问题 2020-09-01 07:49:16 +08:00
imhao183 06fe70bd6f 兼容golang http请求 2020-08-29 09:42:29 +08:00
imhao183 5a14b2f2f0 兼容golang的http请求 2020-08-29 09:39:47 +08:00
imhao183 fbe5bf7a77 解决退出群组后成员获取群组成员错误问题 2020-08-27 18:20:07 +08:00
imhao183 4ae117dd6f update version 0.43 -> 0.44 2020-08-27 17:22:41 +08:00
imhao183 4518beff28 修改注释 2020-08-27 17:14:51 +08:00
imhao183 3cc278211b 修正客户端创建群组时,群主的成员状态错误问题 2020-08-25 21:04:53 +08:00
imhao183 355fc6cb06 接近server api设置好友关系时不通知客户端的问题 2020-08-25 15:07:32 +08:00
imhao183 aef125eb50 添加SDK对专业版群组禁言白名单的支持 2020-08-24 09:59:06 +08:00
imhao183 d89e641470 sdk 测试代码中区分社区版和专业版 2020-08-24 09:50:29 +08:00
imhao183 e41ae9a9e7 时间回拨问题优化 2020-08-24 09:30:59 +08:00
imhao183 989f5aa190 创建群组或者添加群组成员时,群组成员按照请求顺序排序 2020-08-20 12:09:52 +08:00
imhao183 a820300f04 用户在线状态通知中添加包名 2020-08-20 08:54:59 +08:00
imhao183 68707560b9 fix recall message content error 2020-08-18 22:37:16 +08:00
imhao183 bb5b6fac17 获取群成员列表时检查群成员权限 2020-08-12 14:58:28 +08:00
heavyrain2012 584eb094f3 修改注释 2020-08-08 17:16:34 +08:00
heavyrain2012 b9b1a76d71 添加撤回消息限制 2020-08-08 09:39:15 +08:00
heavyrain2012 a40950fb8c 更新注释 2020-08-08 08:18:23 +08:00
heavyrain2012 a6fe4e9d6e 修改server api 添加群组成员接口 2020-08-07 15:31:02 +08:00
heavyrain2012 6f06a499aa 修正添加群成员时,设置昵称不生效问题 2020-08-07 15:16:48 +08:00
imhao183 069770c411 version 0.42 -> 0.43 2020-08-01 18:54:55 +08:00
imhao183 1f5f7eb572 修正推送数据中unread message count不准确的问题 2020-08-01 09:25:24 +08:00
imhao183 405ad6c121 fix build error 2020-07-27 16:10:58 +08:00
imhao183 ff6e94cee7 remove useless errorcode 2020-07-22 11:53:15 +08:00
imhao183 db6f273cba fix build error 2020-07-21 22:13:11 +08:00
imhao183 df3bace44b 创建群组时添加更多的参数 2020-07-21 22:07:50 +08:00
heavyrain.lee 3f9a8be02c Update ISSUE_TEMPLATE.md 2020-07-17 12:03:42 +08:00
imhao183 39eb08e3f2 消息过期错误修改 2020-07-16 17:55:34 +08:00
imhao183 22a4ef4f42 修正撤回消息时异常信息问题 2020-07-16 15:22:21 +08:00
imhao183 da0d2e22cc message content add push attribute 2020-07-15 08:15:54 +08:00
imhao183 a80ef20da3 message content add push data attribute 2020-07-15 08:12:00 +08:00
imhao183 45fd11f641 修正黑名单问题 2020-07-13 21:21:37 +08:00
imhao183 cdc731a23b update 2020-07-10 11:34:32 +08:00
imhao183 68a968a94c 避免数据库表中的列名与某些数据库关键字冲突 2020-07-09 16:48:45 +08:00
imhao183 8604f4edf3 添加注释 2020-07-09 16:48:15 +08:00
imndx b1484b0c95 fix recall message issue 2020-07-06 16:02:11 +08:00
imhao183 631986f7a2 更新说明 2020-07-06 12:36:28 +08:00
imhao183 db27e77303 添加说明 2020-07-03 20:47:44 +08:00
imhao183 5177779066 fix server api group operation failure issue 2020-07-01 14:20:04 +08:00
imhao183 c4a764d81d update 2020-07-01 11:22:20 +08:00
imhao183 2c5ae2bd86 update version to 0.42 2020-07-01 11:04:42 +08:00
imhao183 b11d609ea0 update 2020-07-01 11:04:10 +08:00
imhao183 b8170c4757 修改好友欢迎提示方式,默认为关,需要在客户端上实现后打开 2020-06-30 17:15:53 +08:00
imhao183 e42d6f8e4f fix sql error 2020-06-25 16:07:49 +08:00
imhao183 e0c95bace9 数据库group表添加2个字段 2020-06-25 16:00:08 +08:00
imhao183 8623223991 添加群成员时,检查系统群最大成员数 2020-06-24 11:57:15 +08:00
heavyrain.lee efdcc24067 Update README.md 2020-06-24 09:26:46 +08:00
imhao183 ec18e40eb0 normal 类型的群组群成员可以修改群名称头像和extra,群主和群管理可以修改所有信息 2020-06-22 21:50:17 +08:00
heavyrain2012 f9d970c730 server api 发送接口添加extra字段 2020-06-18 17:22:45 +08:00
imhao183 590b02cc8e session修改成同步操作 2020-06-16 17:01:59 +08:00
imhao183 f2f75d3048 计数问题修正 2020-06-12 07:54:28 +08:00
imhao183 94466139f6 群成员增加加入时间字段 2020-06-11 20:58:24 +08:00
imhao183 70aeff9ac5 更新协议,在群成员数据结构中添加创建时间属性 2020-06-11 15:47:40 +08:00
imndx 7e56fe2ee0 参数校验 2020-06-09 17:11:48 +08:00
imndx 599547d627 修复黑名单问题. fix #213, fix #212 2020-06-09 16:53:24 +08:00
imhao183 28600ea7f9 修正文件名中带有&字符错误问题 2020-06-08 21:43:12 +08:00
heavyrain2012 a73507c673 解决群组通知line错误问题 2020-06-08 19:10:13 +08:00
imhao183 84b8d4cd09 fix build error 2020-06-04 07:47:11 +08:00
imhao183 b66aa3d634 消息转发时带上消息ID和时间戳 2020-06-04 07:44:11 +08:00
imhao183 508beaf62c SDK增加群内成员禁言功能 2020-05-24 19:02:39 +08:00
imhao183 e914afedf4 同步专业版数据库 2020-05-23 17:25:52 +08:00
heavyrain.lee 49c32d7fa1 Update README.md 2020-05-20 07:02:32 +08:00
imhao183 aac106d37e 更新注释 2020-05-15 09:51:31 +08:00
imhao183 8bd17a8093 更新注释 2020-05-13 19:16:15 +08:00
imhao183 b1f07f49ff api接口获取群成员信息时,过滤掉已删除成员 2020-05-11 12:12:51 +08:00
imhao183 86dddfd85f fix build error 2020-05-11 08:33:09 +08:00
imhao183 db733efc44 解决SDK中修改群信息的接口缺少自定义消息的问题 2020-05-06 21:00:41 +08:00
imhao183 69f28bd35b 当接受好友邀请时,如果已经是好友,返回“已经是好友”的错误码 2020-05-06 20:50:15 +08:00
heavyrain2012 4179788899 update version to 0.41 2020-05-05 19:29:03 +08:00
imhao183 1654baa523 添加服务器端删除消息的api 2020-05-03 13:38:18 +08:00
heavyrain2012 2163b9d580 remove useless code 2020-05-02 08:15:11 +08:00
heavyrain2012 8bec058e20 add ignore 2020-05-02 08:15:03 +08:00
imhao183 4aa2001f7b api 2020-05-01 12:39:40 +08:00
imhao183 c741b4e1da things api and db 2020-05-01 12:39:29 +08:00
imhao183 e771794bc0 things db config and sdk 2020-05-01 12:38:27 +08:00
imhao183 739452830d 用户退出时,多加一种选择,停用session不清除session 2020-04-28 07:40:55 +08:00
heavyrain.lee 16deebb565 添加是否禁止服务器端保存searchable_content字段的配置 2020-04-25 20:43:20 +08:00
heavyrain.lee 4411a75535 fix build error 2020-04-24 12:10:09 +08:00
heavyrain.lee 93bb9b50ae 添加PC下线功能 2020-04-24 12:08:17 +08:00
imhao183 1f45372b24 Revert "update"
This reverts commit 5ec14502f8.
2020-04-23 18:44:45 +08:00
imhao183 5ec14502f8 update 2020-04-22 08:05:36 +08:00
heavyrain.lee 7c0666e13c update sql 2020-04-18 20:38:36 +08:00
heavyrain.lee 42d0a5334e add sql 2020-04-18 20:28:37 +08:00
heavyrain.lee 8a4ae37247 update version to 0.40 2020-04-15 10:52:33 +08:00
heavyrain.lee c11b004e04 update 2020-04-15 10:34:33 +08:00
imhao183 4d07757b83 添加sticker/moments的bucket支持 2020-04-14 16:12:19 +08:00
heavyrain.lee bdc2f70785 update 2020-04-11 08:13:32 +08:00
imhao183 768fe75e04 update sdk to fix black list api 2020-04-08 16:13:21 +08:00
heavyrain.lee 2ba54a41db 撤回消息时带上被撤回消息的信息 2020-04-06 11:29:31 +08:00
imhao183 e414fa4a0a fix error 2020-04-05 22:48:28 +08:00
imhao183 da011f4957 添加PC在线状态通知开关 2020-04-05 21:14:39 +08:00
heavyrain.lee 38f42697cb upgrade mysql connector to 8.0.19 2020-04-05 12:11:56 +08:00
imhao183 3f5a8f579a 添加禁止好友请求的配置。另外更新部分配置说明 2020-04-04 10:11:42 +08:00
imhao183 5ebd77a1a1 添加禁止搜索用户和禁止昵称搜索用户的配置项 2020-04-04 09:55:53 +08:00
imhao183 1047db9990 add chatroom api 2020-04-02 22:50:04 +08:00
imhao183 83eae385b3 修改拒绝好友请求的错误 2020-04-02 18:26:15 +08:00
imhao183 e2a334af91 update version to 0.39 2020-03-29 13:38:29 +08:00
imhao183 7927cea105 敏感词过来所有消息的searchableContent字段 2020-03-27 17:00:31 +08:00
imhao183 029cdd5817 api添加好友时的推送通知 2020-03-27 16:42:25 +08:00
imhao183 54e868a36c linux平台的多端处理 2020-03-26 17:58:17 +08:00
imhao183 d099c2aa14 好友请求推送 2020-03-26 13:31:35 +08:00
heavyrain.lee 2f554bd046 获取用户状态接口 2020-03-25 10:25:18 +08:00
imhao183 310b2e1016 修正封禁用户登录返回的错误码错误 2020-03-24 16:42:04 +08:00
heavyrain.lee 117f5e6678 添加一个hz map 2020-03-19 09:53:47 +08:00
imhao183 49edf8e06d update 2020-03-12 12:55:34 +08:00
heavyrain.lee 93a56e4bbc fix friend extra action error 2020-03-09 18:12:53 +08:00
heavyrain.lee 4533c2aac6 添加获取聊天室成员API接口 2020-03-09 16:24:00 +08:00
heavyrain.lee 9cd3fe6b8c 客户端上报语言为空时,处理好友请求异常 2020-03-09 15:51:43 +08:00
imhao183 7e0f268b7c token expire time 2020-03-07 15:19:50 +08:00
heavyrain.lee c03a6f46fb 用户信息的extra 2020-03-07 11:27:39 +08:00
heavyrain.lee 7888c1e0d9 add extran in friendData 2020-03-07 10:34:33 +08:00
heavyrain.lee c0dd1c6581 add extra to friend table 2020-03-07 10:31:56 +08:00
heavyrain.lee 4f13cdeb76 update proto 2020-03-07 10:31:46 +08:00
heavyrain.lee a7aa42b851 修正用户信息中社交信息字段无法更新问题 2020-03-07 08:31:28 +08:00
heavyrain.lee 5187e63329 透传消息如果是超过一小时不在线就不需要发送了 2020-03-06 08:11:42 +08:00
heavyrain.lee 4b89774206 解决接收好友请求异常的错误 2020-03-02 16:51:46 +08:00
heavyrain.lee 46211aae44 修正存储消息是发送对象没有存储下来的错误 2020-03-02 15:53:06 +08:00
heavyrain.lee 3c241295ce 修正频道拉取远程消息的问题 2020-03-01 15:18:08 +08:00
heavyrain.lee e366962c65 修改定向消息拉取远程消息时的错误问题 2020-03-01 14:45:44 +08:00
heavyrain.lee a01fa84cae 调整用户关系API 2020-02-29 08:32:30 +08:00
heavyrain.lee a22f76d8d6 修改一个字段名 2020-02-28 19:16:20 +08:00
heavyrain.lee dd5ecd09f2 api的完善 2020-02-28 19:03:50 +08:00
heavyrain.lee 1bd060936c 机器人可以根据用户命或电话号码查询用户信息 2020-02-27 16:18:02 +08:00
imndx 0d03ef5758 文件接口允许跨域 2020-02-27 13:53:44 +08:00
heavyrain.lee 498bfccfe8 修正内置服务器上传文件链接错误 2020-02-26 12:45:33 +08:00
heavyrain.lee de064aa582 国际化支持 2020-02-25 15:49:43 +08:00
heavyrain.lee 54ce0d5b51 修改拒绝好友时的错误处理 2020-02-25 15:48:36 +08:00
heavyrain.lee b2e495b3ac 添加多语言处理 2020-02-25 15:48:29 +08:00
heavyrain.lee 603e8cf5fc 测试服务器存储文件名 2020-02-25 15:48:12 +08:00
imndx c3ae7cb0a7 fix handle friend request issue 2020-02-25 10:57:23 +08:00
heavyrain.lee a1b4eca6f2 修改推送时名称的问题 2020-02-21 11:19:52 +08:00
heavyrain.lee f65fe87119 好友通知消息支持英文 2020-02-21 09:23:44 +08:00
heavyrain.lee a4a9e1418e update 2020-02-20 16:08:45 +08:00
imhao183 5e92735e27 update 2020-02-20 16:08:45 +08:00
heavyrain.lee 4f27d492a1 修改频道部分错误 2020-02-19 17:20:46 +08:00
heavyrain.lee 7c6ef9b66c update version to 0.37 2020-02-19 14:16:07 +08:00
heavyrain.lee 6bfd175781 update 2020-02-19 14:04:44 +08:00
heavyrain.lee 1fc093a2ed 遗漏的配置 2020-02-19 13:58:09 +08:00
imhao183 969d865061 添加检查token接口 2020-02-18 09:57:42 +08:00
imhao183 6a6c59bdf2 修正发送消息给指定频道目标错误问题 2020-02-17 16:06:19 +08:00
imhao183 7adadd21a6 update 2020-02-13 15:09:52 +08:00
imhao183 21394985b3 增加日志的大小 2020-02-12 19:20:46 +08:00
heavyrain.lee b55694624d update log4j version 2020-02-03 12:24:07 +08:00
imhao183 cca9cafb7e 修改群头像时,通知消息里带上头像内容 2020-02-02 16:09:15 +08:00
imhao183 950334aad3 add user type parameter when create user 2020-01-22 21:08:22 +08:00
imhao183 ce578234f4 聊天室相关测试代码 2020-01-16 21:16:58 +08:00
imhao183 5daa4b1dc8 修正黑名单策略为1时发送消息仍失败的错误 2020-01-15 17:06:21 +08:00
imhao183 22a23a3f33 添加好友请求过期时间配置 2020-01-14 10:39:36 +08:00
heavyrain.lee 5d9196939f 修正聊天室错误 2020-01-11 11:06:17 +08:00
heavyrain.lee 2e4cf566c7 add exception log 2020-01-10 12:34:31 +08:00
heavyrain.lee a856b96b59 update 2020-01-10 11:37:07 +08:00
heavyrain.lee 9eb5fdd805 更新用户信息时,先写入数据库再存入缓存中,防止异步操作写入数据库失败造成数据不一致 2020-01-10 10:25:34 +08:00
heavyrain.lee bace7ec70c 加强对群组权限的检查 2020-01-08 23:20:20 +08:00
heavyrain.lee 0bcf2fea7b update version to 0.37 2020-01-08 14:56:36 +08:00
heavyrain.lee 60730c57cb update sdk test case 2020-01-08 14:49:21 +08:00
heavyrain.lee 3b61f8f6dd 添加频道获取自己信息的接口 2020-01-08 11:40:59 +08:00
heavyrain.lee e6ca9f5c78 更新channel接口,订阅/取消订阅只能逐个操作 2020-01-06 12:02:54 +08:00
heavyrain.lee 95beca8e05 fix build error 2020-01-05 23:47:57 +08:00
heavyrain.lee 7c4fe831b3 优化聊天室逻辑,添加聊天室空闲退出时间和发消息重新加入配置 2020-01-05 12:36:36 +08:00
heavyrain.lee e4da3780f5 添加频道sdk 2020-01-04 17:04:43 +08:00
heavyrain.lee 998f01a584 默认关掉设备在线状态回调 2020-01-04 14:51:46 +08:00
heavyrain.lee d71644c209 添加设置/获取备注api,添加用户在线状态回调功能 2020-01-04 14:47:27 +08:00
imhao183 70c390dea9 添加设置/获取备注api,添加用户在线状态回调功能 2020-01-04 14:45:49 +08:00
imhao183 41d326d40f 禁止私聊添加对机器人/管理员/物联网设备的例外 2020-01-04 14:35:34 +08:00
x86 1dbf431e4d 处理好友请求间隔 2020-01-02 10:15:25 +08:00
imhao183 0c0d712869 update 2019-12-30 16:00:14 +08:00
imhao183 73015c7a17 更新黑名单逻辑 2019-12-30 15:20:59 +08:00
imhao183 9baa1f9b23 修正编译错误,优化部分逻辑 2019-12-30 08:54:46 +08:00
imhao183 190da8934f 修改配置,增加如下功能
1,添加黑名单处理策略,发送失败或者忽略掉对方。
2,添加好友再次请求的时间间隔配置和好友请求被拒绝后再次请求的时间间隔配置
2019-12-30 08:48:17 +08:00
heavyrain.lee 9d1031594e 清除重复devicetoken时对包名进行判断,如果不同包名的client不清除重复推送token 2019-12-28 18:18:40 +08:00
imhao183 1d987c1569 remove useless files 2019-12-27 09:43:02 +08:00
imhao183 ac225b1541 添加退出群组api接口 2019-12-27 09:41:44 +08:00
imhao183 11375133ba 禁止发送消息给被封禁用户 2019-12-26 21:18:34 +08:00
imhao183 91b209d0fa 添加是否允许陌生人聊天的配置 2019-12-26 19:35:15 +08:00
imhao183 216860c573 update 2019-12-24 12:32:24 +08:00
imhao183 c7579877a1 修正sdk好友和频道接口错误 2019-12-24 11:43:47 +08:00
imhao183 6c5354d17b 优化session处理 2019-12-18 11:37:39 +08:00
imhao183 c98bd1fb9b update version to 0.36 2019-12-18 10:54:08 +08:00
imhao183 fe525e9483 优化用户session逻辑 2019-12-18 09:02:59 +08:00
imhao183 6acea9b140 创建群时同步操作 2019-12-17 14:39:49 +08:00
imhao183 4beb573052 add ignore 2019-12-17 14:36:49 +08:00
imhao183 220e010193 update version to 0.35 2019-12-13 13:02:27 +08:00
imhao183 865888824c Revert "Fix race condition during SensitiveFilter update"
This reverts commit ab7b20871a.
2019-12-13 12:58:07 +08:00
imhao183 583df110fd Revert "Fix potential GZIPOutputStream resource leak on exception"
This reverts commit 6c7d2ab3ad.
2019-12-13 12:57:59 +08:00
imhao183 f204bd693e Revert "fix build error"
This reverts commit 5cd2e7affe.
2019-12-13 12:57:46 +08:00
x86 b6be1ca045 fix pull message issue 2019-12-10 23:34:15 +08:00
imhao183 beb403a9f7 添加搜索类型 2019-12-06 10:36:26 +08:00
imhao183 00f1187200 添加群主进群时,修改群主的的状态问题 2019-12-05 15:42:20 +08:00
heavyrain.lee 7ee490cc1b update version to 0.34 2019-12-03 13:54:17 +08:00
imhao183 3dc0ae7a47 update 2019-12-03 08:24:15 +08:00
imhao183 994a8b5c4a 添加服务器为客户缓存消息数量的配置 2019-12-03 08:10:38 +08:00
imhao183 5cd2e7affe fix build error 2019-12-02 15:21:04 +08:00
heavyrain.lee f29ffe4cd2 Merge pull request #124 from k81/wildfirechat
Fix race condition during SensitiveFilter update and potential resource leak of GZIPOutputStream on exception
2019-12-02 14:43:55 +08:00
gitlab-runner 6c7d2ab3ad Fix potential GZIPOutputStream resource leak on exception 2019-11-30 23:05:28 +08:00
gitlab-runner ab7b20871a Fix race condition during SensitiveFilter update 2019-11-30 17:27:56 +08:00
imhao183 6883418e22 解决okhttp内存泄漏问题 2019-11-30 14:25:41 +08:00
fengyun 32f7266a5f add deleted property 2019-11-30 13:11:25 +08:00
fengyun 35db76e9cd set use deleted 2019-11-30 13:11:18 +08:00
heavyrain.lee 4f6aa87b9f update proto 2019-11-30 13:10:53 +08:00
fengyun f5816e20dd add get user group list and destroy user function 2019-11-30 11:46:52 +08:00
heavyrain2012 e72ae59e49 update version to 0.33 2019-11-28 17:33:35 +08:00
heavyrain2012 f0c2fd82ca 调整部分文件包名 2019-11-28 14:20:34 +08:00
heavyrain2012 5a588c8268 update 2019-11-27 12:57:07 +08:00
heavyrain2012 2adc030d6f 修改日志缺陷 2019-11-27 11:09:07 +08:00
heavyrain2012 b0ca8ed2b7 update 2019-11-27 10:39:32 +08:00
heavyrain2012 f9d5c861ce 优化用户session 2019-11-27 10:30:39 +08:00
heavyrain2012 9aaaa71ce9 清除掉重复token 2019-11-26 14:44:25 +08:00
heavyrain2012 73a971bde3 同步已读设置时,如果是排除掉已经解散的群组和销毁的频道 2019-11-25 18:50:00 +08:00
heavyrain2012 5942eb7b15 update version to 0.32 2019-11-25 12:12:06 +08:00
heavyrain2012 b97fea1841 添加索引 2019-11-25 11:22:36 +08:00
heavyrain2012 33637229d6 限制多端登陆 2019-11-25 11:19:53 +08:00
heavyrain2012 af366fcdb2 update proto 2019-11-25 11:19:44 +08:00
heavyrain2012 c9089c5d51 性能优化 2019-11-25 11:18:44 +08:00
imndx 3afc6a2da9 update readme 2019-11-24 20:37:45 +08:00
heavyrain2012 12d22e78bf 根据devicetoken进行排重 2019-11-21 20:51:52 +08:00
heavyrain2012 bcf969e56f 兼容旧客户端 2019-11-21 12:20:53 +08:00
heavyrain2012 b3a95c0310 update 2019-11-21 10:24:16 +08:00
heavyrain2012 ae863ab6e4 update version 2019-11-21 10:12:19 +08:00
heavyrain2012 688ca4e31d 黑名单功能 2019-11-21 09:36:41 +08:00
heavyrain2012 724b6dddd6 消息推送显示详情配置错误 2019-11-21 08:08:20 +08:00
heavyrain.lee bf3b30eb2c remove invalid message 2019-11-18 21:51:33 +08:00
heavyrain.lee 4f0545dfc1 update version to 0.30 2019-11-18 15:00:39 +08:00
heavyrain.lee c1b9a81e12 重构黑名单,修改代码 2019-11-18 14:53:20 +08:00
heavyrain.lee 029b6ed691 重构黑名单,修改协议message 2019-11-18 14:52:19 +08:00
heavyrain.lee 4fdefca33d 修改拉取离线消息最大包大小为512KB 2019-11-18 11:07:50 +08:00
heavyrain.lee e90ca145be 添加设置群管理员的api接口 2019-11-14 16:11:33 +08:00
heavyrain.lee bf3d3c308d Update README.md 2019-11-13 20:28:23 +08:00
heavyrain.lee bee2f3c6ef 转移群主问题修复 2019-11-13 15:27:23 +08:00
heavyrain.lee d4e13e4578 删除敏感词后立即生效 2019-11-09 16:55:11 +08:00
heavyrain2012 66486b019f update 2019-11-04 20:30:48 +08:00
heavyrain.lee 6510204fe6 Merge pull request #104 from wildfirechat/dependabot/maven/broker/org.eclipse.paho-org.eclipse.paho.client.mqttv3-1.2.1
Bump org.eclipse.paho.client.mqttv3 from 1.0.2 to 1.2.1 in /broker
2019-11-03 20:36:09 +08:00
heavyrain.lee b4b736c0c4 Merge pull request #105 from k81/wildfirechat
remove duplicated code in reloadUserMessageMaps()
2019-11-03 20:35:23 +08:00
heavyrain.lee c4e8c5811c fix error 2019-11-03 17:02:21 +08:00
k 804b2fc610 remove duplicated code in reloadUserMessageMaps() 2019-11-03 10:55:57 +08:00
dependabot[bot] 0a7487a144 Bump org.eclipse.paho.client.mqttv3 from 1.0.2 to 1.2.1 in /broker
Bumps org.eclipse.paho.client.mqttv3 from 1.0.2 to 1.2.1.

Signed-off-by: dependabot[bot] <[email protected]>
2019-11-02 09:16:14 +00:00
heavyrain.lee 4ae9de0628 去掉sun的私有api 2019-11-02 08:44:47 +08:00
heavyrain.lee 04d0f717d8 精确搜索时,只搜索用户名和电话号码,不搜索昵称 2019-10-31 09:47:36 +08:00
heavyrain2012 b3ddda78a1 update version to 0.29 2019-10-23 21:07:43 +08:00
heavyrain2012 066e74be5f fix sdk error 2019-10-23 21:04:27 +08:00
heavyrain.lee f9c2cf8e31 update 2019-10-22 11:52:11 +08:00
heavyrain.lee d3fc625299 update 2019-10-22 09:57:26 +08:00
imndx 905763b6e3 update readme 2019-10-19 17:35:45 +08:00
imndx 877b7bc217 fix typo 2019-10-19 17:35:19 +08:00
heavyrain.lee d8b7f6a8de Update README.md 2019-10-11 16:12:48 +08:00
heavyrain.lee 579d3b529f 更新说明 2019-10-10 20:16:36 +08:00
heavyrain.lee 065a79adc3 调整代码 2019-10-10 20:14:17 +08:00
imndx 5ed45ef414 fix message content issue. fix wildfirechat/android-chat#184 2019-10-10 15:35:03 +08:00
heavyrain.lee ba671b3370 update 2019-10-09 20:22:02 +08:00
heavyrain.lee e975f20a6b alter voip token length to 240 2019-10-09 20:21:02 +08:00
heavyrain.lee 70bdebd4a0 update version to 0.27 2019-09-24 08:26:35 +08:00
heavyrain.lee 409078801e update 2019-09-24 08:23:25 +08:00
heavyrain2012 06fed7de52 update version to 0.26 2019-09-13 23:12:05 +08:00
heavyrain2012 da2428a9f9 modify windows bash error 2019-09-13 23:09:29 +08:00
heavyrain.lee 83b6ae5229 修改pc等平台pushtype越界问题 2019-09-07 14:50:34 +08:00
heavyrain.lee 4b7804cdfd update 2019-09-02 21:54:03 +08:00
heavyrain.lee d075b5212f 修改用户信息和频道信息时,改成同步修改 2019-09-01 22:16:49 +08:00
heavyrain.lee 636c8ce219 管理员撤回消息 2019-08-30 22:17:17 +08:00
heavyrain.lee 091d7fa3ec 解决乱码问题 2019-08-24 17:56:29 +08:00
heavyrain.lee 59356e5b52 获取敏感词列表按照逆序排列 2019-08-23 11:38:42 +08:00
heavyrain.lee 882bf29e63 1,更新群主时更新群成员信息中的群主状态
2,在敏感词列表中添加id列
2019-08-23 08:39:29 +08:00
heavyrain.lee f3eef4dd6b 添加修改群组信息接口 2019-08-17 10:30:39 +08:00
heavyrain.lee 898983c6e5 rm useless code 2019-08-10 22:14:46 +08:00
heavyrain.lee dae5d032fa 添加拉取历史消息开关。设置默认消息漫游和拉取都为关闭,这样无法删除问题就不会再出现 2019-08-09 13:44:44 +08:00
heavyrain.lee ff76622796 1, 修改撤回逻辑 2019-08-09 09:00:14 +08:00
heavyrain.lee a6fd11a243 修复部分接口 2019-08-08 08:28:00 +08:00
heavyrain2012 cf983be44c Update README.md 2019-08-07 23:48:59 +08:00
heavyrain.lee 1a72de0e85 修改群组反复添加删除群成员的问题 2019-08-06 22:55:52 +08:00
heavyrain.lee bf70a1e80e 退出群组时,删掉群相关用户设置 2019-08-06 22:55:41 +08:00
heavyrain.lee 512d797d4d Revert "jdbc character set to utf8mb4"
This reverts commit 608184ef9e.
2019-08-03 22:27:29 +08:00
heavyrain.lee 4a46dd1dde 添加组播消息 2019-08-03 20:43:27 +08:00
heavyrain lee 7494cdc071 update 2019-08-02 13:24:30 +08:00
heavyrain.lee 608184ef9e jdbc character set to utf8mb4 2019-08-02 13:16:15 +08:00
heavyrain2012 eb4d8a9b68 Update README.md 2019-07-30 18:22:03 +08:00
heavyrain.lee 6b92ae383c add weixin qrcode 2019-07-30 18:20:27 +08:00
heavyrain.lee 5fee857c4a add system settings 2019-07-30 07:54:49 +08:00
heavyrain2012 53b7139c30 Update README.md 2019-07-29 15:37:27 +08:00
imndx 83e864d667 update readme 2019-07-28 19:15:26 +08:00
imndx b88297e6de update readme 2019-07-26 22:52:39 +08:00
heavyrain lee 4aa2f46011 添加默认敏感词 2019-07-23 08:26:16 +08:00
heavyrain lee 1fb3c757e2 撤回消息时,先删除旧消息,再插入新消息 2019-07-21 22:29:24 +08:00
heavyrain lee 3f640b6c14 sync with commercial 2019-07-21 15:11:24 +08:00
heavyrain lee 49eb57af00 update version to 0.25 2019-07-21 13:09:07 +08:00
heavyrain lee 6bd6a80e71 添加是否接收历史消息的开关 2019-07-21 12:20:26 +08:00
heavyrain lee 38b84f0fa5 解决封禁用户无法踢用户下线的问题 2019-07-21 12:18:38 +08:00
heavyrain lee 1f46debd0c Fix test case error 2019-07-21 11:44:54 +08:00
heavyrain.lee 37998e76d1 添加漫游开关 2019-07-19 20:52:25 +08:00
heavyrain.lee 80b5508533 添加消息漫游开关 2019-07-19 20:51:52 +08:00
heavyrain lee a646cc8227 去掉启动时预读数据,加快启动速度 2019-07-17 00:36:17 +08:00
heavyrain lee 92692adf52 解决群组成员反复添加删除错误问题 2019-07-17 00:31:21 +08:00
heavyrain lee b2cfc2b99b add metrics for user channel 2019-07-16 21:56:51 +08:00
heavyrain lee 86e08f6151 Remove useless code 2019-07-16 21:32:55 +08:00
heavyrain lee 8d852eb2d1 退出群组时,删掉收藏的群组 2019-07-15 22:36:19 +08:00
heavyrain lee 8bef018911 转让群主后更新群组信息时间戳 2019-07-13 18:50:23 +08:00
heavyrain lee 5e13419c28 修改群管理逻辑错误 2019-07-13 18:31:08 +08:00
heavyrain.lee 503a7ae18f 取消管理员 2019-07-12 09:17:11 +08:00
heavyrain.lee dfb9638a38 update version to 0.24 2019-07-11 23:22:03 +08:00
heavyrain.lee 8452b0675b java10 not support this parameter 2019-07-11 23:21:48 +08:00
heavyrain.lee 930643706a 数据库message表中时间加8 2019-07-11 21:56:31 +08:00
heavyrain.lee a2eac1f721 update 2019-07-11 17:56:23 +08:00
heavyrain.lee 6e994cd694 update 2019-07-11 17:41:32 +08:00
heavyrain.lee c82869c631 群主可以在群禁言时发信息 2019-07-10 15:08:10 +08:00
heavyrain.lee f5a94868c4 remove useless code 2019-07-10 07:30:53 +08:00
heavyrain.lee c5628d613b 发送消息时,不能发送特殊类型的消息 2019-07-09 23:22:52 +08:00
heavyrain.lee 9509b1ffa8 敏感词大小写的问题 2019-07-09 23:22:52 +08:00
heavyrain2012 c1dac8a21e Update README.md 2019-07-09 14:07:31 +08:00
heavyrain.lee 950846df45 update 2019-07-09 08:50:14 +08:00
heavyrain.lee 31d96e2dc6 update 2019-07-09 08:08:04 +08:00
heavyrain.lee 031e96075e 群组权限 2019-07-08 23:08:04 +08:00
heavyrain.lee bf2caeac6c update 2019-07-06 16:56:08 +08:00
heavyrain.lee 12e523b37e 好友同步问题 2019-07-05 17:38:08 +08:00
heavyrain lee 576c985d8f 聊天室历史数据问题 2019-07-05 08:47:44 +08:00
heavyrain lee 9365807f47 群组踢人错误修改 2019-07-05 08:19:29 +08:00
heavyrain lee 25ce10fa61 删除好友通知 2019-07-04 10:19:07 +08:00
heavyrain lee 09c333501f Update 2019-07-04 08:54:34 +08:00
heavyrain.lee c51b09ee3a 修改用户关系逻辑错误问题 2019-07-04 08:23:55 +08:00
imndx 4d82eace86 quit group, then send notification 2019-07-04 07:07:36 +08:00
heavyrain.lee 385b03a163 add session table 2019-07-03 08:04:07 +08:00
heavyrain.lee 4b438afa69 fix issue 2019-06-30 10:31:12 +08:00
imndx 66961b94da route接口允许跨域访问 2019-06-29 16:42:55 +08:00
heavyrain lee 39b62e5942 Update to version 0.23 2019-06-29 12:20:58 +08:00
heavyrain.lee 5bb8ab3d95 update 2019-06-29 12:01:46 +08:00
heavyrain.lee 8dfc23b61d update code 2019-06-29 12:01:37 +08:00
heavyrain lee c8769808b5 Update proto 2019-06-29 12:01:11 +08:00
imndx 2fc106aa26 web route时,返回数据base64编码 2019-06-28 17:27:37 +08:00
imndx da0b725ff8 解决内存中好友备注错误 2019-06-24 22:04:05 +08:00
heavyrain.lee 15703d66fb 封禁用户问题修改 2019-06-23 18:30:58 +08:00
heavyrain.lee c68beeaa51 解决java客户端收消息的问题 2019-06-20 15:24:32 +08:00
heavyrain.lee 5ef8868916 接受新消息通知错误 2019-06-19 14:18:09 +08:00
heavyrain lee 24488cc985 Add group manage info 2019-06-18 08:26:29 +08:00
heavyrain.lee 1c9faaa1e6 apns推送在dev环境下也有voip证书,因此去掉voip一定是pro的假设 2019-06-16 20:25:33 +08:00
heavyrain.lee ac32875b14 fix migration error 2019-06-16 19:57:46 +08:00
heavyrain.lee 07c1dd29e0 alter table of token 2019-06-14 20:04:21 +08:00
imndx bd93233c34 update device token length 2019-06-14 18:43:50 +08:00
heavyrain.lee 20aec2fbcf 添加默认管理员 2019-06-12 23:21:21 +08:00
heavyrain.lee a149139143 添加敏感词命中消息表t_sensitive_messages 2019-06-12 22:57:30 +08:00
heavyrain.lee c857d1abb7 消息表中添加contenttype 2019-06-12 22:36:08 +08:00
heavyrain lee dde9da7006 用户表和群组表添加create_time字段 2019-06-12 21:48:57 +08:00
heavyrain2012 d18a1970e5 update script 2019-06-11 22:46:06 +08:00
heavyrain.lee 66b9aeec17 包名错误 2019-06-11 14:45:58 +08:00
heavyrain.lee ea301a3923 修改内部接口定义 2019-06-09 07:37:33 +08:00
heavyrain.lee ced272a783 update version to 0.22 2019-06-08 17:04:03 +08:00
heavyrain lee c9f320da31 解决api/version乱码问题 2019-06-06 08:15:49 +08:00
heavyrain lee 025873e66b remove userless script 2019-06-06 08:15:20 +08:00
heavyrain lee ecddc40aa5 查询用户时,匹配账户和电话 2019-06-02 10:49:00 +08:00
heavyrain lee cb13a02b75 创建用户时,不添加默认头像 2019-06-01 14:52:46 +08:00
heavyrain.lee 5714a9a1d3 代码优化 2019-06-01 12:06:51 +08:00
heavyrain.lee d0671c1682 add broad cast message 2019-05-31 07:56:31 +08:00
heavyrain lee 88b3ac42bb Ignore target folder 2019-05-30 07:59:39 +08:00
heavyrain.lee 4ecf3dec76 remove java memory limit and add charset to jdbc url 2019-05-29 19:04:53 +08:00
heavyrain.lee b4b70ca7e5 增加协议版本,新版本添加对gzip的支持 2019-05-27 10:06:22 +08:00
heavyrain.lee d3aa68df05 fix error 2019-05-26 23:46:42 +08:00
heavyrain.lee 36aa0518ed add gzip 2019-05-25 22:56:11 +08:00
heavyrain.lee b1c5692322 fix some error 2019-05-25 22:53:10 +08:00
heavyrain.lee db24edf7d5 update 2019-05-25 19:37:48 +08:00
heavyrain.lee 798a576d0b Merge branch 'wildfirechat' of https://github.com/wildfirechat/server into wildfirechat 2019-05-25 19:28:18 +08:00
heavyrain.lee b49225fbf7 add dnoate list 2019-05-25 19:27:48 +08:00
heavyrain2012 439cf82fcc update 2019-05-25 15:42:46 +08:00
heavyrain2012 7527bf4761 update 2019-05-25 15:40:50 +08:00
heavyrain.lee a9abda9ae9 update to version 0.21 2019-05-25 13:56:26 +08:00
heavyrain.lee 757186d77b Merge branch 'refactor_server_api' into wildfirechat
* refactor_server_api:
  update
  update
  update
  update
  update
  update
2019-05-25 13:54:40 +08:00
heavyrain.lee 3e769c885c update 2019-05-25 13:53:51 +08:00
heavyrain.lee af4d73a0d5 推送提示错误 2019-05-25 07:55:58 +08:00
heavyrain.lee 331c38cc98 update 2019-05-25 07:55:30 +08:00
heavyrain.lee fbd1a7f5dc update 2019-05-24 21:08:31 +08:00
heavyrain.lee 675025c0ec 解决session在重启后,内存中不存在的问题 2019-05-24 16:33:35 +08:00
heavyrain.lee 3e1efe4c4c update 2019-05-24 16:12:57 +08:00
heavyrain.lee 679e76a5f6 update 2019-05-23 08:21:48 +08:00
heavyrain.lee 5a338cdba1 update 2019-05-23 07:26:57 +08:00
heavyrain.lee 3ef973ffc5 update 2019-05-22 20:38:35 +08:00
heavyrain.lee d36c3f4f77 update 2019-05-22 20:24:21 +08:00
heavyrain.lee 79bd0c3304 add sdk 2019-05-22 08:38:55 +08:00
heavyrain.lee 721abfe3a5 解决同一局域网多人调试问题 2019-05-22 08:20:35 +08:00
heavyrain.lee 77a5d61861 调整代码目录结构 2019-05-22 07:23:09 +08:00
heavyrain.lee 34aee2290c 调整编译顺序 2019-05-22 07:05:59 +08:00
heavyrain.lee 4b93157816 server api群组功能添加 2019-05-21 21:55:20 +08:00
heavyrain.lee d66b01c681 修改部分错误 2019-05-21 21:55:20 +08:00
imndx 939dfc2c9b update readme 2019-05-21 21:52:58 +08:00
heavyrain.lee 1578c4c77d 好友关系api 2019-05-20 20:16:16 +08:00
heavyrain.lee 640a4fa47c 用户关系的api 2019-05-20 19:51:57 +08:00
heavyrain.lee 3d50b65ad9 优化敏感词设置 2019-05-20 19:34:49 +08:00
heavyrain.lee 3f9eef9538 服务api时间戳检查开关 2019-05-20 19:34:12 +08:00
heavyrain.lee f655f519d0 server api时间戳检查开关 2019-05-20 19:33:22 +08:00
heavyrain.lee 59add35703 jmeter tools 2019-05-19 23:07:37 +08:00
heavyrain.lee 0ff21e70b5 add trycatch for load git.properties failure 2019-05-18 14:12:54 +08:00
heavyrain.lee cfc97e602e 完善jmeter插件 2019-05-15 23:03:18 +08:00
heavyrain.lee 4661b8c856 优化imclient代码 2019-05-15 23:02:55 +08:00
heavyrain.lee e955153d53 修改野火IM jmeter插件的连接测试case 2019-05-15 00:00:18 +08:00
heavyrain.lee 911dcb99ec java client interface should be public 2019-05-14 23:59:21 +08:00
heavyrain.lee 40ff829c72 update 2019-05-14 22:31:31 +08:00
heavyrain.lee 729f3485de 修改服务启动提示 2019-05-14 13:41:09 +08:00
heavyrain.lee 84db868244 remove test db of c3p0 2019-05-14 13:40:52 +08:00
heavyrain.lee 126a9af2ac .git文件未找到时,继续编译 2019-05-14 13:12:34 +08:00
heavyrain.lee c9dc33d285 修正乱码问题 2019-05-12 20:25:37 +08:00
heavyrain.lee 49ee1d1d57 fix warning 2019-05-12 19:07:43 +08:00
heavyrain.lee 1a477068fb fix warning 2019-05-12 18:59:35 +08:00
heavyrain.lee d633830f7a fix error 2019-05-12 11:21:42 +08:00
heavyrain.lee b2bc616e18 add groupid in group notification 2019-05-11 20:56:20 +08:00
heavyrain.lee 934f8ba4d7 update version to 0.20 2019-05-11 09:18:15 +08:00
heavyrain.lee 477616ce38 Merge branch 'flyway' into wildfirechat
* flyway:
  Add flyway migrate tool
2019-05-11 09:15:51 +08:00
imndx f66d0e5cd7 fix load remote messae issue 2019-05-10 16:53:24 +08:00
heavyrain lee 2bb6de1198 Add flyway migrate tool 2019-05-10 08:35:47 +08:00
imndx 6570d71234 user pull seq 2019-05-08 21:20:41 +08:00
heavyrain lee 64c7da70e7 消息id分表错误问题 2019-05-06 08:18:01 +08:00
heavyrain2012 a2eadf5a78 Update README.md
update
2019-05-04 22:05:51 +08:00
heavyrain lee 7fb040ac1a Add LoadRemoteMessages 2019-05-03 09:31:43 +08:00
heavyrain lee b575274680 Friend alias 2019-05-02 22:10:54 +08:00
heavyrain.lee 8bfe3583b9 fix build error 2019-05-02 21:45:27 +08:00
heavyrain.lee ab3882e1d4 friend alias 2019-05-02 21:43:01 +08:00
heavyrain.lee 0cbb9fd1a4 alter table t_friend add column alias 2019-05-02 18:44:07 +08:00
heavyrain lee 115a597038 no message 2019-05-02 09:19:49 +08:00
heavyrain lee a8fde271ea 优化java client 2019-05-02 09:09:50 +08:00
heavyrain lee b0143bb5bf 机器人信息错误 2019-05-02 08:05:13 +08:00
heavyrain lee 025af5eae0 解决server API发送消息返回结果为空的问题 2019-05-01 23:49:11 +08:00
heavyrain lee ce16f87e12 Load remote messages 2019-05-01 23:47:28 +08:00
heavyrain lee b47084f61f Fix error 2019-05-01 08:13:40 +08:00
heavyrain lee 936e3581b4 update build script 2019-04-29 23:17:47 +08:00
heavyrain lee cc756842c4 Fix jmeter plugin error 2019-04-29 23:17:09 +08:00
heavyrain lee 9aa29685ef java client 2019-04-29 23:06:46 +08:00
heavyrain lee c1bb45fe14 Java client 2019-04-29 23:06:46 +08:00
heavyrain.lee 928555b36e use okhttp for http request 2019-04-27 10:43:04 +08:00
heavyrain.lee 744d516932 解决启动错误 2019-04-26 09:47:21 +08:00
heavyrain.lee 8721c80a9f robot h2 db缺少字段 2019-04-26 09:47:09 +08:00
heavyrain lee 06698a54e1 Server api发送消息时,必须带上发送者 2019-04-26 08:12:38 +08:00
heavyrain lee 7f48b54b73 admin 不检查是否有权限,不过滤敏感词 2019-04-26 08:12:08 +08:00
heavyrain lee cf619ebeee Add admin flag for all handler 2019-04-26 08:06:02 +08:00
heavyrain lee 9fdc6c2e1b Add admin flag 2019-04-26 08:02:14 +08:00
heavyrain.lee 1d309816ba fix get chatroom error 2019-04-25 15:16:20 +08:00
heavyrain lee 21aa248d49 Log level 2019-04-25 08:19:07 +08:00
heavyrain lee 90c8e49808 服务重启后,用户登录时加载用户session 2019-04-25 08:15:28 +08:00
heavyrain.lee 2326850538 update 2019-04-24 14:18:12 +08:00
heavyrain.lee cef0cb1076 update 2019-04-24 13:02:41 +08:00
heavyrain lee 9b34e51494 add default robot 2019-04-23 08:48:53 +08:00
heavyrain lee 61dc1e2c2d Version 0.11 -> 0.12 2019-04-20 09:52:15 +08:00
heavyrain lee 2458782c73 Fix modify group not work issue 2019-04-20 09:43:51 +08:00
heavyrain lee 0f05d63a3b Add load history message function 2019-04-19 08:15:27 +08:00
heavyrain lee b82f7dea3d move mysql_tune to docs 2019-04-19 08:14:50 +08:00
heavyrain lee 6df626afd3 Remove useless file 2019-04-19 08:14:22 +08:00
heavyrain lee ac2d2a530a clean useless scripts 2019-04-19 08:13:43 +08:00
heavyrain lee 99a0590c7e Add port of upload token result and add to user list in message 2019-04-14 12:23:43 +08:00
heavyrain.lee 58c98bbbfa 调整再次添加好友逻辑:
1,如果没发过好友请求,或者上次发送好友请求状态为接受,可以发送
2,如果发送过好友请求,且状态不为接受,时间小于7天的,返回已经请求过错误码。
3,如果发送过好友请求,且状态不为接受,时间大于7天的,如果状态为reject,30天以内不能发送(返回拉黑错误码),30天以上可以再次发送
4,如果发送过好友请求,且状态不为接受,时间大于7天的,如果状态为sent,可以再次发送
2019-04-12 16:06:07 +08:00
heavyrain.lee 9560b9c202 1, 修改本地运行时version检查错误。2,修改好友被删除后再次添加好友。3,优化部分流程 2019-04-12 14:37:52 +08:00
imndx 24ebe429cc update readme 2019-04-11 22:58:00 +08:00
heavyrain2012 8ef92d0c1b fix modify group notification timestamp issue 2019-04-04 07:39:41 +08:00
heavyrain2012 e3e122edc4 机器人限频错误 2019-04-03 23:52:36 +08:00
imndx ab0e51feac update readme 2019-04-03 22:50:06 +08:00
heavyrain2012 c6c981f4aa update version to 0.11 2019-04-03 15:26:52 +08:00
heavyrain2012 cc82c5b420 update version to 0.1.1 2019-04-03 13:47:07 +08:00
heavyrain2012 0f15a3840e 优化部分逻辑 2019-04-02 22:55:29 +08:00
imndx f9781363ff update readme 2019-04-01 18:20:31 +08:00
heavyrain lee ea5e7c7eb9 update conf 2019-03-27 22:42:46 +08:00
heavyrain lee 25a4a54e52 update 2019-03-27 22:35:22 +08:00
heavyrain2012 abd6668a7a update 2019-03-27 14:56:00 +08:00
heavyrain2012 a98e95a49c update 2019-03-27 14:49:25 +08:00
heavyrain2012 d3d24f2ce6 update 2019-03-27 14:21:18 +08:00
heavyrain2012 a9386ea275 接收好友请求时,会话不产生 2019-03-17 20:28:15 +08:00
heavyrain2012 773bf2c255 add log4j config for broker 2019-03-17 20:27:27 +08:00
heavyrain2012 71d58dd99a fix encode/decode error 2019-03-17 18:26:12 +08:00
heavyrain2012 ec8cc14aa6 fix warning 2019-03-16 17:10:51 +08:00
heavyrain2012 cab3ca0916 wildfire chat server source initial submit 2019-03-16 17:04:23 +08:00
andsel e59217bd10 Updated documentation to version 0.12.1 2019-02-24 19:38:35 +01:00
andsel 26e43c519e Moquette 0.12.1 versions release 2019-02-24 19:18:12 +01:00
andsel b827ad446d Exposed method to retrieve the list of Server's connected clients (issue #448) 2019-02-24 18:15:49 +01:00
andsel 8bd0dc7852 Added get*Port() methods on Server to read local bind port (when it's passed to '0'), issue #453 2019-02-23 19:51:43 +01:00
andsel 3f7c8fe3ea Fixed draining of queue on ACK messages, related to issue #441 2019-02-23 17:12:14 +01:00
Andrea Selva ee8dc65b2a Fixed again the link to Travis-ci 2019-02-10 18:59:05 +01:00
Andrea Selva d7a2decf32 Minor fixed travis-ci link 2019-02-10 18:40:49 +01:00
Andrea Selva 5620f091bb Fixed link to github pages afte repo move 2019-02-10 17:47:15 +01:00
Andrea Selva c6040446db Merge pull request #450 from kiwigrid/feature/enhance-invalid-msg-logging
Enhanced exception handling / logging for invalid messages
2019-01-28 21:13:13 +01:00
Maik Scheibler 9a13c50e91 Enhanced exception handling / logging for invalid messages
Signed-off-by: Maik Scheibler <[email protected]>
2019-01-28 13:18:28 +01:00
andsel 07e6ab324f Fixed issue #440, moved read access check on connect instead of on publish 2019-01-23 22:03:35 +01:00
zhangliangbo ea063159f0 Fix issue #439 and #443 2019-01-20 18:01:37 +01:00
andsel 1de5322a00 Bumped dev cycle for 0.12.1 2018-12-09 17:13:49 +01:00
andsel 2416347bea Fix issue #437 use extend logger class name for messageLogger 2018-12-09 17:11:11 +01:00
andsel b4418c040c Updated README project file 2018-12-01 15:20:19 +01:00
andsel 3080050c4d Bumped release 0.12 2018-12-01 15:10:34 +01:00
andsel 213851335a Added implementation of retained store in H2 2018-11-28 23:05:24 +01:00
andsel 80daadff47 Separated CTrie as data structure from the rest of CTrieSubscriptionDirectory 2018-11-24 16:32:48 +01:00
andsel f3daad5c28 Re-inserted missed CTrie unit tests 2018-11-24 15:48:49 +01:00
andsel af624557c8 Fixed output directory 2018-11-24 15:01:18 +01:00
andsel 4bd41aa135 Minor, fixed launch scripts 2018-11-24 14:53:14 +01:00
andsel 724b26aab4 Fixed path used during test for physical H2 file 2018-11-24 14:48:55 +01:00
andsel f165fd968f Fixed test interdependency due to H2 storage in integration tests 2018-11-24 12:06:31 +01:00
andsel 9df60774a7 Fixed failing tests 2018-11-22 22:16:44 +01:00
andsel 626d6e786f Minor, removed no more used hazecast configuration file 2018-11-22 21:53:04 +01:00
andsel c4d928bbd7 Added QueueRepository implemented in memory and on H2 2018-11-22 21:51:16 +01:00
andsel 1141e9f7a1 Fixed failing tests after moving to H2 as default store 2018-11-18 10:58:25 +01:00
andsel cfa478067e Removed unused persistence classes 2018-11-14 22:13:42 +01:00
andsel a36d926460 Implemented H2 based SubscriptionsRepository 2018-11-13 22:50:02 +01:00
andsel 1ba9eb3613 Moved packages from old io.moquette.server to new io.moquette.broker 2018-11-11 18:06:13 +01:00
andsel 58fd90d33d Avoid multiple calls to initialize of AutoFlushHadler and extracted common config part MQTT pipeline 2018-11-11 17:27:33 +01:00
andsel 8f7b7df124 Removed perf module to be move in separate project, and disabled leak detector on bytbuf during test 2018-11-11 16:32:10 +01:00
andsel 8e17e99428 Fixed mqtt-bee dependency 2018-11-10 18:53:31 +01:00
andsel 284417ef50 Minor, fixed checkstyle and find bugs warns 2018-11-10 18:31:51 +01:00
andsel 9ceb26307e Fixed leaks 2018-11-10 17:28:54 +01:00
andsel 11bb0c6fa1 Minor, fixed code style 2018-11-10 14:37:14 +01:00
andsel dd8bad7480 Minor changes 2018-11-08 22:28:29 +01:00
andsel e10619813a Removed all the old ProtocolProcessor stuff 2018-11-08 22:18:11 +01:00
andsel 24e9d9f83c Added keepalive management to MQTTConnection 2018-11-08 22:15:46 +01:00
andsel 5efbe8e8bf Ported the config for SSL and websocket into new broker 2018-11-02 17:21:35 +01:00
andsel 176b986c47 Introduced interceptors notification into new broker 2018-11-02 16:49:50 +01:00
andsel a2266e5bbe Rearchitected the broker, switching from ProtocolProcessor and publisher to MQTTConnection, Session and PostOffice 2018-11-02 12:33:59 +01:00
Andrea Selva 0ad6ffdd3c Merge pull request #428 from ricardojlrufino/patch-1
Update MQTTMessageLogger.java
2018-08-11 11:23:00 +02:00
Ricardo JL Rufino 0f3b3f9ee6 Update MQTTMessageLogger.java
reduce the level of logging to less significant things
2018-08-09 23:42:01 -03:00
andsel 5d6435cf40 Merge branch 'split_protocol_processor_in_message_handlers' 2018-07-20 18:20:29 +02:00
andsel ba8ad02289 Dropper Hazelcast because Moquette is not designed to be clusterizable
Separated the connect/disconnect logic into ConnectHandler/DisconnectHandler

Moved the sending of CONN ACK after session creation/update

Moved the will message management inside the session class
2018-07-20 18:19:10 +02:00
andsel 7546a509da Dropper Hazelcast because Moquette is not designed to be clusterizable 2018-07-20 18:17:30 +02:00
Andrea Selva baecbbcb31 Merge pull request #422 from jcroig/master
Adds client remote address getter to ConnectionDescriptor class.
2018-07-19 17:32:29 +02:00
Andrea Selva 6bba40ff1c Merge pull request #421 from hylkevds/shutdownFix
Fixed executor not shutting down.
2018-07-19 17:29:15 +02:00
andsel 8a03dd8131 Fixed issue #415 by adding a configuration flag to force subscription re-authentication on client connect 2018-07-19 17:23:18 +02:00
andsel 241a659f35 Minor just updated READMEs 2018-07-18 17:34:41 +02:00
Juan Carlos Roig 5afc874eed Adds client remote address getter to ConnectionDescriptor class. 2018-07-09 12:20:45 +02:00
Hylke van der Schaaf add5e8968e Fixed executor not shutting down. 2018-07-07 13:47:35 +02:00
andsel 5e4c70edce Fixed issue #412 adding a check on Topic's string length in processPublish 2018-06-28 23:26:56 +02:00
Andrea Selva 1aa6d9ca93 Merge pull request #417 from infovista/npe_unknown_packet
Fixed NPE while logging an unknown packet (Replaced with an IOException)
2018-06-28 21:59:07 +02:00
sbouchex ce018fe6a0 Fixed NPE while logging an unknown packet (Replaced with an IOException) 2018-06-28 14:13:52 +02:00
andsel 88e0ccf20e On retained republish message adapt the QoS to the one specified during subscription (fix issue #411) 2018-06-28 00:26:42 +02:00
andsel 99226aadbd Added dependency to Paho 1.2.0 2018-06-27 22:14:54 +02:00
andsel ea0ad14374 Fixed issue #410 reserved flag set in unsubscribe 2018-06-26 15:00:36 +02:00
andsel a6f133e058 Added test case for issue #415 2018-06-26 11:55:37 +02:00
andsel bb52d2c6d5 Minor, used same const in 2 different test classes 2018-06-26 11:55:37 +02:00
Andrea Selva 96703690e6 Merge pull request #414 from kiwigrid/feature/openssl_provider
enable the usage of Netty OpenSSL provider implementation and PKCS12 key stores
2018-06-25 15:03:39 +02:00
Maik Scheibler b761928654 added config documentation
Signed-off-by: Maik Scheibler <[email protected]>
2018-06-25 10:39:31 +02:00
Maik Scheibler d50a291366 enable the usage of Netty OpenSSL provider implementation
Signed-off-by: Maik Scheibler <[email protected]>
2018-06-22 12:48:06 +02:00
Andrea Selva 0fae292946 Merge pull request #413 from infovista/netty_upgrade
Upgrade netty to 4.1.22
2018-06-20 08:41:15 +02:00
sbouchex 63e27c2700 Upgrade netty to 4.1.22 2018-06-19 15:44:44 +02:00
andsel e824a22ae6 Fixed issue #408, separe slf4j api from impl, forcing broker to use only the api and exporting the impl in the distribution 2018-06-10 12:13:06 +02:00
Andrea Selva 0bf35a7b8d Updated readme for version 0.11 2018-05-17 23:54:50 +02:00
andsel 08d3e8d278 New dev cycle for 0.12 2018-05-17 23:43:33 +02:00
andsel ed7d596f12 Added javadocs to generated jars 2018-05-17 23:40:53 +02:00
andsel 0186de26c2 Bumped and released version 0.11 2018-05-16 23:22:24 +02:00
andsel 3c9cc5fa8e Fixed issue #380, now catch and print the full stack trace on error 2018-05-07 20:26:40 +02:00
andsel b1aa0019b2 Fix issue #367, bad dougle dougle-quote char 2018-04-29 21:51:51 +02:00
andsel 34a2aca45e Minor, updated copyright date 2018-04-27 20:17:47 +02:00
andsel 6bbeba1612 Moved avay from ConnectionDescriptorStore unused methods and stuff that hasn't nothing about ConnectionDescriptor storing 2018-04-27 20:16:11 +02:00
andsel 99f0612209 Minor, fixed logging level to be more usefull for distribution 2018-04-27 15:56:26 +02:00
andsel d8e5998f21 Fixed package creation, missend bin/ folder 2018-04-27 15:08:15 +02:00
andsel 513d4d7996 Fixed #339, sets TCP_NODELAY options on the accepted child socket and not on the accepting 2018-04-27 14:27:58 +02:00
andsel cf5d619d34 Minor, just improved readability 2018-04-27 13:48:53 +02:00
andsel fc59b51558 Fix #381, avoid t print password on bad signin during connect 2018-04-27 13:08:12 +02:00
andsel c839c9eadd Minor 2018-04-27 12:46:23 +02:00
andsel 5456431dd4 Fixed bug #400 a transient session (clean=true) that tried to lookup session from persistent store 2018-04-27 12:44:48 +02:00
andsel 08949370e6 Minor added slf4j-api deps to re-enable logging 2018-04-27 12:43:11 +02:00
andsel 033a428184 Fixed checkStyle and ErrorProne warns 2018-04-26 22:23:06 +02:00
Andrea Selva 1a6dd8a259 Update about.html
Update the about after request from Eclipse Foundation
2018-04-16 18:12:48 +02:00
Andrea Selva 4307a90333 Merge pull request #392 from AndreasMager/gradle_update
Build tools update.
2018-03-12 19:40:30 +01:00
Andreas Mager 7267264503 Build tools update.
https used for maven download
gradle version changed to 4.6
errorprone changed to 2.2.0
findbug replaced by spotbugs
2018-03-12 16:21:57 +01:00
Andrea Selva 2fb475ae95 Merge pull request #389 from MBOIX/fix/issue_375
Fixed issues #375, #312
2018-02-11 18:39:57 +01:00
Mick b780b71e5e Fixed issues #375, #312 2018-02-09 09:55:29 +01:00
Andrea Selva 5d02ecdf94 Merge pull request #370 from ningg/master
feature: update Readme file.
2017-10-31 14:54:03 +01:00
Ning Guo f8c1a95b63 feature: update READEME format 2017-10-31 19:15:50 +08:00
Andrea Selva 95a8b313e5 Merge pull request #365 from mwilliford/master
Fix for CTrie TNode exception and other improvements to CTrie related
2017-10-25 09:05:41 +02:00
Marcus Williford 1bc6bdbbce Fix for CTrie TNode exception and other improvements to CTrie related
subscribe and unsubscribe issues

-  Added unit tests to cover a few more cases which I my system ran into
   under concurrent load testing.
-  Remove and detect TNode, implement more of
   http://bravenewgeek.com/breaking-and-entering-lose-the-lock-while-embracing-concurrency/
   related to TNode state
-  NOTE:  The graph is left with nodes which have no subscriptions, the
   TNode cleanup only cleanss the last node for now.  We should
   autoprune further up by placing more TNodes and pruning them off.
-  Adding concurrency Sets and Lists to CNode, because those ARE edited
   and read in parallel in our use-case.  Before a CNode is CAS
   replaced, more than 1 thread may be attempting to modify and read the
   subscriptions and children CNode datastructures, and I hit this
   during testing.
-  Fixed an issue where we unsubscribe all sub-topics if an unsubscribe
   is sent on a parent node.
-  Fixed an issue with unsubscribing multiple times when no subscrition
   exists, we should handle this gracefully.
2017-10-24 09:45:12 -07:00
andsel 3293478dd7 Fixed issue #362 2017-10-20 12:27:50 +02:00
andsel ba2b8b44d3 Fixed issue #360, used a DB connection pool instead of long lasting Drivers connections 2017-10-20 12:25:10 +02:00
andsel f7b213a677 Added tracking of closed session time and expired session cleaner for clients that never reconnects but had clean session flag = false 2017-10-20 11:48:34 +02:00
Andrea Selva a49792adf5 Added GitHub Issue template 2017-10-20 11:45:43 +02:00
andsel 1b272e5849 Big refactory on session management:
- introduced a unique point of access and management of sessions state (SessionRepository)
- separated behaiour for sessions with clean flag to false into DurableSession
- separated behaviour for session with clean flag to true into TransientSession
2017-10-14 17:37:26 +02:00
andsel 6bacce6cec Removed project moquette-embedded-test from settings 2017-08-26 16:47:24 +02:00
andsel 6f533d23c6 Removed OSGi support, too buggy 2017-08-26 16:30:37 +02:00
Andrea Selva c367100e6b Merge pull request #345 from AndreasMager/gradle
Switched build from Maven to Gradle
2017-08-24 19:20:38 +02:00
Andreas Mager e8b105fa90 switch to gradle
gradle files added
gradle: plugins added
build: files added
.travis.yml: gradle cache stored
distribution: tar and zip file stuff added
broker/build.gradle: osgi plugin added
build: bintray upload added
pom: files removed
distribution: assembly.xml removed
gradle: test ouput added to sub builds
.editorconfig: gradle files added
build: wrapper task added
osgi: added to h2_ and mapdb_storage
gradle: files cleaned
build.gradle: jars used for tar/zip
2017-08-24 17:50:59 +02:00
Andrea Selva 7c4f902dbd Merge pull request #350 from AndreasMager/test_setup_improvement
Test setup improvement
2017-08-24 11:11:01 +02:00
Andreas Mager 4d59a54ad0 ServerIntegrationSSLTest: System properties saved
ServerLowlevelMessagesIntegrationTests: timeouts raised

osgi: log4j.properties added
MoquetteOsgiTest: test imporved

storage packages will checked too
The state must be active
osgi: README added for development
log4j: fixed
broker/pom.xml: dependencie added osgi config added
osgi_test/pom: dependencies added

MoquetteOsgiTest: test fixed
2017-08-23 21:47:09 +02:00
Andrea Selva dbd1310eb3 Merge pull request #349 from AndreasMager/h2-fixes
Bugfix: H2 Storage
2017-08-23 21:21:55 +02:00
Andreas Mager 52415c5561 h2-storage: test folder moved
H2MessagesStore: fixed retain messages
H2MessagesStore: code formater for travis rebuild
H2PersistentQueueTest: performance test disabled
2017-08-23 13:32:45 +02:00
Andrea Selva ed87abaaaa Merge pull request #340 from nMoncho/ACL_COMMENTS
#310 - Allow for topic/patterns with '#' and end of line comments
2017-08-23 10:02:29 +02:00
Gustavo De Micheli 89174178c6 #310 - Allow for topic/patterns with '#' and end of line comments 2017-08-23 09:43:51 +02:00
Andrea Selva d6aca1d2a1 Merge pull request #342 from hylkevds/master
Terminate processor on shutdown.
2017-08-19 14:36:46 +02:00
Andrea Selva 898ebab6d8 Merge pull request #343 from Dolychuck/issue#171
Fix issue #171
2017-08-19 14:33:03 +02:00
Dolychuck a62f0aa6f3 Fix issue #171 2017-08-05 12:05:45 -07:00
Hylke van der Schaaf 55168e24db Terminate processor on shutdown. 2017-08-03 11:43:01 +02:00
andsel d7023ae81b Extracted common subscriptions directory interface and switched to CTrie inspired implementation 2017-07-29 17:10:01 +02:00
Andrea Selva c81fab62e6 Merge pull request #334 from AndreasMager/fix-clean-session-logging
MemorySessionStore#cleanSession: fixed logging
2017-07-11 10:03:09 +02:00
Andreas Mager fcfce6f2ea MemorySessionStore#cleanSession: fixed logging
Fixes: #333
2017-07-11 09:58:31 +02:00
Andrea Selva 14091f142d Merge pull request #332 from AndreasMager/fix_bat_file
distributon/moquette.bat: comments fixed
2017-07-11 09:35:32 +02:00
Andreas Mager 67412b082f distributon/moquette.bat: comments fixed 2017-07-10 13:31:33 +02:00
andsel 23b903e2f2 - moved and cleaned many part of Paho integration tests to unit tests
- fixed bug that on conflicting connect close old channel but not dropped from ConnectionDescriptors cache
2017-06-29 17:00:14 +02:00
andsel 03c4874a50 Moved tests from integration to unit and extracted and simplified common test part in ProtocolProcessor unit test 2017-06-29 16:59:56 +02:00
andsel 83be327bd3 Started dev cycle for 0.11 2017-06-29 16:59:56 +02:00
Andrea Selva 4e14655f45 Merge pull request #302 from AndreasMager/add-ByteBuf.release
Add ByteBuf.release
2017-06-27 16:50:05 +02:00
Andreas Mager 8e8a295200 broker/BrokerInterceptor: ByteBuf.retain & release added
broker/NettyMQTTHandler: ByteBuf.release added
broker/HazelcastListener: release added
broker/pom: leak detection enabled for surefire tests
broker: ReferenceCountUtil.release used
2017-06-27 16:28:38 +02:00
andsel 458840a0d7 Minor, fixed BinTray packages 2017-06-27 12:03:54 +02:00
andsel 0480260a56 Bumped release 0.10 2017-06-27 11:33:49 +02:00
andsel ae9c6c7a48 Minor, marked bugsnag ChannelHandler to @Sharable 2017-06-25 12:33:10 +02:00
andsel 3ff3d44d35 Added bugsnag catcher to the pipeline 2017-06-25 11:11:56 +02:00
andsel c243d518a9 Minor, added real demo broker reference 2017-06-21 22:47:05 +02:00
andsel ec951738b5 Added BugSnag error tracker 2017-06-20 22:12:42 +02:00
andsel 04a82c4a63 Added num of connected clients and subscription request/sec 2017-06-20 21:55:59 +02:00
andsel 53ec8e5b60 Removed the constraint on client queues to be BlockingQueue but simple Queue 2017-06-20 21:55:59 +02:00
Andrea Selva 1f3d39f4b1 Merge pull request #264 from AndreasMager/java-1.8
Java 1.8
2017-06-19 17:19:53 +02:00
Andreas Mager fb9765304c Java Version set to 1.8
anonymous types replaced by lambda's
Method references used instead of Lambda's
Explicit type replaced by <>
travis.yml updated to java 1.8
2017-06-19 17:07:05 +02:00
andsel 555893d287 Switched to Java 8 2017-06-18 11:41:37 +02:00
andsel e0104d99f9 Introduced DropwizardMetrics to push data on Librato 2017-06-18 11:04:24 +02:00
andsel 16a9a0ccd0 Fixed runtime loading of persistence implementation 2017-06-18 11:01:25 +02:00
andsel e848ecf9bc Included MapDB and H2 persistence in distribution 2017-06-18 10:59:26 +02:00
andsel 949e531448 Switched to Netty 4.1.12 to use MqttMessageBuilders 2017-06-10 16:55:00 +02:00
Andrea Selva f4afd451ab Merge pull request #314 from hylkevds/master
Terminate interceptor on shutdown.
2017-06-10 16:00:12 +02:00
Andrea Selva d5a8e3f7b4 Merge pull request #321 from AndreasMager/add-session-class-for-memory-session-store
MemorySessionStore: Session class added
2017-06-05 08:57:14 +02:00
Andreas Mager fcb7870a38 MemorySessionStore: Session class added
MemorySessionStore$Session: clientSession field added
MemorySessionStore#pendingAck: secondPhaseStore & inflightStore &
inboundFlightMeessageToGuid added

ClientSession#cleanup missed these messages
SubscriptionsDirectoryTest: fixed
SessionsStore#dropInFlightMessagesInSession: changed to cleanSession
2017-06-02 18:09:23 +02:00
andsel 46a215bd2c Minor, fixed bad import 2017-06-02 10:21:26 +02:00
andsel d9ff81131c Merged topic subscription search and publish into single MessagePublisher method
First step on implementing H2 storage

Minor, fixed not imported class

Cleaned MessageStore interface to avoid duplication of methods used in couple. Switched from guid + message to move messages

Separated ISubscriptionsStore from ISessionStore

Implemented H2 queue
2017-06-02 10:13:34 +02:00
Andrea Selva c18c915dd2 Merge pull request #315 from AndreasMager/netty-epoll
Netty epoll system added, thanks
 @AndreasMager
2017-05-25 23:42:12 +02:00
Andreas Mager 29ef00f24e broker/NettyAcceptor: epoll added 2017-05-19 16:36:38 +02:00
Hylke van der Schaaf 76c2857d48 Terminate interceptor on shutdown. 2017-05-19 16:18:20 +02:00
andsel 2f25863578 Fixed failig message logger 2017-04-30 11:53:15 +02:00
andsel 85a787993c Added missing persist on QoS1 retained publish 2017-04-30 11:31:05 +02:00
andsel 406ffd10db Merged topic subscription search and publish into single MessagePublisher method 2017-04-29 10:59:34 +02:00
Andrea Selva 67ab24570e Merge pull request #301 from AndreasMager/missing-message-logging-added
Missing message logging added
2017-04-25 17:39:38 +02:00
Andreas Mager 0247cfef9e broker/MQTTMessageLogger: log cases squashed 2017-04-25 16:07:01 +02:00
Andreas Mager 44a7c4d000 broker/MQTTMessageLogger: missing messages added 2017-04-25 16:03:20 +02:00
Andrea Selva 3a0eb3bea1 Merge pull request #297 from AndreasMager/gc1
Gc1 garbage collector added to start scripts
2017-04-20 14:14:40 +02:00
Andreas Mager ce0265c7e7 distri/moquette.sh: gc1 parameters added
distri/moquette.sh: line delimeter changed to unix style
2017-04-20 13:47:02 +02:00
Andrea Selva c1694ec6e2 Merge pull request #296 from AndreasMager/checkstyle-improvements
checkstyle: NewlineAtEndOfFile fixed for windows
2017-04-14 14:08:15 +02:00
Andreas Mager a5a56e59c7 checkstyle: NewlineAtEndOfFile fixed for windows 2017-04-14 12:55:44 +02:00
Andrea Selva 9d23bf934e Merge pull request #295 from AndreasMager/warnings-removed
Checkstyle warnings removed
2017-04-14 09:04:19 +02:00
Andreas Mager 9221a87812 editorconfig: max line length set
max line length warnings removed
missing Copyright added
useless publics removed
unmaintainable Javadoc tags: @author removed
helper class warnings removed
field default value initialization removed
Multiple warnings removed
pref: checkstyle warnings removed
Checkstyle will fail the build process if it detects violations
switch default cases error logger added
2017-04-13 22:16:57 +02:00
andsel 6dc762f47f Introduced the FlightZone concept (inbound and outbound) and separated logic of storage system. 2017-04-09 19:22:50 +02:00
andsel 5c6889fbd5 Separated persistence layer, created submodule for MapDB persistence letting the broker use the in-memory message store 2017-04-01 16:21:34 +02:00
andsel 7ffb8fb43b Minor, just layout 2017-03-25 15:40:33 +01:00
andsel 9440352e56 Minor, fixes the output of mapdb data into targetdir (solves #288) 2017-03-25 15:38:10 +01:00
Andrea Selva f8282eff7e Merge pull request #278 from AndreasMager/move-executor
ScheduledExecutorService moved from MapDBPersistentStore to Server
2017-03-22 23:26:06 +01:00
Andreas Mager dd106434ce broker/Server: ScheduledExecutorService moved from MapDBPersistentStore
broker/ProtocolProcessorBootstrapper: tabs removed
broker/MapDBPersistentStore: bonding to Server removed
2017-03-22 23:16:14 +01:00
Andrea Selva 6ca8108f1e Merge pull request #286 from fbeister/master
Prevent usage of MsgId 0 when wrapping around
2017-03-22 22:30:00 +01:00
Andrea Selva 451b5db941 Merge pull request #280 from fjcyue/master
using reader idle to trigger the will message.
2017-03-22 22:20:22 +01:00
Frederic Beister 76fb5cee72 Prevent usage of MsgId 0 when wrapping around 2017-03-21 14:26:13 +01:00
andsel c659a54158 Minor, just code layout 2017-03-20 21:58:18 +01:00
Andrea Selva 22b1fa2b0e Merge pull request #269 from AndreasMager/istore
Storage replacement with Config file
2017-03-20 13:52:39 +01:00
Andreas Mager 63d2f2dd69 broker/MapDBPersistentStore: Interfaces used for the Constructors
broker/IStore: Interface added for MapDBPersistentStore
broker/ProtocolProcessorBootstrapper: class loader for store added
broker/ISessionsStore#mapToGuid: moved to IMessagesStore
broker/ProtocolProcessorBootstrapper: getter used for SessionStore
broker/Server: getter for processor added
broker/ProtocolProcessor: getter added for Stores
2017-03-20 13:04:14 +01:00
andsel ec6ec09cee Minor fixed comment (#281) 2017-03-19 22:01:23 +01:00
fjcyue 96fb6301a8 using reader idle to trigger the will message.
When client power off directly, the socket is broken and server may
still push messages, which just occurred TCP re-transmission at that
time, instead of raising an error immediately. This delayed the will
message.
2017-03-12 01:03:13 +08:00
andsel 46d27e3bea Removed Moquette parser module 2017-03-05 12:37:32 +01:00
andsel e5c46e7a55 Purge nodes without subscriptions as described by PR #274 2017-03-05 12:37:18 +01:00
Andrea Selva b0095aa3fd Merge pull request #270 from AndreasMager/add-topic-class
New class added: Topic
2017-02-19 19:35:54 +01:00
Andreas Mager a2e51b2c31 broker/Topic: class added
broker/Topic: String Topics replaced by Topic class
broker/Topic#parseTopic: access set to private
broker/SubscriptionsStoreTest: topic tests moved to own class
broker/TopicTest: containsExactly used
broker/TopicTest: TopicAssert class added
broker/TopicTest$TopicAssert#containsToken: method added
broker/TopicTest$TopicAssert#matches: method added
2017-02-19 18:29:37 +01:00
Andrea Selva 44fecb3b5a Merge pull request #271 from calvernaz/master
Rename variable name
2017-02-16 15:57:45 +01:00
Cesar Alvernaz 97f57a9322 Rename variable name 2017-02-15 18:25:38 +00:00
Andrea Selva 8688a9d098 Merge pull request #265 from AndreasMager/fromating-broker
Minor Checkstyle adjustement & Fromating broker folder
2017-02-09 13:34:45 +01:00
Andreas Mager e2bcd3aac7 broker/Subscription: empty line removed 2017-02-01 17:27:38 +01:00
Andreas Mager 80c9448c71 broker/ProtocolProcessor: empty line removed 2017-02-01 17:27:17 +01:00
Andreas Mager b7207e2c2b broker/MessageGUID: empty line removed 2017-02-01 17:27:01 +01:00
Andreas Mager 065ad04699 broker/InterceptHandler: unused modifier removed 2017-02-01 17:26:31 +01:00
Andreas Mager 725220a99b broker/ConnectionDescriptor: code formatter used 2017-02-01 17:25:08 +01:00
Andreas Mager ab282cea23 broker/RawClient: code formatter used 2017-02-01 17:13:44 +01:00
Andreas Mager 324721e155 broker/ClientNettyMQTTHandler: code formatter used 2017-02-01 17:13:43 +01:00
Andreas Mager 42dca4a42e broker/Client: code formatter used 2017-02-01 17:13:43 +01:00
Andreas Mager e42e1257c9 broker/MemorySessionStore: code formatter used 2017-02-01 17:13:43 +01:00
Andreas Mager 2b9a21d475 broker/MapDBPersistentStoreTest: code formatter used 2017-02-01 17:13:43 +01:00
Andreas Mager 9e6cfe4002 broker/SubscriptionsStoreTest: code formatter used 2017-02-01 17:13:43 +01:00
Andreas Mager 3351b92ea6 broker/FileAuthenticatorTest: code formatter used 2017-02-01 17:13:43 +01:00
Andreas Mager a946357ea3 broker/DBAuthenticatorTest: code formatter used 2017-02-01 17:13:43 +01:00
Andreas Mager f4120433d9 broker/AuthorizationsCollectorTest: code formatter used 2017-02-01 17:13:43 +01:00
Andreas Mager 25f9bdd9b6 broker/ACLFileParserTest: code formatter used 2017-02-01 17:13:43 +01:00
Andreas Mager a0a758949e broker/ProtocolProcessorTest: code formatter used 2017-02-01 17:13:43 +01:00
Andreas Mager 5125132f23 broker/ProtocolProcessor_CONNECT_Test: code formatter used 2017-02-01 17:13:43 +01:00
Andreas Mager 5206cc3df7 broker/NettyChannelAssertions: code formatter used 2017-02-01 17:13:43 +01:00
Andreas Mager 65faa69852 broker/MockReceiverChannel: code formatter used 2017-02-01 17:13:43 +01:00
Andreas Mager 83dc0f99b6 broker/MockAuthenticator: code formatter used 2017-02-01 17:13:43 +01:00
Andreas Mager edc2515caa broker/MemoryStorageService: code formatter used 2017-02-01 17:13:43 +01:00
Andreas Mager be8a2f4ca4 broker/MemoryMessagesStore: code formatter used 2017-02-01 17:13:42 +01:00
Andreas Mager 0bf059afcf broker/BrokerInterceptorTest: code formatter used 2017-02-01 17:13:42 +01:00
Andreas Mager 47c76fafc1 broker/ClientSessionTest: code formatter used 2017-02-01 17:13:42 +01:00
Andreas Mager 3ebb9c7d48 broker/ConnectionIT: code formatter used 2017-02-01 17:13:42 +01:00
Andreas Mager e68c5ce4b0 broker/ConfigurationParserTest: code formatter used 2017-02-01 17:13:42 +01:00
Andreas Mager 0fc231909c broker/ClasspathResourceLoaderTest: code formatter used 2017-02-01 17:13:42 +01:00
Andreas Mager fde2a77aae broker/ServerRestartIntegrationTest: code formatter used 2017-02-01 17:13:42 +01:00
Andreas Mager 6d4f076969 broker/ServerLowlevelMessagesIntegrationTests: code formatter used 2017-02-01 17:13:42 +01:00
Andreas Mager 6f2796f851 broker/ServerIntegrationWebSocketTest: code formatter used 2017-02-01 17:13:42 +01:00
Andreas Mager 478ec61cb0 broker/ServerIntegrationSSLTest: code formatter used 2017-02-01 17:13:42 +01:00
Andreas Mager 667505b13a broker/ServerIntegrationSSLClientAuthTest: code formatter used 2017-02-01 17:13:42 +01:00
Andreas Mager 4f810fc7fd broker/ServerIntegrationQoSValidationTest: code formatter used 2017-02-01 17:13:42 +01:00
Andreas Mager dab5efea30 broker/ServerIntegrationPahoTest: code formatter used 2017-02-01 17:13:42 +01:00
Andreas Mager 5823bdae46 broker/ServerIntegrationHazelcastHandlerInterceptorTest: code formatter
used
2017-02-01 17:13:42 +01:00
Andreas Mager 139db5e5b8 broker/ServerIntegrationFuseTest: code formatter used 2017-02-01 17:13:42 +01:00
Andreas Mager 4e9e7a8bc1 broker/test/ServerIntegrationEmbeddedPublishTest: code formatter used 2017-02-01 17:13:42 +01:00
Andreas Mager 7b57f04db9 broker/test/ServerIntegrationDBAuthenticatorTest: code formatter used 2017-02-01 17:13:41 +01:00
Andreas Mager 42bd234c76 broker/test/MQTTWebSocket: code formatter used 2017-02-01 17:13:41 +01:00
Andreas Mager 59af0f34ec broker/test/MessageCollector: code formatter used 2017-02-01 17:13:41 +01:00
Andreas Mager 57aaac8a8f broker/test/IntegrationUtils: code formatter used 2017-02-01 17:13:41 +01:00
Andreas Mager dd41de430e broker/test/ConfigurationClassLoaderTest: code formatter used 2017-02-01 17:13:41 +01:00
Andreas Mager ae43010da3 broker/test/Utils: code formatter used 2017-02-01 17:13:41 +01:00
Andreas Mager 00d7480e9b broker/ISslContextCreator: code formatter used 2017-02-01 17:13:41 +01:00
Andreas Mager 687c66d7ec broker/IAuthorizator: code formatter used 2017-02-01 17:13:41 +01:00
Andreas Mager 997da1f497 broker/IAuthenticator: code formatter used 2017-02-01 17:13:41 +01:00
Andreas Mager f2011e5032 broker/MapDBSessionStore: code formatter used 2017-02-01 17:13:41 +01:00
Andreas Mager dbefe8e33a broker/MapDBPersistentStore: code formatter used 2017-02-01 17:13:41 +01:00
Andreas Mager a279863e80 broker/MapDBMessagesStore: code formatter used 2017-02-01 17:13:41 +01:00
Andreas Mager f85d45f796 broker/TreeNode: code formatter used 2017-02-01 17:13:41 +01:00
Andreas Mager 47101ca894 broker/Token: code formatter used 2017-02-01 17:13:41 +01:00
Andreas Mager 4db4663274 broker/SubscriptionsStore: code formatter used 2017-02-01 17:13:41 +01:00
Andreas Mager fdf5a83386 broker/Subscription: code formatter used 2017-02-01 17:13:40 +01:00
Andreas Mager 3bbec46585 broker/ResourceAuthenticator: code formatter used 2017-02-01 17:13:40 +01:00
Andreas Mager 92f4492fc3 broker/PermitAllAuthorizator: code formatter used 2017-02-01 17:13:40 +01:00
Andreas Mager 04fdb31ef6 broker/FileAuthenticator: code formatter used 2017-02-01 17:13:40 +01:00
Andreas Mager 64694a4409 broker/DenyAllAuthorizator: code formatter used 2017-02-01 17:13:40 +01:00
Andreas Mager 2257ae6919 broker/DBAuthenticator: code formatter used 2017-02-01 17:13:40 +01:00
Andreas Mager 579cdafb77 broker/AuthorizationsCollector: code formatter used 2017-02-01 17:13:40 +01:00
Andreas Mager fae67394a3 broker/Authorization: code formatter used 2017-02-01 17:13:40 +01:00
Andreas Mager b020580a40 broker/ACLFileParser: code formatter used 2017-02-01 17:13:40 +01:00
Andreas Mager f21f0ba54d broker/AcceptAllAuthenticator: code formatter used 2017-02-01 17:13:40 +01:00
Andreas Mager 9b911339d7 broker/Utils: code formatter used 2017-02-01 17:13:40 +01:00
Andreas Mager 609cd5c8f8 broker/QosPublishHandler: code formatter used 2017-02-01 17:13:40 +01:00
Andreas Mager 127894b2f9 broker/Qos2PublishHandler: code formatter used 2017-02-01 17:13:40 +01:00
Andreas Mager b7f3e1beba broker/Qos1PublishHandler: code formatter used 2017-02-01 17:13:39 +01:00
Andreas Mager a7d476589a broker/Qos0PublishHandler: code formatter used 2017-02-01 17:13:39 +01:00
Andreas Mager e23ac97e8e broker/ProtocolProcessorBootstrapper: code formatter used 2017-02-01 17:13:39 +01:00
Andreas Mager db31f77f9b broker/ProtocolProcessor: code formatter used 2017-02-01 17:13:39 +01:00
Andreas Mager 6eb635f437 broker/PersistentQueueMessageSender: code formatter used 2017-02-01 17:13:39 +01:00
Andreas Mager a308780acd broker/MessagesPublisher: code formatter used 2017-02-01 17:13:39 +01:00
Andreas Mager 91ca7fd1c2 broker/InternalRepublisher: code formatter used 2017-02-01 17:13:39 +01:00
Andreas Mager 0655f20543 broker/DebugUtils: code formatter used 2017-02-01 17:13:39 +01:00
Andreas Mager 4167861071 broker/BrokerInterceptor: code formatter used 2017-02-01 17:13:39 +01:00
Andreas Mager c19f15ae14 broker/MessageGUID: code formatter used 2017-02-01 17:13:39 +01:00
Andreas Mager d684726ea7 broker/ISessionsStore: code formatter used 2017-02-01 17:13:39 +01:00
Andreas Mager 12b2819e45 broker/IMessaging: code formatter used 2017-02-01 17:13:39 +01:00
Andreas Mager d2d77eb608 broker/IMessagesStore: code formatter used 2017-02-01 17:13:39 +01:00
Andreas Mager fdcc0f810b broker/IMatchingCondition: code formatter used 2017-02-01 17:13:39 +01:00
Andreas Mager c2655df12d broker/ClientSession: code formatter used 2017-02-01 17:13:38 +01:00
Andreas Mager b6949ead26 broker/MQTTMessageLogger: code formatter used 2017-02-01 17:13:38 +01:00
Andreas Mager f75e140ddf broker/MeassageMetricsHandler: code formatter used 2017-02-01 17:13:38 +01:00
Andreas Mager 30da8c043d broker/MeassageMetricsCollector: code formatter used 2017-02-01 17:13:38 +01:00
Andreas Mager 74edc3031f broker/MeassageMetrics: code formatter used 2017-02-01 17:13:38 +01:00
Andreas Mager 723a1caf05 broker/BytesMetricsHandlerc: code formatter used 2017-02-01 17:13:38 +01:00
Andreas Mager 745f36bea3 broker/BytesMetricsCollector: code formatter used 2017-02-01 17:13:38 +01:00
Andreas Mager 2bb362825d broker/BytesMetrics: code formatter used 2017-02-01 17:13:38 +01:00
Andreas Mager 01cef587ec broker/NettyUtils: code formatter used 2017-02-01 17:13:38 +01:00
Andreas Mager 539427ddd2 broker/NettyMQTTHandler: code formatter used 2017-02-01 17:13:38 +01:00
Andreas Mager 798fe1e171 broker/NettyAcceptor: code formatter used 2017-02-01 17:13:38 +01:00
Andreas Mager 3ff03ef50e broker/MoquetteIdleTimeoutHandler: code formatter used 2017-02-01 17:13:38 +01:00
Andreas Mager 8a7175b011 broker/MessageBuilder: code formatter used 2017-02-01 17:13:38 +01:00
Andreas Mager 2adee4054c broker/AutoFlushHandler: code formatter used 2017-02-01 17:13:37 +01:00
Andreas Mager 4483e554e9 broker/ResourceLoaderConfig: code formatter used 2017-02-01 17:13:37 +01:00
Andreas Mager 4d15d92e46 broker/MemoryConfig: code formatter used 2017-02-01 17:13:37 +01:00
Andreas Mager c29249a7de broker/IResourceLoader: code formatter used 2017-02-01 17:13:37 +01:00
Andreas Mager f8f1e83986 broker/IConfig: code formatter used 2017-02-01 17:13:37 +01:00
Andreas Mager 03f103bcff broker/FileResourceLoader: code formatter used 2017-02-01 17:13:37 +01:00
Andreas Mager 0b4c812e43 broker/ConfigurationParser: code formatter used 2017-02-01 17:13:37 +01:00
Andreas Mager a1dd613232 broker/ClasspathResourceLoader: code formatter used 2017-02-01 17:13:37 +01:00
Andreas Mager f5d74d8d0e broker/ServerAcceptor: code formatter used 2017-02-01 17:13:37 +01:00
Andreas Mager 19a200707b broker/Server: code formatter used 2017-02-01 17:13:37 +01:00
Andreas Mager a156a1d084 broker/HazelcastListener: code formatter used 2017-02-01 17:13:37 +01:00
Andreas Mager 4236bc2af5 broker/Constants: code formatter used 2017-02-01 17:13:37 +01:00
Andreas Mager 36c09c02ab broker/ConnectionDescriptorStore: code formatter used 2017-02-01 17:13:37 +01:00
Andreas Mager 5c9d0808dd broker/ConnectionDescriptor: code formatter used 2017-02-01 17:13:37 +01:00
Andreas Mager 6821548d50 broker/LoggingUtils: code formatter used 2017-02-01 17:13:36 +01:00
Andreas Mager a198247d13 broker/InterceptUnSubscribeMessage: code formatter used 2017-02-01 17:13:36 +01:00
Andreas Mager 255eed49a7 broker/InterceptSubscribeMessage: code formatter used 2017-02-01 17:13:36 +01:00
Andreas Mager 6cdcee0c58 broker/InterceptPublishMessage: code formatter used 2017-02-01 17:13:36 +01:00
Andreas Mager 96df597507 broker/InterceptMessage: code formatter used 2017-02-01 17:13:36 +01:00
Andreas Mager 5054c72b32 broker/InterceptDisconnectMessage: code formatter used 2017-02-01 17:13:36 +01:00
Andreas Mager 16ee560f4c broker/InterceptConnectMessage: code formatter used 2017-02-01 17:13:36 +01:00
Andreas Mager 73bce495e1 broker/InterceptConnectionLostMessage: code formatter used 2017-02-01 17:13:36 +01:00
Andreas Mager 25bb6f50a5 broker/InterceptAcknowledgedMessage: code formatter used 2017-02-01 17:13:36 +01:00
Andreas Mager fdce1bbc59 broker/InterceptAbstractMessage: code formatter used 2017-02-01 17:13:36 +01:00
Andreas Mager 48afd160d5 broker/Interceptor: code formatter used 2017-02-01 17:13:36 +01:00
Andreas Mager c48534b0ba broker/InterceptHandler: code formatter used 2017-02-01 17:13:35 +01:00
Andreas Mager e81f8ff96c broker/HazelcastMsg: code formatter used 2017-02-01 17:13:35 +01:00
Andreas Mager 2d9f93bdf8 broker/HazelcastInterceptHandler: code formatter used 2017-02-01 17:13:35 +01:00
Andreas Mager 65ba222b89 broker/AbstractInterceptHandler: code formatter used 2017-02-01 17:13:35 +01:00
Andreas Mager 1d89578ab5 broker/MqttSubscription: code formatter used 2017-02-01 17:13:35 +01:00
Andreas Mager 852a87a516 broker/MqttSession: code formatter used 2017-02-01 17:13:35 +01:00
Andreas Mager 8aa4a77c4a broker/MqttConnectionMetrics: code formatter used 2017-02-01 17:13:35 +01:00
Andreas Mager d72b2611d7 broker/IConnectisoManager: code formatter used 2017-02-01 17:13:35 +01:00
Andreas Mager 4ea5d290c7 broker/BrokerConstants: code formatter used 2017-02-01 17:13:35 +01:00
Andreas Mager 3e27beb825 checkstyle: needBraces disabled 2017-02-01 17:13:35 +01:00
Andreas Mager 526bcc61cf broker/DefaultMoquetteSslContextCreator: code formatter used 2017-02-01 17:13:35 +01:00
Andreas Mager 0e7cbd76aa checkstyle: StarImport allowed 2017-02-01 17:13:35 +01:00
Andreas Mager e2aa30d139 checkstyle: resource folders excluded form check 2017-02-01 17:13:35 +01:00
Andreas Mager 99fea68bb8 broker/pom: code formatter used 2017-02-01 15:00:27 +01:00
Andrea Selva 682e905c49 Merge pull request #263 from AndreasMager/fix-subscriptions-preformance-test
PerformanceTest: netty layout changes fixed
2017-02-01 13:44:26 +01:00
Andrea Selva ff4c5dff3b Merge pull request #261 from AndreasMager/adding-assertj 2017-02-01 13:39:32 +01:00
Andrea Selva acc00863a4 Merge pull request #259 from AndreasMager/protocol-processor-test-fixed
Protocol processor test fixed
2017-02-01 13:36:17 +01:00
Andrea Selva 94d5afbff7 Merge pull request #262 from AndreasMager/checkstyle
First Checkstyle version added
2017-02-01 13:35:52 +01:00
Andreas Mager 191387f42d .editorconfig: editor support file added 2017-01-30 17:40:34 +01:00
Andreas Mager bdaac34a33 PublishMessage#getPayload: returns duplicate for safety 2017-01-30 16:07:16 +01:00
Andreas Mager 94475d2b04 ProtocolProcessorTest#testCleanRetainedStoreAfterAQoS0AndRetainedTrue:
check added if test is in the correct state
2017-01-30 16:07:16 +01:00
Andreas Mager f25af642b0 SubscriptionsStoreTest: containsExactlyInAnyOrder used for matches 2017-01-30 15:51:50 +01:00
Andreas Mager c5b7fd52c5 SubscriptionsStoreTest: assertj used for assertions 2017-01-30 15:51:50 +01:00
Andreas Mager f460d6a230 SubscriptionsStoreTest: classname used for static access 2017-01-30 15:50:42 +01:00
Andreas Mager 504ac3055e SubscriptionsStoreTest: whitespaces removed 2017-01-30 15:50:42 +01:00
Andreas Mager 1bc4ff4581 pom: assertj added to test deps 2017-01-30 15:48:53 +01:00
Andreas Mager 8bfe79ae87 PerformanceTest: netty layout changes fixed 2017-01-30 15:46:49 +01:00
Andreas Mager 1f12a9e529 checkstyle: package-info.java warning removed 2017-01-30 15:34:44 +01:00
Andreas Mager a309361a2e checkstyle: Copyright header adjusted 2017-01-30 15:34:43 +01:00
Andreas Mager abef299633 Netty checkstyle.xml added 2017-01-30 15:34:43 +01:00
Andreas Mager 2c291fc1fc pom: maven-checkstyle-plugin configured 2017-01-30 15:34:43 +01:00
andsel 1c64186a00 Switched from Moquette's MQTT codec to Netty's MQTT codec ones 2017-01-28 15:59:44 +01:00
Andrea Selva 07093ab0cb Merge pull request #255 from AndreasMager/subscription-store-performance-test
Great thanks a lot
2017-01-28 15:46:38 +01:00
Andreas Mager 43b73501d7 PerformanceTest added for the SubscriptionsStore#matches 2017-01-27 12:54:36 +01:00
Andrea Selva e3c4360b62 Merge pull request #256 from AndreasMager/memory-session-store-boost
MemorySessionStore#m_persistentSubscriptions: Map Layout changed
2017-01-26 21:43:16 +01:00
Andreas Mager 01e7465f0c MemorySessionStore: HashMap replaced by Map Interface 2017-01-26 21:42:21 +01:00
Andreas Mager 6f7011c9f2 MemorySessionStore#m_persistentSubscriptions: Map Layout changed
If one clientid subscribes a lot of topics the old implementation
struggles with the for loops
2017-01-23 18:37:43 +01:00
andsel 716c9ac0a0 Minor on logging, removed ugly if(isDebugEnabled()) for debug logging, kept only when the toString generation could potentially take long, and trasformed in tracing logs. Moved Error to Warn log level 2017-01-18 23:28:11 +01:00
andsel e295fcf9f2 Updated the list of contributors (not hexaustive) 2017-01-18 23:25:53 +01:00
andsel 60c28f1ecb Minor, just setted autogenerated random serialVersionUID instead of bad 1L 2017-01-18 22:46:04 +01:00
andsel 9b164019ec Fixed bad merge lines 2017-01-18 22:35:23 +01:00
andsel e777c54414 Merge branch 'Sofia2-master' with lots of improvements in dispatching events to interceptors 2017-01-18 22:26:35 +01:00
andsel 97ddd1cd8b Merge branch Sofia2 with lot of improvements 2017-01-17 21:40:59 +01:00
Luis Barrios ebdee0bb44 Make netty channel timeout configurable 2017-01-15 14:40:08 +01:00
Luis Barrios d4f977c0af Make several low-level netty parameters configurable 2017-01-13 11:01:35 +01:00
Luis Barrios aed1a80532 Update version to 0.9.1.sofia 2017-01-12 17:27:23 +01:00
Luis Barrios e7f26e402b Include message and bytes metrics in the status of the active MQTT connections. 2017-01-12 17:25:46 +01:00
Luis Barrios d7d97a74d8 Add simple connection management capabilities to the broker. An external codebase will now be able to monitor and close the opened connections. 2017-01-12 17:00:18 +01:00
Luis Barrios 964efd341e Add log traces 2017-01-12 13:11:08 +01:00
Luis Barrios 03ae299e36 Add log traces 2017-01-12 12:35:51 +01:00
andsel a7b8c07d1a Bumped dev cycle for 0.10 2017-01-11 22:21:03 +01:00
andsel 4162aae3a0 Bumped version 0.9 2017-01-11 22:06:24 +01:00
Luis Barrios 8b3f158a43 Improve logging. Remove duplicated code from QosPublishHandlers. 2017-01-11 18:42:30 +01:00
Luis Barrios aac5b37485 Improve logging 2017-01-11 16:36:45 +01:00
Luis Barrios 731c7859ce Merge branch 'bugfixes' of github.com:lbarriosh/moquette into bugfixes 2017-01-11 16:04:36 +01:00
Luis Barrios 953e038223 Improve logging 2017-01-11 16:04:23 +01:00
Luis Barrios 8be6e1e86b Improve logging 2017-01-11 15:56:24 +01:00
Luis Barrios 1f1bfff4f7 Improve logging:
- When a MQTT message is received, we should only log it in debug level. It is better to log the actions performed in the protocol processor at the info level (they are more meaningful).
- Capture and log every exception raised while processing the message (including RuntimeExceptions).
2017-01-11 15:33:23 +01:00
Luis Barrios 4512eeff23 Add log traces to MoquetteIdleTimeoutHandler and to NettyAcceptor.
Fix NettyAcceptor shutdown: when the event loops take too long to stop, an IllegalStateException is raised. This leads to leaks, and prevents other
parts of the broker to be shut down properly.
2017-01-11 15:26:30 +01:00
Luis Barrios e7ba2aee8e Add debug log traces to AutoFlushHandler 2017-01-11 15:06:03 +01:00
Luis Barrios 4ae6893f81 Improve logging of ResourceLoaderConfig 2017-01-11 14:58:35 +01:00
Luis Barrios 1592a0676c Improve logging of package io.moquette.server.config 2017-01-11 14:56:16 +01:00
Luis Barrios 7666a1634a Handle publish errors properly in PersistentQueueMessageSender. Create a connection descriptor store to handle all the message delivery errors and to avoid
duplicating error handling code (i.e. the connection descriptors map is null, the connection descriptor does not exist, etc).
2017-01-11 11:23:24 +01:00
Luis Barrios 63d106e414 Improve log traces of the subscriptions store. Make sure that no "raw" RuntimeExceptions are thrown, and include proper log traces before any exception is raised. 2017-01-11 10:42:43 +01:00
Luis Barrios 8481fada93 Remove unused imports, raw types and some deprecated method calls.. 2017-01-11 10:16:58 +01:00
Luis Barrios 933763486c Remove rawtypes 2017-01-11 09:05:30 +01:00
Luis Barrios c90893d817 Add missing method implementation 2017-01-10 17:29:37 +01:00
Luis Barrios aea4f3709a Make the size of the BrokerInterceptor thread pool configurable. 2017-01-10 17:23:15 +01:00
Luis Barrios 46fcdc0894 Allow InterceptHandler to specify the messages they can intercept. This allows us to improve the performance of the broker interceptor, and will make log traces more clear.
- Add methods to return an unique identifier and the supported message types at the InterceptHandler interface.
- Include a default implementation of the new methods in the AbstractInterceptHandler. By default, all the interceptors will be able to handle any message (same as before).
- Comment verifyNoMoreInteractions() call from the BrokerInterceptorTest.testAddAndRemoveInterceptHandler(). The removeInterceptHandler() method of the broker interceptor
  polls the InterceptHandler, so an interaction will always exist after the call to onSubscribe().
2017-01-10 17:06:13 +01:00
Luis Barrios 1d75a25aa3 Update .gitignore file to exclude /osgi_test/target/ and /perf/target/ 2017-01-10 14:31:17 +01:00
Luis Barrios 0786de54b2 Update .gitignore file to exclude /osgi_test/target/ and /perf/target/ 2017-01-10 12:39:46 +01:00
andsel ac8a11fefa Removed the reference counter for stored messages 2017-01-09 21:59:09 +01:00
andsel 081631242f Removed old 'map based queues' to use persistent BlockingQueues from MapDB 2017-01-09 21:53:26 +01:00
andsel 3f0ab75efb Updated copiright to year 2017 2017-01-04 14:37:29 +01:00
andsel 12a3c65c9b Fixed javadoc (issue #164) 2017-01-04 12:52:42 +01:00
andsel 480e36579c Fixed NPE exception of inflight ACK because the publisher with clean=true removed all messages, also the published from message store 2017-01-04 11:17:30 +01:00
andsel 2c43c74fe3 Added gracefull handling when client cut TCP connection 2017-01-04 11:13:58 +01:00
andsel 4029ddd2b1 Removed ClasspathConfig to use the ClasspathResourceLoader and basic ResourceLoaderConfig
Removed FilesystemConfig to use the FileResourceLoader and basic ResourceLoaderConfig
2016-12-31 19:30:41 +01:00
andsel 0f41c9ea08 Changed default behaviour to use persistent sotre, now use in memory as default and not FS moquette.mapdb (Fix issue #242) 2016-12-31 16:06:18 +01:00
andsel a146ffb30e Minor changes to distribution's log4j config file to include the messagelog logger 2016-12-31 15:28:06 +01:00
Neeme Praks ac93f04dde Refactored config file resource loading to make it easier to load config files from class path when embedding. 2016-12-31 11:46:32 +01:00
Andrea Selva c36ebc648b Minor, removed test lib deps in OSGi test module 2016-12-30 10:04:15 +01:00
andsel dd61be59b3 Switched from http encoder and decoder to codec, and fixed logger to check message type before log 2016-12-30 00:33:10 +01:00
andsel ac2086a0e0 Fixed failing test due to more strict endpoint check from Netty 4.1.x 2016-12-30 00:33:10 +01:00
Andrea Selva ea043bc743 Merge pull request #246 from nemecec/fix-deps
Remove compile-time dependency on log4j
2016-12-29 14:59:38 +01:00
Andrea Selva 3dce95cc50 Merge pull request #245 from nemecec/patch-1
MessageDigest is not thread-safe
2016-12-29 14:59:19 +01:00
andsel 1ad5f4aef9 Added MQTT message logger 2016-12-28 22:22:55 +01:00
andsel db7a597bcc Fixed timeout in test 2016-12-28 22:22:27 +01:00
andsel d3116dc685 Fixed inactive channel propagation event through MQTTMessageLogger 2016-12-28 22:21:33 +01:00
Neeme Praks 9bf909b4db Move log4j dependency from broker to dist - otherwise it is propagated transitively to projects using moquette as a library. Also removed redundant logback-core dependency from OSGi tests (it already has logback-classic). 2016-12-28 00:45:56 +02:00
Neeme Praks be42cfaae1 MessageDigest is not thread-safe
MessageDigest is not thread-safe. Use DigestUtils instead, it is also more convenient (and Moquette already has a dependency on commons-codec).
2016-12-28 00:36:01 +02:00
andsel 4e2a0dbf28 Switched to netty 4.1.6 to include Netty's official mqtt codec to make some performance tests 2016-12-27 22:28:34 +01:00
andsel 8aa683452a Added performance project module, to stress test specifics part of Moquette 2016-12-26 12:25:54 +01:00
andsel 642fa4a4aa Added plain publish bomber test, to measure enoding/deconding perf 2016-12-26 12:13:30 +01:00
andsel 686c5f4c65 Embedded pub and sub client into same process of the plain test broker to use same nanosecs 2016-12-24 15:36:20 +01:00
andsel 43f56a8f39 Removed unused methods 2016-12-24 14:42:40 +01:00
andsel 68a4093e1a Subscriber for benchmarking using Paho API 2016-12-21 23:17:22 +01:00
andsel 631049877e Implemented Publisher with Paho API 2016-12-21 22:37:53 +01:00
andsel 7b97855a3b Moved fuse benchmark into separate dir 2016-12-21 21:48:53 +01:00
andsel 08b5cd8333 Minor, just comment 2016-12-18 19:51:40 +01:00
andsel e812efd6b7 Added MQTT messages logger 2016-12-18 19:51:40 +01:00
Andrea Selva dfd985da95 Fixed sha, before was the sha256("passwd\n") 2016-12-14 18:08:31 +01:00
andsel 1831560bd6 Flowed up the creation of messageSender 2016-12-13 23:43:02 +01:00
andsel f7e8da93d8 Removed data clump 2016-12-13 23:43:02 +01:00
andsel 57586ce7c0 Introduced 2 method, one for retained and not 2016-12-13 23:43:02 +01:00
andsel 633365672c Changed InternalRepublisher to use the PersistentQueueMessageSender to send out the publish messages 2016-12-13 23:43:02 +01:00
andsel 32244e9482 Peeled common code 2016-12-13 23:43:02 +01:00
andsel 012e0687a8 Removed unused class BestEffortMessageSender 2016-12-13 23:43:02 +01:00
andsel 1c6cbd5d30 Removed the necessity to use BestEffortMessageSender 2016-12-13 23:43:02 +01:00
andsel 3100d835df Moved params out of publishQos0 2016-12-13 23:43:02 +01:00
andsel da94a6a014 Moved params out of publishQos2 2016-12-13 23:43:02 +01:00
andsel 2640a5354c Minor, unified method 2016-12-13 23:43:02 +01:00
andsel 57d9eeef64 Just renames 2016-12-13 23:43:02 +01:00
andsel 0bfdc88e21 Removed unused argument 2016-12-13 23:43:02 +01:00
andsel 0e0afe7c9b Renames 2016-12-13 23:43:02 +01:00
andsel c76db85ae7 Removed unused params 2016-12-13 23:43:02 +01:00
andsel 2b554ca475 Condensed the looping on subscription on separate class 2016-12-13 23:43:02 +01:00
andsel b58cd086ea Inverted some ifs to get the semantic of ifs more clear 2016-12-13 23:43:02 +01:00
andsel 968e021711 Reintroduced bad removed conditions 2016-12-13 23:43:02 +01:00
andsel 105a06537c Moved code to make InternalPublisher.publishRetained() almost similar to InternalPublisher.publishStored() 2016-12-13 23:43:02 +01:00
andsel 5d02239dc1 Extracted common code for internal republish 2016-12-13 23:43:02 +01:00
andsel 5b254cfe75 Changed che willpublish to use the Qos2Publisher helper class 2016-12-13 23:43:02 +01:00
andsel a54b122094 Substituted complex test to check lowering of qos level to the same accepted on subscription time 2016-12-13 23:43:02 +01:00
andsel 1e04292ba2 Moved qos2 publish to separate class 2016-12-13 23:43:02 +01:00
andsel 1c2fe8c8fe Moved publishing logic for qos1 to separate class 2016-12-13 23:43:02 +01:00
andsel a53772f094 Separated qos0 publishing logic from publish handler 2016-12-13 23:43:02 +01:00
andsel e6bb883334 Minor, just public class to package private 2016-12-13 23:43:02 +01:00
andsel a9f53a4a95 Moved Qos2 publish handling code to separate class 2016-12-13 23:43:02 +01:00
andsel d65886343b Moved QoS1 publish handling to separate class 2016-12-13 23:43:02 +01:00
andsel 81a447dce9 Reinserted route to qo0 branch in publish2Subscribers for internal publish 2016-12-13 23:43:02 +01:00
andsel 12ed805737 Moved qos0 publishing logic to separate class 2016-12-13 23:43:01 +01:00
andsel c62f549176 Minor, just code layout 2016-12-13 23:43:01 +01:00
andsel 296af8b4f6 Renamed route2Subscribers() to publish2Subscribers() 2016-12-13 23:43:01 +01:00
andsel 3355e7c334 Moved selection of subscriptions out of route2Subscribers 2016-12-13 23:43:01 +01:00
andsel c727ee87d3 Extracted method to verify credentials on publish 2016-12-13 23:43:01 +01:00
andsel c28673b83b introduced methods to threat every single qos 2016-12-13 23:43:01 +01:00
Andrea Selva 5ca48ddd73 Merge pull request #240 from kmhughes/master
Make Moquette into OSGi bundles.
2016-12-12 22:00:01 +01:00
Keith Hughes 8df43991a6 Make Moquette into OSGi bundles.
Add integration test to confirm that Moquette has become a bundle.
2016-12-11 18:45:24 -07:00
andsel 558b4a4c64 Changed SUBSCRIPTION processing to be based on concurrent FSM 2016-12-08 16:31:01 +01:00
andsel b6239b3c5c Changed SUBSCRIPTION processing to be based on concurrent FSM 2016-11-27 21:35:20 +01:00
andsel 3ac692a7c7 Removed unuseful sessionStolen attribute from channel 2016-11-27 21:35:20 +01:00
andsel 9a7e643742 Cleaned unused code 2016-11-27 21:35:20 +01:00
andsel 18fa8f4baf Reworked DISCONNECT to be implemented as fsm 2016-11-27 21:35:20 +01:00
andsel 38746ad0dd Moved existing CONNECT processing to an FSM 2016-11-27 21:35:20 +01:00
Andrea Selva 40de41adc8 Merge pull request #231 from windbender/master
implement #227, use of atomicintegers on reference counter
2016-11-11 13:49:20 +01:00
chris-lumigrow 9c62e3d05c a bit of defensive programming in the case of negative reference values 2016-11-10 14:19:43 -08:00
chris-lumigrow 2bc5df8703 implement #227, use of atomicintegers on reference counter 2016-11-10 14:13:42 -08:00
andsel 7508275cf7 Changed the way a Client session is active and moved to event and states of Channel for CONNECT and DISCONNET messages 2016-11-05 18:29:08 +01:00
andsel 8e43f75f70 Minor changes 2016-11-05 18:29:08 +01:00
andsel b51b3214ba Added FSM documentation 2016-11-05 18:29:08 +01:00
andsel b7dec8f65e Minor change, just log in disconnet decoder 2016-11-05 18:29:08 +01:00
Andrea Selva ccdb50e760 Merge pull request #224 from bcw104/master
broker: notify when client connection lost
2016-11-05 17:08:09 +01:00
Andrea Selva e136caef91 Merge pull request #225 from mpaatz/master
fixed ConcurrentModification Exceptions in MapDBSessionsStore, fixes #215
2016-10-26 13:52:31 +02:00
Andrea Selva 502deb840b Merge pull request #212 from teranisi/get_subscriptions_api
Add 'getSubscriptions' API on Server.
2016-10-26 13:46:30 +02:00
bcw 3e89bc5d2c notify when client connection lost;
implement onConnectionLost() method in AbstractInterceptHandler.java;
2016-10-24 11:37:10 +08:00
mpaatz b1850e1dfe Fixed ConcurrentModification Exceptions in MapDBSessionsStore, fixes #215 2016-10-21 15:23:30 +02:00
bcw 03c0097641 broker: notify when client connection lost 2016-10-21 10:28:36 +08:00
teranisi 0c5f0f293f Merge conflicts. 2016-10-20 14:27:51 +09:00
teranisi 90998c447b Make Subscription class immutable. 2016-10-20 14:23:57 +09:00
teranisi 81a1d8d2b2 Add 'getSubscriptions' API on Server.
Add a test for sessions without clean session flag.
2016-10-20 14:23:57 +09:00
andsel cf67d5ac52 Fixed the issue 204, forcing flush at each write insted of wait for the Channel to be flushed 2016-09-27 22:35:16 +02:00
andsel 912a88ec0a Minor, switched from .replace to .put (JDK 1.7 compatibility) 2016-09-23 12:10:42 +02:00
andsel 8215e89d77 Changed String for guids to its value object 2016-09-23 11:51:25 +02:00
andsel ac419adbd6 Drop the message when the ref counter reaches 0 2016-09-23 10:16:24 +02:00
andsel ac5a4daa6f Changed the way of create MapDB's messages and session stores, it's now more coupled (they are the same stuff at the end) 2016-09-23 10:11:50 +02:00
andsel 4d637a349b Fixed drop messages in clean session phase, introduced ref counter 2016-09-23 09:45:47 +02:00
teranisi d664227436 Add 'getSubscriptions' API on Server.
Add a test for sessions without clean session flag.
2016-09-16 22:52:35 +09:00
andsel 5efad350d8 Fixed the configuration of HZ for local tests to avoid multicast preferring tcp local address 2016-09-12 17:49:40 +02:00
andsel 4790325f0e Added MapDP perf test groovy script 2016-09-12 12:39:43 +02:00
andsel 181303b58b Merge branch 'master' of github.com:andsel/moquette 2016-09-12 12:29:01 +02:00
andsel 55ea2d7c12 Added lab experiment to check H2 MVStore perf 2016-09-12 12:28:55 +02:00
Andrea Selva 40f2d87434 Merge pull request #202 from FraunhoferIOSB/Bugfix-PersistenceFileLock
Bugfix for ServerRestartIntegrationTest - Persistence file could not be deleted under Windows
2016-08-19 09:00:57 +02:00
Jacoby 36daf153db * Bugfix - persistence file could not be deleted under Windows because it was in use by the server 2016-08-18 16:20:14 +02:00
Andrea Selva 8b7458a6c4 Merge pull request #191 from kevto/hotfix/allow-zero-byte-clientid
Allow zero byte client identifiers in the connect message.
2016-08-07 22:29:56 +02:00
Andrea Selva 3c614910e5 Merge pull request #192 from kevto/hotfix/anonymous-invalid-close-connection
Closing connection on non-zero return code in CONNACK packet.
2016-08-07 22:15:33 +02:00
Kevin Berendsen 807debb622 Terminating the connection if the client failed to receive a CONNACK packet with a non-zero return code. Stated in 3.2.2.3 of MQTT 3.1.1 specificaton.
Was checking the wrong channel to see if it was still open or not. The channel that the test was checking on was disconnected a few lines above.
2016-08-07 13:34:06 +02:00
Kevin Berendsen bc6525e431 MQTT3.1.3-6 stated that the client can connect without giving up an client identifier. However, the broker should generate one for the client id as of the client gave the identifier to broker. The client will now disconnect if the client hasn't given up an identifier with clean session set to 0. Done this regarding issue #190
NettyChannelAssertions class has been modified so you could add a message to the assertion.

Unit tests have been added to test the modified processConnect() method.

The server can allow zero byte client identifiers through moquette configuration.
2016-08-07 13:17:41 +02:00
andsel 32b6b9b1da Minor, renamed SimpleMessaging to ProtocolProcessorBootstrapper 2016-07-22 13:32:25 +02:00
andsel 8cc588d766 Simplyfied creation of HazelcastMsg from InterceptPublishMessage 2016-07-22 13:19:16 +02:00
andsel 29fd6d03b9 Minor refact in HZ configuration 2016-07-22 13:08:48 +02:00
andsel 81100e13b4 Switched to HZ 3.5.4 2016-07-22 12:43:12 +02:00
Andrea Selva 3085ee54d8 Merge pull request #189 from andsel/mackristof-feat/cluster
Mackristof feat/cluster
2016-07-22 12:13:16 +02:00
andsel fedd2965cc Fixed Hazelcast itnegration tests, removing unusefull thread sleeps, but more important permitting the co existence of 2 Brokers in the same JVM 2016-07-22 12:09:10 +02:00
andsel 7886bf7103 Merge branch 'feat/cluster' of https://github.com/mackristof/moquette into mackristof-feat/cluster 2016-07-21 16:17:15 +02:00
Andrea Selva 6a4aa28489 Merge pull request #188 from kevto/hotfix/client-session-subscribe
One param less in ClientSession subscribe method
2016-07-18 21:40:09 +02:00
kevto 486b4fe8ba Moved the overrideSubscription test from SubscriptionsStoreTest to a new test case named ClientSession. Removed a parameter in ClientSession.subscribe method. topicFilter param had no use but for logging purposes. 2016-07-17 14:24:19 +02:00
Andrea Selva 3d2e69cc21 Merge pull request #187 from iodb/master
add/remove InterceptHandlers with server running
2016-07-10 11:22:44 +02:00
IODBEEC1 ed9d91e527 add/remove InterceptHandlers with server running 2016-07-09 09:09:57 +02:00
andsel 1ef2a4fd3c Minor change, remove a redundant ClientID param from verifyToActivate method 2016-07-02 12:30:19 +02:00
mackristof 2dd18c2b70 fix(cluster): change HazelcastMsg payload to byte[] 2016-06-28 22:07:54 +02:00
mackristof eec4dc1779 feat(cluster): add default clustering feature 2016-06-28 17:27:35 +02:00
Andrea Selva 8fceb20a9e Merge pull request #185 from bemisguided/master
Add clientID to the IAuthenticator interface
2016-06-28 13:08:22 +02:00
Martin Crawford d622adb4ef Add clientID parameter to the IAuthenticator interface (breaks compatibility). 2016-06-26 10:01:15 -04:00
andsel 693a9a454f Fixed bug, missed insertion into flight zone of QOS1 messages 2016-06-18 12:21:21 +02:00
andsel 0c4f7fa393 Refactored the part of move from inFlight to second stage rel ack, this driven to missed notification to the interceptors 2016-06-16 23:01:48 +02:00
andsel d5399995c3 Regenerated some keystore used in tests with commands described in ServerIntegrationSSLClientAuthTest.java 2016-05-29 21:31:49 +02:00
andsel e41e55f5aa Added the 'disabled' keyword in config to disable a listener on a port 2016-05-18 00:11:19 +02:00
chris-lumigrow 04303eda75 changes order of m_properties assignment in Constructors such that the 'assignDefaults' data is NOT overwritten by the incoming values 2016-05-18 00:11:18 +02:00
chris-lumigrow 4bf2f60f42 commit failing test for ClasspathConfig's null pointer issue 175 2016-05-18 00:11:18 +02:00
chris-lumigrow b5b16b5dff allows empty string as well as null to force not listen on port, also allows turn off of nonSSL MQTT listener 2016-05-18 00:11:18 +02:00
andsel 5f003ccb05 MOved conenct method into the test support class Client 2016-05-18 00:11:18 +02:00
Andrea Selva d396edad12 Merge pull request #178 from mackristof/master
Authentication on DB storage
2016-05-16 22:23:00 +02:00
mackristof 4bcecd5aa3 Added integration of DBAuthenticator & integration test with H2 DB 2016-05-13 16:43:08 +02:00
mackristof cad1165071 Added DBAuthenticator & Test with H2 DB 2016-05-12 15:47:49 +02:00
Andrea Selva d24f14a8f2 Merge pull request #173 from windbender/master
Collect CSV list into constant, provide better logging on disabled SSL
2016-05-04 13:38:44 +02:00
chris-lumigrow 9fec341589 fix CSV list bug, collect CSV list into constant, provide better logging on disabled SSL 2016-05-03 18:55:17 -07:00
andsel dbe9c7bcaa Added integration test to check firing of will message (issue #171) 2016-05-02 20:48:18 +02:00
andsel 5029da8763 Removed WebSocket port from default configuration, end moved defaults config from ConfigParser to Config container. Fixes isse #150 2016-04-25 11:52:07 +02:00
andsel ae734ded8e Fixed ProtocolProcessor with bad merged code 2016-03-23 23:24:54 +01:00
andsel ed6ad315d1 Fixed merge 2016-03-23 23:13:01 +01:00
Dee Eldredge 1e7f6d98e7 Based on feedback, renamed messageConsumed -> messageAcknowledged. 2016-03-23 23:11:09 +01:00
Dee Eldredge 1b77e43b61 Added topic to consumed message. 2016-03-23 23:10:45 +01:00
Dee Eldredge 7dab8a367f Added username to all messages. From a consumer perspective the username is more useful than a clientID which is often autogenerated. 2016-03-23 23:10:24 +01:00
Dee Eldredge f44283d5f0 Added onMessageConsumed logic.
Related to:  https://github.com/andsel/moquette/issues/156
2016-03-23 23:09:16 +01:00
Andrea Selva 0b883d1f9a Update README.md 2016-03-23 22:48:50 +01:00
Andrea Selva 48031dd6da Update README.md 2016-03-23 22:47:37 +01:00
Andrea Selva f32c8f5fe6 Minor change, moved upstairs the Google group ref 2016-03-23 22:46:27 +01:00
andsel 9b75a6a0a9 Fixed failing test 2016-03-06 20:02:10 +01:00
andsel cd908f7e44 Added memory queue to before pushing to Netty, first step to have a persistent queue per channel 2016-03-06 19:50:47 +01:00
andsel 4e8f72a34b Moved test to use a test client callback that queue up all received messages 2016-03-06 19:50:47 +01:00
andsel 6cadaebb0c Minor, rewritten test to user Paho instead of fusesource mqtt client 2016-03-06 19:50:47 +01:00
andsel efbfab7914 Minor, moved tests from ServerIntegrationFuseTest to ServerIntegrationPahoTest to limit the usage of fusesource mqtt client 2016-03-06 19:50:47 +01:00
andsel 7bb02d9a2a Defined attribute for package to OSS Sonatype, and to GPG sign the artifacts 2016-03-06 19:50:47 +01:00
Andrea Selva 1604c71c33 Merge pull request #149 from konradmichael/clientAuth
Enables client authentification for SSL
2016-02-29 13:35:34 +01:00
Michael Konrad f5a3d57afd Enables client authentification for SSL
Client authentification can be set as with the SSL Properties to
require the client certificate to be signed by the server.
Added jUnit test and test certificates
2016-02-17 12:02:52 +01:00
Andrea Selva 368100f77c Merge pull request #148 from redsolo/master
Unable to find org.eclipse.paho.client.mqttv3 dependency
2016-02-06 10:51:40 +01:00
Erik Ramfelt 04f6878696 Unable to find org.eclipse.paho.client.mqttv3 dependency
Somehow I cant find the org.eclipse.paho.client.mqttv3 1.0.1 artifact on
the net. If I updated to 1.0.2, then I could package everything.
2016-02-04 09:39:33 +01:00
andsel 62c5985a34 Fixed merged dep 2016-02-03 23:31:58 +01:00
andsel 91505c9350 Fixed dependency 2016-02-03 23:28:38 +01:00
andsel 5487303095 Merged parser_commons into netty_parser 2016-02-03 23:20:15 +01:00
andsel 5c7e2b357f Fixed missed clean session for ClientSession, issue #145 2016-02-02 22:39:11 +01:00
andsel d36de24349 Minor, modified access to fields of SubscribeMessage.Couple 2016-01-30 17:35:28 +01:00
andsel a19af18a61 Moved read authorization check from publish phase to subscribe 2016-01-30 17:22:17 +01:00
andsel 69c1219f2b Minor added source and javadoc jars creations 2016-01-30 11:54:17 +01:00
andsel 8c14efb7d8 Added integration test to check issue #142 2016-01-30 11:46:06 +01:00
andsel 25b6413be1 Minor, removed unused map in MapDBMessagesStore 2016-01-30 11:05:03 +01:00
andsel dfa75e145f Fixed bug #143 avoid publication try to disconnected clients 2016-01-25 22:21:38 +01:00
andsel 43f7223a15 Minor refactory, renamed var names from session to channel 2016-01-24 19:21:24 +01:00
andsel 3be2667844 Minor refact, moved Channel's attributesKey accessible by utils methods 2016-01-24 19:21:24 +01:00
andsel 43371d3068 Minor refact, moved commons Channel attributes constants from NettyChannel to NettyUtils 2016-01-24 19:21:24 +01:00
andsel aa94d47148 Minor change, removed commented code 2016-01-24 19:21:24 +01:00
andsel 7b1db3e1db Refactoring, dropped unuseful ServerChannel abstraction in favor on Netty's Channel 2016-01-24 19:21:24 +01:00
andsel beb556c73c First clean of Moquette's channel abstraction to user Netty's one 2016-01-24 19:21:24 +01:00
andsel c7e82497dd Updated version path to download the artifact 2016-01-21 22:47:15 +01:00
andsel ff93fcdc9c Changed BinTray name from org.dna.mqtt to io.moquette to let the artifacts be pushed on JCenter 2016-01-21 22:44:36 +01:00
andsel 5b6d0ced6e Bumped dev cycle for 0.9-SNAPSHOT 2016-01-17 13:32:14 +01:00
andsel a44d6b09a8 Bumped release 0.8 2016-01-17 13:04:45 +01:00
andsel 4c1f36cf67 MOved the method nextClientID from IMessagesStore to the ISessionsStore because it's session related 2016-01-17 13:00:36 +01:00
andsel 5daf1362cc Rollback issue #130 because the remove from the inflight is done by MapDBSessionsStore.inFlightAck 2016-01-17 12:29:55 +01:00
andsel cf252da519 Minor change, added loggin for testing ProtocolDecodingServer 2016-01-03 17:29:44 +01:00
andsel 5f83465529 Removed a queue per client of inFlightIds (never cleaned) in favor of single atomic generator, fixes issue #130 2016-01-02 16:43:12 +01:00
andsel 9c8e96df16 Minor change 2016-01-01 17:22:09 +01:00
andsel 163858e47b Fixed bug in deletion of valid conn descriptor once different clients with same ID connects (issues #116 and #124) 2015-12-27 13:19:16 +01:00
Andrea Selva 571eaa1378 Merge pull request #135 from stannislin/master
Change the executing name of class in moquette.sh
2015-12-22 16:40:32 +01:00
Stannis Lin 4a2b25e5cc Change the executing name of class from `Server to io.moquette.server` in moquette.bat 2015-12-22 22:22:35 +08:00
Stannis Lin 71d811c031 Change the executing name of class from Server to io.moquette.server.Server in moquette.sh 2015-12-22 12:04:29 +08:00
andsel 8e891da49f Removed client active/not active state from persistence (issue #118) 2015-12-19 18:01:54 +01:00
andsel 4f65a59324 Minor change, upgraded mqtt-client from Fuse to 1.12 2015-12-19 17:58:27 +01:00
andsel 446c846572 Exposed the a Server.start method to injiect IAuthenticator and IAuthorizator to be embedded (fix issue #114) 2015-12-13 17:01:23 +01:00
andsel f44518ff27 Moved security SPI related interfaces into dedicated package 2015-12-13 16:42:04 +01:00
andsel 51627ea2f6 Added ISslContextCreator method argument to Server.startServer to use embedded SSL certificates (fix issue #115) 2015-12-13 16:36:47 +01:00
andsel b280089225 Minor changes, fixed a type in method name 2015-12-13 14:08:56 +01:00
andsel db66f19109 Added sleep in integration tests to let MQTT clients finish it's job when we need a serial behaviour 2015-12-08 19:46:43 +01:00
andsel 6cb67eb6c8 Fixed integration tests for internal publish 2015-12-08 19:27:47 +01:00
andsel 16a5556fa3 Added internal publish once the broker is embedded in hosting applications 2015-12-08 18:12:00 +01:00
andsel 6805cf89ee Minor change, just renames 2015-12-08 15:15:51 +01:00
andsel 8c88567c78 Minor change, moved const definition from Constants inside parser-commons to BrokerConstants inside broker project 2015-12-08 14:04:35 +01:00
andsel f41f7dafb9 Added sample publish InterceptHandler implementation to EmbeddedLauncher (#104 publish listner part) 2015-12-08 12:07:03 +01:00
andsel 5a1cd97b71 Removed clean session flag from subscription and moved in the correct place (ClientSession) 2015-12-06 19:55:04 +01:00
andsel 80569d5dfe Minor change, added a factory method for ClientTopicCouple built from Subscription 2015-12-06 19:31:36 +01:00
andsel 585bf7523e Minor chane, fixed integration scripts for many connections 2015-12-06 19:04:26 +01:00
andsel 9ce9a6597f Architechtural refactory, moved subscription out of tree and into db store 2015-12-06 11:43:29 +01:00
andsel 490c6a763d Adapted issue #79 integration tests scripts to be used for #119 2015-12-01 23:20:51 +01:00
andsel 7325c8e7bc Minor, cleaned imports 2015-12-01 23:00:42 +01:00
andsel 1cc1807aec Removed excessive dump trees, lowered to trace level 2015-12-01 23:00:23 +01:00
andsel 810d8a1af8 Removed TreeNode's parent reference to avoid maintaning a reference that could keep live big trees (solves #119 and #126) 2015-12-01 22:59:38 +01:00
andsel e3b6391653 Added 'autosave_interval' fix issue #97 2015-11-22 16:56:40 +01:00
andsel 72f628888e Minor change 2015-11-20 21:36:52 +01:00
andsel 371c740321 Moved project package from org.eclipse.moquette to io.moquette 2015-11-20 21:30:59 +01:00
andsel f438ef7f49 Separated ISessionsStore and IMessagesStore Memory implementations 2015-11-19 00:16:18 +01:00
andsel 892eecfa2b Separated ISessionsStore and IMessagesStore MapDB implementations 2015-11-19 00:15:43 +01:00
andsel 9f9d01ec58 Changed retained persistence to use the global message store and guids, instead of duplicate msg contents 2015-11-18 22:25:14 +01:00
andsel faf1abb896 Cleanup of unused classes 2015-11-17 21:47:04 +01:00
andsel fdf5b03983 Removed no more used methods 2015-11-16 23:53:10 +01:00
andsel 9236def453 Used the message store for QoS2 messages 2015-11-16 23:45:47 +01:00
andsel dbf86c9408 Minor change, removed commented code 2015-11-15 13:27:35 +01:00
andsel 7fb9198373 Fixed missed store/load of guid for StoredPublishEvent 2015-11-15 13:21:28 +01:00
andsel 02b23ef926 Fixed bad client session load on republish 2015-11-15 12:55:30 +01:00
andsel 2cd6077287 Fixed packetId missed cleanup 2015-11-15 12:54:30 +01:00
andsel 191a94e19d First refactoring using the concept of ClientSession also for publish 2015-11-15 11:16:18 +01:00
andsel ce1618cb52 Minor changes, refactored ConnectionDescriptor to be an immutable object 2015-11-10 22:24:35 +01:00
andsel 608a72d3ac Minor change, removed unused reference 2015-11-08 18:42:03 +01:00
andsel 19dac6e32b Refactored the disconenct and clean of session to use new ClientSession 2015-11-08 18:42:03 +01:00
andsel 635c87389d Refactored ProtocolProcessor.processUnsubscribe to use the ClientSession concept instead of direct access to map storage 2015-11-08 18:42:03 +01:00
andsel 9a18739a7f Refactored ProtocolProcessor.processSubscribe to use the ClientSession concept instead of directe access to map storage concepts 2015-11-08 18:42:03 +01:00
andsel c793ded63e Introduced 'fat' ClientSession class responsible to model the concept of an MQTT client session 2015-11-08 18:42:03 +01:00
Andrea Selva 0b5c95ee57 Merge pull request #121 from sboorlagadda/ISSUE-120
deleted the file in teardown
2015-10-27 22:55:46 +01:00
Sai Boorlagadda 874141e13b deleted the file in teardown 2015-10-26 23:28:41 -07:00
andsel 165a0aebd5 Removed unusefull SubscriptionsStore.clearAllSubscriptions used only in tests 2015-10-17 21:08:06 +02:00
andsel 1d25839f53 Refactory, moved SubscriptionStore related method directly in the subscriptioStore from ProtocolProcessro 2015-10-17 20:43:53 +02:00
andsel a7aba651b8 Fixed bug #108, remove of clientID for a stolen session the new session get immediately removed 2015-10-17 18:52:04 +02:00
andsel c96ce9d37e Minor, used project.version where possibile to simplify the poms 2015-10-17 13:18:05 +02:00
Andrea Selva afd710fccc Merge pull request #117 from wagnerluis1982/master
Set maven POM version as constant (fix issue #112)
2015-10-17 13:05:35 +02:00
Wagner Macedo 770b93d275 Set maven POM version as constant (fix issue #112) 2015-10-16 09:56:32 -03:00
andsel 85872eec19 Changed SubscriptionsStore overall tree (ones based on clientID) operations to copy all the tree 2015-10-10 19:16:30 +02:00
andsel ef9af6edae Minor change, removed unused method 2015-10-10 16:18:25 +02:00
andsel b35eb9ec81 Removed back ringbuffer 2015-10-05 21:25:30 +02:00
andsel 54c68a61c0 Added timeout check during shutdown of MapDB storage 2015-09-30 22:12:36 +02:00
andsel 6ab413de68 Fixed server shutdown, it doesn't flushed the MapDB to disk 2015-09-30 21:41:55 +02:00
andsel 7fb9d2d55a Removed commented code 2015-09-29 22:29:25 +02:00
andsel f45c0a76e1 Changed the subscription tree to work as persistent tree 2015-09-29 22:29:25 +02:00
andsel 46f9a38056 Removed frot ringbuffer (old isolation from Netty's thread and single protocol processor thread) 2015-09-29 22:29:24 +02:00
andsel b7169271ac Moved test of MapDBPersistenceStore into the test unit 2015-09-29 22:07:45 +02:00
andsel 9effc1edb5 Minor change 2015-09-29 21:44:35 +02:00
andsel a697e77e6c Minor change 2015-09-29 21:41:58 +02:00
andsel db6d296c20 Minor change 2015-09-29 21:39:32 +02:00
andsel 3e37df1275 Renamed addInFlight and cleanInFlight to be related to temp messages, not really relate to in-flight 2015-09-29 21:19:11 +02:00
Andrea Selva 76bdd00a18 Merge pull request #107 from kazvictor/Server-Shutdown-Test-and-Fix
Stopping the persistence commit scheduler in MapDBPersistentStore when it is closed
2015-09-29 21:08:58 +02:00
Victor Kazakov a9404bdf31 Stopping the persistence scheduler in MapDBPersistentStore when it is closed. Adding a test to make sure all threads get stopped when the broker is stopped. 2015-09-25 11:39:24 -07:00
andsel cc4b3715c5 Minor change, avoid to remove and add to the Netty's pipeline the MoquetteIdleTimoutHandler 2015-09-24 12:05:50 +02:00
andsel ea2daa688f Merge branch 'master' of github.com:andsel/moquette 2015-09-24 11:31:20 +02:00
Andrea Selva 4e32988661 Merge pull request #106 from kazvictor/QOSType_encode_decode_fixes
Fixing QOSType encoding and decoding of FAILURE qos (0x80).
2015-09-24 11:30:45 +02:00
Victor Kazakov 767e2ba4b7 Fixing QOSType encoding and decoding of FAILURE qos (0x80). This was causing bug with decoding a SubAck with failure qos type. See Appendix B: MQTT-3.9.3-2 2015-09-23 16:30:40 -07:00
andsel 5e397ea6d9 Minor change, just changed log level in PublishDecoder 2015-09-23 17:05:48 +02:00
andsel ca99a00ac2 Minor, fixed a shutdown exception 2015-09-23 12:22:00 +02:00
andsel 33bc23b4e1 Added null check to fix issue #93 2015-09-22 15:55:52 +02:00
andsel 67087a6a7e Minor changes 2015-09-22 15:52:12 +02:00
andsel fae4685082 Added subprotocol specs for MQTT over WebSocket (fix issue #90) 2015-09-22 15:47:34 +02:00
andsel f7466fd968 Added check to avoid creation of LostConnectionEvents for not yet completed connects (fix issue #88) 2015-09-22 15:29:23 +02:00
Andrea Selva 56f122b8b9 Merge pull request #103 from runafter/issue-91
Fix multiple client connection using SSL issue #91
2015-09-22 11:35:27 +02:00
runafter 709f6d7c4a Fix multiple client using SSL issue #91 2015-09-22 13:34:18 +09:00
andsel 573bf273ff Published old committed on local branch changes (fix for issue #79) 2015-09-20 14:27:06 +02:00
andsel 6e1524817e Fixed ugly empty session storage, avoid fake NullObject empty subscription subscription 2015-09-20 14:10:28 +02:00
andsel f1e2aff331 Minor, splitted ProtocolProcessorTest into 2 sub TestSuites 2015-09-20 11:31:59 +02:00
andsel e68a485e16 Minor added check fake issue #87 2015-09-19 19:58:05 +02:00
andsel e08cf95135 Changed willMessage and password in CONNECT message from String to byte[] (fix issue #94 and #95) 2015-09-16 23:25:15 +02:00
andsel 9a7ec7fd62 Minor change, just aligned ChangeLog 2015-09-16 22:57:28 +02:00
andsel 05446ddf1a Minor change, just added MapDB groovy toy script 2015-09-16 22:21:15 +02:00
Andrea Selva de642bf3e6 Merge pull request #89 from kazvictor/PubRelEncodeFix
PubRelEncoder to encode following MQTT specification
2015-08-25 22:14:51 +02:00
Victor Kazakov fc1ac5973f Adding unit test to check that PubRelEncoder encodes PubRel message flag to match what is in the MQTT specification (both 3.1.1 and 3.1). See Appendix B: MQTT-3.6.1-1 2015-08-25 09:26:51 -07:00
Victor Kazakov d8e432b4cf Fixing PubRelEncoder to encode PubRel message flag to match what is in the MQTT specification http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html#_Toc398718054 2015-08-24 15:10:56 -07:00
andrea d8875dd8b9 Moved config part in its separate package 2015-08-22 15:40:55 +02:00
andrea 560559fad2 Abstracted configuration part to use filesystem or classpath files 2015-08-22 15:35:11 +02:00
andrea b6554eb0ac Added simple main class to test embedding of Broker 2015-08-18 23:59:45 +02:00
andrea fdbee3a21f Added shutdown sequence of the disruptor used in the output part (from ProtocolProcessor down to the cable) 2015-08-18 23:54:24 +02:00
Andrea Selva 28b7529516 Merge pull request #85 from wagnerluis1982/master
Encapsulating every intercept data
2015-08-18 18:09:33 +02:00
Wagner Macedo 96c63b5e6f Encapsulating every intercept data
- Removed UnmodifiableConnectMessage and UnmodifiablePublishMessage
  classes.
2015-08-17 17:54:08 -03:00
andrea 89790291a5 Minor change, updated Netty and MapDB versions 2015-08-10 23:23:43 +02:00
andrea bafcca4c58 Added checking of valid topicFilter format in unsubscribe 2015-08-10 23:07:47 +02:00
andrea 74aaf603e2 Fixed issue #69 2015-08-09 12:16:58 +02:00
andrea c3224c2a5b Minor change, updated copyright to 2012-2015 2015-08-08 19:36:14 +02:00
andrea 68ac417f65 From cloning of Publish and Connect messages to unmodifiable copies 2015-08-08 19:26:27 +02:00
andrea 0c114d3dab Minor changed, fixed typo in method name (ProcotolVersion to ProtocolVersion) 2015-08-08 19:03:27 +02:00
andrea ccc5ceb3b9 Switched from cloning of ConnectMessage to unmodifiable with copy construtor 2015-08-08 19:02:48 +02:00
andrea dc55ff4078 Removed never used and unsufull no-op interceptor, forced usage of BrokerInterceptor, changed BrokerInterceptor to work on a list of InterceptHandler 2015-08-08 18:37:32 +02:00
andrea 9daff2b738 Removed unsufull classes and moved out of internal broker structures the firing of interceptor events 2015-08-08 11:29:58 +02:00
Andrea Selva f876ae49ad Merge pull request #76 from wagnerluis1982/master
Accepted but ha to be reworked on the master
2015-08-08 09:56:36 +02:00
Andrea Selva b644d560d8 Minor change, fix issue #74 2015-08-03 18:05:25 +02:00
Wagner Macedo 8a3fa2956c Added unit tests for interceptor 2015-08-02 12:40:15 -03:00
Wagner Macedo 67ed07549e Makes interceptor notify handler asynchronously 2015-08-02 12:40:11 -03:00
Wagner Macedo 58f6191a8e Assure intercept methods to not change the message
This was done by cloning.
2015-08-02 09:34:12 -03:00
Wagner Macedo 66ce5b6e0e Enabling ability for interception of broker events 2015-08-02 09:34:11 -03:00
andrea 5bfc73fafb Minor changes 2015-08-01 16:45:28 +02:00
andrea 8b48a82968 Fix bug in bad validation of topic names and topic filters, they should be at least 1 char wide (issue #67) 2015-08-01 16:13:24 +02:00
andrea fd1df47fec Fixed issue #65 2015-08-01 11:59:00 +02:00
andrea 14f14e20df Minor, added authorizator and autheticator class variables in the config used in distribution 2015-07-23 19:56:48 +02:00
andrea 4a7c90e5bc Minor, added null check on user and password in FileAuthenticator 2015-07-23 19:26:38 +02:00
andrea 90cf8eabd8 Minor, added Luca Capra as contributor 2015-07-23 16:25:02 +02:00
andrea e690f97c8d Bumped dev cycle for version 0.8 2015-07-23 16:22:34 +02:00
Andrea Selva 5860a5a027 Merge pull request #72 from muka/patch_auth
Added authorizator and authenticator class load in config
2015-07-23 16:21:04 +02:00
Luca Capra 5a362aa8f9 Merge tag '0.7' into patch_auth
Version 0.7 MapDB migration
2015-07-23 15:54:14 +02:00
Luca Capra 9e7f2b76f7 fix getInstance label typo 2015-07-23 15:52:56 +02:00
andrea f0a8346ef4 Bumped verision 0.7 2015-07-08 19:54:29 +02:00
Andrea Selva a1fb2115cd Merge pull request #64 from salmanebah/fix-window-moquette-script
Updated the windows script
2015-07-08 19:16:59 +02:00
Salmane Bah 0423dd32c4 Updated the windows script
- Set the log4j properties file
- Remove the jar filename  to the classpath switch
2015-07-08 01:50:00 +02:00
Luca Capra ea98ccb8f1 add classloader tests 2015-07-06 18:35:31 +02:00
Luca Capra 44f51e5e60 allow to load class instance with getInstance 2015-07-06 18:18:56 +02:00
Luca Capra f4ec180d85 added config options for authorizator_class and authenticator_class 2015-07-06 16:37:42 +02:00
andrea 4663fa507b Introduced WSS to fix issue #8 2015-06-30 22:44:22 +02:00
andrea f2410f962b Extracted SSLHandler initialization into separate method 2015-06-30 22:15:32 +02:00
andrea ac2eb6dce0 Fixed bad qos publish, issue #56 2015-06-28 19:53:22 +02:00
andrea b8af814940 Changed Subscription equals to use also cleanSession flag in equality check 2015-06-28 16:26:10 +02:00
andrea 5416a87149 Anticipated credentials check before dropping an already connected clientID 2015-06-28 15:31:21 +02:00
andrea 7dece38b57 Fixed multiple publish notification for overlapping subscriptions (fix issue #52) 2015-06-23 23:23:38 +02:00
andrea 336c452ef3 Added remove of subscribed topic during processing of UNSUBSCRIBE message (fix issue #50) 2015-06-21 17:49:39 +02:00
andrea 78b3f1faf8 Minor change, removed redundant parameter in method addNewSubscription of session storage 2015-06-21 16:37:44 +02:00
andrea 932d2fb4cb Fixed issue #49, duplication of subscription with different QoS 2015-06-21 15:55:39 +02:00
andrea 3deb903f3c Minor change, modified dumpTree to graphicaly show a tree 2015-06-21 15:36:41 +02:00
andrea 867d78b650 Fixed issue #43, not clean handlng of bad formatted topic filters during subscrion 2015-06-20 18:27:43 +02:00
andrea c4ebd75008 Minor change, moved method argument from exploded arguments to carrier object 2015-06-20 15:52:00 +02:00
andrea 92a76c9de1 Fixed issue #38, autoboxing of a nullable Integer given a default to 0 assignment 2015-06-20 12:17:50 +02:00
andrea d20940f110 Minor fixed badly double inserted "metrics" handler in Netty pipeline 2015-06-16 23:21:49 +02:00
andrea a3f06f7e33 Reenabled the logging of bytes moved 2015-06-16 23:08:26 +02:00
andrea 5f73cded22 Fixed issue #41 memory leak on metrics collectors 2015-06-16 22:43:55 +02:00
andrea e699d5ff2b Fixed issue #40 2015-06-07 17:57:42 +02:00
andrea 3f4a5586de Fixed mem leak due to caching of object without hasCode (NettyChannelContext 2015-06-07 17:47:50 +02:00
andrea 3ceabfabdd Fixed issue #42 rollbacked to MapDB 1.0.7 2015-06-03 23:30:53 +02:00
andrea 47d1f94a13 Added self contained client benchmarker usgin fuse, measure the complete roudtrip 2015-06-03 22:35:28 +02:00
andrea 0602325974 Added simple handler to test the codec speed 2015-06-02 16:48:27 +02:00
andrea 1eb47dec6a Minor fix for Paho perf groovy scripts 2015-06-02 16:37:01 +02:00
andrea d1a8a79525 Added integration script to reproduce issue 42 2015-05-27 23:05:52 +02:00
andrea 53aa74b493 Minor change, extracted some commonly used code 2015-05-26 23:11:55 +02:00
andrea 78eddadac4 Added user substitution during ACL pattern mathing 2015-05-26 22:51:16 +02:00
andrea db4b7ca192 Added trivial implementation of ACL patterns 2015-05-26 22:40:34 +02:00
andrea 092e30a552 Minro change, added global to user specific cascading 2015-05-26 00:09:27 +02:00
andrea 059fd89b69 Implemented the part of parsing and accessing the user specific ACLs 2015-05-26 00:06:22 +02:00
andrea 9a97b00750 Minor change, removed unusefull ParseExeptions logging 2015-05-20 23:38:15 +02:00
andrea 443bf7ab85 Refactored the collection of all ACL in a specialized collector class instead of using plain List 2015-05-20 23:34:42 +02:00
andrea 1aecc3d922 Added check on read access (in publish) 2015-05-20 21:53:13 +02:00
andrea 75e67dcbd0 Minor change, documented the content of config files 2015-05-20 21:28:36 +02:00
andrea 302f3a96ce Fixed the configuration of acl_file path 2015-05-19 23:15:44 +02:00
andrea 8b8058dc47 Added basic initial implementation for ACL validation 2015-05-19 22:07:57 +02:00
andrea f3ed351c61 Added plumbing code to use the concept of Authorizator into publish semantic 2015-05-17 16:24:37 +02:00
andrea 6d3fbc4591 Implementd basic parsing fro ACL lines 2015-05-17 12:34:46 +02:00
andrea 6519691e79 Added script to measure connetion timing 2015-05-17 09:58:18 +02:00
andrea c150a89d13 Rollbacked to MapDB 2.0-alpha2 because the 2.0.0-SNAPSHOT thorws an exception 2015-05-16 16:34:32 +02:00
andrea 29bdd2f8fb Modified the format of password_file.conf now accept only sha256 hashed passwords 2015-05-13 22:25:05 +02:00
andrea 1cd044ffda Minor change 2015-05-11 19:45:04 +02:00
andrea a4ef26b1a6 Doc change, added ref to Atomize Spin 2015-05-11 19:36:43 +02:00
andrea dcaf90e394 Minor change in main project page 2015-05-03 13:18:59 +02:00
andrea e6098e0cf5 Minor change in main project page 2015-05-03 13:18:26 +02:00
andrea 8822a7baf7 Minor change in main project page 2015-05-03 13:12:02 +02:00
andrea d60b4d7363 Changed netty acceptor to find JavaKeyStore from external path (no classpath as before) 2015-05-03 13:04:43 +02:00
andrea 9dc457125e Minor, removed old unused expeiment for hawtdb groovy scripts 2015-04-28 23:15:59 +02:00
andrea 9d8e9df44e Added handling of allow_anonymous, fix issue #34 2015-04-25 19:49:41 +02:00
andrea 966e6399f6 Fixes for bad home user MapDB file creation 2015-04-25 16:34:25 +02:00
andrea bd1b804026 Minor change, just added Changelog description 2015-04-08 23:25:52 +02:00
andrea 87ee72ad9d Fixed #30 bad remove of mapdb file in integration test (ServerRestartIntegrationTest) 2015-04-08 23:19:23 +02:00
andrea 546117253d Moved the default store path to project home (only for tests) 2015-04-07 07:51:44 +02:00
andrea 1a2dade994 Fixed issue #25 due to bad packetID generation 2015-04-07 04:29:00 +02:00
andrea 8574299ed5 Fixed typo 2015-04-07 04:28:13 +02:00
andrea 647773cd2e Fixed netty buff memory leak bug #27 2015-04-07 00:22:01 +02:00
andrea fc046003d5 Removed OSGi support 2015-04-06 23:37:29 +02:00
andrea d850262e6c Last OSGi try 2015-04-06 23:31:47 +02:00
andrea 94e0e3778e Minor change update link to mqtt spy 2015-03-18 22:04:15 +01:00
andrea 331244ddd2 Removed long Constants name refs 2015-03-15 16:45:11 +01:00
andrea 0aad3cbbf3 Fixed constructor of ConfigurationParser to do mergind of provided properties 2015-03-14 17:31:11 +01:00
swarwick 34c668714a More tests fixed up after path and constants changes 2015-03-14 16:38:45 +01:00
swarwick 9fa667845e Fixing the tests 2015-03-14 16:38:37 +01:00
swarwick d388ae01bb Allow the mapdb store to remain in memory
If the store path supplied is null or empty we will create an in memory
mapdb store.
2015-03-14 16:38:30 +01:00
swarwick d215ba8c8b More checking of the delete of the mapdb file
Lots of issues I guess with deleting temp files for mapdb
2015-03-14 16:38:22 +01:00
swarwick a661a94d80 Missed hard coded name replacement 2015-03-14 16:38:05 +01:00
swarwick d7f2493811 Moving hard coded strings to constants
Adding more hard coded strings to the constants.  I am not really sure
why there are 2 constants java classes either.
2015-03-14 16:37:55 +01:00
swarwick 6cc5b0edb9 Update for default configs
Update to allow for default config properties if some are not specified
with the start server and properties passed in.  Updated the tests to
match and also moved a few more things into the Constants.java file.
2015-03-14 16:37:41 +01:00
swarwick 8aad95525c Removing file that shouldn't be committed. 2015-03-14 16:37:30 +01:00
swarwick ea4b5b057a Updated tests for persistent store change
Updated tests for persistent store change
2015-03-14 16:37:19 +01:00
swarwick 8943445efa Update to allow for persistent store to be specified in the config
Update to allow for persistent store to be specified in the config
2015-03-14 16:37:09 +01:00
andrea 4195b0d62c Fixed issue #16 publish of will message with qos > 0 2015-03-11 23:22:57 +01:00
andrea a94cfe92d3 Merge branch 'master' of github.com:andsel/moquette 2015-03-11 07:35:28 +01:00
andrea 85d8f1c0d5 Updated changelog 2015-03-11 07:35:01 +01:00
andrea bf3fcadd28 Removed unused abstract key sessions (it's bound to Netty at the end, so hasn't sense 2015-03-10 23:06:37 +01:00
andrea 715937a394 Implemented packetID generation for QoS 1,2 2015-03-10 22:52:08 +01:00
Andrea Selva 262b712d5b Fixed readme 2015-03-07 19:23:04 +01:00
Andrea Selva a8d60ab38a Added travi CI link in main page 2015-03-07 19:16:40 +01:00
andrea d271e23f99 Added travis CI config 2015-03-07 19:11:42 +01:00
Andrea Selva 65e3e77a59 Merge pull request #17 from maggu2810/osgi-bundle-pax-provision-cfg
OSGi bundle pax provision cfg
2015-03-07 18:52:57 +01:00
Markus Rathgeb c5b3bb05dd fix typo in readme
Signed-off-by: Markus Rathgeb <[email protected]>
2015-03-06 14:19:20 +01:00
Markus Rathgeb 5267ef0fb7 add sun.misc.Unsafe
Auto-properties start: file:bundles/slf4j.log4j12_1.7.5.jar (org.osgi.framework.BundleException: Fragment bundles can not be started.)
log4j:WARN No appenders could be found for logger (org.eclipse.moquette.server.Server).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
ERROR: Bundle org.eclipse.moquette.bundle [5] Error starting file:bundles/org.eclipse.moquette.bundle_0.7.0.SNAPSHOT.jar (org.osgi.framework.BundleException: Activator start error in bundle org.eclipse.moquette.bundle [5].)
java.lang.NoClassDefFoundError: sun/misc/Unsafe
        at com.lmax.disruptor.util.Util$1.run(Util.java:102)
        at com.lmax.disruptor.util.Util$1.run(Util.java:99)
        at java.security.AccessController.doPrivileged(Native Method)
        at com.lmax.disruptor.util.Util.<clinit>(Util.java:108)
        at com.lmax.disruptor.RingBufferFields.<clinit>(RingBuffer.java:34)
        at com.lmax.disruptor.dsl.Disruptor.<init>(Disruptor.java:70)
        at org.eclipse.moquette.spi.impl.SimpleMessaging.init(SimpleMessaging.java:88)
        at org.eclipse.moquette.server.Server.startServer(Server.java:90)
        at org.eclipse.moquette.server.Server.startServer(Server.java:76)
        at org.eclipse.moquette.server.Server.startServer(Server.java:59)
        at org.eclipse.moquette.bundle.Activator.start(Activator.java:37)
        at org.apache.felix.framework.util.SecureAction.startActivator(SecureAction.java:645)
        at org.apache.felix.framework.Felix.activateBundle(Felix.java:2154)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2072)
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1299)
        at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: sun.misc.Unsafe not found by org.eclipse.moquette.bundle [5]
        at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1556)
        at org.apache.felix.framework.BundleWiringImpl.access$400(BundleWiringImpl.java:77)
        at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1993)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        ... 17 more
ERROR: Bundle com.lmax.disruptor [6] Error starting file:bundles/com.lmax.disruptor_3.3.0.jar (org.osgi.framework.BundleException: Unresolved constraint in bundle com.lmax.disruptor [6]: Unable to resolve 6.0: missing requirement [6.0] osgi.wiring.package; (osgi.wiring.package=sun.misc))
org.osgi.framework.BundleException: Unresolved constraint in bundle com.lmax.disruptor [6]: Unable to resolve 6.0: missing requirement [6.0] osgi.wiring.package; (osgi.wiring.package=sun.misc)
        at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4002)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2045)
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1299)
        at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
        at java.lang.Thread.run(Thread.java:745)

Signed-off-by: Markus Rathgeb <[email protected]>
2015-03-06 14:15:14 +01:00
Markus Rathgeb 56eea049e6 wrap HdrHistogram
Wrap non-bundle artifact HdrHistogram so the moquette bundle could be
resolved.

[WARNING] Skipping non-bundle artifact org.hdrhistogram:HdrHistogram:jar:2.1.4:compile

Auto-properties start: file:bundles/slf4j.log4j12_1.7.5.jar (org.osgi.framework.BundleException: Fragment bundles can not be started.)
ERROR: Bundle org.eclipse.moquette.bundle [4] Error starting file:bundles/org.eclipse.moquette.bundle_0.7.0.SNAPSHOT.jar (org.osgi.framework.BundleException: Unresolved constraint in bundle org.eclipse.moquette.bundle [4]: Unable to resolve 4.0: missing requirement [4.0] osgi.wiring.package; (osgi.wiring.package=org.HdrHistogram))
org.osgi.framework.BundleException: Unresolved constraint in bundle org.eclipse.moquette.bundle [4]: Unable to resolve 4.0: missing requirement [4.0] osgi.wiring.package; (osgi.wiring.package=org.HdrHistogram)
        at org.apache.felix.framework.Felix.resolveBundleRevision(Felix.java:4002)
        at org.apache.felix.framework.Felix.startBundle(Felix.java:2045)
        at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1299)
        at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304)
        at java.lang.Thread.run(Thread.java:745)

Signed-off-by: Markus Rathgeb <[email protected]>
2015-03-06 14:11:35 +01:00
andrea 4baf407657 Integrated by hand part of the pull request #13 'fix pom and clean deprecated class and add bat file to windows' 2015-03-04 22:40:56 +01:00
andrea 443682f24f Removed Kaazing plugin from integration tests phase 2015-03-04 00:31:48 +01:00
andrea f5f9b793c4 Removed old kaazinf robot sripts 2015-03-04 00:27:21 +01:00
andrea 528c263930 Moved integration raw test from Kaazing robot to an internal Java DSL 2015-03-04 00:26:09 +01:00
andrea 50e1005b29 Added moquette.processor.benchmark sys property to enable/disable processor performance recording 2015-03-02 23:11:09 +01:00
andrea 24845e6077 Parameteried the topics used for benchmark tests 2015-02-24 23:38:05 +01:00
andrea 3ea9e3f6e0 Added measuer of latency to server side 2015-02-24 23:38:05 +01:00
andrea fb39e64417 Added TCP_NODELAY to the socket 2015-02-24 23:38:04 +01:00
Andrea Selva 08506617b6 Update README.md 2015-02-21 21:56:09 +01:00
andrea f6b044ebdd Added speed control and latency measure to fuse_asynch_publisher/subscriber 2015-02-14 18:28:36 +01:00
andrea 1bc2fe75ed Reworked mqtt asynch client to be more imperatve and less 'nested functional' 2015-02-11 23:09:47 +01:00
andrea bbe1acb143 Fixed issue #15 defined repositories into parent pom 2015-02-10 22:24:31 +01:00
andrea 4b836b441c Marked oss snapshot repo as a snapshot repository 2015-02-10 22:03:12 +01:00
andrea c30e053ab1 Removed moved files 2015-02-05 21:09:42 +01:00
andrea fffa9afbfa Divided integration and benchmark scripts 2015-02-05 21:08:18 +01:00
andrea d731fddaf1 Added mqtt pub/sub synch(Paho lib) Future based and Callback/continuation based (Fuse lib) 2015-02-05 20:57:56 +01:00
andrea 9562f56a3a Fixed issue #3, avoid hung up of broker on any message processing error 2015-01-31 12:19:50 +01:00
andrea 97dd07e1d4 Minor change, updated ChangeLog 2015-01-31 10:52:22 +01:00
andrea 155daa0335 Change null check to empty lists 2015-01-30 00:53:51 +01:00
andrea aa79fe3145 Renamed session store management methods 2015-01-30 00:28:01 +01:00
andrea b56d94d0bf Fixed failing test 2015-01-30 00:27:44 +01:00
andrea a3d505dd97 Switched MapDB to version 2.0.0-SNAPSHOT 2015-01-27 00:15:44 +01:00
andrea 72c8445693 Fixed issue #12, missed remove of already published retained messages 2015-01-27 00:15:14 +01:00
andrea 5fe9554965 Added test scripts to check issue4, but issue4 is not reproducible 2015-01-24 12:16:28 +01:00
andrea 95107e1624 Relaxed constraint on clientID length #11 2015-01-15 20:52:40 +01:00
andrea 1e63652d32 Fixed serious bug of client descriptor drop on connectionLost event for antoher client with sae ID (bug notified on email by ZhiPeng Yang) 2015-01-10 17:53:31 +01:00
andrea 6bde0e7c9b Added script to simulate a bug (double client decription removal) 2014-12-28 18:08:43 +01:00
andrea 405f800908 Minor change, removed debug println 2014-12-28 17:27:49 +01:00
andrea 62edfd19f9 Fixed issue #5 and websocket implementation in general 2014-12-28 17:13:55 +01:00
andrea 176ebf9409 Minor change, lowered a log 2014-12-06 18:41:49 +01:00
andrea 275d63de18 Fixes #2, due to bad path of ConnectionIT during renaming from org.dna mqtt to org.eclipse.moquette 2014-12-06 18:38:53 +01:00
andrea 11c6c89c7d Minor change, relayout xml 2014-12-06 18:01:19 +01:00
andrea e6dba99aa8 Minor change, improved logging info 2014-12-06 17:56:54 +01:00
andrea 5b4a45a487 Updated to java 1.7 2014-12-02 22:21:28 +01:00
andrea aac84677e4 Parameterized source and target platform 2014-12-02 22:18:24 +01:00
andrea 99148db07a Upgraded Netty from 4.0.8 to 4.0.24 2014-12-02 22:07:55 +01:00
andrea e4e5e7c681 Parameterized pom's netty version 2014-12-02 21:57:00 +01:00
andrea 263b59dae2 Added a script to check 2 clients with same ID fails 2014-11-30 18:28:37 +01:00
andrea 5dbd71b565 Added README.md 2014-10-05 15:33:47 +02:00
andrea 7bcd437664 Changed package from org.dna.mqtt to orga.eclipse.moquette 2014-10-05 13:22:30 +02:00
andrea a599c38537 Moved parser_commons submodule to org.eclipse.moquette 2014-10-05 10:53:45 +02:00
selva.andre af79794300 Fixed conflict on .gitignore 2014-09-30 22:22:28 +02:00
Andrea Selva acc1167fe1 Initial commit 2014-09-30 22:14:41 +02:00
selva.andre fa5b953010 Minor changes on log defs 2014-09-30 21:13:43 +02:00
selva.andre 10081b3880 Minor change, wiped subscription also from persistent store 2014-09-19 22:49:23 +02:00
selva.andre d944a0e7c6 Minor change, renamed splitTopic to parseTopic 2014-09-19 22:30:35 +02:00
selva.andre 0940ac84a0 Fixed bug due to not persisted subscriptions into the store, on restart there were ghosts subscriptions that produced errors 2014-09-19 22:00:51 +02:00
selva.andre cc45b87ebe Added some benchmariking utils: benchmarker produces tiing csv and an html using Highcharts JS lib 2014-09-19 21:51:24 +02:00
selva.andre 1a66bc4645 Minor change, added log line end fixed typo in methond name 2014-09-19 14:25:40 +02:00
selva.andre 359556909c Minor change 2014-09-19 13:31:25 +02:00
selva.andre 2e4e060b46 Upgraded from disruptor 2.7.3 to 3.3.0 2014-09-18 22:18:19 +02:00
selva.andre c624c040b7 Fixed conflict 2014-09-09 17:39:35 +02:00
selva.andre bae1987704 Minor chaneg 2014-09-09 17:37:18 +02:00
selva.andre 04f6150399 Applied patch 0001-Moved-spec-tests-to-different-package.-Added-spec-te.patch from Prashant for Will behaviour 2014-09-09 17:35:35 +02:00
selva.andre fe66116dde Added basic connect-close TCK from Prashant Khanal 2014-09-09 17:35:35 +02:00
selva.andre 24282fe0ab Minor, removed MapDB shutdown hook because it's responsibility of the Moquette shutdown hook to teardown the storage 2014-09-09 17:06:13 +02:00
selva.andre 26ff8070ac Removed db.close because already handled by MapDB shutdown handler 2014-09-09 16:04:04 +02:00
selva.andre 7040567aab Removed unused dependency to HawtDB after switch to MapDB 2014-09-09 11:42:39 +02:00
selva.andre d581db23f8 Fixed error in NoClassFoundError due to bad import into MapDB, switched to 1.1.0 (include DynamicImport OSGi 2014-09-08 15:47:07 +02:00
selva.andre b792e3695d Applied patch 0001-Moved-spec-tests-to-different-package.-Added-spec-te.patch from Prashant for Will behaviour 2014-09-07 10:32:12 +02:00
selva.andre 27c5d75871 Added basic connect-close TCK from Prashant Khanal 2014-09-02 23:11:05 +02:00
selva.andre f3e6b71e09 Dropped HawtDB persistence 2014-09-01 22:06:27 +02:00
selva.andre c83baae50d Switched from HawtDB to MapDP store 2014-08-30 15:59:59 +02:00
selva.andre 7314dbee73 Extracted common Netty bootstrapping method 2014-08-26 21:55:42 +02:00
selva.andre 2be0fd84fe Fixed bug once the moquette.conf provided doesn't provide a valid path to pasword.conf 2014-08-23 12:34:31 +02:00
selva.andre 0593b19d51 Minor chaneg 2014-08-23 12:29:06 +02:00
selva.andre c0ebbb0b44 Removed redundant if in protocol dispatching 2014-08-18 23:32:07 +02:00
selva.andre 81a084984b Minor change, changed layout of dispather if-else 2014-08-18 23:29:43 +02:00
selva.andre 5c5e640b04 Removed some unusefull PublishEvent constructros 2014-08-18 23:27:08 +02:00
selva.andre aee85a7cb0 Added also PublishMessage to be dispatched by annotation based dispather 2014-08-18 23:02:56 +02:00
selva.andre 98f04859ab Canged behaviour of AnnotationSupport to throw an exception on message not matched 2014-08-18 22:57:53 +02:00
selva.andre 4fe7b6754c Minor change, renamed test class (fixed typo) 2014-08-18 22:51:04 +02:00
selva.andre 43d19e02a6 Renamed AnnotationHelper to AnnotationSupport 2014-08-17 22:03:25 +02:00
selva.andre 2c90b1386d Removed an used DisconnectEvent 2014-08-17 17:11:26 +02:00
selva.andre b737cde803 Removed unused InitEvent 2014-08-17 17:09:18 +02:00
selva.andre 9f3d7baf05 Removed unused InitEvent 2014-08-17 17:01:08 +02:00
selva.andre 0e729b51bf Used annotation dispatch for some protocol messages 2014-08-17 16:58:51 +02:00
selva.andre 5446d25528 Used annotation dispatch for some protocol messages 2014-08-17 16:47:14 +02:00
selva.andre 43677cca89 Introduced annotation based dispacth to invoke ProtocolProcessor methods 2014-08-17 16:14:35 +02:00
selva.andre dbe270539b Minor change, cleaned imports 2014-08-17 16:11:28 +02:00
selva.andre e724a1ee9e Minor change, redefined signature of DemuxDecoder.decode to use the more gneric AttributeMap instead of ChannelHandlerContext 2014-08-03 11:24:14 +02:00
selva.andre 161421a00c Renamed subscribe and unsubscribe topic to topicFilter 2014-08-03 11:17:25 +02:00
selva.andre e40e19cd1e Spreaded the validation of fixed flags 2014-08-03 11:09:21 +02:00
selva.andre b7fc92e343 Changed DemuxDecoder.decodeCommonHeader to also validate the fixed part flags (if needed) 2014-08-03 11:01:09 +02:00
selva.andre f343ce3094 Adapted Unsuscribe decoder to be 3.1.1 compliant 2014-08-02 12:34:03 +02:00
selva.andre d1b54eb8cf Updated SUBSCRIBE to be 3.1.1 compliant 2014-08-02 12:30:28 +02:00
selva.andre 53f87a6e4f Added check of reserved flags for PUBREL message 2014-08-02 11:37:31 +02:00
selva.andre b0ef8114b6 Minor change, simulated a client connect to avoid staktrace in log 2014-08-02 10:56:34 +02:00
selva.andre d4ef81a7ef Updated publish message parto to conform to 3.1.1 specification 2014-07-31 00:08:41 +02:00
selva.andre 482ffe0c65 Introduced handling of sessionPresent flag in ConnAck msg, now on every conenction is created an empty subscription in ISessionStore 2014-07-27 12:20:53 +02:00
selva.andre bd3c4cb40c Added clinetID=empty then reject connect rule 2014-07-26 18:22:32 +02:00
selva.andre 8185811188 Added check for MQTT 3.1.1 reserved flag == 0 on connect flags 2014-07-23 00:08:59 +02:00
selva.andre 465d7123f6 Introduced version, reserved flags untouchable and double connect 3.1.1 proto version 2014-07-21 23:14:26 +02:00
selva.andre d4e13e8543 Minor change, added groovy script to check embeddability of the broker 2014-07-13 12:26:58 +02:00
selva.andre c79f2d0a96 Started 0.7 development cycle 2014-07-12 18:22:54 +02:00
selva.andre aa24b19d2b Bumped release 0.6 2014-07-12 16:30:13 +02:00
selva.andre 883ac4590c Minor change 2014-07-12 13:43:33 +02:00
selva.andre 6e360bef93 Moved slf4j-log4j deps out of broker (and also log4j.properties) to let the broker easyli embedded using container provided logging confgiuration 2014-07-12 13:41:47 +02:00
selva.andre 5df734fcf7 Added various start methods to pass the configuration at startup 2014-07-12 12:56:38 +02:00
selva.andre bfb2b56599 Minor change 2014-06-30 23:37:28 +02:00
selva.andre 08e12494ec Separated the interfaces to persist messages from the one that persists sessions 2014-06-30 23:36:00 +02:00
selva.andre d8ec0f2e94 Minor change, just renamed method 2014-06-30 23:00:39 +02:00
selva.andre 665e60a646 Extracted the persistence dependency from SubscriptionsStore 2014-06-30 22:59:37 +02:00
selva.andre 90cfe1ac23 Extracted the persistence dependency from SubscriptionsStore 2014-06-30 22:46:11 +02:00
selva.andre 1afa7601c9 Minor change, renamed topic to topicFilter in Subscription 2014-06-30 22:21:52 +02:00
selva.andre d22ec1cf7a Minor change, remove unused (and without any meaning) session parameter from PublishEvent 2014-06-15 18:47:17 +02:00
selva.andre fdc7f6237e Added memory store for will messages and implemented the correct publishing 2014-06-15 18:16:24 +02:00
selva.andre 17d2ab505c Minor change updated the FuseSource's mqtt client lib 2014-06-15 18:06:00 +02:00
selva.andre 666cc29d47 Added copyright and license notice to every source file, added about.html and license.htl 2014-06-11 23:40:19 +02:00
selva.andre 0bbe719f16 Updated the pax-runner to fix issue #40 2014-06-11 23:00:05 +02:00
selva.andre c23147185e Minor added netty http codec also to OSGi bundle 2014-06-08 12:24:31 +02:00
selva.andre 4191ea8a18 Updated ChangeLog file 2014-05-23 00:07:02 +02:00
selva.andre 4358c4e64c Minor, added WebSocket port check to enable WebSocket binding 2014-05-23 00:03:22 +02:00
selva.andre 97a2bd3854 Recreated bad deleted test file fixture 2014-05-23 00:02:45 +02:00
selva.andre 7bba7c321b Removed unsued file 2014-05-22 23:57:32 +02:00
selva.andre e6353b5d44 Reverted log4.j to producation config 2014-05-22 23:56:13 +02:00
selva.andre 775acff846 Merge branch 'ssl_integration' 2014-05-22 23:54:20 +02:00
selva.andre cd771f1432 Added implementation of SSL support (ssl+mqtt or mqtts) 2014-05-22 23:53:58 +02:00
selva.andre 80eb7d7cea Added a test to check issue #44 2014-05-20 23:03:24 +02:00
selva.andre b8a15d9a5d Minor fixes, added some javadoc and corrected a method name typo 2014-05-20 23:02:52 +02:00
selva.andre 6755723e0b Added websocket connector 2014-05-18 12:02:18 +02:00
selva.andre 17548eeff7 Fixed Issue #43 2014-05-09 16:33:58 +02:00
selva.andre 8a7db6ee15 Fixed issue #42 2014-05-05 22:53:42 +02:00
selva.andre 4d2bf38a66 Bumped 0.6-SNAPSHOT development cycle 2014-04-02 18:51:12 +02:00
selva.andre 01bbbd3bda Fixed error in path recognizing for config dir in distribution 2014-03-05 23:37:54 +01:00
selva.andre 1897154cfd Bumped release 0.5 2014-03-05 19:37:43 +01:00
selva.andre b5eb75d607 Merge branch 'basic_authentication_23' 2014-03-02 18:17:21 +01:00
andrea 1ad5acef7c Added loading of user identities form password_file, Fix issue #23 2014-03-02 18:16:50 +01:00
andrea b0d9bc2d6a Simplified buffer allocation for SubAck encoding part 2014-02-23 12:58:11 +01:00
andrea 16ccfeda1d Added release operation on all ByteBuf used in encoding part 2014-02-23 12:46:37 +01:00
selva.andre 37ec617801 Minor chnages to groovy test scripts 2014-02-22 20:14:43 +01:00
andrea 6be1f99cf9 Changed the policy to publish the buffer of a message, now use a duplicate, instead of shared rewinded. Fix #30 2014-02-22 20:13:44 +01:00
andrea 3ba72cbad5 Fixed buggy test, missed to rewind a buffer before submitting. 2014-02-22 20:04:28 +01:00
andrea 9624815c82 Introduction of mosquitto.conf parser, fix #29 2014-02-22 11:14:56 +01:00
selva.andre bbb9924c4b Minor change, added missed file 2014-02-15 15:30:31 +01:00
selva.andre 6da45fc139 Exposed logging configuration in the distribution archive 2014-02-15 15:18:54 +01:00
andrea e73a2a8b9e Fix issue #30 rewind of message ByteBuffer 2014-02-15 12:06:03 +01:00
selva.andre 5163b094ae Minor change, added some filters to gitignore 2014-02-15 12:05:15 +01:00
selva.andre 4ff6b2aeae Fixed issue '30 to avoid publish of QoS0 to not Active clean session subscriptions 2014-02-08 20:01:59 +01:00
andrea 56a178c786 Removed all "provided" marked deps 2014-02-08 19:40:19 +01:00
andrea c9dbf58737 Removed a silencer try..catch 2014-02-08 19:39:19 +01:00
selva.andre 95d276f7a0 Splitted the OSGi bundle creation from the broker jar to let the broker be executable also outside of a container 2014-02-08 17:59:36 +01:00
selva.andre a1448597af Added patch for fix issue #33 2014-02-06 21:44:03 +01:00
selva.andre 99e161b05b Fixed issue #31 missed to insert the hawtdb jar 2014-02-04 22:33:02 +01:00
selva.andre 03ea5d4e3b Merge branch 'make_osgi_compliant' 2014-01-28 23:33:48 +01:00
selva.andre adf41722f5 Updated ChangeLog 2014-01-28 23:31:21 +01:00
selva.andre c69ff17048 Moved the bundle creation of the broker from outside bundle module to inside broker module 2014-01-28 23:24:19 +01:00
andrea ccbfe04988 Added the OSGi exporting of packages used by HawDB module (serialized classes of subscription and PublishEvent) 2014-01-28 23:04:07 +01:00
selva.andre b027e49f33 Redefined the broker OSGi dependencies 2014-01-26 13:03:34 +01:00
selva.andre 39f048910a Added basic definition of osgi descriptor to the broker 2014-01-26 12:09:37 +01:00
selva.andre df6140c282 Merge branch 'assembly_with_scripts' 2014-01-18 12:05:44 +01:00
selva.andre 7790ab1b53 Introduced maven assembly plugin to produce the distribution package 2014-01-18 12:05:11 +01:00
selva.andre ba155feb6c Minor change to ChangLlog 2014-01-18 10:19:00 +01:00
andrea 1d9e2ccad2 Added test client to check and fix issue #21 2014-01-11 13:19:12 +01:00
andrea a7619e889b Changed write to writeAndFlush fix issue #20 2014-01-10 10:45:56 +01:00
andrea a6118b2942 Minor change, stripped the number of netty libs used in deploy (no need to carry netty-all) 2014-01-10 10:41:03 +01:00
andrea 373b9657c2 Minor change, extracted TestCallback halper for Paho notifications 2013-12-27 18:05:25 +01:00
andrea 06c0eb3e87 Minor change, test class rename 2013-12-27 17:55:10 +01:00
andrea 3f0724d1dc Changed SUBACK response to accept all requested QoS on SUBSCRIBE request 2013-12-27 16:45:25 +01:00
andrea a6f94cb0a3 Prepared next development iteration 2013-12-26 21:33:59 +01:00
andrea 5be2fa9cfe Releaased version 0.4 2013-12-26 21:28:39 +01:00
andrea 224bcc1721 Modified SimpleMessaging.close() to be synchronous and avoid thread synch problems in stop/start cycle used in integration tests. Fix issue #19 2013-12-26 21:10:34 +01:00
andrea 33705c52e0 * Added integration test to check QoS downgrading for messages delivered to registered subscribers
* Fixed a deouble delivery of messages in case of QoS2 publish
2013-12-26 18:32:41 +01:00
andrea 2c28c0b771 Extracted persistence interface for subscriptions from IStorageService 2013-12-26 15:28:07 +01:00
andrea ffeb794303 Enabled overriding of subscription from same client to same topic with different QoS, the latest wins 2013-12-26 15:07:15 +01:00
andrea 06eb509bc3 Minor change, added coverage plugin 2013-12-26 12:53:48 +01:00
andrea 6428d39ce5 Forced some delay in server shutdown to give time the ProcessorEvent to shutdown correclty (it's asynch operation) 2013-12-26 12:49:38 +01:00
andrea 7695c14598 Minor change added logging 2013-12-26 12:48:35 +01:00
andrea d259d7c5e7 Missed in 2 commits ago 2013-12-26 11:46:34 +01:00
andrea 42311b2c54 Minor change, condensed debug logging 2013-12-26 11:45:52 +01:00
andrea a020d83c8a Added a test to check the cleaning of server status in start/sop cycles (usually used in integration tests itself. 2013-12-26 11:43:53 +01:00
andrea 9639639420 Minor change, introduced a latch to fix threading problem in test unit 2013-12-26 10:59:09 +01:00
andrea d59f5b9473 Minor change, introduced a latch to fix threading problem in test unit 2013-12-22 17:41:13 +01:00
andrea 7e3b6a841f Fixed issue #18, bad pubblishing of QoS0 message to inactive ( not connected) clients 2013-12-22 17:27:43 +01:00
andrea ee3aab938a Minor change, augmented logging quality 2013-12-14 14:05:05 +01:00
andrea 43ce8d6372 Fixed a bug in store remove subscription that doesn't check the clientID but just the topic match 2013-12-14 14:03:49 +01:00
andrea 0ac76e3452 Minor change, redefined toString for ConnectionDescriptor 2013-12-14 12:33:38 +01:00
andrea a50cabc572 In test, moved publisher and subscriber from local variables to fields 2013-12-14 10:01:14 +01:00
andrea 072c4fef86 Fixed issue #16 2013-11-27 18:48:57 +01:00
andrea 4226f4134f Added management of PUBACK messages in return of re-publish messages (after a cleanSession = false rebooted client) to clean sequentially the already dispatched messages 2013-11-27 18:47:34 +01:00
andrea 6c3deb392d Re-added FuseSource MQTT client because simplify certain testing use cases 2013-11-27 18:45:56 +01:00
andrea e9adffec54 Minor, added ByteBuffer to string conversion debug Utils 2013-11-27 18:44:42 +01:00
andrea 3ce82c5150 Minor, removed unused import 2013-11-27 15:46:07 +01:00
andrea 233a466dd6 Fixed ghost error due to bad timing in the test 2013-11-27 11:21:04 +01:00
selva.andre 527e045c69 Merge the switch from byte[] to ByteBuffer 2013-11-27 11:01:16 +01:00
andrea bd3a1f6c4d Changed the use of string concatenation of String.format in favor of formatted logging methods 2013-11-27 10:43:08 +01:00
andrea 215b85c407 Added publisher and subscriber using mqtt-client lib from FuseSource 2013-11-26 18:46:54 +01:00
andrea f592db516f Fixed the switching from byte[] to ByteBuffer on server storage 2013-11-26 16:21:01 +01:00
andrea d9d2d13d0d Adapted Netty parser to use ByteBuffer instead of byte[] 2013-11-26 13:50:50 +01:00
andrea e9bb34898b Adapted Netty parser to use ByteBuffer instead of byte[] 2013-11-26 12:25:48 +01:00
selva.andre d596e41716 Merge branch 'master' into remove_content_copy 2013-11-25 18:58:26 +01:00
andrea 101a1060e7 Minor change, removed the logging of contents 2013-11-25 18:56:03 +01:00
andrea f649ebff24 Fixed issue #15, missed notification of publish due to bad re-activation on a nested topic tree. 2013-11-25 18:53:50 +01:00
andrea d4cc804624 Added handling of dirty connection close from client, without an DISCONNECT message 2013-11-25 18:51:35 +01:00
andrea 56ad66c04f Minor change, improved a bit logging messages quality 2013-11-25 17:13:39 +01:00
andrea 9a27304a9e Minor change, improved a bit logging messages quality 2013-11-25 12:17:31 +01:00
andrea a1b1417acb Initial try to remove buffer copies 2013-11-25 09:34:36 +01:00
selva.andre 9603310b4e Minor change, updated ChangeLog 2013-11-25 09:33:40 +01:00
andrea 056ab10121 Re-enabled commented tests 2013-11-24 14:44:23 +01:00
andrea 9cec0af484 Removed the Mina parser 2013-11-24 11:52:10 +01:00
andrea 1fa810362f Removed dependency on Mina IO framework 2013-11-24 11:51:15 +01:00
andrea 817ca8e176 Added output reactor to isolate the writing of messages 2013-11-14 16:43:03 +01:00
selva.andre 7a7c5cc53e Added script to test issue 9, publish of a QoS2 message 2013-11-07 11:55:23 +01:00
andrea 49d1b2c948 Added tests suite used by Roger Light to check SubscriptionStore.matchTopics 2013-11-06 13:37:23 +01:00
andrea 2c18ee92c7 Added tests suite used by Roger Light to check SubscriptionStore.matches 2013-11-06 12:35:10 +01:00
andrea 136b7e25c3 Set up for next development cycle (version 0.4) 2013-11-06 10:44:29 +01:00
selva.andre af8c0e3b9a Added Apache 2.0 license 2013-10-04 14:03:38 +02:00
selva.andre f4162c2868 Bumped 0.3 2013-09-23 12:26:37 +02:00
selva.andre 64e332f3d5 Added file appender and defined threshold for various appenders 2013-09-23 12:16:00 +02:00
selva.andre 7bcaadf6ee Added scripted use cases
Minor changes to logging
2013-09-23 11:46:48 +02:00
selva.andre 56faccd2fc Added the creation of broker assembly to the package phase 2013-09-20 20:00:02 +02:00
selva.andre 04478e77e1 Added Message and Bytes read/write metrics 2013-09-20 19:25:19 +02:00
selva.andre 1e83f3c035 Parametrized version number and bumped 0.3-SNAPSHOT 2013-09-20 11:19:17 +02:00
selva.andre 4e27ee638a Removed Fusesource mqtt client based test because the lib seems not working correctly (random cyclic reconnects) 2013-09-20 11:12:06 +02:00
selva.andre a6164f7464 Removed netty_parser/target from git commits 2013-09-19 20:15:50 +02:00
selva.andre 81b6516cac * Reimplemented the Fuse integration tests into Paho client lib
* Extracted common pom properties
2013-09-19 20:14:07 +02:00
selva.andre f09fcd6cd5 Minor fixes to typos 2013-09-19 20:11:52 +02:00
selva.andre 1dfc6ff77c Switched the default connector from MINA to Netty 2013-09-19 20:10:18 +02:00
selva.andre ecfe3e0936 Added default idle connection timeout in a ChannelPipeline 2013-09-19 20:09:46 +02:00
selva.andre 576704562e Minor code relayout 2013-09-19 12:22:06 +02:00
selva.andre 8f10f3ed15 Moved the clientIDs map (ConnectionDescriptors cache) from SimpleMessaging to ProtocolProcessor 2013-09-17 11:08:05 +02:00
selva.andre 3d3432762e Merge branch 'porting_mina_2_netty' 2013-09-15 17:19:04 +02:00
andrea ac5fb3c9ac Added Netty connection stuff for the I/O 2013-09-15 17:18:26 +02:00
andrea 63842088a4 Minor change, implemented trivial toString() 2013-09-15 16:17:03 +02:00
andrea 3ce369ab43 Fixed bug in the calculation of payload site in publish decoder due to bad startPos recording 2013-09-15 15:31:09 +02:00
andrea 6269330364 Minor change, reorganized imports 2013-09-14 15:06:44 +02:00
andrea 466e0946d6 Given public visibility to MQTT Endoer/Decoer constructors to be used from the broker 2013-09-14 15:06:19 +02:00
andrea 51f0ba7e1c Added message type to every message 2013-09-14 12:57:06 +02:00
andrea 30e165c8ce Separated all mina related stuff in classes to avoid main protocol loop to depend on mina related stuff 2013-09-13 12:44:53 +02:00
andrea 70befbcd77 Fixed version of parent pom 2013-09-13 11:50:11 +02:00
andrea 5382a9c467 Removed old unused client lib 2013-09-13 11:33:53 +02:00
andrea 8ade5f68aa Extracted front MINA connector 2013-09-13 10:24:04 +02:00
andrea 6fb4682d8b Added encode/decode for PubRel message 2013-09-12 17:14:21 +02:00
andrea 47bdb27261 Added encode/decode for PubRec message 2013-09-12 17:12:02 +02:00
andrea dcffda5c4f Added encode/decode for PubComp message 2013-09-12 17:08:20 +02:00
andrea fa8a12a6f2 Added encode/decode for UnsubAck message 2013-09-12 17:00:21 +02:00
andrea 3066cfdd04 Added encode/decode for PingResp message 2013-09-12 16:53:33 +02:00
andrea 3fa3705d55 Added encode/decode for PingReq message 2013-09-12 16:50:36 +02:00
andrea ef8f794b93 Added encode/decode for Disconnect message 2013-09-12 16:44:06 +02:00
andrea 52402536d9 Added encode/decode for Unsubscribe message 2013-09-12 16:28:51 +02:00
andrea daa637c557 Minor cleaned imports 2013-09-12 16:14:51 +02:00
andrea 58017f45a1 Minor cleaned imports 2013-09-12 16:01:40 +02:00
andrea 2c9858c261 Added encode/decode for SubAck message 2013-09-12 15:58:53 +02:00
andrea 9f2497e0f9 Minor cleaned imports 2013-09-12 15:17:42 +02:00
andrea c3f5a69d68 Added encode/decode for Subscribe message 2013-09-12 15:16:55 +02:00
andrea 1b1cc715be Added encode/decode for PubAck message 2013-09-12 14:45:04 +02:00
andrea facec04ac2 Minor cleaned imports 2013-09-12 14:30:25 +02:00
andrea 28b37f68ea Added encode/decode for Publish message 2013-09-12 12:38:31 +02:00
andrea 4dd633cef8 Minor cleaned imports 2013-09-12 12:11:10 +02:00
andrea 4335a566f1 Minor cleaned imports 2013-09-12 09:19:31 +02:00
andrea ecfc5e645a Minor cleaned imports 2013-09-11 17:54:47 +02:00
andrea 1baa16b8e3 Extracted a TestUtils method mockChannelHandler 2013-09-11 17:51:59 +02:00
andrea 93859d1a63 Added encode/decode for ConnAck message 2013-09-11 17:48:07 +02:00
andrea 22fe25da32 Introduced hierarchy for message encoders 2013-09-11 16:47:41 +02:00
andrea 6afaa46cf4 Moved PubCompMessage to protocol commons module 2013-09-11 16:33:16 +02:00
andrea 24e34278aa Introduced DemuxDecoder to root the hierarchy of all message decoders 2013-09-11 16:19:31 +02:00
andrea 103d772533 Minor changes 2013-09-11 15:44:15 +02:00
andrea 3f44eaee39 Added Connect encoder part 2013-09-11 15:42:00 +02:00
andrea 557c682a5e Ported all existing test for MINA ConnectDecoder to Netty's 2013-09-11 11:25:34 +02:00
andrea 2ee84797ba Introduced raw decoder for CONNECT messages 2013-09-11 11:06:53 +02:00
andrea 2886aa0bab Extracted common pojo messages definitions 2013-09-10 15:00:18 +02:00
andrea d9131b4b07 Added skeleton for Netty parser 2013-09-09 11:59:59 +02:00
andrea 23b4958592 Renamed parser to mina-parser 2013-09-09 11:04:43 +02:00
andrea 779a0a9d26 Minor fix, cleaned imports 2013-09-01 12:52:50 +02:00
selva.andre 13b211e813 Merge branch 'protocol_processor_extraction'
Splitted lmax messsaging part from protocol processing part
2013-08-30 19:23:08 +02:00
andrea 78daf36418 Minor fix, cleaned imports 2013-08-30 19:21:55 +02:00
andrea 0694f28f32 Simplified APIs 2013-08-30 19:21:11 +02:00
andrea 2c11cade06 Removed a ping pong beteen the ProtocolProcessor and SimpleMessaging, avoid call method, send Event, receive Event e callback a method into ProcotolProcessor 2013-08-30 19:05:09 +02:00
andrea ff0139d809 Changed some methods visibility 2013-08-30 18:55:11 +02:00
andrea 2b7858de7c Minor change, cleaned imports 2013-08-30 18:10:41 +02:00
andrea e579180abf Moved MemoryStorageService from test to src 2013-08-30 18:10:12 +02:00
andrea 635d37112e Renamed DummyStorageService to MemoryStorageService 2013-08-30 18:09:24 +02:00
andrea 63333b11ad Completed the memory implementation of DummyStorageService 2013-08-30 18:08:06 +02:00
andrea d2554788ea Added memory implementation of DummyStorageService for the subscriptions part 2013-08-30 17:40:56 +02:00
andrea 22269ccfb1 Removed empty test case 2013-08-30 17:06:48 +02:00
andrea fb7c137a11 Moved processSubscribe into ProtocolProcessor 2013-08-30 17:06:15 +02:00
andrea dd4ca33ed0 Moved processPublish from SimpleMessaging 2013-08-30 16:14:50 +02:00
andrea 90e2277490 Moved processUnsubscribe into ProtocolProcessor 2013-08-30 15:00:51 +02:00
andrea b3293a031f Moved processDisconnect into ProtocolProcessor 2013-08-30 14:53:57 +02:00
andrea 353b70d6c7 Moved processPubComp into ProtocolProcessor 2013-08-30 13:28:55 +02:00
andrea e74f6d5655 Moved processPubRec into ProtocolProcessor 2013-08-30 13:24:53 +02:00
andrea 7d0cb70584 Moved processPubRel and processPubComp into ProtocolProcessor 2013-08-30 13:23:06 +02:00
andrea 82e998e939 Created ProtocolProcessor and moved into it the processConnect from SimpleMessaging 2013-08-30 13:06:52 +02:00
andrea 49de06e500 Moved assertions to RuntimeError to let error emerge in runtime when assertions are disabled 2013-08-30 10:46:15 +02:00
selva.andre 55beac9386 Removed custom client side library 2013-08-28 22:41:07 +02:00
andrea 0cf31ae364 Moved testUnsubscribe_do_not_notify_anymore_same_session from custome API to Fuse's 2013-08-28 22:27:41 +02:00
andrea 693f498d05 Moved testUnsubscribe_do_not_notify_anymore_new_session from custome API to Fuse's 2013-08-28 22:24:50 +02:00
andrea f46cce493f Moved testRetain_maintainMessage_againstClientDestruction from custome API to Fuse's 2013-08-28 22:15:11 +02:00
andrea 8c04526c62 Moved testCleanSession_maintainClientSubscriptions_withServerRestart from custome API to Fuse's 2013-08-28 22:04:45 +02:00
andrea cdf76080c5 Moved testCleanSession_correctlyClientSubscriptions from custome API to Fuse's 2013-08-28 21:50:19 +02:00
andrea bc513dcba9 Moved testCleanSession_maintainClientSubscriptions_againstClientDestruction from custome API to Fuse's 2013-08-28 21:40:45 +02:00
andrea 016d7e8926 Moved testCleanSession_maintainClientSubscriptions from custome API to Fuse's 2013-08-28 20:14:55 +02:00
andrea 2cc1878cd6 Moved Fuse client source from asynch to sycnh API 2013-08-28 20:12:09 +02:00
andrea 81b4c3fb8d Missed in previous bump 2013-08-28 18:31:51 +02:00
andrea 76a889f160 Bumped version 0.2 2013-08-28 18:18:28 +02:00
andrea a8758b7f04 Fixed interdependency failure between SimpleMessagingTest and ServerIntegrationTest 2013-08-28 18:14:51 +02:00
andrea 2259c115c4 Introduced BFS utility method to be used to do a deep clean in subscriptions tree, and to implement an utility tree dump method 2013-08-28 18:14:09 +02:00
andrea 54af962ea3 Introduced practical toString method 2013-08-28 17:56:06 +02:00
andrea 53cb3dda73 Modified Server class to be embedded, fixes #10 and #11 2013-08-28 10:36:28 +02:00
andrea a010371a8b Removed unused method 2013-08-28 10:26:23 +02:00
andrea afcc20f483 Added unit test and fix for issue #12, due to bad topic in publish message after a late subscription and messages retained in DB. 2013-08-28 10:26:02 +02:00
andrea b1ee353ea8 Minor change, moved the test files into correct folders 2013-08-27 18:03:52 +02:00
andrea 4037a0c0b0 Minor change, minor readability improve 2013-08-27 16:24:11 +02:00
selva.andre 2cc474dd26 Merge branch 'master' of https://code.google.com/p/moquette-mqtt 2012-09-17 11:52:20 +02:00
andrea 9df2669839 Fixed issue 5, was due to bad read timeout management in IoSession.idle. 2012-09-17 11:29:13 +02:00
andrea ecea97f409 Fixed issue 4, bad calculation of remaining length in big PublishDecoder. 2012-09-16 17:22:13 +02:00
andrea 522a0ecb4a Fixed imports 2012-09-16 15:05:15 +02:00
selva.andre 74dfdc7702 Fixed typo 2012-09-12 00:28:25 +02:00
selva.andre 501c3fffe6 Merge branch 'split_in_other_modules' 2012-09-12 00:25:50 +02:00
selva.andre 34e5177da6 Extracted client module 2012-09-12 00:25:30 +02:00
selva.andre fe022cb19c Added broker/terget to gitignore 2012-09-12 00:14:34 +02:00
selva.andre ea62a684d0 Completed the exporting into broker module 2012-09-12 00:13:24 +02:00
selva.andre 3410f0f0ce First raw code move from parser to newly created broker module 2012-09-11 23:39:07 +02:00
selva.andre 48b0b95e58 Added idea IDE files to gitignore 2012-09-11 23:23:31 +02:00
selva.andre 633688f184 Implemented the QoS 2 sending part for the server plus a unit test 2012-09-11 23:20:32 +02:00
selva.andre b7c2585742 Fixed encoders and decoders declaration for the broker 2012-09-11 23:19:44 +02:00
selva.andre c4f186b3c8 Added rough implementation for QoS 2 publish 2012-09-10 23:30:40 +02:00
selva.andre 87a51cf4c2 Removed the CleanInFlight evente, because the clean is done once the Publish QoS 1 is just published 2012-09-10 21:56:00 +02:00
selva.andre db161599e9 Fixed imports 2012-09-09 21:52:54 +02:00
selva.andre de2937d4dd Renamed methods in SubscriptionStore, connect-> activate disconnect ->deactivate 2012-09-05 21:35:20 +02:00
selva.andre d9d58e498f Extracted private inner classes from SubscriptionStore to self contained classes 2012-09-05 21:30:13 +02:00
selva.andre 562c99b9ed Moved SubscriptionStore and its stuff in separate package 2012-09-05 21:26:53 +02:00
selva.andre 2f67532fdd Extracted part of setUp for some tests 2012-09-05 20:57:41 +02:00
selva.andre fd0c336600 Re-enabled ignored test, moved from ServerIntegrationTests 2012-09-05 20:50:56 +02:00
selva.andre 0e3e1bf80b Moved inner class StoredMessage from SimpleMsessaging to HawtDBStorageService 2012-09-05 20:12:26 +02:00
selva.andre ff5c60a608 Fixed a test 2012-09-05 20:01:10 +02:00
selva.andre 1dafa02f53 Fixed error in storage of QoS publish messages, before stored with current clientID and not matching subscription's clientID 2012-09-05 19:39:57 +02:00
selva.andre d1d7c9d9df Fixed log message 2012-09-05 19:37:51 +02:00
selva.andre 2cc30e6ce1 Minor change added log on method call 2012-09-05 19:34:14 +02:00
selva.andre fc223d0b0b Added connect method to re-activate client subscription on the tree 2012-09-05 19:32:42 +02:00
selva.andre 59c7a85355 Minor change, added toString 2012-09-05 19:30:23 +02:00
selva.andre 8fdec31c35 Added message type to string decoder helper method 2012-09-05 19:29:27 +02:00
selva.andre 481b8a5fff Added toString util method 2012-09-05 16:15:13 +02:00
selva.andre 626f12e619 Added brute force MINA testing client and server 2012-09-05 13:56:50 +02:00
selva.andre 37916f7cbe Merged the intergation test part that uses Fusesource MQTT client 2012-09-04 16:41:40 +02:00
selva.andre f00e5494fb Removed unused imports 2012-09-04 16:23:49 +02:00
selva.andre 8f3041fe56 Cleanedup MQTTHandler after the move of logic into the event loop 2012-09-04 16:23:11 +02:00
selva.andre 0e1a3cef6c Moved subscription logic inside the event loop 2012-09-04 16:20:53 +02:00
selva.andre 70ad0c0475 Removed no more used Unsubscribe event 2012-09-04 15:46:24 +02:00
selva.andre ddc835d1f3 Minor change, removed commented code added a comment 2012-09-04 15:44:29 +02:00
selva.andre d6f6892d37 Moved Unsubscribe message handling inside event loop 2012-09-04 15:42:37 +02:00
selva.andre 598efd26f3 Moved disconnect message handling inside event loop 2012-09-04 15:14:16 +02:00
selva.andre 342a6a6187 Moved publish message handling inside event loop 2012-09-04 14:57:56 +02:00
selva.andre bfc4193b76 First step in moving protocol message processing inside the event handler 2012-09-04 14:30:17 +02:00
selva.andre a52845a4c2 Parametrized the code for benchmark Producers 2012-09-04 13:58:33 +02:00
selva.andre e56662fbef Removed commented code 2012-09-04 10:25:08 +02:00
selva.andre 7d5e91afae Merge branch 'change_from_blocking_queue_to_disruptor' 2012-09-04 10:15:52 +02:00
selva.andre ab65cd250c Minor change on server statistics 2012-09-04 10:15:17 +02:00
selva.andre 588374646e Moved from List of persistent subscription to Set to avoid duplication 2012-09-03 22:08:47 +02:00
selva.andre 1337d8dd5f Removed commented code 2012-09-03 22:02:39 +02:00
selva.andre 9d0aaa0eb5 Renamed close method and event to more clear Stop 2012-09-03 21:59:00 +02:00
selva.andre 870eb12390 * Moved the initialization of SimpleMessaging into the event loop, with an InitEvent
* Modified SimpleMessaging to be a reusable singleton, with init and close methods
2012-09-03 21:52:52 +02:00
selva.andre a2c5c83a48 Silly change, fixed a typo on a comment 2012-09-03 18:17:44 +02:00
selva.andre babad2942a Simple change, added wait barrier in a test 2012-09-03 18:17:00 +02:00
selva.andre bddd8e0745 Moved testing for Connect from MQTTHandler to SimpleMessaging 2012-09-03 12:14:31 +02:00
selva.andre 41f11a14e3 Missed from prev commit 2012-09-02 17:03:04 +02:00
selva.andre cfa0e19205 Reoved blocking queue in favor of LMAX disruptor 2012-09-02 16:57:21 +02:00
selva.andre c69802ef91 Merge branch 'move_sessions_management_into_protocol_logic' 2012-09-02 16:54:51 +02:00
selva.andre 217e754de2 Moved IoSessions management into the event loop 2012-09-02 11:31:18 +02:00
selva.andre 21d6d5880c Minor change, reorganized imports 2012-09-01 17:05:58 +02:00
selva.andre 3c99be6d25 Merge branch 'storage_service_extraction' 2012-09-01 17:02:42 +02:00
selva.andre 8519b47dc2 Minor change, field renaming 2012-09-01 17:00:57 +02:00
selva.andre a5d28b67e9 Moved all HawtDB stuff into HawtDBStorageService 2012-09-01 17:00:22 +02:00
selva.andre ae8a2afb8b Moved Subscriptions storage from SubscriptionStore to StorageService 2012-09-01 16:55:19 +02:00
selva.andre 6f88060ffe Missed initialization in previous commit 2012-09-01 16:44:47 +02:00
selva.andre b092d15c12 Moved the fling messages part persistence into StorageService 2012-09-01 16:28:03 +02:00
selva.andre 2ed87b2c1a Moved the part to manage Pusblish messages persistence to StorageService 2012-09-01 16:18:09 +02:00
selva.andre 2f9c957310 Moved retained storage part into StorageService 2012-09-01 16:02:48 +02:00
selva.andre 2c2539e457 Removed refill method from IMessaging interface 2012-09-01 13:18:41 +02:00
selva.andre 25efc898a0 Finished to remove back notifier loop 2012-09-01 13:16:40 +02:00
selva.andre 9285691c62 Merge branch 'remove_the_back_notifier_loop' 2012-09-01 13:14:04 +02:00
selva.andre 9276ea8c98 Removed back notifier loop 2012-09-01 12:58:40 +02:00
selva.andre 42c04b074c Merge branch 'implements_support_for_qos1' 2012-09-01 12:33:27 +02:00
selva.andre e5fbf5c655 Added the storage of QoS1 messages for not clean sessions and the refire once the client reconnects 2012-09-01 12:33:06 +02:00
selva.andre 599afa76e6 Added the logic to de-activate subscriptions on client close 2012-09-01 11:44:07 +02:00
selva.andre 4ef628d0e6 Added active flag to Subscription 2012-09-01 11:41:57 +02:00
selva.andre 5644b8e048 Minor change corrected typos in comments 2012-09-01 11:17:24 +02:00
selva.andre ba7f5284cf Added cleanSession flag to Subscription class 2012-09-01 10:57:59 +02:00
selva.andre 3be2ccca8f Added IoSession attribute to PublishEvent to avoid looking up 2012-09-01 10:22:53 +02:00
selva.andre 04872e07f7 Extracted MQTT session constants into separate class 2012-09-01 10:10:48 +02:00
selva.andre c889a4ef45 Added groovy scripts to create a report for metrics measurments 2012-08-31 19:45:36 +02:00
selva.andre 65e34ddc40 Added QoS 1 pub ack to the server part 2012-08-31 19:23:53 +02:00
selva.andre cb95ecc7cb Added QoS 1 management to Client part 2012-08-31 18:04:31 +02:00
selva.andre 60a79ba9b7 Changed PublishMessage to be a able to handle the messages ID for QoS > 0 cases 2012-08-31 17:16:01 +02:00
selva.andre 585008e29d Fixed API used by test calls 2012-08-31 17:14:40 +02:00
selva.andre 376140cab8 Fixed API used by test calls 2012-08-31 17:07:49 +02:00
selva.andre 90259d4148 First handling of QoS 1 level publish 2012-08-31 16:56:46 +02:00
selva.andre 043b1b2095 Minor change 2012-08-30 18:59:37 +02:00
selva.andre 6ab4560887 Forced to use hawtdb 1.9 else it includes version 1.4 that's not API compliant 2012-08-30 18:53:49 +02:00
selva.andre 2b77aa1b54 Added first try to use Fuse source MQTT client in test units 2012-08-30 18:46:54 +02:00
selva.andre ecaf50a1a8 Added the close of metrics files 2012-08-30 17:06:10 +02:00
selva.andre 1b683328e0 Improved statistics information gathering 2012-08-30 12:39:40 +02:00
selva.andre 6888d37fb6 Removed duplication of log lines 2012-08-30 11:37:38 +02:00
selva.andre 824cc56802 Created a Consumer for non blocking IO in benchmarks 2012-08-30 10:45:01 +02:00
selva.andre 802d07c894 Merge branch 'seda_migration' 2012-08-29 22:35:58 +02:00
andrea 87791963b6 Defined constant for client's number of messages published 2012-08-29 21:46:47 +02:00
andrea 323811adb2 Added outbound event queue to be handled by Notifier stage 2012-08-29 21:20:36 +02:00
andrea bb3e8170d5 Added log 2012-08-29 14:40:37 +02:00
andrea f2220e664a Removed commented code from client 2012-08-28 11:42:34 +02:00
andrea a8773c3331 Fixed imports 2012-08-27 11:49:30 +02:00
andrea d34201d0d9 Fixed tests 2012-08-27 11:48:54 +02:00
andrea 739f63bc40 Changed SimpleMessaging to be event driven (Incoming requests) 2012-08-27 11:48:21 +02:00
andrea 56431a161e Minor change removed old commented code 2012-08-27 11:36:51 +02:00
andrea f0064357f5 Minor change added a log 2012-08-27 11:36:26 +02:00
andrea d2940741f8 Fixed a TU to wait an asych publish event 2012-08-27 11:35:42 +02:00
andrea 719b8f1894 Minor change, fixed imports 2012-08-26 13:40:14 +02:00
andrea ce7bf469f3 Minor change, fixed imports 2012-08-26 13:38:42 +02:00
andrea 758301149a Changed decodable message method to force loading the complete size of a message, before starting the real decode phase 2012-08-26 13:38:11 +02:00
andrea b5e673d209 Added consumer part for the benchmark 2012-08-26 13:16:25 +02:00
andrea 1ee08d4847 Minor change added debug log 2012-08-26 13:16:01 +02:00
[email protected] 57137da4bc Added MQTT benchmarking utiliy based on FuseSource MQTT client 2012-08-25 11:40:08 +02:00
andrea 61f0e261bf Forced the TCP closing on DISCONNECT message 2012-08-25 11:32:30 +02:00
andrea ed78372fd0 Defined the IANA MQTT defined port 2012-08-19 17:00:46 +02:00
[email protected] fcc37cc3d2 Added assembly configuration for unique jar creation 2012-08-19 16:36:00 +02:00
andrea d0677f1c44 Added unsubscribe handling to client lib 2012-08-19 12:25:02 +02:00
andrea 4122f1861b Added integration tests to check unsubscribe 2012-08-19 12:24:20 +02:00
andrea f691767fd5 Added unsubscribe management for server side 2012-08-19 12:17:30 +02:00
andrea 54e0b1520d Fixes for remaining length calculation for unsubscribe encoder 2012-08-19 12:16:44 +02:00
andrea 0fb5d8f7a0 Fixed calculation of remaining length bug in Unsubscribe encoder 2012-08-19 11:58:33 +02:00
andrea 34af828653 Refactored reusable code for QoS 1 sending 2012-08-18 17:59:06 +02:00
andrea 96f24bf8d4 Cleaned Client imports 2012-08-18 17:35:50 +02:00
andrea 0c084ec463 Removed commented code 2012-08-18 17:34:53 +02:00
andrea aef6991eb4 Modified client's subscribe to handle adhere to QoS 1 message type and handle retries 2012-08-18 17:33:30 +02:00
andrea 7b0ac3a373 Added trivial messageID generator on client side 2012-08-18 17:31:24 +02:00
andrea 02e9f8dadc Added groovy test script to check multi index 2012-08-18 12:01:13 +02:00
andrea 8cde7e24f2 Re-enabled commented tests 2012-08-18 11:59:31 +02:00
andrea 10e9d4ce37 Fixed serializability of StoredMessage for retained publish messages 2012-08-18 11:59:11 +02:00
selva.andre 2f9931eb6e Temp save 2012-08-15 10:11:22 +02:00
selva.andre e8efbfce42 Bug fix and test to check correct encoding of retain flag 2012-08-14 23:16:55 +02:00
selva.andre 6c8fa400d9 Big fix augment unit testing for retained cases 2012-08-14 22:55:25 +02:00
selva.andre af9fff2911 Added retained messages handling, storage on publish and re-firing (with flag correctly setted) on future subscribe 2012-08-14 22:54:43 +02:00
selva.andre d2a667ef9e Moved creation of messsaging index store from SubscriptionsStore up to SimpleMessaging, to be used also for retained messages 2012-08-14 22:52:53 +02:00
selva.andre 025b5c77ff Fixed implementation for HawtDB storage of subscriptions 2012-08-13 23:42:55 +02:00
selva.andre 389c906d8f Added raw implementation for subscriptions persistence 2012-08-10 23:24:59 +02:00
selva.andre 943a962bb9 Protected the shared variable that maintans binding between active clientID and related IoSessions with lock 2012-08-10 21:32:20 +02:00
selva.andre 8a21aae034 Fixed the clean session to true coming from a previous clean session false 2012-08-10 21:15:26 +02:00
selva.andre bc6189c65e Fixed the clean session once a new connect with an old client ID is re-established 2012-08-10 20:57:36 +02:00
selva.andre 1fcd0290d5 Added integration tests to check cleanSession flag functioning 2012-08-10 19:36:47 +02:00
selva.andre 2dbf10d905 Added to the server's the handling of PING messages 2012-08-10 19:36:14 +02:00
selva.andre 732031a624 Added to the server's MQTTHandler the handling of PINGREQ message 2012-08-10 19:35:43 +02:00
selva.andre 8e3f83403f Added to the server's MQTTHandler the handleing of DISCONNECT message 2012-08-10 19:31:14 +02:00
selva.andre 5be34ec932 Modified the subscriptions storage to removed the subscriptions for a certain clientID 2012-08-10 19:30:07 +02:00
selva.andre e15e5721fb Modified Client to:
- accept a user provided clientID in the constructor
 - handle the cleanSession in connect method
 - let the user register a collback to a topic without do any subscription on server side
 - divide the closing from a server from the shutdown of all the client instance
2012-08-10 19:23:23 +02:00
selva.andre a0139317e8 Modified Server to gracefully terminate on stopServer 2012-08-10 19:17:24 +02:00
selva.andre 50724aa7fd Minor change 2012-08-09 23:19:07 +02:00
selva.andre 5540805570 Added Client ID generator 2012-08-09 23:14:29 +02:00
selva.andre 937a7b7060 Fixed timer for Ping requests 2012-08-09 22:40:23 +02:00
selva.andre 343f36c4f5 Added cyclic ping request thread. 2012-08-08 23:31:26 +02:00
selva.andre c1af1d9c31 Removed unused imports 2012-08-08 21:56:22 +02:00
selva.andre 1173406b0a Fixed matching multi topic and single selector 2012-08-08 21:52:18 +02:00
selva.andre 2ec0c76ba2 First attempt for matching multi topic selector 2012-08-08 21:26:35 +02:00
selva.andre 372af61076 Fixed the matching of topic with multi selector 2012-08-07 23:38:32 +02:00
selva.andre b9d4356487 Minor change, renamed an inner field 2012-08-07 22:20:20 +02:00
selva.andre fdedfecfba Added first implementation for topic tree subscriptions. 2012-08-07 00:17:47 +02:00
selva.andre f8d75bf004 Added topic + sign parsing for single level wildcard 2012-08-06 22:53:56 +02:00
andsel bf1db7b207 Fixed tokenization to handle multi-level sign 2012-08-03 17:34:16 +02:00
andsel 3be3f614c2 Added check of not empty subtopics in splitTopics method 2012-08-03 17:21:16 +02:00
andsel c54b35c79c Introduced trivial tokenization of topic 2012-08-03 17:08:18 +02:00
andsel 279b16fd26 Merge branch 'topic_tree_move' 2012-08-03 16:33:04 +02:00
andsel 03ff484702 Merge branch 'master' into topic_tree_move 2012-08-03 16:32:35 +02:00
andsel 5a5f723d5f Fixed a name clashing 2012-08-03 16:32:21 +02:00
andsel c70163f7ef Fixed imports 2012-08-03 16:30:50 +02:00
andsel 147ef71e06 Fixed buggy test 2012-08-03 16:30:27 +02:00
andsel 8ded145b96 Missed in prev commit 2012-08-03 16:22:25 +02:00
andsel e6756b3c06 Extracted a store for subscriptions 2012-08-03 16:16:41 +02:00
andsel f18ba2e248 Fixed potential indefinite lock retention 2012-08-03 15:44:11 +02:00
selva.andre 41f03b2d3e Switched from plain synchronized to ReadWrite locking 2012-08-01 23:51:25 +02:00
selva.andre f0dd3f1f2e Added shutdown hook to the server to unbind correctly the port 2012-08-01 23:37:55 +02:00
selva.andre 3ad7366077 Introduced MQTT logging filter to display more clear message's headers 2012-08-01 23:23:03 +02:00
selva.andre 683ac4e6f6 Switched to slf4j backing on log4j configuration 2012-07-31 22:49:35 +02:00
selva.andre ae404f047e Removed retries policy during the send of CONNECT message 2012-07-31 22:21:33 +02:00
selva.andre 80466f6c5f Added main client test 2012-07-30 23:27:58 +02:00
selva.andre 3169ac165a Implementaed handlig of publish notification on the client 2012-07-29 22:12:16 +02:00
selva.andre b32bbe4629 Added skeleton for client side of subscription 2012-07-27 00:17:43 +02:00
selva.andre 397aea8e6a Added Codecs to handle subscription messages 2012-07-27 00:16:32 +02:00
selva.andre a65026dd03 Minor change, added some logging 2012-07-27 00:15:53 +02:00
selva.andre c3176256dc Fixed SubAck decoder remaining length bug 2012-07-27 00:15:22 +02:00
selva.andre 13c905ec48 Minor fix removed commented code 2012-07-27 00:03:19 +02:00
selva.andre 1e4541c784 Fixed bad encoding value of remaining length field 2012-07-26 23:53:11 +02:00
selva.andre 5ca7d18f7d Minor change, corrected allocation of a buffer 2012-07-26 23:42:38 +02:00
selva.andre 530704d31e Fixed bug in Publish Encoder/Decoder 2012-07-26 23:29:01 +02:00
selva.andre 275b6fc1e1 Imports re-layout 2012-07-24 23:16:53 +02:00
selva.andre b5070a160a Minor TODO comment 2012-07-24 23:16:15 +02:00
selva.andre 5eecc1f78d Fixed client's publish at QoS 0 2012-07-24 23:09:30 +02:00
selva.andre be9d70855f Fixed unit test for connect-close 2012-07-24 22:44:21 +02:00
selva.andre 4cd366e634 Fixed issue #1 due to bad filtering for messageType byte 2012-07-24 22:43:13 +02:00
selva.andre a17c07ad46 Minor code fix 2012-07-24 22:29:32 +02:00
selva.andre 98b9d5ce90 Added implementation for the Client.publish 2012-07-23 22:00:10 +02:00
selva.andre 11ff2fa0a1 Minor code layout change 2012-07-23 21:04:20 +02:00
selva.andre 6d1d4a9bb1 Implemented a Client API blocking connect 2012-07-19 22:11:20 +02:00
selva.andre 51a6ea6164 Added base integration test skelethon for connection message from client to server 2012-07-18 22:42:13 +02:00
selva.andre 0e787e758a Minor refact for test 2012-07-17 22:34:28 +02:00
selva.andre 949a00de14 Added handling of publish messages to the server 2012-07-17 22:31:29 +02:00
selva.andre a7ad0720bc Added test for double subscription message to the same topic 2012-07-16 22:28:26 +02:00
selva.andre b5903bbf84 Added simple implementation for handle subscribe message 2012-07-11 23:44:05 +02:00
selva.andre 061985a336 Minor change, just corrected a typo 2012-07-11 21:41:11 +02:00
selva.andre 911286ab14 Added some docs notes 2012-07-04 22:32:28 +02:00
selva.andre a95a633586 Merge branch 'refact_submodules' 2012-05-10 22:02:54 +02:00
selva.andre 2cbf237887 Changed lib structure to be modular 2012-05-10 22:00:57 +02:00
selva.andre 0dc403d278 Added same dev notes files 2012-05-10 21:41:10 +02:00
selva.andre 8d48e37aa0 Minor fix, expanded name 2012-05-10 21:40:45 +02:00
selva.andre aec70c8250 Minor renaming 2012-01-22 18:57:56 +01:00
selva.andre 17e8e55b08 Added testing for will branch in connect message handling 2012-01-22 18:57:14 +01:00
selva.andre ee76a1c360 Refactored common setup code in a setup method 2012-01-22 18:25:55 +01:00
selva.andre 463aa25693 Implemented the raw connect message handling 2012-01-22 18:02:00 +01:00
selva.andre aadff9c9bd Added trivial client implementation 2012-01-22 18:01:06 +01:00
selva.andre 45ae42c4fc Added dependency on slf4j-jdk logger 2012-01-21 20:37:59 +01:00
selva.andre 556eec95d8 Added missed version in Connect message 2012-01-21 20:33:53 +01:00
selva.andre 422fbc4d2c First import of moquette proto parser 2012-01-03 18:25:50 +01:00
679 changed files with 131031 additions and 2 deletions
+16
View File
@@ -0,0 +1,16 @@
# EditorConfig is awesome: http://EditorConfig.org
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true
charset = utf-8
indent_style = space
indent_size = 4
max_line_length=120
[*.gradle]
indent_size = 2
+2
View File
@@ -0,0 +1,2 @@
*.cpp linguist-language=java
*.cc linguist-language=java
+23
View File
@@ -0,0 +1,23 @@
## 提issue小提示
为了尽快定位问题,需要提供足够的信息,请按照我们的要求格式来提问。***如果您不按照格式提问,我们将无法回复您的问题***
#### 操作说明
详细说明操作那个界面,每一步骤都要说得详细,如果是SDK或者api使用问题,需要详细说明调用的那个函数,参数都是什么。
#### 表现现象
描述一下什么现象,比如说函数返回error,errorcode是多少,或者界面上是什么状态,比如发送消息显示发送失败的红点。不要笼统的说功能有问题,不起作用。
#### 预期结果
你认为正确的表现应该是什么样的。
#### 补充条件
是否是必现的,还是偶现的?是否只有在特殊的网络/设备/平台上出现,还是所有的都出现。还有您用的版本是什么时候的,是不是最新版
#### demo对比结果
请用demo对比测试,demo上是什么状态。
#### 检索已有问题
除了可以检索已有issue外,还可以去野火论坛查找已有问题,论坛地址为 https://bbs.wildfirechat.cn
#### star 我们
给我们点个star,可以及时接收到我们回复信息,另外也是对我们支持人员辛苦工作的认可,激励我们更好更快地为大家服务。
+64
View File
@@ -0,0 +1,64 @@
/build
*/build/
/target/
/parser/target/
/benchmarking/target/
.idea/
*.iml
broker/target/
client/target/
parser_commons/target/
netty_parser/target/
netty_parser/target/
parser_commons/target/
distribution/target/
broker/moquette.log
broker/runner
/bundle/target/
/bundle/runner/
/osgi_test/target/
/perf/target/
/mapdb_storage/target/
*~
*.log*
.DS_Store
.settings/
.project
.classpath
/*/bin/
*.swp
*.class
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.war
*.ear
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
broker/*moquette_store.*
embedding_moquette/target/
broker/nb-configuration.xml
broker/nbactions-Server.xml
maven-metadata.xml
/.gradle/
/bin/
broker/config/git.properties
distribution/src/main/resources/git.properties
license/target
server/target
broker/h2db
broker/media
common/target
server/target
sdk/target
moments/target
monitor
wildfire_jmeter
git.properties
wildfirechat.license
broker/logs
+13
View File
@@ -0,0 +1,13 @@
language: java
jdk:
- oraclejdk8
before_cache:
- rm -f $HOME/.gradle/caches/modules-2/modules-2.lock
- rm -fr $HOME/.gradle/caches/*/plugin-resolution/
cache:
directories:
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
script:
- ./gradlew install test
+55
View File
@@ -0,0 +1,55 @@
Creative Commons Attribution-NoDerivs 3.0 Unported
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM ITS USE.
License
THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
1. Definitions
a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License.
c. "Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership.
d. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
e. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
f. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
g. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
h. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
i. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and,
b. to Distribute and Publicly Perform the Work including as incorporated in Collections.
c. For the avoidance of doubt:
i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and,
iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License.
The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved.
4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(b), as requested.
b. If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(b) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
c. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation.
5. Representations, Warranties and Disclaimer
UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
7. Termination
a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
8. Miscellaneous
a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
b. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
c. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
d. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
e. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
Creative Commons Notice
Creative Commons is not a party to this License, and makes no warranty whatsoever in connection with the Work. Creative Commons will not be liable to You or any party on any legal theory for any damages whatsoever, including without limitation any general, special, incidental or consequential damages arising in connection to this license. Notwithstanding the foregoing two (2) sentences, if Creative Commons has expressly identified itself as the Licensor hereunder, it shall have all rights and obligations of Licensor.
Except for the limited purpose of indicating to the public that the Work is licensed under the CCPL, Creative Commons does not authorize the use by either party of the trademark "Creative Commons" or any related trademark or logo of Creative Commons without the prior written consent of Creative Commons. Any permitted use will be in compliance with Creative Commons' then-current trademark usage guidelines, as may be published on its website or otherwise made available upon request from time to time. For the avoidance of doubt, this trademark restriction does not form part of this License.
Creative Commons may be contacted at http://creativecommons.org/.
+46
View File
@@ -0,0 +1,46 @@
Copyright (c) <2019> <wildfirechat>
Anti 996 License Version 1.0 (Draft)
Permission is hereby granted to any individual or legal entity
obtaining a copy of this licensed work (including the source code,
documentation and/or related items, hereinafter collectively referred
to as the "licensed work"), free of charge, to deal with the licensed
work for any purpose, including without limitation, the rights to use,
reproduce, modify, prepare derivative works of, distribute, publish
and sublicense the licensed work, subject to the following conditions:
1. The individual or the legal entity must conspicuously display,
without modification, this License and the notice on each redistributed
or derivative copy of the Licensed Work.
2. The individual or the legal entity must strictly comply with all
applicable laws, regulations, rules and standards of the jurisdiction
relating to labor and employment where the individual is physically
located or where the individual was born or naturalized; or where the
legal entity is registered or is operating (whichever is stricter). In
case that the jurisdiction has no such laws, regulations, rules and
standards or its laws, regulations, rules and standards are
unenforceable, the individual or the legal entity are required to
comply with Core International Labor Standards.
3. The individual or the legal entity shall not induce or force its
employee(s), whether full-time or part-time, or its independent
contractor(s), in any methods, to agree in oral or written form, to
directly or indirectly restrict, weaken or relinquish his or her
rights or remedies under such laws, regulations, rules and standards
relating to labor and employment as mentioned above, no matter whether
such written or oral agreement are enforceable under the laws of the
said jurisdiction, nor shall such individual or the legal entity
limit, in any methods, the rights of its employee(s) or independent
contractor(s) from reporting or complaining to the copyright holder or
relevant authorities monitoring the compliance of the license about
its violation(s) of the said license.
THE LICENSED WORK IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN ANY WAY CONNECTION WITH THE
LICENSED WORK OR THE USE OR OTHER DEALINGS IN THE LICENSED WORK.
+201
View File
@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "{}"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright {yyyy} {name of copyright owner}
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.
+250 -2
View File
@@ -1,2 +1,250 @@
# server
本系统有4部分组成,[服务器](https://github.com/wildfirechat/server)/[iOS客户端](https://github.com/wildfirechat/ios-chat)/[Android客户端](https://github.com/wildfirechat/android-chat)/[协议栈库](https://github.com/wildfirechat/proto)。其中iOS和Android都依赖于协议栈库。本工程为服务器的发布工程,请阅读[docs](http://docs.wildfirechat.cn)或下载服务器[发布版本](https://github.com/wildfirechat/server/releases)
# 野火IM解决方案
野火IM是专业级的即时通讯和实时音视频整体解决方案,由北京野火无限网络科技有限公司维护和支持。
## 功能特性
* 极致地硬件利用率,IM服务最低128M内存即可运行,上不封顶。
* 协议先进,采用MQTT+Protobuf组合,流量和性能极致优化。
* 性能强大,专业版IM服务支持百万在线和集群部署,业内顶尖性能水平,详情参考野火性能报告。
* 部署运维简单,依赖服务少,稍加配置一键启动。
* 安全加密。网络连接AES加密。客户端数据库SqlCipher加密。安全无小事。
* 全平台客户端,支持Android、iOS、Web、小程序、UniApp、Flutter、Windows、Mac OS、Linux等所有常见平台。
* 四端同时在线(移动端,pc端,web端和小程序端),数据和状态多端完美同步。
* 支持国产化。支持国产化操作系统、国产化芯片和国产操作系统。支持国密加密。
* 客户端使用微信[mars](https://github.com/tencent/mars)连接库,野火IM可能是最适应中国网络国情的即时通讯服务。
* 支持加速点加速,即可用于全球应用,也可用于政企内外双网复杂的网络环境。
* 支持阅读回执和在线状态功能,适用于办公环境。
* 音视频多种解决方案,丰俭由人,可自由选择。
* 高级音视频功能强大,支持9人以上的群组视频通话,支持1080P视频,支持会议模式,支持百人以上会议,支持服务器端录制。
* 全私有部署,可不依赖任何第三方服务,完全内网部署。
* 功能齐全,涵盖所有常见即时通讯功能。另外具有强大的可扩展能力。代码开源率高,二次开发简单。
* 结构设计合理,客户端分功能库、UI库和应用三层。应用成熟完善,开箱即用,也可把SDK嵌入其它应用。
* 拥有应用开放平台,可以开发和创建自建应用,扩展您的工作台。
* API丰富,方便与其它服务系统的对接。
* 拥有机器人和公众号功能,免费的频道(公众号)管理后台。
* 超级群组功能,可以支持万人大群。
* 社区版IM服务和移动端免费商用,可以免费构建出完备的移动互联网应用。
* 收费项目非常便宜,野火独有的试用模式,可以先部署到客户环境试用6个月,试用满意后再购买,避免上当受骗。
* 技术支持专业和高效,核心研发人员及时处理issue和论坛回复。
## 野火开源项目
主要包括以下项目:
| [GitHub仓库](https://github.com/wildfirechat) | [码云仓库](https://gitee.com/wfchat) | 说明
| ------------------------------------------------------------ | ----------------------------------------------------- | --------------------------------------------------------------------------
| [im-server](https://github.com/wildfirechat/im-server) | [im-server](https://gitee.com/wfchat/im-server) | 野火社区版IM服务,野火IM的核心服务,处理所有IM相关业务。 |
| [app-server](https://github.com/wildfirechat/app-server) | [app-server](https://gitee.com/wfchat/app-server) | Demo应用服务,模拟客户的应用服登陆处理逻辑及部分二次开发示例。 |
| [robot_server](https://github.com/wildfirechat/robot_server) | [robot_server](https://gitee.com/wfchat/robot_server) | 机器人服务,演示野火机器人对接其它系统的方法。 |
| [push_server](https://github.com/wildfirechat/push_server) | [push_server](https://gitee.com/wfchat/push_server) | 推送服务器,可以对接所有的系统厂商推送服务或者第三方推送服务。 |
| [wf-minio](https://github.com/wildfirechat/WF-minio) | [wf-minio](https://gitee.com/wfchat/WF-minio) | 私有对象存储服务,用来支持野火IM专业版的文件存储。 |
| [wf-janus](https://github.com/wildfirechat/wf-janus ) | [wf-janus](https://gitee.com/wfchat/wf-janus ) | 高级音视频媒体服务。 |
| [open-platform](https://github.com/wildfirechat/open-platform) | [open-platform](https://gitee.com/wfchat/open-platform) | 野火开放平台服务。 |
| [daily-report](https://github.com/wildfirechat/daily-report) | [daily-report](https://github.com/wildfirechat/daily-report) | 野火开放平台日报 demo服务。 |
| [channel-platform](https://github.com/wildfirechat/channel-platform) | [channel-platform](https://gitee.com/wfchat/channel-platform) | 野火频道(公众号)平台服务。 |
| [organization-platform](https://github.com/wildfirechat/organization-platform) | [organization-platform](https://gitee.com/wfchat/organization-platform) | 野火组织通讯录服务。 |
| [android-chat](https://github.com/wildfirechat/android-chat) | [android-chat](https://gitee.com/wfchat/android-chat) | 野火IM Android SDK源码和App源码。 |
| [ios-chat](https://github.com/wildfirechat/ios-chat) | [ios-chat](https://gitee.com/wfchat/ios-chat) | 野火IM iOS SDK源码和App源码。|
| [pc-chat](https://github.com/wildfirechat/vue-pc-chat) | [pc-chat](https://gitee.com/wfchat/vue-pc-chat) | 基于[Electron](https://electronjs.org/)的PC 端,支持Windows、Mac、Linux(包括国产化linux系统和CPU)。 |
| [web-chat](https://github.com/wildfirechat/vue-chat) | [web-chat](https://gitee.com/wfchat/vue-chat) | 野火IM Web 端, [体验地址](https://web.wildfirechat.cn)。 |
| [wx-chat](https://github.com/wildfirechat/wx-chat) | [wx-chat](https://gitee.com/wfchat/wx-chat) | 小程序平台的Demo(支持微信、百度、阿里、字节、QQ 等小程序平台)。 |
| [uni-chat](https://github.com/wildfirechat/uni-chat) | [uni-chat](https://gitee.com/wfchat/uni-chat) | UniApp平台移动端应用(使用原生插件)。 |
| [uni-wfc-client](https://github.com/wildfirechat/uni-wfc-client) | [uni-wfc-client](https://gitee.com/wfchat/uni-wfc-client) | UniApp平台原生插件。已[商店](https://ext.dcloud.net.cn/plugin?id=7895)上架 |
| [wfc_flutter_plugins](https://github.com/wildfirechat/wfc_flutter_plugins) | [flutter_imclient](https://gitee.com/wfchat/wfc_flutter_plugins) | Flutter平台原生插件,支持IM和音视频通话。 |
| [docs](https://github.com/wildfirechat/docs) | [docs](https://gitee.com/wfchat/docs) | 野火IM相关文档,包含设计、概念、开发、使用说明,[在线查看](https://docs.wildfirechat.cn/)。 |
## 野火开发文档
[在线文档](https://docs.wildfirechat.cn/)
## 野火IM论坛
[野火IM论坛](https://bbs.wildfirechat.cn)
## 野火性能测试报告及测试方法
[Github](https://github.com/wildfirechat/Performance_Test), [码云](https://gitee.com/wfchat/Performance_Test)。
## 野火Demo
请使用微信扫码下载安装体验野火IM移动客户端
![野火IM](http://static.wildfirechat.cn/download_qrcode.png)
Web客户端点击[这里](https://web.wildfirechat.cn)
PC客户端点[这里](https://github.com/wildfirechat/vue-pc-chat/releases)下载安装。
小程序客户端请用微信扫码
![野火IM](http://static.wildfirechat.net/wx.jpg)
## 快速开始
可以按照[快速开始](https://docs.wildfirechat.cn/quick_start/)来部署应用服务和IM服务,然后打包移动端,就可以完成聊天和通话功能。
之后再部署开放平台服务、频道(公众号)服务、机器人服务、推送服务、Turn服务(音视频服务)来实现完整的应用功能,详情可以详细阅读文档。
## 联系我们
商务合作请微信联系:
* 微信1:wildfirechat
* 微信2:wfchat
## 问题交流
1. 如果大家发现bug,请在GitHub或码云提issue;如果有需求也请给我们提issue。
2. 其他问题,请到[野火IM论坛](http://bbs.wildfirechat.cn/)进行交流学习
3. 关注我们的公众号。我们有新版本发布或者有重大更新会通过公众号通知大家,另外我们也会不定期的发布一些关于野火IM的技术介绍。
<img src="http://static.wildfirechat.cn/wx_wfc_qrcode.jpg" width = 50% height = 50% />
我们有核心研发工程师轮流值班处理issue和论坛,会及时处理的,疑难Bug的修改和新需求的开发我们也会尽快解决。
## 编译
```
mvn clean package
```
生成的目标文件在```./distribution/target/distribution-xxxx-bundle-tar.tar.gz```
## 配置
解压```distribution-xxxx-bundle-tar.tar.gz```,修改解压出来的```config```目录下的```wildfirechat.conf```,可以阅读配置文件注释和文档,对其它配置项进行调整。
## 运行
在解压```distribution-xxxx-bundle-tar.tar.gz```后的目录下运行如下命令:
```
./bin/wildfirechat.sh
```
## 验证
1. 在浏览器中输入地址 ```http://${ip}/api/version```可以看到返回一个json文件。
2. 部署[应用服务](https://github.com/wildfirechat/app-server),配置和编译[Android客户端](https://github.com/wildfirechat/android-chat)和[iOS客户端](https://github.com/wildfirechat/ios-chat)进行验证。详情可参考[快速开始](https://docs.wildfirechat.cn/quick_start/)。
## 打包RPM格式
打包会生成Java包和deb安装包,如果需要rpm安装包,请在```distribution/pom.xml```中取消注释生成rpm包的plugin。另外还需要本地安装有rpm,在linux或者mac系统中很容易安装,在windows系统需要安装cygwin并安装rpm,具体信息请百度查询。
修改之后运行编译命令```mvn clean package```,rpm包生成在```distribution/target```目录下。
## 升级说明
1. 从0.42 版本增加了群成员数限制,默认为2000。如果您从之前的版本升级到这个版本或以后,需要注意到群成员数的限制。升级之后超出限制的群不受影响,但不能继续加人,如果您想修改默认值,可以在升级版本之后,修改t_setting表,把默认的大小改为您期望的人数。另外修改t_group表,把已经存在的群组max_member_count改成您期望的,然后重启。
2. 0.50版本添加了是否允许客户端发送群操作通知的配置。如果您在客户端自定义群通知,需要在服务器端配置允许,没有使用自定义群操作通知的不受影响。***
3. 0.46和0.47版本升级到0.48及以后版本时,可能会提示flyway migrate 38错误,请执行 [修复脚本](https://github.com/wildfirechat/server/blob/wildfirechat/flyway_repaire_migrate_38.sql) 进行修复。0.46和0.47版本之外的版本不会出现此问题。
4. 从0.54之前版本升级到0.54及以后版本时,会提示flyway migrate错误。因为0.54版本删除了sql脚本中默认敏感词的内容,flyway checksum失败。请执行```update flyway_schema_history set checksum = 0 where script = 'V17__add_default_sensitive_word.sql';```来修复。
5. 从0.59之前的版本升级到之后的版本执行数据库升级时间比较长,请耐心等待提示运行成功,避免中途中断。
6. 0.62/0.63 版本有严重的问题,请使用0.64及以后版本,或者0.61版。
7. 从0.68 版本起添加了pc在线是否默认手机接收推送的开关,默认为开,与以前版本作用相反,请注意兼容(可以关掉与之前保持一致或者升级客户端)
8. 从0.78 版本起把MySQL数据库中关键字都改为大小写敏感,另外生成id的方法也做了改变,只生成小写的id,避免出现id重复的问题,建议所有客户都升级
9. 从0.79 版本起把log4j升级到log4j2,因为log4j已经不再维护而且还有已知的漏洞,建议所有客户都升级,升级时注意更新log4j2的配置文件
10. 0.97版本更改了启动脚本```wildfirechat.sh```,如果是升级服务,请注意更新启动脚本。
## 维护说明
野火设计理念当中,IM服务和客户端协议栈构成个管道工具,数据在人和人或者人和服务或者服务和服务之间传递,可以通过Server API和自定义消息来对接和开发业务。业务系统把IM系统当作一个工具来使用,是不需要把任何业务逻辑写在IM服务中的。
如果修改了IM服务可能会引起跟客户端协议栈的不兼容,以后也没有可能从社区版IM服务迁移到专业版IM服务,还有一旦修改就跟我们代码不一样了,如果出了问题我们就无法分析和解决。所以 ***我们强烈不推荐在IM服务修改代码,如果修改过就不再提供任何技术支持和服务了***。除了IM服务以外的所有代码可以任意修改。
现有接口足够对接和二开任何业务了,如果发现无法实现你们的业务需求,可以在[论坛](https://bbs.wildfirechat.cn)来咨询,我们会分析如何实现,如果需要添加新接口,我们会及时免费添加。请切记:***不要修改IM服务的代码!*** ***不要修改IM服务的代码!*** ***不要修改IM服务的代码!***
详细维护说明请参考 [野火维护说明](https://docs.wildfirechat.cn/base_knowledge/maintain.html)。
## 应用截图
登录界面
<img src="./screenshots/1_login.png" width = 50% height = 50% />
会话列表
<img src="./screenshots/2_conversation_list.png" width = 50% height = 50% />
好友列表
<img src="./screenshots/3_contacts_list.png" width = 50% height = 50% />
工作台
<img src="./screenshots/4_workplatform.png" width = 50% height = 50% />
发现
<img src="./screenshots/5_discover.png" width = 50% height = 50% />
我的页面
<img src="./screenshots/6_settings.png" width = 50% height = 50% />
消息聊天
<img src="./screenshots/7_conversation.png" width = 50% height = 50% />
动态表情
<img src="./screenshots/8_conversation_sticker.png" width = 50% height = 50% />
语音消息
<img src="./screenshots/9_conversation_voice_msg.png" width = 50% height = 50% />
位置消息
<img src="./screenshots/10_conversation_location.png" width = 50% height = 50% />
拍摄图片或者小视频
<img src="./screenshots/11_conversation_capture.jpeg" width = 50% height = 50% />
会话设置
<img src="./screenshots/13_conversation_settings.png" width = 50% height = 50% />
朋友圈
<img src="./screenshots/14_moments.png" width = 50% height = 50% />
新好友
<img src="./screenshots/15_new_friends.png" width = 50% height = 50% />
多人视频通话
<img src="./screenshots/16_videocall.png" width = 50% height = 50% />
会议主页
<img src="./screenshots/17_conference_home.png" width = 50% height = 50% />
会议详情
<img src="./screenshots/18_conference_info.png" width = 50% height = 50% />
会议界面
<img src="./screenshots/19_conference.png" width = 50% height = 50% />
PC客户端界面
<img src="./screenshots/20_pc.png"/>
移动客户端、PC客户端和Web客户端三端同框
<img src="./screenshots/21_three_platform.png" />
小程序客户端
<img src="./screenshots/22_micro_app.jpeg" width = 50% height = 50% />
公众号管理后台
<img src="./screenshots/23_channel.png"/>
开放平台管理后台
<img src="./screenshots/24_open_platform.png" />
IM服务管理后台
<img src="./screenshots/25_im_admin.png" />
> 更多详细信息请下载demo进行体验。
## 特别感谢
1. [moquette](https://github.com/moquette-io/moquette) 本项目是基于此项目二次开发而来,处理MQTT相关业务。
2. [loServer](https://github.com/looly/loServer) 本项目使用loServer处理HTTP相关业务。
*** 对他们表示诚挚的感谢🙏 ***
## License
1. Under the Creative Commons Attribution-NoDerivs 3.0 Unported license. See the [LICENSE](https://github.com/wildfirechat/server/blob/wildfirechat/LICENSE) file for details.
+156
View File
@@ -0,0 +1,156 @@
<!-- # 本配置文件为debug使用,修改这里不会在Release包中生效。Release中包含的配置文件在 ${Porject_Path}/distribution/src/main/resources目录下-->
<hazelcast
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.hazelcast.com/schema/config
http://www.hazelcast.com/schema/config/hazelcast-config-3.5.xsd"
xmlns="http://www.hazelcast.com/schema/config">
<network>
<join>
<multicast enabled="false"/>
</join>
</network>
<properties>
<property name="hazelcast.logging.type">slf4j</property>
</properties>
<!-- map eviction -->
<!-- http://docs.hazelcast.org/docs/latest-development/manual/html/Distributed_Data_Structures/Map/Map_Eviction.html -->
<map name="messages_map">
<!-- 7 days -->
<time-to-live-seconds>604800</time-to-live-seconds>
<eviction-policy>LRU</eviction-policy>
<max-size policy="PER_NODE">1000000</max-size>
<eviction-percentage>10</eviction-percentage>
<map-store enabled="true">
<class-name>io.moquette.persistence.MessageLoader</class-name>
<write-delay-seconds>0</write-delay-seconds>
</map-store>
</map>
<map name="groups_map">
<!-- 7 days -->
<time-to-live-seconds>604800</time-to-live-seconds>
<eviction-policy>LRU</eviction-policy>
<max-size policy="PER_NODE">1000000</max-size>
<eviction-percentage>10</eviction-percentage>
<map-store enabled="true">
<class-name>io.moquette.persistence.GroupLoader</class-name>
<write-delay-seconds>0</write-delay-seconds>
</map-store>
</map>
<map name="users">
<time-to-live-seconds>604800</time-to-live-seconds>
<eviction-policy>LRU</eviction-policy>
<max-size policy="PER_NODE">1000000</max-size>
<eviction-percentage>10</eviction-percentage>
<map-store enabled="true">
<class-name>io.moquette.persistence.UserLoader</class-name>
<write-delay-seconds>0</write-delay-seconds>
</map-store>
</map>
<map name="user_status">
<time-to-live-seconds>604800</time-to-live-seconds>
<eviction-policy>LRU</eviction-policy>
<max-size policy="PER_NODE">1000000</max-size>
<eviction-percentage>10</eviction-percentage>
<map-store enabled="true">
<class-name>io.moquette.persistence.UserStatusLoader</class-name>
<write-delay-seconds>0</write-delay-seconds>
</map-store>
</map>
<map name="user_friends_empty">
<time-to-live-seconds>86400</time-to-live-seconds>
<eviction-policy>LRU</eviction-policy>
<max-size policy="PER_NODE">1000000</max-size>
<eviction-percentage>10</eviction-percentage>
</map>
<set name="node_ids"/>
<multimap name="user_setting">
</multimap>
<multimap name="group_members">
</multimap>
<map name="chatrooms">
<time-to-live-seconds>604800</time-to-live-seconds>
<eviction-policy>LRU</eviction-policy>
<map-store enabled="true">
<class-name>io.moquette.persistence.ChatroomLoader</class-name>
<write-delay-seconds>0</write-delay-seconds>
</map-store>
</map>
<map name="user_chatroom">
</map>
<multimap name="chatroom_black">
</multimap>
<multimap name="chatroom_manager">
</multimap>
<map name="robots">
<!-- 7 days -->
<time-to-live-seconds>604800</time-to-live-seconds>
<eviction-policy>LRU</eviction-policy>
<max-size policy="PER_NODE">1000000</max-size>
<eviction-percentage>10</eviction-percentage>
<map-store enabled="true">
<class-name>io.moquette.persistence.RobotLoader</class-name>
<write-delay-seconds>0</write-delay-seconds>
</map-store>
</map>
<map name="devices">
<!-- 7 days -->
<time-to-live-seconds>604800</time-to-live-seconds>
<eviction-policy>LRU</eviction-policy>
<max-size policy="PER_NODE">1000000</max-size>
<eviction-percentage>10</eviction-percentage>
<map-store enabled="true">
<class-name>io.moquette.persistence.DeviceLoader</class-name>
<write-delay-seconds>0</write-delay-seconds>
</map-store>
</map>
<multimap name="user_robots">
</multimap>
<multimap name="user_devices">
</multimap>
<multimap name="chatroom_members">
</multimap>
<multimap name="user_friends">
</multimap>
<multimap name="user_friends_request">
</multimap>
<map name="channels_map">
<!-- 7 days -->
<time-to-live-seconds>604800</time-to-live-seconds>
<eviction-policy>LRU</eviction-policy>
<max-size policy="PER_NODE">1000000</max-size>
<eviction-percentage>10</eviction-percentage>
<map-store enabled="true">
<class-name>io.moquette.persistence.ChannelLoader</class-name>
<write-delay-seconds>0</write-delay-seconds>
</map-store>
</map>
<multimap name="channel_listeners">
</multimap>
</hazelcast>
+395
View File
@@ -0,0 +1,395 @@
#
#
# 本配置文件为debug使用,修改这里不会在Release包中生效。Release中包含的配置文件在 ${Porject_Path}/distribution/src/main/resources目录下
#
#
#*********************************************************************
# Server configuration
#*********************************************************************
#服务器的接入IP。给客户端提供是${server.ip}和${http_port}。
#客户端会从${http_port}端口获取到长链接端口。这个地址一定要改成客户端可以访问到的IP地址
#(如果您部署云服务器上或者具有独立公网出口的服务器上,请改为对应的公网IP;如果您部署在在内网环境下,在内网使用,这个地方改成内网地址)
server.ip 192.168.1.81
##原生客户端长链接端口
port 1883
##客户端短链接端口,客户端固定使用80端口,不要修改此端口。
http_port 80
#管理端口
http.admin.port 18080
##节点ID,当集群部署时,一定不能有重复。
node_id 1
##绑定IP,不要打开,除非有特殊需求才可以打开
#host 0.0.0.0
##本地绑定端口
local_port 80
## 是否使用内置DB。0使用mysql;1使用h2db。
## MySQL需要把事物隔离级别改成"Read committed",使用命令来修改"set global transaction_isolation='read-committed';",其他数据库默认已经是这个级别不用修改
embed.db 1
## 是否自动清理历史消息记录,当为true时,IM服务会定时扫描t_messages_x和t_user_messages_x表,清除掉3年前的历史消息。
## 如果不开启自动清理,需要手动清理t_messages_x和t_user_messages_x表内的历史数据,保存数据不能超过3年。
## 如果需要消息保存更长时间,可以把临近销毁的消息转储到别的数据库,客户端在拉取不到服务器消息时,再去转储的数据库拉取。
## 使用mongodb时次开关无效(因为mongodb设置了消息过期时间,会自动清理,仅专业版支持mongodb)。
db.auto_clean_history_messages true
## h2db数据库的路径,默认为程序目录下的,可以指定其他目录。如果使用MySQL,可以忽略此配置
h2db.path ./h2db/wfchat
##服务器管理接口密钥。如果修改此端口需要同步修改使用管理API的地方,比如应用服务。
http.admin.secret_key 123456
##服务器API接口参数是否检查时间。当设置为false时,所有的请求会检查时间的有效性;当设置为true时,可以在http.admin.secret_key保持不变的情况下,使用固定的服务API签名
##nonce = "76616", timestamp = "1558350862502", sign = "b98f9b0717f59febccf1440067a7f50d9b31bdde"
##这个地方上线前要改为false
http.admin.no_check_time true
##用来生产im token的私钥,只在服务器使用,客户端不用。正式使用时为了安全一定要修改这个值,切记切记
token.key testim
##token的过期时间,单位为毫秒,默认为无限期。如果需要设置无限期,客户端上一定需要加上token过期的处理。token过期的处理请参考文档的常见问题
##token.expire_time 2592000000
##客户端(目前只有android)的应用签名(一个应用最取第一个签名),如果有多个签名(多个客户端),用英文逗号分开。获取签名方法请参考文档:https://docs.wildfirechat.cn/blogs/签名验证.html
#connect.client_signature_list eNkezQ1g9OsnhfLSFUY1vzKDzhs=,xykezQ1g9OsnhfLSFUY1vzKDzhs=
##是否拒绝空签名的android客户端, 默认为true。当有旧的客户端需要兼容时改成false,当所有都是新客户端时,改成true。
#connect.reject_empty_signature true
##是否使用AES256加密。默认客户端和服务器都是AES128加密,如果需要开启AES256,需要客户端和IM服务同时开通。
#encrypt.use_aes256 true
##首次登录,是否接收之前的历史消息。
##0 不接收历史消息,只接收${message.compensate_time_limit}毫秒以内的消息,由于服务器没有保存已经收取记录,所以如果有超过${message.compensate_time_limit}毫秒之前未收取的消息也不会收取下拉;
##1接收,会接收 message.max_queue 配置的条数的历史消息
message.roaming 0
## 消息补偿时限,当${message.roaming}为0时,会同步时限以内且小于${message.max_queue}的消息,默认时限为5分钟。当${message.roaming}为1时,会接收 message.max_queue 配置的条数的历史消息。
message.compensate_time_limit 300000
##是否开启拉取远程历史消息。如果为1,客户端在会话内如果本地消息读取完了,可以下拉继续加载在服务器上的该会话的消息;如果为0则不能。
message.remote_history_message 0
##服务器为每个用户缓存的消息数量。这个值改得太大,拉取消息时间变长,另外会占用大量内存。
message.max_queue 1024
##是否开启拉取聊天室远程历史消息。如果为1,可以下拉继续加载在服务器上的该聊天室的消息;如果为0则不能。默认为1
message.chatroom_remote_history_message 1
##是否禁止陌生人聊天
message.disable_stranger_chat false
##当禁止陌生人聊天时,允许聊天的用户id,比如管理员或者文件传输助手等。用户id以英文逗号分割。
message.allow_stranger_chat_list admin,FireRobot,wfc_file_transfer
##黑名单策略,0 发送失败,返回被拉黑的错误码;1 发送成功但消息被服务器直接丢弃
message.blacklist.strategy 0
##是否禁止服务器端消息搜索,该功能暂未实现。目前的影响是如果打开,则存储消息时不单独保存_searchable_content字段
message.disable_remote_search false
##是否数据库中加密消息内容。注意这个开关在服务运行起来后不能改变了,避免读取数据库时无法恢复历史消息。
##如果要避免数据库中明文存储消息内容,请打开这个开关和message.disable_remote_search开关
message.encrypt_message_content false
##允许客户端撤回用户自己发送的消息时限,单位是秒。
##Server API不受此限制,可以撤回任意时限内的消息
##群组管理员或群主撤回群成员消息不受此限制,可以撤回任意时限内的消息。但管理员或群主撤回自己的消息还是需要准守此时间限制。
##修改此参数需要同步修改客户端UI,客户端UI代码有判断撤回是否显示的逻辑。
message.recall_time_limit 120
##禁止群主/群管理员撤回群内消息,关闭时群主/群管理员可以撤回任意时间段内群内成员的消息。
message.disable_group_manager_recall false
##禁止客户端发送消息类型,消息类型以逗号分开,下面3个值为示例,可以删除。
##一般用于重要类型消息,比如交易、充值等,禁止客户端发送,仅限于服务器发送,提高安全性。
#message.forbidden_client_send_types 3999,4000,4001
## 当禁止发送消息时,允许例外发送的消息。这种一般用户需要被动回应的消息。比如群中被禁言的用户,他无法主动发起音视频,但可以接听未被禁言用户的音视频
## 因为音视频使用了消息作为信令,所以就需要允许发送音视频信令。如果开发了其它场景也需要被动回应消息,可以加在这里。
## 黑名单时允许发送的消息类型
message.blacklist_exception_types 401,402,403,404,405,407,408,410,411
## 群禁言或者聊天室或者频道禁言时允许发送的消息类型
message.group_mute_exception_types 401,402,403,404,405,407,408,410,411
## 用户被全局禁言时允许发送的消息类型
message.global_mute_exception_types 401,402,403,404,405,407,408,410,411
## 离线用户推送过期天数,0是永不过期,建议配置为7天。
message.push_expired_days 7
## 消息转发功能开启时,开关是否不转发server api接口消息。
## 当为true时,不转发server api发送的消息;当为false时,转发server api发送的消息。
message.no_forward_admin_message false
## 消息转发功能开启时,转发信息是否带上用户clientId和平台类型。
message.forward_with_client_info false
## 机器人回调信息是否带上用户clientId和平台类型。
robot.callback_with_client_info false
## 频道回调信息是否带上用户clientId和平台类型。
channel.callback_with_client_info false
##禁止搜索用户
friend.disable_search false
##禁止按照昵称搜索用户。
friend.disable_nick_name_search false
##禁止按照用户id搜索用户,默认为true。
friend.disable_user_id_search true
##禁止发送好友邀请,通过server api添加好友不受此限制(force参数需要为true)
friend.disable_friend_request false
##好友请求重复发送的间隔,单位是毫秒,默认是7天,0为无限长期限。
friend.repeat_request_duration 604800000
##好友请求被拒绝后再次发送的间隔,单位是毫秒,默认是30天,0为不限制。不能小于friend.repeat_request_duration。
friend.reject_request_duration 2592000000
##好友请求过期时间,单位是毫秒,默认是7天,0为无限长期限。
friend.request_expiration_duration 604800000
##请求添加机器人为好友时,机器人是否自动接受,默认为true
friend.robot_auto_accept true
## 聊天室观众空闲退出时间,单位为毫秒,默认为15分钟,0为永远不退出
chatroom.participant_idle_time 900000
## 用户向聊天室发送消息,自动加入聊天室
chatroom.rejoin_when_active true
## 当一个聊天室不存在时,如果有用户加入就自动创建
chatroom.create_when_not_exist true
## 一个用户同一时刻只能加入一个聊天室。
## 当一个客户端加入一个聊天室时,如果这个客户端已经加入另外一个聊天室了,会自动退出之前的聊天室。
## 当一个客户端加入一个聊天室时,如果这个用户的其他端已经加入一个聊天室了,kickoff_other_platform为true时会自动退出之前的聊天室,为false时会返回225的错误码。
## 当自动退出聊天室时,客户端不会收到任何通知,只是不会再收到消息。
chatroom.kickoff_other_platform true
## 是否允许群主不受限制地撤回自己发送的消息。false可以${message.recall_time_limit}撤回自己的消息;true可以撤回任意时间自己的消息。默认为true。
group.allow_owner_recall_self_msg true
## 是否允许群管理员不受限制地撤回自己发送的消息。false可以${message.recall_time_limit}撤回自己的消息;true可以撤回任意时间自己的消息。默认为false。
group.allow_manager_recall_self_msg false
## 是否允许客户端发送操作群的自定义群通知消息
group.allow_client_custom_operation_notification true
## 是否允许机器人发送操作群的自定义群通知消息
group.allow_robot_custom_operation_notification true
## 当群成员退出或者被移除时,是否同时给管理员和相关人员发送显式通知消息。
## 0 不发送,1 退群时发送,2 踢人时发送,3 退群和踢人时都发送。
group.visible_quit_or_kickoff_notification 0
## 禁止客户端群操作。第1位是禁止创建群组,第2位是禁止销毁群组,3位禁止加入群,4位禁止退出群,5位禁止邀请群成员,6位禁止移出群成员,7位禁止转移群,8位禁止设置群管理员,9位禁止白名单处理,10位禁止群禁言,11位禁止修改群组信息,12位禁止群成员禁言。
## Server API不受此限制。
#group.forbidden_client_operation 0xFFF
## 隐藏用户信息属性类型,2是性别,3是电话号码,4是邮箱,5是地址,6是公司信息,7是社交账号,8是Extra信息。当需要隐藏多个时以英文逗号分开;
## 本配置是为了提高安全性,避免把对应信息同步到客户端,这样就能防止程序被破解从而拿到用户关键信息。仅对客户端有效,server api不受影响。
## 注意,修改本配置不会对已经同步的信息产生影响。
#user.hide_properties 3,4,5
## 销毁用户时,用户信息会被清空,deleted字段设置为1,这个开关控制是否保留用户昵称,默认为true。
user.keep_display_name_when_destroy true
# 好友/好友请求/用户设置 这三类数据同步的最大条目数。之前是客户第一次登录时,会把所有的对应数据一次下载到客户端,但如果有特别多的信息,会导致无法同步到客户端,
# 因此需要分段多次同步,此开关定义了每次同步的数据的条数。此需要客户端支持,客户端SDK在2021.5.25日后支持此功能。如果确认所有客户端都在这个日志之后才可以打开此设置。
#sync.data_part_size 1000
## 是否关闭api/version接口。api/version方法可以用来检查IM服务版本,上线确认无问题后,可以关掉这个接口。
#http.close_api_version false
#*********************************************************************
# 限频配置
#*********************************************************************
##API接口限频设置,时间是10秒内允许的请求次数。
##管理api频率限制,默认是10秒10000次。
http.admin.rate_limit 10000
##机器人api频率限制,默认是10秒1000次,按照机器人ID区分。
http.robot.rate_limit 1000
##频道api频率限制,默认是10秒1000次,按照频道ID区分。
http.channel.rate_limit 1000
##客户端请求频率限制,默认是5秒100次。通常情况下不要修改这个值。
client.request_rate_limit 100
#*********************************************************************
# Media server configuration
#*********************************************************************
##是否使用七牛云存储。1使用七牛;0使用内存文件服务器。默认的七牛账户信息不可用,请在七牛官网申请账户并配置
##专业版另外支持阿里云存储和野火私有存储,关于野火私有存储请参考:https://github.com/wildfirechat/WF-minio
##关于对象存储的详细信息请参考:https://docs.wildfirechat.cn/server/oss.html
media.server.use_qiniu 0
##媒体类型分类
#Media_Type_GENERAL = 0,
#Media_Type_IMAGE = 1,
#Media_Type_VOICE = 2,
#Media_Type_VIDEO = 3,
#Media_Type_FILE = 4,
#Media_Type_PORTRAIT = 5,
#Media_Type_FAVORITE = 6
# qiniu media server configuration
qiniu.server_url http://up.qbox.me
qiniu.access_key tU3vdBK5BL5j4N7jI5N5uZgq_HQDo170w5C9Amnn
qiniu.secret_key YfQIJdgp5YGhwEw14vGpaD2HJZsuJldWtqens7i5
qiniu.bucket_general_name media
qiniu.bucket_general_domain http://pghnpyzos.bkt.clouddn.com
qiniu.bucket_image_name media
qiniu.bucket_image_domain http://pghnpyzos.bkt.clouddn.com
qiniu.bucket_voice_name media
qiniu.bucket_voice_domain http://pghnpyzos.bkt.clouddn.com
qiniu.bucket_video_name media
qiniu.bucket_video_domain http://pghnpyzos.bkt.clouddn.com
qiniu.bucket_file_name media
qiniu.bucket_file_domain http://pghnpyzos.bkt.clouddn.com
qiniu.bucket_sticker_name media
qiniu.bucket_sticker_domain http://pghnpyzos.bkt.clouddn.com
qiniu.bucket_moments_name media
qiniu.bucket_moments_domain http://pghnpyzos.bkt.clouddn.com
qiniu.bucket_portrait_name storage
qiniu.bucket_portrait_domain http://cdn2.wildfirechat.cn
qiniu.bucket_favorite_name storage
qiniu.bucket_favorite_domain http://cdn2.wildfirechat.cn
# local media server configuration
# 本地媒体服务器配置。
local.media.storage.root media
# 如果使用内置文件存储,文件上传后地址默认为 http://server.ip:http_port/fs/5/2021/03/27/08/filename。
# 如果需要使用nginx添加https支持,请打开下面配置,这样客户端得到的文件地址为 https://example.com/media/fs/5/2021/03/27/08/filename。
# 需要nginx把请求从https://example.com/media/fs 转到 http://server.ip:http_port/fs。注意需要带上所有header。
# 尽管内置文件存储可以使用,但是我们还是建议使用专业级别的对象存储服务,社区版可以使用七牛,专业版另外支持阿里云和也是私有对象存储。详情请参考 https://docs.wildfirechat.cn/server/oss.html
# local.media.storage.remote_server_url https://example.com/media
# 是否支持任意多端登陆,为true时支持任意平台任意多个客户端同时登录;为false时每个平台只支持一个端登录,但不同平台可以同时登录。
# Android/iOS为移动平台,windows/mac/linux为pc平台,web为web平台,小程序为小程序平台。
# 建议使用false
server.multi_endpoint false
## 是否支持PC多端登陆,当server.multi_endpoint为true时,此开关无意义,当为false时,可以单独打开PC端多端登录。
server.multi_pc_endpoint false
# 多平台连接状态通知(仅当multi_endpoint为false时有效),true时移动端可以收到pc或web端登录的通知。
server.multi_platform_notification true
# 当pc或者web在线时,手机是否默认静音,默认为true。注意仅影响默认值,用户可以手动切换是否静音。
# 如果这里改为false,客户端那边需要同步修改pc在线默认通知状态,方法是client的setDefaultSilentWhenPcOnline函数。
server.mobile_default_silent_when_pc_online true
## 客户端是否支持kickoff事件。当客户端被其他端登录踢出时,如果此开关为false时,客户端协议栈上报secret_mismatch。如果此开关为ture时,客户端协议栈上报kicked_off。
## 客户端被踢时上报kicked_off是在2021.9.15之后才加上的。如果客户端协议栈全部为此日期之后的版本才可以打开此开关。
server.client_support_kickoff_event false
#*********************************************************************
# Push server configuration
#*********************************************************************
##推送服务项目地址:https://github.com/wildfirechat/push_server。
##安卓推送服务器地址
##注意回调是单线程回调,接收服务必须在同一内网,且异步处理快速返回,否则会有延迟问题!!
push.android.server.address http://localhost:8085/android/push
##苹果推送服务器地址
##注意回调是单线程回调,接收服务必须在同一内网,且异步处理快速返回,否则会有延迟问题!!
push.ios.server.address http://localhost:8085/ios/push
#*********************************************************************
# 监控配置
#*********************************************************************
##异常事件产生回调
##注意回调是单线程回调,接收服务必须在同一内网,且异步处理快速返回,否则会有延迟问题!!
#monitor.exception_event_address http://localhost:8888/im_exception_event/
#*********************************************************************
# 各种事件回调
#*********************************************************************
##用户在线状态事件回调地址
##注意回调是单线程回调,接收服务必须在同一内网,且异步处理快速返回,否则会有延迟问题!!
#user.online_status_callback http://localhost:8888/im_event/user/online
##用户信息变动事件回调地址
##注意回调是单线程回调,接收服务必须在同一内网,且异步处理快速返回,否则会有延迟问题!!
#relation.relation_update_callback http://localhost:8888/im_event/user/relation
##用户信息变动事件回调地址
##注意回调是单线程回调,接收服务必须在同一内网,且异步处理快速返回,否则会有延迟问题!!
#user.user_info_update_callback http://localhost:8888/im_event/user/info
##消息转发地址
##注意回调是单线程回调,接收服务必须在同一内网,且异步处理快速返回,否则会有延迟问题!!
#message.forward.url http://localhost:8888/im_event/message
##需要转发的消息类型,当有多个时以英文逗号分割,可以用-来指定区间,注意区间不能太大,因为要把区间内的所有数字都放入到Set中。如果转发所有消息,请注释掉配置或者设置为空
#message.forward.types 1,2,3,5-10
##需要转发的消息类型,当有多个时以英文逗号分割,可以用-来指定区间,注意区间不能太大,因为要把区间内的所有数字都放入到Set中。
#message.forward.exclude_types 1,2,3,5-10
##敏感消息转发地址
##注意回调是单线程回调,接收服务必须在同一内网,且异步处理快速返回,否则会有延迟问题!!
#message.sensitive.forward.url http://localhost:8888/im_event/message
##提醒消息转发地址,@全体用户和@某个用户消息会回调此地址。
##此转发不受${message.forward.types}和${message.forward.exclude_types}限制。
##注意回调是单线程回调,接收服务必须在同一内网,且异步处理快速返回,否则会有延迟问题!!
#message.mentionmsg.forward.url http://localhost:8888/im_event/message
##撤回消息转发地址,当用户撤回消息会回调此地址。
##注意回调是单线程回调,接收服务必须在同一内网,且异步处理快速返回,否则会有延迟问题!!
#message.recallmsg.forward.url http://localhost:8888/im_event/recall_message
##设备信息转发地址
##注意回调是单线程回调,接收服务必须在同一内网,且异步处理快速返回,否则会有延迟问题!!
#things_message.forward.url http://localhost:8888/im_event/things/message
##群组信息变动事件回调地址
##注意回调是单线程回调,接收服务必须在同一内网,且异步处理快速返回,否则会有延迟问题!!
#group.group_info_update_callback http://localhost:8888/im_event/group/info
##群组信息变动事件回调地址
##注意回调是单线程回调,接收服务必须在同一内网,且异步处理快速返回,否则会有延迟问题!!
#group.group_member_update_callback http://localhost:8888/im_event/group/member
##频道信息变动回调地址
##注意回调是单线程回调,接收服务必须在同一内网,且异步处理快速返回,否则会有延迟问题!!
#channel.channel_info_update_callback http://localhost:8888/im_event/channel/info
##聊天室信息变动回调地址
##注意回调是单线程回调,接收服务必须在同一内网,且异步处理快速返回,否则会有延迟问题!!
#chatroom.chatroom_info_update_callback http://localhost:8888/im_event/chatroom/info
##聊天室成员变动回调地址
##注意回调是单线程回调,接收服务必须在同一内网,且异步处理快速返回,否则会有延迟问题!!
#chatroom.chatroom_member_update_callback http://localhost:8888/im_event/chatroom/member
#*********************************************************************
# Sensitive configuration
#*********************************************************************
## 内置文本敏感词过滤处理方法,当命中敏感词后,消息会被记录到t_sensitive_messages表中,然后根据type类型做不同的处理,处理方式如下:
## 0 发送失败;1 发送成功但消息被服务器直接丢弃;2 命中的敏感词被替换成***然后正常发送;3 正常发送。
## 如果开启 message.sensitive.forward.url 配置,命中敏感词的消息还会被回调到这个地址
sensitive.filter.type 0
## 如果内置敏感词库无法满足您的需求,可以开发部署独立敏感词审核服务。配置如下地址和消息类型,IM服务会把指定消息类型的消息回调到指定地址,内置的敏感词审核和敏感词转发功能就不再起作用了。
## 审核服务返回状态码200表示继续发送,如果需要替换内容,返回状态码200并且内容为替换后的内容。返回403表示不允许发送。其它错误继续发送。
## 独立审核服务地址,IM服务会post SendMessageData。如果需要修改消息内容,返回 MessagePayload。请参考应用服务中 "/message/censor" Mapping.
#sensitive.remote_server_url http://192.168.3.202:8888/message/censor
## 需要进行敏感词审核的消息类型,当有多个时以英文逗号分割
#sensitive.remote_sensitive_message_type 1,2,3
## 如果远程审核服务返回403,返回给发送端发送失败还是成功?实际上这个值影响发送响应是否等待审核结果,当为false时,消息发送给审核服务就立即返回成功给客户端。
## 当为true时,消息发送给审核服务,等待审核结果,如果结果为继续发送就返回给客户端为成功,结果为禁止发送就返回失败给客户端。
## 客户端操作的超时一般为10s左右,且考虑到复杂的网络情况,建议处理时间不要超过3s。建议这个值为false。
#sensitive.remote_fail_when_matched false
+3
View File
@@ -0,0 +1,3 @@
insert into t_user (`_uid`,`_name`,`_display_name`,`_type`,`_dt`) values ('admin','admin','系统管理员',3,1);
+1
View File
@@ -0,0 +1 @@
ALTER TABLE t_user_session MODIFY _token VARCHAR(240) DEFAULT NULL;
+4
View File
@@ -0,0 +1,4 @@
alter table `t_group` add column `_mute` tinyint NOT NULL DEFAULT 0;
alter table `t_group` add column `_join_type` tinyint NOT NULL DEFAULT 0;
alter table `t_group` add column `_private_chat` tinyint NOT NULL DEFAULT 0;
alter table `t_group` add column `_searchable` tinyint NOT NULL DEFAULT 0;
+10
View File
@@ -0,0 +1,10 @@
DROP TABLE IF EXISTS `t_settings`;
CREATE TABLE `t_settings` (
`id` int(11) NOT NULL PRIMARY KEY,
`value` varchar(64) NOT NULL,
`desc` varchar(128) NOT NULL
);
insert into t_settings(`id`, `value`,`desc`) values (1, '3000', '最大群成员数量');
+1
View File
@@ -0,0 +1 @@
alter table `t_sensitiveword` add column `id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT;
+3
View File
@@ -0,0 +1,3 @@
alter table `t_user_session` modify column `_voip_token` varchar(240) DEFAULT '';
+2
View File
@@ -0,0 +1,2 @@
alter table t_friend add column `_blacked` tinyint DEFAULT 0;
update t_friend set `_blacked` = 1 where `_state` = 2;
+1
View File
@@ -0,0 +1 @@
alter table `t_user_session` ADD INDEX `session_token_index` ( `_token` );
+1
View File
@@ -0,0 +1 @@
alter table t_friend_request add index `friend_request_uid_index` (`_friend_uid`);
+1
View File
@@ -0,0 +1 @@
alter table `t_user_session` ADD INDEX `session_uid_index` ( `_uid` );
View File
+1
View File
@@ -0,0 +1 @@
alter table `t_user_session` add column `_deleted` tinyint DEFAULT 0;
+1
View File
@@ -0,0 +1 @@
alter table `t_user` add column `_deleted` tinyint DEFAULT 0;
+1
View File
@@ -0,0 +1 @@
update t_channel set `_status` = 64 where `_status` = 3;
+2
View File
@@ -0,0 +1,2 @@
alter table t_messages add column `_to` varchar(64) DEFAULT NULL;
+1
View File
@@ -0,0 +1 @@
alter table t_friend add column `_extra` TEXT DEFAULT NULL;
@@ -0,0 +1,22 @@
DROP TABLE IF EXISTS `t_chatroom_blacklist`;
CREATE TABLE `t_chatroom_blacklist` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_cid` varchar(64) NOT NULL,
`_uid` varchar(64) NOT NULL,
`_state` tinyint NOT NULL DEFAULT 0,
`_expired_time` bigint(20) NOT NULL,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `cr_bl_uid_index` (`_cid`,_uid)
);
DROP TABLE IF EXISTS `t_chatroom_manager`;
CREATE TABLE `t_chatroom_manager` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_cid` varchar(64) NOT NULL,
`_uid` varchar(64) NOT NULL,
`_state` tinyint NOT NULL DEFAULT 0,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `cr_man_uid_index` (`_cid`,_uid)
);
+2
View File
@@ -0,0 +1,2 @@
alter table `t_user_messages` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages` ADD INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
+22
View File
@@ -0,0 +1,22 @@
DROP TABLE IF EXISTS `t_thing`;
DROP TABLE IF EXISTS `t_device`;
CREATE TABLE `t_device` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_token` varchar(64) DEFAULT '',
`_state` tinyint DEFAULT 0,
`_extra` TEXT DEFAULT NULL,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `device_uid_index` (`_uid` ASC)
);
DROP TABLE IF EXISTS `t_user_device`;
CREATE TABLE `t_user_device` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_did` varchar(64) DEFAULT '',
INDEX `user_device_uid_index` (`_uid` ASC),
INDEX `user_device_did_index` (`_did` ASC)
);
+1
View File
@@ -0,0 +1 @@
alter table t_user_session add column `_user_type` tinyint DEFAULT 0;
+42
View File
@@ -0,0 +1,42 @@
DROP TABLE IF EXISTS `t_read_report`;
CREATE TABLE `t_read_report` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NULL,
`_type` tinyint NULL,
`_line` int(11) NULL,
`_target` varchar(64) NULL,
`_dt` bigint(20) NOT NULL DEFAULT 0,
INDEX `read_report_index` (`_uid`, `_type`, `_line`, `_target`)
);
DROP TABLE IF EXISTS `t_user_read_report`;
CREATE TABLE `t_user_read_report` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_rid` int(11) NOT NULL,
`_uid` varchar(64) NOT NULL,
`_seq` bigint(20) NOT NULL,
`_dt` DATETIME NOT NULL DEFAULT NOW(),
INDEX `user_read_report_index` (`_uid` DESC, `_seq` DESC),
UNIQUE INDEX `user_read_report_index2` (`_uid` DESC, `_rid` DESC)
);
DROP TABLE IF EXISTS `t_delivery_report`;
CREATE TABLE `t_delivery_report` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `delivery_index` (`_uid`)
);
DROP TABLE IF EXISTS `t_user_delivery_report`;
CREATE TABLE `t_user_delivery_report` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_rid` varchar(64) NOT NULL,
`_uid` varchar(64) NOT NULL,
`_seq` bigint(20) NOT NULL,
`_dt` DATETIME NOT NULL DEFAULT NOW(),
INDEX `user_delivery_index` (`_uid` DESC, `_seq` DESC),
UNIQUE INDEX `user_delivery_index2` (`_uid` DESC, `_rid` DESC)
);
+200
View File
@@ -0,0 +1,200 @@
DROP TABLE IF EXISTS `t_group`;
CREATE TABLE `t_group` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_gid` varchar(64) NOT NULL,
`_name` varchar(64) DEFAULT '',
`_portrait` varchar(1024) DEFAULT '',
`_owner` varchar(64) DEFAULT '',
`_type` tinyint NOT NULL DEFAULT 0,
`_extra` TEXT DEFAULT NULL,
`_dt` bigint(20) NOT NULL,
`_member_count` int(11) DEFAULT 0,
`_member_dt` bigint(20) NOT NULL,
UNIQUE INDEX `group_gid_index` (`_gid` ASC),
INDEX `group_name_index` (`_name` ASC)
);
DROP TABLE IF EXISTS `t_group_member`;
CREATE TABLE `t_group_member` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_gid` varchar(64) NOT NULL,
`_mid` varchar(64) DEFAULT '',
`_alias` varchar(64) DEFAULT '',
`_type` tinyint DEFAULT 0,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `user_gid_mid_index` (`_gid`, `_mid`)
);
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_name` varchar(64) DEFAULT '',
`_display_name` varchar(64) DEFAULT '',
`_gender` int(11) NOT NULL DEFAULT 0,
`_portrait` varchar(1024) DEFAULT '',
`_mobile` varchar(64) DEFAULT '',
`_email` varchar(64) DEFAULT '',
`_address` varchar(64) DEFAULT '',
`_company` varchar(64) DEFAULT '',
`_social` varchar(64) DEFAULT '',
`_passwd_md5` varchar(64) DEFAULT '',
`_salt` varchar(64) DEFAULT '',
`_extra` TEXT DEFAULT NULL,
`_type` tinyint DEFAULT 0,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `user_uid_index` (`_uid` ASC),
UNIQUE INDEX `user_name_index` (`_name` ASC),
INDEX `user_display_name_index` (`_display_name` ASC),
INDEX `user_mobile_index` (`_mobile` ASC),
INDEX `user_email_index` (`_email` ASC)
);
DROP TABLE IF EXISTS `t_user_status`;
CREATE TABLE `t_user_status` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_status` int(11) NOT NULL DEFAULT 0,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `user_status_uid_index` (`_uid` ASC),
);
DROP TABLE IF EXISTS `t_friend_request`;
CREATE TABLE `t_friend_request` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_friend_uid` varchar(64) NOT NULL,
`_reason` TEXT DEFAULT NULL,
`_status` tinyint NOT NULL DEFAULT 0,
`_dt` bigint(20) NOT NULL,
`_from_read_status` tinyint DEFAULT 0,
`_to_read_status` tinyint DEFAULT 0,
UNIQUE INDEX `fr_user_target_index` (`_uid` ASC, `_friend_uid` ASC)
);
DROP TABLE IF EXISTS `t_friend`;
CREATE TABLE `t_friend` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_friend_uid` varchar(64) NOT NULL,
`_state` tinyint DEFAULT 0,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `f_user_target_index` (`_uid` ASC, `_friend_uid` ASC)
);
DROP TABLE IF EXISTS `t_user_setting`;
CREATE TABLE `t_user_setting` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_scope` int NOT NULL,
`_key` varchar(64) NOT NULL,
`_value` varchar(4096) NOT NULL,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `user_setting_index` (`_uid` ASC, `_scope` ASC, `_key` ASC)
);
DROP TABLE IF EXISTS `t_id_generator`;
CREATE TABLE `t_id_generator` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT
)
AUTO_INCREMENT = 3;
DROP TABLE IF EXISTS `t_channel`;
CREATE TABLE `t_channel` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_cid` varchar(64) NOT NULL,
`_name` varchar(64) DEFAULT '',
`_portrait` varchar(1024) DEFAULT '',
`_owner` varchar(64) DEFAULT '',
`_status` tinyint NOT NULL DEFAULT 0,
`_desc` TEXT DEFAULT NULL,
`_secret` varchar(64) DEFAULT '',
`_callback` varchar(1024) DEFAULT '',
`_automatic` tinyint NOT NULL DEFAULT 0,
`_extra` TEXT DEFAULT NULL,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `channel_cid_index` (`_cid` DESC),
INDEX `channel_name_index` (`_name` DESC)
);
DROP TABLE IF EXISTS `t_channel_listener`;
CREATE TABLE `t_channel_listener` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_cid` varchar(64) NOT NULL,
`_mid` varchar(64) DEFAULT '',
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `channel_cid_mid_index` (`_cid`, `_mid`)
);
DROP TABLE IF EXISTS `t_user_session`;
CREATE TABLE `t_user_session` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_cid` varchar(64) NOT NULL,
`_token` varchar(64) DEFAULT '',
`_voip_token` varchar(64) DEFAULT '',
`_secret` varchar(64) NOT NULL,
`_db_secret` varchar(64) NOT NULL,
`_platform` tinyint DEFAULT 0,
`_push_type` tinyint DEFAULT 0,
`_package_name` varchar(64) DEFAULT '',
`_device_name` varchar(64) DEFAULT '',
`_device_version` varchar(64) DEFAULT '',
`_phone_name` varchar(64) DEFAULT '',
`_language` varchar(64) DEFAULT '',
`_carrier_name` varchar(64) DEFAULT '',
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `session_uid_cid_index` (`_cid`, `_uid`)
);
DROP TABLE IF EXISTS `t_robot`;
CREATE TABLE `t_robot` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_owner` varchar(64) DEFAULT '',
`_secret` varchar(64) DEFAULT '',
`_callback` varchar(1024) DEFAULT '',
`_state` tinyint DEFAULT 0,
`_extra` TEXT DEFAULT NULL,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `robot_uid_index` (`_uid` ASC),
INDEX `robot_owner_index` (`_owner` ASC)
);
DROP TABLE IF EXISTS `t_thing`;
CREATE TABLE `t_thing` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_owner` varchar(64) DEFAULT '',
`_token` varchar(64) DEFAULT '',
`_extra` TEXT DEFAULT NULL,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `thing_uid_index` (`_uid` ASC),
INDEX `thing_owner_index` (`_owner` ASC)
);
DROP TABLE IF EXISTS `t_chatroom`;
CREATE TABLE `t_chatroom` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_cid` varchar(64) NOT NULL,
`_title` varchar(64) DEFAULT '',
`_portrait` varchar(1024) DEFAULT '',
`_state` tinyint NOT NULL DEFAULT 0,
`_desc` TEXT DEFAULT NULL,
`_extra` TEXT DEFAULT NULL,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `chatroom_cid_index` (`_cid` DESC)
);
DROP TABLE IF EXISTS `t_sensitiveword`;
CREATE TABLE `t_sensitiveword` (
`_word` TEXT DEFAULT NULL
);
+1
View File
@@ -0,0 +1 @@
alter table t_group_member add column `_create_dt` bigint(20) DEFAULT 0;
@@ -0,0 +1,2 @@
alter table `t_group` add column `_history_message` tinyint NOT NULL DEFAULT 0;
alter table `t_group` add column `_max_member_count` int(11) NOT NULL DEFAULT 2000;
+2
View File
@@ -0,0 +1,2 @@
alter table `t_settings` change column `value` `_value` varchar(64) NOT NULL;
alter table `t_settings` change column `desc` `_desc` varchar(64) NOT NULL;
+1
View File
@@ -0,0 +1 @@
alter table `t_group` modify column `_searchable` int(11) NOT NULL DEFAULT 0;
+15
View File
@@ -0,0 +1,15 @@
DROP TABLE IF EXISTS `t_file`;
CREATE TABLE `t_file` (
`_mid` bigint(20) NOT NULL PRIMARY KEY,
`_from` varchar(64) NOT NULL,
`_type` tinyint NOT NULL DEFAULT 0,
`_target` varchar(64) NOT NULL,
`_line` int(11) NOT NULL DEFAULT 0,
`_name` varchar(128) DEFAULT '',
`_url` varchar(1024) NOT NULL DEFAULT '',
`_size` int(11) NOT NULL DEFAULT 0,
`_download_count` int(11) DEFAULT 0,
`_dt` bigint(20) NOT NULL,
INDEX `file_conv_index` (`_type`, `_line`, `_target`, `_mid`),
INDEX `file_user_index` (`_from`, `_mid`)
);
+3
View File
@@ -0,0 +1,3 @@
insert into t_user (`_uid`,`_name`,`_display_name`,`_portrait`,`_type`,`_dt`) values ('wfc_file_transfer','wfc_file_transfer','文件传输助手','https://static.wildfirechat.cn/wfc_file_transfer.png',1,1);
insert into t_robot (`_uid`,`_owner`,`_secret`,`_callback`,`_state`,`_dt`) values ('wfc_file_transfer', 'wfc_file_transfer', '', '', 0, 1);
+1
View File
@@ -0,0 +1 @@
alter table `t_channel` modify column `_status` int(11) NOT NULL DEFAULT 0;
+1
View File
@@ -0,0 +1 @@
alter table `t_user_messages` ADD INDEX `user_messages_mid_index` ( `_mid`);
+4
View File
@@ -0,0 +1,4 @@
alter table `t_user_messages` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages` add column `_target` varchar(129) NOT NULL DEFAULT '';
alter table `t_user_messages` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
@@ -0,0 +1,2 @@
alter table `t_group_member` add column `_extra` TEXT DEFAULT NULL;
alter table `t_friend_request` add column `_extra` TEXT DEFAULT NULL;
+24
View File
@@ -0,0 +1,24 @@
DROP TABLE IF EXISTS `t_messages`;
CREATE TABLE `t_messages` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_mid` bigint(20) NOT NULL,
`_from` varchar(64) NOT NULL,
`_type` tinyint NOT NULL DEFAULT 0,
`_target` varchar(64) NOT NULL,
`_line` int(11) NOT NULL DEFAULT 0,
`_data` BLOB NOT NULL,
`_searchable_key` TEXT DEFAULT NULL,
`_dt` DATETIME NOT NULL DEFAULT NOW(),
UNIQUE INDEX `message_uid_index` (`_mid` ASC)
);
DROP TABLE IF EXISTS `t_user_messages`;
CREATE TABLE `t_user_messages` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_mid` bigint(20) NOT NULL,
`_uid` varchar(64) NOT NULL,
`_seq` bigint(20) NOT NULL,
`_dt` DATETIME NOT NULL DEFAULT NOW(),
UNIQUE INDEX `message_seq_uid_index` (`_uid` DESC, `_seq` DESC)
);
+1
View File
@@ -0,0 +1 @@
alter table `t_user_messages` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
+1
View File
@@ -0,0 +1 @@
alter table `t_user_setting` modify column `_key` varchar(128) NOT NULL;
+13
View File
@@ -0,0 +1,13 @@
DROP TABLE IF EXISTS `t_secret_chat`;
CREATE TABLE `t_secret_chat` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_from` varchar(64) DEFAULT '',
`_from_cid` varchar(64) DEFAULT '',
`_to` varchar(64) DEFAULT '',
`_to_cid` varchar(64) DEFAULT '',
`_state` tinyint NOT NULL DEFAULT 0,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `secret_chat_uid_index` (`_uid` DESC)
);
@@ -0,0 +1 @@
alter table `t_messages` add INDEX `messages_conv_index` ( `_type`, `_target`, `_line`);
@@ -0,0 +1 @@
alter table `t_channel_listener` add INDEX `channel_mid_index` ( `_mid`);
+1
View File
@@ -0,0 +1 @@
alter table `t_channel` add column `_menu` BLOB DEFAULT NULL;
+1
View File
@@ -0,0 +1 @@
alter table `t_group_member` add INDEX `group_member_mid_index` (`_mid`);
+19
View File
@@ -0,0 +1,19 @@
alter table `t_group` add column `_super_group` tinyint NOT NULL DEFAULT 0;
DROP TABLE IF EXISTS `t_group_messages`;
CREATE TABLE `t_group_messages` (
`_mid` bigint(20) NOT NULL PRIMARY KEY,
`_sender` varchar(64) NOT NULL,
`_gid` varchar(64) NOT NULL,
`_line` int(11) NOT NULL,
`_client_id` varchar(64) NULL,
`_seq` bigint(20) NOT NULL,
`_persist_flag` int(11) NOT NULL,
`_mentioned_type` int(11) NOT NULL,
`_mentioned_targets` BLOB NULL,
`_to` BLOB NULL,
`_cont_type` int(11) NOT NULL DEFAULT 0,
`_duration` int(11) NOT NULL DEFAULT 0,
`_dt` bigint(20) NOT NULL DEFAULT 0,
INDEX `group_message_seq_uid_index` (`_gid` DESC, `_line`, `_seq` DESC)
);
+6
View File
@@ -0,0 +1,6 @@
insert into t_chatroom (`_cid`, `_title`, `_desc`,`_dt`) values ('chatroom1','火信聊天室1','火信测试聊天室1,用来演示聊天室功能', 1);
insert into t_chatroom (`_cid`, `_title`, `_desc`,`_dt`) values ('chatroom2','火信聊天室2','火信测试聊天室2,用来演示聊天室功能', 1);
insert into t_chatroom (`_cid`, `_title`, `_desc`,`_dt`) values ('chatroom3','火信聊天室3','火信测试聊天室3,用来演示聊天室功能', 1);
+4
View File
@@ -0,0 +1,4 @@
insert into t_user (`_uid`,`_name`,`_display_name`,`_portrait`,`_type`,`_dt`) values ('FireRobot','FireRobot','小火','http://cdn2.wildfirechat.cn/robot.png',1,1);
insert into t_robot (`_uid`,`_owner`,`_secret`,`_callback`,`_state`,`_dt`) values ('FireRobot', 'FireRobot', '123456', 'http://127.0.0.1:8883/robot/recvmsg', 0, 1);
+2
View File
@@ -0,0 +1,2 @@
alter table t_friend add column `_alias` varchar(64) DEFAULT NULL;
@@ -0,0 +1,2 @@
alter table t_user add column `_createTime` TIMESTAMP default CURRENT_TIMESTAMP;
alter table t_group add column `_createTime` TIMESTAMP default CURRENT_TIMESTAMP;
+1
View File
@@ -0,0 +1 @@
alter table `t_messages` add column `_content_type` int(11) NOT NULL DEFAULT '0';
+15
View File
@@ -0,0 +1,15 @@
DROP TABLE IF EXISTS `t_sensitive_messages`;
CREATE TABLE `t_sensitive_messages` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_mid` bigint(20) NOT NULL,
`_from` varchar(64) NOT NULL,
`_type` tinyint NOT NULL DEFAULT 0,
`_target` varchar(64) NOT NULL,
`_line` int(11) NOT NULL DEFAULT 0,
`_data` BLOB NOT NULL,
`_searchable_key` TEXT DEFAULT NULL,
`_dt` DATETIME NOT NULL DEFAULT NOW(),
`_content_type` int(11) NOT NULL DEFAULT 0,
UNIQUE INDEX `sensitive_message_uid_index` (`_mid` ASC)
);
+3
View File
@@ -0,0 +1,3 @@
insert into t_user (`_uid`,`_name`,`_display_name`,`_type`,`_dt`) values ('admin','admin','系统管理员',3,1);
+1
View File
@@ -0,0 +1 @@
ALTER TABLE t_user_session MODIFY _token VARCHAR(240) DEFAULT NULL;
+4
View File
@@ -0,0 +1,4 @@
alter table `t_group` add column `_mute` tinyint NOT NULL DEFAULT 0;
alter table `t_group` add column `_join_type` tinyint NOT NULL DEFAULT 0;
alter table `t_group` add column `_private_chat` tinyint NOT NULL DEFAULT 0;
alter table `t_group` add column `_searchable` tinyint NOT NULL DEFAULT 0;
+14
View File
@@ -0,0 +1,14 @@
DROP TABLE IF EXISTS `t_session`;
CREATE TABLE `t_session` (
`row_id` varchar(50) not null primary key,
`del_flag` tinyint(1) default 0 null,
`create_time` timestamp null,
`update_time` timestamp null,
`expire_time` timestamp null,
`user_id` int null,
constraint `t_session_pk_2` unique (`user_id`, `expire_time`)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
@@ -0,0 +1,2 @@
alter table t_user MODIFY column `_createTime` DATETIME NOT NULL DEFAULT NOW();
alter table t_group MODIFY column `_createTime` DATETIME NOT NULL DEFAULT NOW();
+4
View File
@@ -0,0 +1,4 @@
alter table t_session MODIFY column `create_time` DATETIME NOT NULL DEFAULT NOW();
alter table t_session MODIFY column `update_time` DATETIME NOT NULL DEFAULT NOW();
alter table t_session MODIFY column `expire_time` DATETIME NOT NULL DEFAULT NOW();
+40
View File
@@ -0,0 +1,40 @@
update t_messages_0 set _dt = date_add(_dt, interval 8 hour);
update t_messages_1 set _dt = date_add(_dt, interval 8 hour);
update t_messages_2 set _dt = date_add(_dt, interval 8 hour);
update t_messages_3 set _dt = date_add(_dt, interval 8 hour);
update t_messages_4 set _dt = date_add(_dt, interval 8 hour);
update t_messages_5 set _dt = date_add(_dt, interval 8 hour);
update t_messages_6 set _dt = date_add(_dt, interval 8 hour);
update t_messages_7 set _dt = date_add(_dt, interval 8 hour);
update t_messages_8 set _dt = date_add(_dt, interval 8 hour);
update t_messages_9 set _dt = date_add(_dt, interval 8 hour);
update t_messages_10 set _dt = date_add(_dt, interval 8 hour);
update t_messages_11 set _dt = date_add(_dt, interval 8 hour);
update t_messages_12 set _dt = date_add(_dt, interval 8 hour);
update t_messages_13 set _dt = date_add(_dt, interval 8 hour);
update t_messages_14 set _dt = date_add(_dt, interval 8 hour);
update t_messages_15 set _dt = date_add(_dt, interval 8 hour);
update t_messages_16 set _dt = date_add(_dt, interval 8 hour);
update t_messages_17 set _dt = date_add(_dt, interval 8 hour);
update t_messages_18 set _dt = date_add(_dt, interval 8 hour);
update t_messages_19 set _dt = date_add(_dt, interval 8 hour);
update t_messages_20 set _dt = date_add(_dt, interval 8 hour);
update t_messages_21 set _dt = date_add(_dt, interval 8 hour);
update t_messages_22 set _dt = date_add(_dt, interval 8 hour);
update t_messages_23 set _dt = date_add(_dt, interval 8 hour);
update t_messages_24 set _dt = date_add(_dt, interval 8 hour);
update t_messages_25 set _dt = date_add(_dt, interval 8 hour);
update t_messages_26 set _dt = date_add(_dt, interval 8 hour);
update t_messages_27 set _dt = date_add(_dt, interval 8 hour);
update t_messages_28 set _dt = date_add(_dt, interval 8 hour);
update t_messages_29 set _dt = date_add(_dt, interval 8 hour);
update t_messages_30 set _dt = date_add(_dt, interval 8 hour);
update t_messages_31 set _dt = date_add(_dt, interval 8 hour);
update t_messages_32 set _dt = date_add(_dt, interval 8 hour);
update t_messages_33 set _dt = date_add(_dt, interval 8 hour);
update t_messages_34 set _dt = date_add(_dt, interval 8 hour);
update t_messages_35 set _dt = date_add(_dt, interval 8 hour);
+13
View File
@@ -0,0 +1,13 @@
DROP TABLE IF EXISTS `t_settings`;
CREATE TABLE `t_settings` (
`id` int(11) NOT NULL PRIMARY KEY,
`value` varchar(64) NOT NULL,
`desc` varchar(128) NOT NULL default ""
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
insert into t_settings(`id`, `value`,`desc`) values (1, "3000", "最大群成员数量");
+1
View File
@@ -0,0 +1 @@
alter table `t_sensitiveword` add column `id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT;
View File
+3
View File
@@ -0,0 +1,3 @@
alter table `t_user_session` modify column `_voip_token` varchar(240) DEFAULT '';
+2
View File
@@ -0,0 +1,2 @@
alter table t_friend add column `_blacked` tinyint DEFAULT 0 COMMENT "0, normal; 1, blacked";
update t_friend set `_blacked` = 1 where `_state` = 2;
@@ -0,0 +1 @@
alter table `t_user_session` ADD INDEX `session_token_index` ( `_token` );
+1
View File
@@ -0,0 +1 @@
alter table t_friend_request add index `friend_request_uid_index` (`_friend_uid`);
+1
View File
@@ -0,0 +1 @@
alter table `t_user_session` ADD INDEX `session_uid_index` ( `_uid` );
+1
View File
@@ -0,0 +1 @@
alter table `t_user_session` add column `_deleted` tinyint DEFAULT 0;
+1
View File
@@ -0,0 +1 @@
alter table `t_user` add column `_deleted` tinyint DEFAULT 0;
+1
View File
@@ -0,0 +1 @@
update t_channel set `_status` = 64 where `_status` = 3;
+38
View File
@@ -0,0 +1,38 @@
alter table t_messages add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_0 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_1 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_2 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_3 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_4 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_5 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_6 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_7 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_8 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_9 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_10 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_11 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_12 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_13 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_14 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_15 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_16 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_17 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_18 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_19 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_20 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_21 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_22 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_23 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_24 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_25 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_26 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_27 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_28 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_29 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_30 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_31 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_32 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_33 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_34 add column `_to` varchar(64) DEFAULT NULL;
alter table t_messages_35 add column `_to` varchar(64) DEFAULT NULL;
+1
View File
@@ -0,0 +1 @@
alter table t_friend add column `_extra` TEXT DEFAULT NULL;
+275
View File
@@ -0,0 +1,275 @@
DROP TABLE IF EXISTS `t_messages`;
CREATE TABLE `t_messages` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_mid` bigint(20) NOT NULL,
`_from` varchar(64) NOT NULL,
`_type` tinyint NOT NULL DEFAULT 0,
`_target` varchar(64) NOT NULL,
`_line` int(11) NOT NULL DEFAULT 0,
`_data` BLOB NOT NULL,
`_searchable_key` TEXT DEFAULT NULL,
`_dt` DATETIME NOT NULL,
UNIQUE INDEX `message_uid_index` (`_mid` DESC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_user_messages`;
CREATE TABLE `t_user_messages` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_mid` bigint(20) NOT NULL,
`_uid` varchar(64) NOT NULL,
`_seq` bigint(20) NOT NULL,
`_dt` DATETIME NOT NULL DEFAULT NOW(),
INDEX `message_seq_uid_index` (`_uid` DESC, `_seq` DESC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_group`;
CREATE TABLE `t_group` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_gid` varchar(64) NOT NULL,
`_name` varchar(64) DEFAULT '',
`_portrait` varchar(1024) DEFAULT '',
`_owner` varchar(64) DEFAULT '',
`_type` tinyint NOT NULL DEFAULT 0,
`_extra` TEXT DEFAULT NULL,
`_dt` bigint(20) NOT NULL,
`_member_count` int(11) DEFAULT 0,
`_member_dt` bigint(20) NOT NULL,
UNIQUE INDEX `group_gid_index` (`_gid` DESC),
INDEX `group_name_index` (`_name` DESC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_group_member`;
CREATE TABLE `t_group_member` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_gid` varchar(64) NOT NULL,
`_mid` varchar(64) DEFAULT '',
`_alias` varchar(64) DEFAULT '',
`_type` tinyint DEFAULT 0 COMMENT "0普通成员;1,管理员;2,群主,与Owner相同",
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `user_gid_mid_index` (`_gid`, `_mid`)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_name` varchar(64) DEFAULT '',
`_display_name` varchar(64) DEFAULT '',
`_gender` int(11) NOT NULL DEFAULT 0,
`_portrait` varchar(1024) DEFAULT '',
`_mobile` varchar(64) DEFAULT '',
`_email` varchar(64) DEFAULT '',
`_address` varchar(64) DEFAULT '',
`_company` varchar(64) DEFAULT '',
`_social` varchar(64) DEFAULT '',
`_passwd_md5` varchar(64) DEFAULT '',
`_salt` varchar(64) DEFAULT '',
`_extra` TEXT DEFAULT NULL,
`_type` tinyint DEFAULT 0,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `user_uid_index` (`_uid` ASC),
UNIQUE INDEX `user_name_index` (`_name` ASC),
INDEX `user_display_name_index` (`_display_name` ASC),
INDEX `user_mobile_index` (`_mobile` ASC),
INDEX `user_email_index` (`_email` ASC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_user_status`;
CREATE TABLE `t_user_status` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_status` int(11) NOT NULL DEFAULT 0,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `user_status_uid_index` (`_uid` ASC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_friend_request`;
CREATE TABLE `t_friend_request` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_friend_uid` varchar(64) NOT NULL,
`_reason` TEXT DEFAULT NULL,
`_status` tinyint NOT NULL DEFAULT 0,
`_dt` bigint(20) NOT NULL,
`_from_read_status` tinyint DEFAULT 0,
`_to_read_status` tinyint DEFAULT 0,
UNIQUE INDEX `fr_user_target_index` (`_uid` ASC, `_friend_uid` ASC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_friend`;
CREATE TABLE `t_friend` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_friend_uid` varchar(64) NOT NULL,
`_state` tinyint DEFAULT 0 COMMENT "0, normal; 1, deleted; 2, blacked",
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `f_user_target_index` (`_uid` ASC, `_friend_uid` ASC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_user_setting`;
CREATE TABLE `t_user_setting` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_scope` int NOT NULL,
`_key` varchar(64) NOT NULL,
`_value` varchar(4096) NOT NULL,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `user_setting_index` (`_uid` ASC, `_scope` ASC, `_key` ASC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_id_generator`;
CREATE TABLE `t_id_generator` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci
AUTO_INCREMENT = 3;
DROP TABLE IF EXISTS `t_channel`;
CREATE TABLE `t_channel` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_cid` varchar(64) NOT NULL,
`_name` varchar(64) DEFAULT '',
`_portrait` varchar(1024) DEFAULT '',
`_owner` varchar(64) DEFAULT '',
`_status` tinyint NOT NULL DEFAULT 0,
`_desc` TEXT DEFAULT NULL,
`_secret` varchar(64) DEFAULT '',
`_callback` varchar(1024) DEFAULT '',
`_extra` TEXT DEFAULT NULL,
`_automatic` tinyint NOT NULL DEFAULT 0,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `channel_cid_index` (`_cid` DESC),
INDEX `channel_name_index` (`_name` DESC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_channel_listener`;
CREATE TABLE `t_channel_listener` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_cid` varchar(64) NOT NULL,
`_mid` varchar(64) DEFAULT '',
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `channel_cid_mid_index` (`_cid`, `_mid`)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_user_session`;
CREATE TABLE `t_user_session` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_cid` varchar(64) NOT NULL,
`_token` varchar(64) DEFAULT '',
`_voip_token` varchar(64) DEFAULT '',
`_secret` varchar(64) NOT NULL,
`_db_secret` varchar(64) NOT NULL,
`_platform` tinyint DEFAULT 0,
`_push_type` tinyint DEFAULT 0,
`_package_name` varchar(64) DEFAULT '',
`_device_name` varchar(64) DEFAULT '',
`_device_version` varchar(64) DEFAULT '',
`_phone_name` varchar(64) DEFAULT '',
`_language` varchar(64) DEFAULT '',
`_carrier_name` varchar(64) DEFAULT '',
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `session_uid_cid_index` (`_cid`, `_uid`)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_robot`;
CREATE TABLE `t_robot` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_owner` varchar(64) DEFAULT '',
`_secret` varchar(64) DEFAULT '',
`_callback` varchar(1024) DEFAULT '',
`_state` tinyint DEFAULT 0,
`_extra` TEXT DEFAULT NULL,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `robot_uid_index` (`_uid` ASC),
INDEX `robot_owner_index` (`_owner` ASC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_thing`;
CREATE TABLE `t_thing` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_owner` varchar(64) DEFAULT '',
`_token` varchar(64) DEFAULT '',
`_state` tinyint DEFAULT 0,
`_extra` TEXT DEFAULT NULL,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `thing_uid_index` (`_uid` ASC),
INDEX `thing_owner_index` (`_owner` ASC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_chatroom`;
CREATE TABLE `t_chatroom` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_cid` varchar(64) NOT NULL,
`_title` varchar(64) DEFAULT '',
`_portrait` varchar(1024) DEFAULT '',
`_state` tinyint NOT NULL DEFAULT 0,
`_desc` TEXT DEFAULT NULL,
`_extra` TEXT DEFAULT NULL,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `chatroom_cid_index` (`_cid` DESC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_sensitiveword`;
CREATE TABLE `t_sensitiveword` (
`_word` TEXT DEFAULT NULL
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
@@ -0,0 +1,30 @@
DROP TABLE IF EXISTS `t_chatroom_blacklist`;
CREATE TABLE `t_chatroom_blacklist` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_cid` varchar(64) NOT NULL,
`_uid` varchar(64) NOT NULL,
`_state` tinyint NOT NULL DEFAULT 0,
`_expired_time` bigint(20) NOT NULL,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `cr_bl_uid_index` (`_cid`,_uid)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_chatroom_manager`;
CREATE TABLE `t_chatroom_manager` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_cid` varchar(64) NOT NULL,
`_uid` varchar(64) NOT NULL,
`_state` tinyint NOT NULL DEFAULT 0,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `cr_man_uid_index` (`_cid`,_uid)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
+260
View File
@@ -0,0 +1,260 @@
alter table `t_user_messages` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_0` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_1` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_2` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_3` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_4` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_5` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_6` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_7` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_8` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_9` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_10` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_11` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_12` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_13` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_14` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_15` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_16` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_17` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_18` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_19` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_20` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_21` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_22` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_23` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_24` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_25` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_26` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_27` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_28` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_29` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_30` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_31` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_32` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_33` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_34` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_35` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_36` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_37` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_38` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_39` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_40` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_41` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_42` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_43` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_44` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_45` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_46` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_47` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_48` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_49` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_50` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_51` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_52` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_53` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_54` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_55` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_56` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_57` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_58` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_59` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_60` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_61` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_62` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_63` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_64` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_65` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_66` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_67` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_68` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_69` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_70` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_71` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_72` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_73` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_74` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_75` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_76` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_77` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_78` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_79` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_80` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_81` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_82` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_83` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_84` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_85` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_86` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_87` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_88` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_89` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_90` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_91` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_92` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_93` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_94` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_95` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_96` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_97` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_98` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_99` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_100` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_101` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_102` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_103` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_104` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_105` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_106` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_107` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_108` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_109` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_110` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_111` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_112` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_113` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_114` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_115` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_116` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_117` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_118` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_119` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_120` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_121` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_122` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_123` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_124` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_125` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_126` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages_127` add column `_line` int(11) NOT NULL DEFAULT 0;
alter table `t_user_messages` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_0` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_1` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_2` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_3` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_4` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_5` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_6` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_7` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_8` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_9` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_10` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_11` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_12` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_13` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_14` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_15` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_16` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_17` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_18` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_19` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_20` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_21` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_22` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_23` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_24` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_25` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_26` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_27` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_28` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_29` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_30` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_31` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_32` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_33` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_34` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_35` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_36` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_37` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_38` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_39` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_40` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_41` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_42` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_43` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_44` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_45` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_46` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_47` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_48` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_49` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_50` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_51` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_52` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_53` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_54` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_55` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_56` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_57` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_58` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_59` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_60` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_61` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_62` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_63` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_64` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_65` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_66` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_67` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_68` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_69` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_70` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_71` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_72` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_73` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_74` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_75` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_76` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_77` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_78` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_79` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_80` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_81` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_82` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_83` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_84` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_85` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_86` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_87` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_88` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_89` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_90` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_91` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_92` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_93` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_94` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_95` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_96` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_97` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_98` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_99` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_100` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_101` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_102` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_103` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_104` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_105` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_106` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_107` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_108` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_109` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_110` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_111` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_112` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_113` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_114` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_115` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_116` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_117` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_118` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_119` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_120` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_121` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_122` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_123` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_124` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_125` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_126` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
alter table `t_user_messages_127` add INDEX `message_mid_line_uid_index` ( `_uid` DESC, `_line` DESC, `_mid` DESC );
+28
View File
@@ -0,0 +1,28 @@
DROP TABLE IF EXISTS `t_thing`;
DROP TABLE IF EXISTS `t_device`;
CREATE TABLE `t_device` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_token` varchar(64) DEFAULT '',
`_state` tinyint DEFAULT 0,
`_extra` TEXT DEFAULT NULL,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `device_uid_index` (`_uid` ASC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_user_device`;
CREATE TABLE `t_user_device` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_did` varchar(64) DEFAULT '',
UNIQUE INDEX `user_device_uid_index` (`_uid` ASC, `_did` ASC),
INDEX `user_device_did_index` (`_did` ASC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
+1
View File
@@ -0,0 +1 @@
alter table t_user_session add column `_user_type` tinyint DEFAULT 0 COMMENT "0, normal user; 1, robot; 2, device;";
+54
View File
@@ -0,0 +1,54 @@
DROP TABLE IF EXISTS `t_read_report`;
CREATE TABLE `t_read_report` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NULL,
`_type` tinyint NULL,
`_line` int(11) NULL,
`_target` varchar(64) NULL,
`_dt` bigint(20) NOT NULL DEFAULT 0,
INDEX `read_report_index` (`_uid`, `_type`, `_line`, `_target`)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_user_read_report`;
CREATE TABLE `t_user_read_report` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_rid` int(11) NOT NULL,
`_uid` varchar(64) NOT NULL,
`_seq` bigint(20) NOT NULL,
`_dt` DATETIME NOT NULL DEFAULT NOW(),
INDEX `user_read_report_index` (`_uid` DESC, `_seq` DESC),
UNIQUE INDEX `user_read_report_index2` (`_uid` DESC, `_rid` DESC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_delivery_report`;
CREATE TABLE `t_delivery_report` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_uid` varchar(64) NOT NULL,
`_dt` bigint(20) NOT NULL,
UNIQUE INDEX `delivery_index` (`_uid`)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
DROP TABLE IF EXISTS `t_user_delivery_report`;
CREATE TABLE `t_user_delivery_report` (
`id` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`_rid` varchar(64) NOT NULL,
`_uid` varchar(64) NOT NULL,
`_seq` bigint(20) NOT NULL,
`_dt` DATETIME NOT NULL DEFAULT NOW(),
INDEX `user_delivery_index` (`_uid` DESC, `_seq` DESC),
UNIQUE INDEX `user_delivery_index2` (`_uid` DESC, `_rid` DESC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
+1
View File
@@ -0,0 +1 @@
alter table t_group_member add column `_create_dt` bigint(20) DEFAULT 0, COMMENT "group member create time";
@@ -0,0 +1,2 @@
alter table `t_group` add column `_history_message` tinyint NOT NULL DEFAULT 0, COMMENT "new group member can load group history messages";
alter table `t_group` add column `_max_member_count` int(11) NOT NULL DEFAULT 2000, COMMENT "max group member count";
+2
View File
@@ -0,0 +1,2 @@
alter table `t_settings` change column `value` `_value` varchar(64) NOT NULL;
alter table `t_settings` change column `desc` `_desc` varchar(64) NOT NULL;
@@ -0,0 +1 @@
alter table `t_group` modify column `_searchable` int(11) NOT NULL DEFAULT 0;
+18
View File
@@ -0,0 +1,18 @@
DROP TABLE IF EXISTS `t_file`;
CREATE TABLE `t_file` (
`_mid` bigint(20) NOT NULL PRIMARY KEY,
`_from` varchar(64) NOT NULL,
`_type` tinyint NOT NULL DEFAULT 0,
`_target` varchar(64) NOT NULL,
`_line` int(11) NOT NULL DEFAULT 0,
`_name` varchar(128) DEFAULT '',
`_url` varchar(1024) NOT NULL DEFAULT '',
`_size` int(11) NOT NULL DEFAULT 0,
`_download_count` int(11) DEFAULT 0,
`_dt` bigint(20) NOT NULL,
INDEX `file_conv_index` (`_type`, `_line`, `_target`, `_mid`),
INDEX `file_user_index` (`_from`, `_mid`)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8mb4
COLLATE = utf8mb4_unicode_ci;
File diff suppressed because it is too large Load Diff
+3
View File
@@ -0,0 +1,3 @@
insert into t_user (`_uid`,`_name`,`_display_name`,`_portrait`,`_type`,`_dt`) values ('wfc_file_transfer','wfc_file_transfer','文件传输助手','https://static.wildfirechat.cn/wfc_file_transfer.png',1,1);
insert into t_robot (`_uid`,`_owner`,`_secret`,`_callback`,`_state`,`_dt`) values ('wfc_file_transfer', 'wfc_file_transfer', '', '', 0, 1);
@@ -0,0 +1 @@
alter table `t_channel` modify column `_status` int(11) NOT NULL DEFAULT 0;
+129
View File
@@ -0,0 +1,129 @@
alter table `t_user_messages` add INDEX `user_messages_mid_index` ( `_mid` );
alter table `t_user_messages_0` add INDEX `user_messages0_mid_index` ( `_mid` );
alter table `t_user_messages_1` add INDEX `user_messages1_mid_index` ( `_mid` );
alter table `t_user_messages_2` add INDEX `user_messages2_mid_index` ( `_mid` );
alter table `t_user_messages_3` add INDEX `user_messages3_mid_index` ( `_mid` );
alter table `t_user_messages_4` add INDEX `user_messages4_mid_index` ( `_mid` );
alter table `t_user_messages_5` add INDEX `user_messages5_mid_index` ( `_mid` );
alter table `t_user_messages_6` add INDEX `user_messages6_mid_index` ( `_mid` );
alter table `t_user_messages_7` add INDEX `user_messages7_mid_index` ( `_mid` );
alter table `t_user_messages_8` add INDEX `user_messages8_mid_index` ( `_mid` );
alter table `t_user_messages_9` add INDEX `user_messages9_mid_index` ( `_mid` );
alter table `t_user_messages_10` add INDEX `user_messages10_mid_index` ( `_mid` );
alter table `t_user_messages_11` add INDEX `user_messages11_mid_index` ( `_mid` );
alter table `t_user_messages_12` add INDEX `user_messages12_mid_index` ( `_mid` );
alter table `t_user_messages_13` add INDEX `user_messages13_mid_index` ( `_mid` );
alter table `t_user_messages_14` add INDEX `user_messages14_mid_index` ( `_mid` );
alter table `t_user_messages_15` add INDEX `user_messages15_mid_index` ( `_mid` );
alter table `t_user_messages_16` add INDEX `user_messages16_mid_index` ( `_mid` );
alter table `t_user_messages_17` add INDEX `user_messages17_mid_index` ( `_mid` );
alter table `t_user_messages_18` add INDEX `user_messages18_mid_index` ( `_mid` );
alter table `t_user_messages_19` add INDEX `user_messages19_mid_index` ( `_mid` );
alter table `t_user_messages_20` add INDEX `user_messages20_mid_index` ( `_mid` );
alter table `t_user_messages_21` add INDEX `user_messages21_mid_index` ( `_mid` );
alter table `t_user_messages_22` add INDEX `user_messages22_mid_index` ( `_mid` );
alter table `t_user_messages_23` add INDEX `user_messages23_mid_index` ( `_mid` );
alter table `t_user_messages_24` add INDEX `user_messages24_mid_index` ( `_mid` );
alter table `t_user_messages_25` add INDEX `user_messages25_mid_index` ( `_mid` );
alter table `t_user_messages_26` add INDEX `user_messages26_mid_index` ( `_mid` );
alter table `t_user_messages_27` add INDEX `user_messages27_mid_index` ( `_mid` );
alter table `t_user_messages_28` add INDEX `user_messages28_mid_index` ( `_mid` );
alter table `t_user_messages_29` add INDEX `user_messages29_mid_index` ( `_mid` );
alter table `t_user_messages_30` add INDEX `user_messages30_mid_index` ( `_mid` );
alter table `t_user_messages_31` add INDEX `user_messages31_mid_index` ( `_mid` );
alter table `t_user_messages_32` add INDEX `user_messages32_mid_index` ( `_mid` );
alter table `t_user_messages_33` add INDEX `user_messages33_mid_index` ( `_mid` );
alter table `t_user_messages_34` add INDEX `user_messages34_mid_index` ( `_mid` );
alter table `t_user_messages_35` add INDEX `user_messages35_mid_index` ( `_mid` );
alter table `t_user_messages_36` add INDEX `user_messages36_mid_index` ( `_mid` );
alter table `t_user_messages_37` add INDEX `user_messages37_mid_index` ( `_mid` );
alter table `t_user_messages_38` add INDEX `user_messages38_mid_index` ( `_mid` );
alter table `t_user_messages_39` add INDEX `user_messages39_mid_index` ( `_mid` );
alter table `t_user_messages_40` add INDEX `user_messages40_mid_index` ( `_mid` );
alter table `t_user_messages_41` add INDEX `user_messages41_mid_index` ( `_mid` );
alter table `t_user_messages_42` add INDEX `user_messages42_mid_index` ( `_mid` );
alter table `t_user_messages_43` add INDEX `user_messages43_mid_index` ( `_mid` );
alter table `t_user_messages_44` add INDEX `user_messages44_mid_index` ( `_mid` );
alter table `t_user_messages_45` add INDEX `user_messages45_mid_index` ( `_mid` );
alter table `t_user_messages_46` add INDEX `user_messages46_mid_index` ( `_mid` );
alter table `t_user_messages_47` add INDEX `user_messages47_mid_index` ( `_mid` );
alter table `t_user_messages_48` add INDEX `user_messages48_mid_index` ( `_mid` );
alter table `t_user_messages_49` add INDEX `user_messages49_mid_index` ( `_mid` );
alter table `t_user_messages_50` add INDEX `user_messages50_mid_index` ( `_mid` );
alter table `t_user_messages_51` add INDEX `user_messages51_mid_index` ( `_mid` );
alter table `t_user_messages_52` add INDEX `user_messages52_mid_index` ( `_mid` );
alter table `t_user_messages_53` add INDEX `user_messages53_mid_index` ( `_mid` );
alter table `t_user_messages_54` add INDEX `user_messages54_mid_index` ( `_mid` );
alter table `t_user_messages_55` add INDEX `user_messages55_mid_index` ( `_mid` );
alter table `t_user_messages_56` add INDEX `user_messages56_mid_index` ( `_mid` );
alter table `t_user_messages_57` add INDEX `user_messages57_mid_index` ( `_mid` );
alter table `t_user_messages_58` add INDEX `user_messages58_mid_index` ( `_mid` );
alter table `t_user_messages_59` add INDEX `user_messages59_mid_index` ( `_mid` );
alter table `t_user_messages_60` add INDEX `user_messages60_mid_index` ( `_mid` );
alter table `t_user_messages_61` add INDEX `user_messages61_mid_index` ( `_mid` );
alter table `t_user_messages_62` add INDEX `user_messages62_mid_index` ( `_mid` );
alter table `t_user_messages_63` add INDEX `user_messages63_mid_index` ( `_mid` );
alter table `t_user_messages_64` add INDEX `user_messages64_mid_index` ( `_mid` );
alter table `t_user_messages_65` add INDEX `user_messages65_mid_index` ( `_mid` );
alter table `t_user_messages_66` add INDEX `user_messages66_mid_index` ( `_mid` );
alter table `t_user_messages_67` add INDEX `user_messages67_mid_index` ( `_mid` );
alter table `t_user_messages_68` add INDEX `user_messages68_mid_index` ( `_mid` );
alter table `t_user_messages_69` add INDEX `user_messages69_mid_index` ( `_mid` );
alter table `t_user_messages_70` add INDEX `user_messages70_mid_index` ( `_mid` );
alter table `t_user_messages_71` add INDEX `user_messages71_mid_index` ( `_mid` );
alter table `t_user_messages_72` add INDEX `user_messages72_mid_index` ( `_mid` );
alter table `t_user_messages_73` add INDEX `user_messages73_mid_index` ( `_mid` );
alter table `t_user_messages_74` add INDEX `user_messages74_mid_index` ( `_mid` );
alter table `t_user_messages_75` add INDEX `user_messages75_mid_index` ( `_mid` );
alter table `t_user_messages_76` add INDEX `user_messages76_mid_index` ( `_mid` );
alter table `t_user_messages_77` add INDEX `user_messages77_mid_index` ( `_mid` );
alter table `t_user_messages_78` add INDEX `user_messages78_mid_index` ( `_mid` );
alter table `t_user_messages_79` add INDEX `user_messages79_mid_index` ( `_mid` );
alter table `t_user_messages_80` add INDEX `user_messages80_mid_index` ( `_mid` );
alter table `t_user_messages_81` add INDEX `user_messages81_mid_index` ( `_mid` );
alter table `t_user_messages_82` add INDEX `user_messages82_mid_index` ( `_mid` );
alter table `t_user_messages_83` add INDEX `user_messages83_mid_index` ( `_mid` );
alter table `t_user_messages_84` add INDEX `user_messages84_mid_index` ( `_mid` );
alter table `t_user_messages_85` add INDEX `user_messages85_mid_index` ( `_mid` );
alter table `t_user_messages_86` add INDEX `user_messages86_mid_index` ( `_mid` );
alter table `t_user_messages_87` add INDEX `user_messages87_mid_index` ( `_mid` );
alter table `t_user_messages_88` add INDEX `user_messages88_mid_index` ( `_mid` );
alter table `t_user_messages_89` add INDEX `user_messages89_mid_index` ( `_mid` );
alter table `t_user_messages_90` add INDEX `user_messages90_mid_index` ( `_mid` );
alter table `t_user_messages_91` add INDEX `user_messages91_mid_index` ( `_mid` );
alter table `t_user_messages_92` add INDEX `user_messages92_mid_index` ( `_mid` );
alter table `t_user_messages_93` add INDEX `user_messages93_mid_index` ( `_mid` );
alter table `t_user_messages_94` add INDEX `user_messages94_mid_index` ( `_mid` );
alter table `t_user_messages_95` add INDEX `user_messages95_mid_index` ( `_mid` );
alter table `t_user_messages_96` add INDEX `user_messages96_mid_index` ( `_mid` );
alter table `t_user_messages_97` add INDEX `user_messages97_mid_index` ( `_mid` );
alter table `t_user_messages_98` add INDEX `user_messages98_mid_index` ( `_mid` );
alter table `t_user_messages_99` add INDEX `user_messages99_mid_index` ( `_mid` );
alter table `t_user_messages_100` add INDEX `user_messages100_mid_index` ( `_mid` );
alter table `t_user_messages_101` add INDEX `user_messages101_mid_index` ( `_mid` );
alter table `t_user_messages_102` add INDEX `user_messages102_mid_index` ( `_mid` );
alter table `t_user_messages_103` add INDEX `user_messages103_mid_index` ( `_mid` );
alter table `t_user_messages_104` add INDEX `user_messages104_mid_index` ( `_mid` );
alter table `t_user_messages_105` add INDEX `user_messages105_mid_index` ( `_mid` );
alter table `t_user_messages_106` add INDEX `user_messages106_mid_index` ( `_mid` );
alter table `t_user_messages_107` add INDEX `user_messages107_mid_index` ( `_mid` );
alter table `t_user_messages_108` add INDEX `user_messages108_mid_index` ( `_mid` );
alter table `t_user_messages_109` add INDEX `user_messages109_mid_index` ( `_mid` );
alter table `t_user_messages_110` add INDEX `user_messages110_mid_index` ( `_mid` );
alter table `t_user_messages_111` add INDEX `user_messages111_mid_index` ( `_mid` );
alter table `t_user_messages_112` add INDEX `user_messages112_mid_index` ( `_mid` );
alter table `t_user_messages_113` add INDEX `user_messages113_mid_index` ( `_mid` );
alter table `t_user_messages_114` add INDEX `user_messages114_mid_index` ( `_mid` );
alter table `t_user_messages_115` add INDEX `user_messages115_mid_index` ( `_mid` );
alter table `t_user_messages_116` add INDEX `user_messages116_mid_index` ( `_mid` );
alter table `t_user_messages_117` add INDEX `user_messages117_mid_index` ( `_mid` );
alter table `t_user_messages_118` add INDEX `user_messages118_mid_index` ( `_mid` );
alter table `t_user_messages_119` add INDEX `user_messages119_mid_index` ( `_mid` );
alter table `t_user_messages_120` add INDEX `user_messages120_mid_index` ( `_mid` );
alter table `t_user_messages_121` add INDEX `user_messages121_mid_index` ( `_mid` );
alter table `t_user_messages_122` add INDEX `user_messages122_mid_index` ( `_mid` );
alter table `t_user_messages_123` add INDEX `user_messages123_mid_index` ( `_mid` );
alter table `t_user_messages_124` add INDEX `user_messages124_mid_index` ( `_mid` );
alter table `t_user_messages_125` add INDEX `user_messages125_mid_index` ( `_mid` );
alter table `t_user_messages_126` add INDEX `user_messages126_mid_index` ( `_mid` );
alter table `t_user_messages_127` add INDEX `user_messages127_mid_index` ( `_mid` );
+644
View File
@@ -0,0 +1,644 @@
alter table `t_user_messages` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_0` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_0` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_0` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_0` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_1` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_1` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_1` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_1` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_2` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_2` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_2` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_2` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_3` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_3` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_3` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_3` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_4` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_4` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_4` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_4` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_5` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_5` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_5` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_5` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_6` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_6` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_6` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_6` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_7` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_7` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_7` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_7` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_8` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_8` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_8` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_8` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_9` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_9` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_9` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_9` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_10` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_10` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_10` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_10` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_11` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_11` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_11` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_11` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_12` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_12` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_12` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_12` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_13` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_13` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_13` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_13` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_14` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_14` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_14` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_14` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_15` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_15` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_15` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_15` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_16` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_16` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_16` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_16` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_17` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_17` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_17` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_17` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_18` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_18` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_18` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_18` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_19` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_19` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_19` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_19` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_20` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_20` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_20` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_20` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_21` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_21` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_21` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_21` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_22` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_22` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_22` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_22` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_23` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_23` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_23` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_23` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_24` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_24` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_24` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_24` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_25` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_25` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_25` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_25` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_26` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_26` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_26` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_26` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_27` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_27` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_27` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_27` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_28` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_28` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_28` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_28` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_29` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_29` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_29` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_29` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_30` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_30` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_30` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_30` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_31` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_31` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_31` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_31` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_32` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_32` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_32` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_32` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_33` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_33` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_33` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_33` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_34` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_34` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_34` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_34` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_35` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_35` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_35` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_35` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_36` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_36` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_36` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_36` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_37` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_37` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_37` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_37` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_38` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_38` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_38` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_38` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_39` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_39` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_39` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_39` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_40` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_40` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_40` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_40` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_41` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_41` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_41` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_41` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_42` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_42` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_42` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_42` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_43` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_43` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_43` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_43` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_44` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_44` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_44` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_44` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_45` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_45` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_45` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_45` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_46` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_46` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_46` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_46` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_47` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_47` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_47` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_47` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_48` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_48` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_48` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_48` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_49` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_49` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_49` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_49` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_50` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_50` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_50` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_50` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_51` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_51` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_51` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_51` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_52` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_52` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_52` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_52` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_53` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_53` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_53` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_53` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_54` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_54` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_54` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_54` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_55` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_55` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_55` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_55` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_56` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_56` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_56` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_56` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_57` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_57` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_57` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_57` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_58` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_58` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_58` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_58` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_59` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_59` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_59` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_59` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_60` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_60` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_60` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_60` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_61` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_61` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_61` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_61` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_62` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_62` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_62` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_62` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_63` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_63` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_63` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_63` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_64` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_64` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_64` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_64` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_65` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_65` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_65` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_65` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_66` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_66` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_66` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_66` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_67` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_67` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_67` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_67` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_68` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_68` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_68` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_68` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_69` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_69` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_69` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_69` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_70` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_70` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_70` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_70` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_71` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_71` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_71` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_71` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_72` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_72` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_72` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_72` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_73` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_73` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_73` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_73` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_74` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_74` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_74` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_74` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_75` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_75` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_75` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_75` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_76` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_76` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_76` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_76` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_77` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_77` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_77` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_77` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_78` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_78` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_78` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_78` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_79` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_79` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_79` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_79` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_80` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_80` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_80` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_80` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_81` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_81` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_81` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_81` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_82` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_82` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_82` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_82` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_83` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_83` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_83` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_83` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_84` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_84` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_84` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_84` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_85` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_85` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_85` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_85` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_86` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_86` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_86` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_86` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_87` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_87` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_87` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_87` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_88` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_88` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_88` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_88` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_89` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_89` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_89` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_89` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_90` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_90` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_90` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_90` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_91` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_91` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_91` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_91` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_92` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_92` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_92` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_92` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_93` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_93` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_93` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_93` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_94` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_94` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_94` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_94` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_95` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_95` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_95` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_95` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_96` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_96` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_96` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_96` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_97` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_97` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_97` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_97` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_98` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_98` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_98` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_98` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_99` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_99` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_99` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_99` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_100` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_100` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_100` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_100` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_101` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_101` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_101` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_101` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_102` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_102` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_102` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_102` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_103` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_103` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_103` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_103` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_104` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_104` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_104` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_104` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_105` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_105` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_105` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_105` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_106` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_106` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_106` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_106` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_107` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_107` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_107` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_107` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_108` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_108` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_108` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_108` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_109` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_109` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_109` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_109` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_110` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_110` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_110` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_110` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_111` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_111` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_111` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_111` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_112` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_112` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_112` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_112` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_113` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_113` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_113` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_113` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_114` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_114` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_114` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_114` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_115` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_115` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_115` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_115` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_116` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_116` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_116` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_116` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_117` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_117` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_117` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_117` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_118` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_118` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_118` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_118` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_119` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_119` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_119` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_119` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_120` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_120` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_120` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_120` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_121` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_121` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_121` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_121` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_122` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_122` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_122` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_122` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_123` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_123` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_123` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_123` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_124` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_124` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_124` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_124` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_125` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_125` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_125` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_125` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_126` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_126` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_126` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_126` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
alter table `t_user_messages_127` add column `_type` tinyint(4) NOT NULL DEFAULT '0';
alter table `t_user_messages_127` add column `_target` varchar(129) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '';
alter table `t_user_messages_127` add column `_directing` tinyint(1) NOT NULL DEFAULT '0';
alter table `t_user_messages_127` add INDEX `user_messages_conv_index` ( `_uid`, `_type`, `_target`, `_line`, `_mid` desc);
@@ -0,0 +1,2 @@
alter table `t_group_member` add column `_extra` TEXT DEFAULT NULL;
alter table `t_friend_request` add column `_extra` TEXT DEFAULT NULL;
+257
View File
@@ -0,0 +1,257 @@
alter table `t_user_messages` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_0` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_1` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_2` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_3` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_4` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_5` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_6` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_7` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_8` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_9` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_10` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_11` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_12` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_13` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_14` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_15` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_16` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_17` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_18` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_19` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_20` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_21` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_22` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_23` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_24` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_25` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_26` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_27` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_28` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_29` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_30` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_31` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_32` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_33` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_34` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_35` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_36` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_37` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_38` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_39` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_40` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_41` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_42` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_43` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_44` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_45` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_46` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_47` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_48` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_49` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_50` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_51` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_52` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_53` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_54` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_55` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_56` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_57` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_58` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_59` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_60` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_61` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_62` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_63` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_64` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_65` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_66` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_67` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_68` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_69` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_70` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_71` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_72` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_73` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_74` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_75` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_76` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_77` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_78` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_79` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_80` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_81` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_82` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_83` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_84` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_85` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_86` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_87` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_88` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_89` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_90` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_91` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_92` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_93` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_94` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_95` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_96` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_97` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_98` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_99` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_100` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_101` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_102` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_103` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_104` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_105` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_106` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_107` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_108` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_109` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_110` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_111` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_112` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_113` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_114` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_115` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_116` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_117` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_118` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_119` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_120` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_121` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_122` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_123` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_124` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_125` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_126` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
alter table `t_user_messages_127` add column `_cont_type` int(11) NOT NULL DEFAULT '0';
@@ -0,0 +1,599 @@
ALTER TABLE `t_channel` MODIFY COLUMN `_cid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_channel` MODIFY COLUMN `_owner` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_channel_listener` MODIFY COLUMN `_cid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_channel_listener` MODIFY COLUMN `_mid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_chatroom` MODIFY COLUMN `_cid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_chatroom_blacklist` MODIFY COLUMN `_cid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_chatroom_blacklist` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_chatroom_manager` MODIFY COLUMN `_cid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_chatroom_manager` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_delivery_report` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_device` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_file` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_file` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_friend` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_friend` MODIFY COLUMN `_friend_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_friend_request` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_friend_request` MODIFY COLUMN `_friend_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_group` MODIFY COLUMN `_gid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_group` MODIFY COLUMN `_owner` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT '';
ALTER TABLE `t_group_member` MODIFY COLUMN `_gid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_group_member` MODIFY COLUMN `_mid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_0` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_0` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_0` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_1` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_1` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_1` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_10` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_10` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_10` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_11` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_11` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_11` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_12` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_12` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_12` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_13` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_13` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_13` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_14` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_14` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_14` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_15` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_15` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_15` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_16` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_16` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_16` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_17` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_17` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_17` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_18` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_18` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_18` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_19` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_19` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_19` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_2` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_2` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_2` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_20` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_20` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_20` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_21` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_21` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_21` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_22` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_22` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_22` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_23` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_23` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_23` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_24` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_24` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_24` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_25` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_25` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_25` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_26` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_26` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_26` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_27` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_27` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_27` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_28` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_28` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_28` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_29` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_29` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_29` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_3` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_3` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_3` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_30` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_30` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_30` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_31` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_31` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_31` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_32` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_32` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_32` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_33` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_33` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_33` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_34` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_34` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_34` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_35` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_35` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_35` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_4` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_4` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_4` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_5` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_5` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_5` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_6` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_6` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_6` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_7` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_7` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_7` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_8` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_8` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_8` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_messages_9` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_9` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_messages_9` MODIFY COLUMN `_to` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_read_report` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_read_report` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_robot` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_robot` MODIFY COLUMN `_owner` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT '';
ALTER TABLE `t_sensitive_messages` MODIFY COLUMN `_from` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_sensitive_messages` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_session` MODIFY COLUMN `row_id` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user` MODIFY COLUMN `_name` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_delivery_report` MODIFY COLUMN `_rid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_delivery_report` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_device` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_device` MODIFY COLUMN `_did` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_0` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_0` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_1` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_1` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_10` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_10` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_100` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_100` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_101` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_101` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_102` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_102` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_103` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_103` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_104` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_104` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_105` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_105` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_106` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_106` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_107` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_107` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_108` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_108` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_109` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_109` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_11` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_11` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_110` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_110` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_111` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_111` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_112` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_112` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_113` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_113` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_114` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_114` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_115` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_115` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_116` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_116` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_117` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_117` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_118` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_118` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_119` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_119` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_12` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_12` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_120` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_120` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_121` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_121` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_122` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_122` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_123` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_123` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_124` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_124` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_125` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_125` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_126` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_126` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_127` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_127` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_13` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_13` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_14` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_14` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_15` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_15` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_16` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_16` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_17` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_17` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_18` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_18` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_19` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_19` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_2` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_2` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_20` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_20` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_21` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_21` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_22` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_22` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_23` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_23` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_24` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_24` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_25` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_25` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_26` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_26` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_27` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_27` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_28` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_28` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_29` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_29` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_3` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_3` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_30` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_30` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_31` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_31` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_32` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_32` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_33` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_33` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_34` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_34` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_35` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_35` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_36` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_36` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_37` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_37` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_38` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_38` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_39` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_39` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_4` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_4` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_40` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_40` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_41` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_41` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_42` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_42` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_43` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_43` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_44` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_44` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_45` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_45` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_46` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_46` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_47` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_47` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_48` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_48` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_49` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_49` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_5` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_5` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_50` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_50` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_51` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_51` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_52` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_52` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_53` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_53` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_54` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_54` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_55` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_55` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_56` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_56` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_57` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_57` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_58` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_58` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_59` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_59` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_6` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_6` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_60` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_60` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_61` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_61` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_62` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_62` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_63` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_63` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_64` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_64` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_65` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_65` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_66` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_66` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_67` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_67` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_68` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_68` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_69` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_69` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_7` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_7` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_70` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_70` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_71` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_71` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_72` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_72` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_73` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_73` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_74` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_74` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_75` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_75` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_76` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_76` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_77` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_77` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_78` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_78` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_79` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_79` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_8` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_8` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_80` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_80` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_81` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_81` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_82` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_82` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_83` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_83` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_84` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_84` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_85` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_85` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_86` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_86` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_87` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_87` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_88` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_88` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_89` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_89` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_9` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_9` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_90` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_90` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_91` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_91` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_92` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_92` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_93` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_93` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_94` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_94` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_95` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_95` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_96` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_96` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_97` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_97` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_98` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_98` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_99` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_messages_99` MODIFY COLUMN `_target` VARCHAR(129) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_read_report` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_session` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_session` MODIFY COLUMN `_cid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_session` MODIFY COLUMN `_token` VARCHAR(240) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_user_setting` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_setting` MODIFY COLUMN `_key` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
ALTER TABLE `t_user_status` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;
+3
View File
@@ -0,0 +1,3 @@
ALTER TABLE `t_read_report` MODIFY COLUMN `_uid` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
ALTER TABLE `t_read_report` MODIFY COLUMN `_target` VARCHAR(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL;
@@ -0,0 +1 @@
alter table `t_user_setting` modify column `_key` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin NOT NULL;

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