cinit / QAuxiliary

QNotified phoenix - To make OICQ great again
Other
4.26k stars 320 forks source link

[Bug] 有关发送消息的功能可能会“吞”消息 #1073

Open EatHatsuneShallots opened 4 months ago

EatHatsuneShallots commented 4 months ago

Steps to reproduce/复现步骤

使用相关功能发送消息,如: 表情面板 (未复现)、语音转发等,但不包括复读

Expected behaviour/预期行为

发送给好友的消息不会被吞

Actual behaviour/实际行为

消息可能会被“吞”,且需要重启 QQ 才(可能)会显示

Xposed Framework you used/你使用的Xposed框架

NPatch 0.6.1

Your Android version/你使用的安卓系统版本

12S

QQ(TIM)版本/QQ(TIM) Version

9.0.0

Module Version/模块版本

1ea3de1de51c1f46881d7be6aec390835084869b

Version and Other Requirements/版本和其他要求

Logs/日志

调试信息

PID: 31534, UID: 10452, 64 bit
Xposed API version: 100
de.robv.android.xposed.XposedBridge
module: /data/user/0/com.tencent.mobileqq/cache/lspatch/io.github.qauxv/188446680.apk
ctx.dataDir: /data/user/0/com.tencent.mobileqq

  [0]PicElement
com.tencent.mobileqq.aio.msg.AIOMsgElementType.PicElement
= (void*)0
  [5]AbstractQQCustomMenuItem
com.tencent.qqnt.aio.menu.ui.AbstractQQCustomMenuItem
= Lcom/tencent/qqnt/aio/menu/ui/c;->toString()Ljava/lang/String;
  [7]AIOPictureView
com.tencent.mobileqq.richmediabrowser.view.AIOPictureView
= com.tencent.mobileqq.richmediabrowser.view.AIOPictureView
  [8]AIOUtils
com.tencent.mobileqq.activity.aio.AIOUtils
= Lcom/tencent/mobileqq/activity/aio/w;->O(Lcom/tencent/mobileqq/app/QQAppInterface;Lcom/tencent/mobileqq/app/BaseActivity;Landroid/content/Intent;)I
  [9]AbstractGalleryScene
com.tencent.common.galleryactivity.AbstractGalleryScene
= Lcom/tencent/common/galleryactivity/c;->onStart()V
  [10]AppConstants
com.tencent.mobileqq.app.AppConstants
= com.tencent.mobileqq.app.AppConstants
  [11]ArkAppItemBubbleBuilder
com.tencent.mobileqq.activity.aio.item.ArkAppItemBubbleBuilder
= Lio/github/qauxv/util/DexKit$NoSuchClass;->a()V
  [12]AvatarUtil
com.tencent.mobileqq.avatar.utils.AvatarUtil
= (void*)0
  [13]BasePicDownloadProcessor
com.tencent.mobileqq.transfile.BasePicDownloadProcessor
= com.tencent.mobileqq.transfile.BasePicDownloadProcessor
  [14]CustomWidgetUtil
com.tencent.widget.CustomWidgetUtil
= Lcom/tencent/qqnt/chats/b/h/c$a;->a(Landroid/widget/TextView;III)V
  [15]DialogUtil
com.tencent.mobileqq.utils.DialogUtil
= com.tencent.mobileqq.utils.DialogUtil
  [16]ChatActivityFacade
com.tencent.mobileqq.activity.ChatActivityFacade
= com.tencent.mobileqq.activity.ChatActivityFacade
  [17]FaceManager
com.tencent.mobileqq.app.face.FaceManager
= (void*)0
  [18]FavEmoConstant
com.tencent.mobileqq.emosm.favroaming.FavEmoConstant
= com.tencent.mobileqq.emosm.favroaming.FavEmoConstant
  [19]FlashPicHelper
com.tencent.mobileqq.app.FlashPicHelper
= Lcom/tencent/mobileqq/app/an;->e(Lcom/tencent/mobileqq/data/MessageRecord;Z)V
  [20]FrameControllerInjectImpl
com.tencent.mobileqq.activity.framebusiness.controllerinject.FrameControllerInjectImpl
= com.tencent.mobileqq.activity.framebusiness.controllerinject.FrameControllerInjectImpl
  [21]GalleryBaseScene
com.tencent.mobileqq.gallery.view.GalleryBaseScene
= Lcom/tencent/richmediabrowser/view/BrowserBaseScene;->onItemSelected(I)V
  [22]TroopAppShortcutDrawer
com.tencent.mobileqq.activity.aio.drawer.TroopAppShortcutDrawer
= com.tencent.mobileqq.activity.aio.drawer.TroopAppShortcutDrawer
  [23]GuildArkHelper
com.tencent.mobileqq.guild.chatpie.helper.GuildArkHelper
= (void*)0
  [24]GuildHelperProvider
com.tencent.mobileqq.guild.chatpie.GuildHelperProvider
= (void*)0
  [25]HttpDownloader
com.tencent.mobileqq.transfile.HttpDownloader
= com.tencent.mobileqq.transfile.HttpDownloader
  [26]IntimateInfoChatDrawer
com.tencent.mobileqq.activity.aio.drawer.IntimateInfoChatDrawer
= (void*)0
  [27]ItemBuilderFactory
com.tencent.mobileqq.activity.aio.item.ItemBuilderFactory
= Lcom/tencent/mobileqq/activity/aio/core/msglist/a/a;->b(Lcom/tencent/mobileqq/data/ChatMessage;Landroid/widget/BaseAdapter;)Lcom/tencent/mobileqq/activity/aio/ai;
  [28]MessageCache
com.tencent.mobileqq.service.message.MessageCache
= Lcom/tencent/mobileqq/service/h/e;->()V
  [29]MessageRecordFactory
com.tencent.mobileqq.service.message.MessageRecordFactory
= Lcom/tencent/mobileqq/service/h/r;->I(Lcom/tencent/common/app/AppInterface;Lcom/tencent/mobileqq/data/MessageRecord;Ljava/lang/String;Ljava/lang/String;I)V
  [30]MultiMsgManager
com.tencent.mobileqq.multimsg.MultiMsgManager
= com.tencent.mobileqq.multimsg.MultiMsgManager
  [31]OnlinePushPbPushTransMsg
com.tencent.mobileqq.app.handler.receivesuccess.OnlinePushPbPushTransMsg
= (void*)0
  [32]PicEmoticonInfo
com.tencent.mobileqq.emoticonview.PicEmoticonInfo
= com.tencent.mobileqq.emoticonview.PicEmoticonInfo
  [33]PngFrameUtil
com.tencent.mobileqq.magicface.drawable.PngFrameUtil
= (void*)0
  [34]PopOutEmoticonUtil
com.tencent.mobileqq.popanim.util.PopOutEmoticonUtil
= (void*)0
  [35]MsgNotification
cooperation.qzone.push.MsgNotification
= cooperation.qzone.push.MsgNotification
  [36]ReplyMsgSender
com.tencent.mobileqq.replymsg.ReplyMsgSender
= (void*)0
  [37]ReplyMsgUtils
com.tencent.mobileqq.activity.aio.reply.ReplyMsgUtils
= (void*)0
  [38]ScreenShotHelper
com.tencent.mobileqq.screendetect.ScreenShotHelper
= com.tencent.mobileqq.screendetect.ScreenShotHelper
  [39]SimpleUIUtil
com.tencent.mobileqq.theme.SimpleUIUtil
= (void*)0
  [40]SystemMessageProcessor
com.tencent.mobileqq.app.message.SystemMessageProcessor
= (void*)0
  [41]TestStructMsg
com.tencent.mobileqq.structmsg.TestStructMsg
= Lcom/tencent/mobileqq/structmsg/w;->a(Ljava/lang/String;)Lcom/tencent/mobileqq/structmsg/AbsStructMsg;
  [42]TimeFormatterUtils
com.tencent.mobileqq.utils.TimeFormatterUtils
= (void*)0
  [43]TroopGiftUtil
com.tencent.mobileqq.troop.utils.TroopGiftUtil
= (void*)0
  [44]ZipUtils
com.tencent.biz.common.util.ZipUtils
= com.tencent.biz.common.util.ZipUtils
  [48]DefaultFileModel
com.tencent.mobileqq.filemanager.fileviewer.model.DefaultFileModel
= Lcom/tencent/mobileqq/filemanager/fileviewer/model/f;->u0(ILjava/lang/String;)V
  [50]EmotcationConstants
com.tencent.mobileqq.text.EmotcationConstants
= com.tencent.mobileqq.text.EmotcationConstants
  [51]ForwardSendPicUtil
com.tencent.mobileqq.utils.ForwardSendPicUtil
= com.tencent.mobileqq.utils.ForwardSendPicUtil
  [58]

= (void*)0
  [59]toBottomIntent
com.tencent.mobileqq.aio.input.multiselect.c.toBottomIntent
= Lcom/tencent/mobileqq/aio/input/multiselect/c$h;->toString()Ljava/lang/String;
  [70]CustomWidgetUtil
com.tencent.widget.CustomWidgetUtil
= Lcom/tencent/widget/a;->c(Landroid/widget/TextView;IIIILjava/lang/String;Z)V
  [88]

= Lcom/tencent/qqnt/pluspanel/adapter/PanelAdapter;->e(I)Ljava/util/List;
  [96]

= Lcom/tencent/mobileqq/troop/troopcard/api/impl/b;->c()V
  [99]LoadPropertiesUtils
com.tencent.smtt.utils.LoadPropertiesUtils
= (void*)0
  [100]activity
com.tencent.qqnt.aio.activity
= Lcom/tencent/qqnt/aio/activity/AIODelegate$d;->a()V
  [104]

= (void*)0
  [107]

= (void*)0
  [111]

= Lcom/tencent/mobileqq/activity/qqsettingme/config/a;->()V
  [1]sendMsg
com.tencent.mobileqq.aio.input.sendmsg.AIOSendMsgVMDelegate.sendMsg
= Lcom/tencent/mobileqq/aio/input/sendmsg/AIOSendMsgVMDelegate;->c0(Ljava/util/List;Landroid/os/Bundle;Ljava/lang/Long;)V
  [2]AIOTextElementCtor
com.tencent.mobileqq.aio.msg.AIOMsgElement.AIOTextElementCtor
= Lcom/tencent/mobileqq/aio/msg/a/a;->r(Lcom/tencent/qqnt/aio/q/a/a$g;)Lcom/tencent/mobileqq/aio/msg/a/a;
  [3]AIO_Create_QQNT
AIO_Create_QQNT
= Lcom/tencent/aio/base/chat/ChatPie;->g(Landroid/os/Bundle;Lcom/tencent/aio/main/fragment/ChatFragment;Lkotlin/jvm/functions/Function1;)V
  [4]

= Lcom/tencent/mobileqq/aio/input/i/b;->E(Lcom/tencent/mobileqq/aio/input/e/b/a;)V
  [6]BaseListenTogetherPanel
com.tencent.mobileqq.listentogether.ui.BaseListenTogetherPanel
= Lcom/tencent/mobileqq/listentogether/ui/BaseListenTogetherPanel;->S(Lcom/tencent/mobileqq/listentogether/ListenTogetherSession;)V
  [45]ChatPanel_InitPanel_QQNT
ChatPanel_InitPanel_QQNT
= Lcom/tencent/mobileqq/aio/input/i/b;->B()V
  [46]

= (void*)0
  [47]

= (void*)0
  [49]

= (void*)0
  [52]NotifyIdManager
com.tencent.util.notification.NotifyIdManager
= (void*)0
  [53]Guild_Emo_Btn_Create_QQNT
Guild_Emo_Btn_Create_QQNT
= Lcom/tencent/z/a/d/a/c;->onCreateView(Lcom/tencent/t0/a/c/a;)Landroid/view/View;
  [54]PickerBottomBarPart
Lcom.tencent.qqnt.qbasealbum.album.view.PickerBottomBarPart
= Lcom/tencent/qqnt/qbasealbum/album/view/PickerBottomBarPart;->W4(Lcom/tencent/qqnt/qbasealbum/album/view/PickerBottomBarPart;Ljava/lang/Boolean;)V
  [55]PhotoListPanel
Lcom.tencent.mobileqq.activity.aio.photo.PhotoListPanel
= Lcom/tencent/mobileqq/activity/aio/photo/PhotoListPanel;->d0(Z)V
  [56]message
com.tencent.imcore.message
= Lcom/tencent/imcore/message/ah$f;->k(Ljava/util/ArrayList;LOnlinePushPack/MsgInfo;)Z
  [57]AIOFileViewer
Lcom.tencent.mobileqq.aio.msglist.holder.component.file.AIOFileViewer
= (void*)0
  [60]AtPanel
com.tencent.mobileqq.troop.quickat.ui.AtPanel
= Lio/github/qauxv/util/DexKit$NoSuchClass;->a()V
  [61]AtPanel
com.tencent.mobileqq.troop.quickat.ui.AtPanel
= Lio/github/qauxv/util/DexKit$NoSuchClass;->a()V
  [62]BaseChatPie
com.tencent.mobileqq.activity.aio.core.BaseChatPie
= com.tencent.mobileqq.activity.aio.core.BaseChatPie
  [63]BaseChatPie
com.tencent.mobileqq.activity.aio.core.BaseChatPie
= Lcom/tencent/mobileqq/activity/aio/helper/AIOMultiActionHelper;->w(Lcom/tencent/mobileqq/data/ChatMessage;)V
  [64]BaseChatPie
com.tencent.mobileqq.activity.aio.core.BaseChatPie
= Lcom/tencent/mobileqq/activity/aio/core/BaseChatPie;->B0()V
  [65]BaseChatPie
com.tencent.mobileqq.activity.aio.core.BaseChatPie
= com.tencent.mobileqq.activity.aio.core.BaseChatPie
  [66]ChatActivityFacade
com.tencent.mobileqq.activity.ChatActivityFacade
= com.tencent.mobileqq.activity.ChatActivityFacade
  [67]ContactUtils
com.tencent.mobileqq.utils.ContactUtils
= Lcom/tencent/mobileqq/utils/ContactUtils;->f(Lmqq/app/AppRuntime;Ljava/lang/String;Z)Ljava/lang/String;
  [68]ContactUtils
com.tencent.mobileqq.utils.ContactUtils
= Lcom/tencent/mobileqq/utils/ContactUtils;->m(Lcom/tencent/common/app/business/BaseQQAppInterface;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
  [69]Conversation
com.tencent.mobileqq.activity.home.Conversation
= com.tencent.mobileqq.activity.home.Conversation
  [71]FriendChatPie
com.tencent.mobileqq.activity.aio.core.FriendChatPie
= com.tencent.mobileqq.activity.aio.core.FriendChatPie
  [72]FriendsStatusUtil
com.tencent.mobileqq.app.utils.FriendsStatusUtil
= com.tencent.mobileqq.app.utils.FriendsStatusUtil
  [73]LeftSwipeReplyHelper
com.tencent.mobileqq.bubble.LeftSwipeReplyHelper
= Lcom/tencent/mobileqq/bubble/i;->M()V
  [74]PadUtil
com.tencent.common.config.PadUtil
= (void*)0
  [75]PhotoListPanel
com.tencent.mobileqq.activity.aio.photo.PhotoListPanel
= com.tencent.mobileqq.activity.aio.photo.PhotoListPanel
  [76]ProfileCardUtil
com.tencent.mobileqq.util.ProfileCardUtil
= com.tencent.mobileqq.util.ProfileCardUtil
  [77]QQSettingMe
com.tencent.mobileqq.activity.QQSettingMe
= Lcom/tencent/mobileqq/QQSettingMeView;->q()V
  [78]QQSettingMe
com.tencent.mobileqq.activity.QQSettingMe
= Lcom/tencent/mobileqq/QQSettingMeView;->O(Lcom/tencent/mobileqq/activity/qqsettingme/a/k;)V
  [79]

= Lcom/qzone/reborn/qzmoment/util/g;->d()Z
  [80]Scene
com.tencent.mobileqq.troopAddFrd.Scene
= (void*)0
  [81]TroopAppShortcutBarHelper
com.tencent.mobileqq.activity.aio.helper.TroopAppShortcutBarHelper
= (void*)0
  [82]TroopChatPie
com.tencent.mobileqq.activity.aio.core.TroopChatPie
= com.tencent.mobileqq.activity.aio.core.TroopChatPie
  [83]VasProfileTemplateController
com.tencent.mobileqq.profilecard.vas.VasProfileTemplateController
= Lcom/tencent/mobileqq/profilecard/vas/VasProfileTemplateController;->onCardUpdate(Lcom/tencent/mobileqq/profilecard/base/framework/IComponentCenter;Lcom/tencent/mobileqq/profilecard/data/ProfileCardInfo;)Z
  [84]VipUtils
com.tencent.mobileqq.utils.VipUtils
= Lcom/tencent/mobileqq/vip/p;->getPrivilegeFlags(Ljava/lang/String;)I
  [85]VipUtils
com.tencent.mobileqq.utils.VipUtils
= (void*)0
  [86]WebSecurityPluginV2$
com.tencent.mobileqq.webview.WebSecurityPluginV2$
= (void*)0
  [87]PaiYiPaiHandler
com.tencent.mobileqq.paiyipai.PaiYiPaiHandler
= Lcom/tencent/mobileqq/paiyipai/PaiYiPaiHandler;->p4(Ljava/lang/String;)Z
  [89]PushNotificationManager
com.tencent.mobileqq.managers.PushNotificationManager
= com.tencent.mobileqq.managers.PushNotificationManager
  [90]QQValuePagView
com.tencent.mobileqq.vas.qqvaluecard.view.QQValuePagView
= com.tencent.mobileqq.vas.qqvaluecard.view.QQValuePagView
  [91]QZoneFeedxTopEntranceManagerView
com.qzone.reborn.feedx.widget.entrance.QZoneFeedxTopEntranceManagerView
= Lcom/qzone/reborn/feedx/widget/entrance/QZoneFeedxTopEntranceManagerView;->g0()V
  [92]

= Lcom/tencent/mobileqq/activity/recent/l$a;->onClickAction(Lcom/tencent/widget/PopupMenuDialog$MenuItem;)V
  [93]

= Lcom/tencent/mobileqq/aio/input/h/k;->p(Lcom/tencent/mobileqq/aio/msg/AIOMsgItem;)V
  [94]

= (void*)0
  [95]TroopGuildChatPie
com.tencent.mobileqq.troop.guild.TroopGuildChatPie
= Lcom/tencent/mobileqq/troop/guild/TroopGuildChatPie;->R0()V
  [97]

= (void*)0
  [98]p
com.tencent.mobileqq.vas.p
= Lcom/tencent/mobileqq/vas/q;->a(Ljava/util/HashMap;Lcom/tencent/qqnt/kernel/nativeinterface/Contact;I)V
  [101]AIO_Create_QQNT
AIO_Create_QQNT
= Lcom/tencent/aio/base/chat/ChatPie;->h()V
  [102]

= Lcom/tencent/mobileqq/emotionintegrate/m;->c()Z
  [103]

= Lcom/tencent/mobileqq/filebrowser/FileBrowserActivity$f;->onItemClick(Lcom/tencent/mobileqq/utils/ShareActionSheetBuilder$ActionSheetItem;Lcom/tencent/mobileqq/widget/share/ShareActionSheet;)V
  [105]GrowHalfLayerHelper
cooperation.vip.ad.GrowHalfLayerHelper
= Lcooperation/vip/ad/GrowHalfLayerUtils;->h(Landroid/app/Activity;Lcooperation/vip/ad/GrowHalfLayerInfo;Lcooperation/vip/ad/GrowHalfLayerTechInfo;)V
  [106]

= Lcom/tencent/mobileqq/app/ci;->onUpdate(IZLjava/lang/Object;)V
  [108]

= Lcom/tencent/mobileqq/activity/qqsettingme/utils/a;->f()Z
  [109]

= Lio/github/qauxv/util/DexKit$NoSuchClass;->a()V
  [110]

= Lcom/tencent/mobileqq/activity/qqsettingme/utils/a;->g()Z
  [112]AIOAvatarContentComponent
com.tencent.mobileqq.aio.msglist.holder.component.avatar.AIOAvatarContentComponent
= Lcom/tencent/mobileqq/aio/msglist/holder/component/avatar/AIOAvatarContentComponent;->X0()V
  [113]AIOPictureView
com.tencent.mobileqq.activity.aio.photo.AIOPictureView
= Lcom/tencent/mobileqq/richmediabrowser/view/AIOPictureView;->T0()V
  [114]AIOPictureView
com.tencent.mobileqq.activity.aio.photo.AIOPictureView
= Lcom/tencent/mobileqq/richmediabrowser/view/AIOPictureView;->j1(Z)V
  [115]TextItemBuilder
com.tencent.mobileqq.activity.aio.item.TextItemBuilder
= com.tencent.mobileqq.activity.aio.item.TextItemBuilder
  [116]TextMsgItem
com.tencent.mobileqq.aio.msg.TextMsgItem
= Lcom/tencent/mobileqq/aio/msg/z;->F1()Ljava/lang/CharSequence;
  [40001]ReplyNoAtHook
com/tencent/mobileqq/activity/aio/rebuild/input/d
  [40002]ChatWordsCount
nyn
  [40003]SortAtPanel.sessionInfoTroopUin
f
  [40004]RemovePlayTogether.ClockInEntryHelper
n
  [40005]QQMessageFacade
B2
  [40006]SimplifyQQSettingMe::MidContentName
f0
  [40007]RemovePlayTogether.TogetherControlHelper
q

补充说明(可选)

据相关议题 https://github.com/LuckyPray/XAutoDaily/issues/95 (已解决)所述,此问题是 QQNT 的通病 也许应该通过更换 API 来规避

EatHatsuneShallots commented 3 months ago

XAutoDaily 解决了这个问题,也许可以参考一下他是怎么做的

keta1 commented 3 months ago

@teble 来干活

Bai-0305 commented 2 months ago

我也遇到了类似问题,群聊发送的消息不显示,必须退回到主页再重新打开群聊界面才会刷新别人所发的消息

EatHatsuneShallots commented 2 months ago

我也遇到了类似问题,群聊发送的消息不显示,必须退回到主页再重新打开群聊界面才会刷新别人所发的消息

具体指什么功能

Bai-0305 commented 2 months ago

我也遇到了类似问题,群聊发送的消息不显示,必须退回到主页再重新打开群聊界面才会刷新别人所发的消息

具体指什么功能

就比如说我和群员聊天的时候,只显示我消息发出去了(就好像只有我一个人在说话一样),退出群聊界面再回来之后他们发的消息才会突然加载出来,(根据消息时间发现是之前已经发过的但我没收到),目前尝试了多个版本都有此类问题(9.0.60、9.0.55、9.0.72等)

Bai-0305 commented 2 months ago

我也遇到了类似问题,群聊发送的消息不显示,必须退回到主页再重新打开群聊界面才会刷新别人所发的消息

具体指什么功能

我就算是在消息列表中,新消息也不会显示(包括私信和群聊消息),上滑刷新也没有用(tim可以正常接收),有没有一种办法来模拟打开消息界面获取对方消息的功能,让消息及时通知给我