flutter部分BUG和报错

uniappDemo 9月前 263

1.friendListUpdatedCallback 这个callback没有执行。 我看你们的源码里面 方法名叫 onUserInfoUpdated 。但是调用方法使用的onUserInfoUpdate 少了一个d。 还有一些类似的比如 onUserInfoUpdated 调用方法使用的 onUserInfoUpdate 2.searchUser这个方法搜索好像有问题,我searchType传入1,应该是精准搜索name和mobile,但是不管我搜索手机号或者name这个字段。搜索出来永远是空的列表。 3.Imclient.getUserInfo 获取不到mobile这个字段。永远获取出来都是null,应该是映射错误了 4.部分接口调用报错,java.lang.reflect.InvocationTargetException,目前只是测试了安卓环境,用插件中的example运行 调用方法也会报错。以下是部分测试报错接口 Imclient.getFavGroups() Imclient.setConversationTop() Imclient.setFavGroup()

最新回复 (19)
  • uniappDemo 9月前
    引用 2
    已经在github flutter插件下面提了issue
  • HeavyRain 9月前
    引用 3
    好的,非常感谢您给提的非常宝贵的问题,这几个问题已经解决,请查看我们的回复和更新版本验证。因为我们flutter demo不完善,导致sdk没有充分的验证,所以问题会有点儿多,不过原生SDK是挺稳定的,问题都是在插件的平台转换哪里。你可以加一下我们的微信,wildfirechat,我们可以更快的提供问题修复。
  • uniappDemo 8月前
    引用 4
    HeavyRain 好的,非常感谢您给提的非常宝贵的问题,这几个问题已经解决,请查看我们的回复和更新版本验证。因为我们flutter demo不完善,导致sdk没有充分的验证,所以问题会有点儿多,不过原生SDK是挺稳定的 ...
    我这边试了一下 最新版的问题有一点多。是更新后才出现的
    1.会造成频繁的闪退,几乎必现 在手机端收到一条消息就会闪退 报错信息如下
    E/AndroidRuntime(23279): java.util.ConcurrentModificationException
    E/AndroidRuntime(23279):         at java.util.ArrayList$SubList.size(ArrayList.java:1057)
    E/AndroidRuntime(23279):         at io.flutter.plugin.common.StandardMessageCodec.writeValue(StandardMessageCodec.java:275)
    E/AndroidRuntime(23279):         at io.flutter.plugin.common.StandardMessageCodec.writeValue(StandardMessageCodec.java:285)
    E/AndroidRuntime(23279):         at io.flutter.plugin.common.StandardMethodCodec.encodeMethodCall(StandardMethodCodec.java:38)
    E/AndroidRuntime(23279):         at io.flutter.plugin.common.MethodChannel.invokeMethod(MethodChannel.java:119)
    E/AndroidRuntime(23279):         at io.flutter.plugin.common.MethodChannel.invokeMethod(MethodChannel.java:102)
    E/AndroidRuntime(23279):         at cn.wildfirechat.imclient.ImclientPlugin$30.run(ImclientPlugin.java:1936)
    E/AndroidRuntime(23279):         at android.os.Handler.handleCallback(Handler.java:900)
    E/AndroidRuntime(23279):         at android.os.Handler.dispatchMessage(Handler.java:103)
    E/AndroidRuntime(23279):         at android.os.Looper.loop(Looper.java:219)
    E/AndroidRuntime(23279):         at android.app.ActivityThread.main(ActivityThread.java:8673)
    E/AndroidRuntime(23279):         at java.lang.reflect.Method.invoke(Native Method)
    E/AndroidRuntime(23279):         at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:513)
    E/AndroidRuntime(23279):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1109)

    2.在线状态回调没用了,最初一个在线状态回调那个版本我们这边对接后是正确的在线状态回调的,更新后 会收到在线状态回调,但是clientStates永远是null。

    目前就发现这两个 其他的发现了再回复你
  • HeavyRain 8月前
    引用 5
    1. 崩溃问题已经修复
    2. clientStates是设备的状态,当超过7天没有登录时,这个值就为空,您检查一下最近在线过的用户的这个值
  • uniappDemo 8月前
    引用 6
    HeavyRain 1. 崩溃问题已经修复 2. clientStates是设备的状态,当超过7天没有登录时,这个值就为空,您检查一下最近在线过的用户的这个值
    2这个问题我调试过的。我一个用户上线后 可以收到这个event,但是event中这个用户的clientStates一直为null. 也是更新后出现的这个问题。
  • HeavyRain 8月前
    引用 7
    我一个用户上线后 可以收到这个event,但是event中这个用户的clientStates一直为null

    这个是在哪里看到的,另外获取这个用户的在线状态能看到clientStates吗
  • uniappDemo 8月前
    引用 8
    HeavyRain 我一个用户上线后 可以收到这个event,但是event中这个用户的clientStates一直为null 这个是在哪里看到的,另外获取这个用户的在线状态能看到clientStates吗
    Imclient.init 这里面的 onlineEventCallback 就是更新第一版在线状态的时候是正确的。我对接完后我这边的通讯录都可以正确显示在线状态了。然后后面更新了一次后,这个onlineEventCallback 返回的 clientStates 都变成null了,就是用户上下线可以正常的收到这个callback ,但是无法区分是谁上线谁下线了。
  • HeavyRain 8月前
    引用 9
    在 c206f8d 提交之后,就没有改过用户在线相关的内容了,请确认一下,最后一个可用的 commitid是那个
  • HeavyRain 8月前
    引用 10

    我在demo中加上了onlineEventCallback,当登录后,收到这个回调,可以看到16个好友的在线状态,有clientStates为空的,这些都是超过一周没有登录过的,也有 clientStates 不会空的,请见下图

  • uniappDemo 8月前
    引用 11
    HeavyRain 我在demo中加上了onlineEventCallback,当登录后,收到这个回调,可以看到16个好友的在线状态,有clientStates为空的,这些都是超过一周没有登录过的,也有 clientSt ...
    这个online这边是我的问题,我排查到了,不好意思,下面是我这两天开发中遇到的新的问题。
    1.用户备注修改后,会话列表里面返回的内容friendAlias会一直是null
    2.not handled event onConversationTopUpdate
    3.not handled event onConversationSilentUpdate
    4.not handled event onClearMessage
    5.清除会话内消息无效。清空后不管怎么刷新会话列表或者拉取消息列表,消息仍然存在 Imclient.clearMessages
  • HeavyRain 8月前
    引用 12
    1.用户备注修改后,会话列表里面返回的内容friendAlias会一直是null
    因为没有完善UI,我在另外一个原生手机上,用账户A登录,修改用户B的昵称。然后用flutter demo登录账户A,调用 Imclient.getUserInfo(B),返回的用户信息中有friendAlias数据。
    2.not handled event onConversationTopUpdate
    3.not handled event onConversationSilentUpdate
    4.not handled event onClearMessage
    上面这3个可以忽略不管
    5.清除会话内消息无效。清空后不管怎么刷新会话列表或者拉取消息列表,消息仍然存在 Imclient.clearMessages
    Imclient.clearMessages(conversion),我测试了,会把消息清空的。你检查2点,一个是conversation是否正确,另外一个是清除后,检查一下getMessages函数返回的数据中是否有消息?
  • uniappDemo 8月前
    引用 13
    HeavyRain 1.用户备注修改后,会话列表里面返回的内容friendAlias会一直是null 因为没有完善UI,我在另外一个原生手机上,用账户A登录,修改用户B的昵称。然后用flutter demo登录账户A, ...
    1.不是用户信息里面,是Imclient.getConversationInfos 会话列表接口返回friendAlias是null。
  • HeavyRain 8月前
    引用 14
    Imclient.getConversationInfos返回的是ConversationInfo的list,这个ConversationInfo类里没有friendAlias字段啊?
  • uniappDemo 8月前
    引用 15
    更新到新版后出现了一个问题 就是删除消息和撤回消息后 会报出一个类型转换错误
    我看了一下是 ImClientPlugin中 2786 2772报的错。
    E/WildfireListenerHandler( 2980): call js error:onRecallMessage
    W/System.err( 2980): java.lang.ClassCastException: cn.wildfirechat.message.Message cannot be cast to java.lang.Long
    W/System.err( 2980):         at cn.wildfirechat.imclient.ImclientPlugin$WildfireListenerHandler.invoke(ImclientPlugin.java:2772)
    W/System.err( 2980):         at java.lang.reflect.Proxy.invoke(Proxy.java:1006)
    W/System.err( 2980):         at $Proxy17.onRecallMessage(Unknown Source)
    W/System.err( 2980):         at cn.wildfirechat.remote.ChatManager$17.lambda$onSuccess$0$cn-wildfirechat-remote-ChatManager$17(ChatManager.java:2635)
    W/System.err( 2980):         at cn.wildfirechat.remote.ChatManager$17$$ExternalSyntheticLambda0.run(Unknown Source:6)
    W/System.err( 2980):         at android.os.Handler.handleCallback(Handler.java:873)
    W/System.err( 2980):         at android.os.Handler.dispatchMessage(Handler.java:99)
    W/System.err( 2980):         at android.os.Looper.loop(Looper.java:193)
    W/System.err( 2980):         at android.app.ActivityThread.main(ActivityThread.java:6825)
    W/System.err( 2980):         at java.lang.reflect.Method.invoke(Native Method)
    W/System.err( 2980):         at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    W/System.err( 2980):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:860)
  • uniappDemo 8月前
    引用 16
    群成员groupMember里面没有extra字段映射
  • HeavyRain 8月前
    引用 17
    这两个问题已提交,请检查
  • uniappDemo 8月前
    引用 18
    HeavyRain 这两个问题已提交,请检查
    E/WildfireListenerHandler(23612): not handled event onSendPrepare
    E/WildfireListenerHandler(23612): not handled event onSendSuccess
  • uniappDemo 8月前
    引用 19
    HeavyRain 这两个问题已提交,请检查
    这两个可能也需要处理一下 需要回显发送状态
  • HeavyRain 8月前
    引用 20
    这两个事件是冗余的事件,可以不用管。我加上忽略代码吧
返回