群聊会话详情页面的成员列表, 多次加人, 群成员不更新问题的日志和重现描述

gaocunbin 2021-6-3 786

1. 群聊3个人, A, B, C建立成功后,

2. C进入群聊, 点开群聊会话详情页查看成员列表为3人

3. C回到群聊会话页面, A继续拉人D,

4. C再次点开会话详情页查看成员列表为4人

5. C再次回到群聊会话页面/或者退出程序, A继续拉人E.....

6. C再次进入群聊会话详情页, 查看成员列表仍然为4人, 不再更新, 只能删除程序再次登陆进入才能看到(退出登陆再进入都不行)更新

附件是adb日志, 请查阅

上传的附件:
最新回复 (5)
  • gaocunbin 2021-6-7
    引用 2

            List<GroupMember> members = ChatManager.Instance().getGroupMembers(groupId, refresh);

    排查发现, 就是这个协议栈接口返回的信息和后台返回的不一致, 这除了影响显示外, 后续@后加的群成员也无法查找, 请问是否有办法解决

  • gaocunbin 2021-6-7
    引用 3
    后台接口中, 根据文档和我们测试的结果, 后台只有一个参数(groupId), 每次都会返回最新的列表
    http://domain:18080/admin/group/member/list, 
    看起来就是refresh这个变量是前端协议栈里的一个标识位, 但是设置成false后, 不刷新导致的, 请协助确认是否最新的avenginekit和client能解决这个问题
  • gaocunbin 2021-6-7
    引用 4

    我们研究了下, android前端调用时, 会在request.header里添加一个maxDt的参数, 但是这个参数会影响后台的处理逻辑, 请问这个maxDt的参数的逻辑是否存在问题, 后台逻辑贴图

    上传的附件:
  • HeavyRain 2021-6-8
    引用 5
    服务器更新到最新代码试试?另外有没有你们自己改过代码?
  • gaocunbin 2021-6-8
    引用 6
    服务器上我们吧else if 去掉了, 我认为应该是前端Android协议栈需要更新吧, 后台应该没有动这个基础逻辑, 
    我们临时的解决方案是吧图中, 服务器端else if去掉了
返回