Signal-android: clicking on an emoji reaction notification does not bring me to the message where the reaction was placed

Created on 25 Mar 2020  路  7Comments  路  Source: signalapp/Signal-Android


Bug description

clicking on an emoji reaction notification does not bring me to the message where the reaction was placed

Steps to reproduce

  • someone reacts to one of your messages (an image in this case). The message (image) should not be in view anymore (i.e. you have not looked at your phone in a while and many people have already written replies...)
  • you click on the notification: "XY reacted :heart: to your image"
  • you are brought to the conversation, but NOT to the message/image where the person placed the reaction on...

Actual result: You have no idea which image has been reacted to with a :heart: (quite a few pictures have been sent by you in this chat). Now you have to manually scroll up and find the image where the other person has reacted :heart: to.
Expected result: When clicking on an emoji reaction notification the conversation should open at the location where the :heart: was placed

Device info


Device: Fairphone 3
Android version: 9
Signal version: 4.57.2

Link to debug log

not needed. 100% reproducible.

Most helpful comment

I finally got a non-disappearing repro (after trying many times) and was able to catch the issue in the debugger.

The function to find the position to jump to relies on the received timestamp, but I was giving it the sent timestamp. Because we only show notification for reactions on your own messages, and your own messages have the same sent/received timestamp pretty much all the time, I could never repro it. But I imagine some devices (like yours, I'm guessing) will not-infrequently have a millisecond or two difference, which is enough to throw the jump position off. Will fix :+1:

All 7 comments

@greyson-signal Thanks a lot for working on this so quickly!!

I have tested the fix and it almost fixes the problem - there is only a slight miscalculation by 1 message that is highlighted:

  1. react to message:
    signal-attachment-2020-03-30-104016

  2. see the message above the one reacted to highlighted:
    signal-attachment-2020-03-30-104037

I have tested it with two phones, both on 4.58.1 (Samsung S8 on Android 9 and Fairphone 3 on Android 9). If you need logs and message IDs I can provide that as well, but I think it is reproducible...

Is this reproducible constantly? I'm having a lot of trouble getting it to happen, but one way would be if a message above it disappeared before you clicked on the notification. Could that have been happening? If it's 100% consistent, I imagine not.

In the morning I tested only with around 5-10 reactions... all highlighted the wrong message.
Now I played around a lot in both directions. And I'd say it is reproducible in around 75% of the cases. But not always, and that is very strange... I have not found a pattern behind it. Doesn't it happen at all with your test phones?

The disappearing message timer is set to 1week - pretty much all messages were sent today in this chat. So there should be no way for a disappearing message to influence this so constantly.

I have deleted all old messages (which are about to be deleted in the next days) and I have also disabled the disappearing message timer now, and this seems to make no difference...

Is there anything that could be device specific? I guess not... Any other information I could provide that could be helpful?

The idea is that if any message you've previously sent in that chat disappeared after the notification posted, it could affect the offset. I'm working on solving that, I'm just trying to find out if there's other problems.

And I basically can't reproduce this at all myself.

I have deleted the respective conversation on both phones and started new with no disappearing messages and it is still happening! :man_shrugging:

And I basically can't reproduce this at all myself.

Very strange!

I finally got a non-disappearing repro (after trying many times) and was able to catch the issue in the debugger.

The function to find the position to jump to relies on the received timestamp, but I was giving it the sent timestamp. Because we only show notification for reactions on your own messages, and your own messages have the same sent/received timestamp pretty much all the time, I could never repro it. But I imagine some devices (like yours, I'm guessing) will not-infrequently have a millisecond or two difference, which is enough to throw the jump position off. Will fix :+1:

Thanks for the details!

Was this page helpful?
0 / 5 - 0 ratings