Messages GUI Issue

Posted on
  • I am having a potential issue with the messages UI app. I can receive text/email/call notifications fine. I see the swipe interactions with check and X. I can answer and decline phone calls using these swipes, but I cannot seem to get the swipes to clear notifications or open notifications on the phone per the expected behavior in the app instructions. If this user error, a bug, or the expected actions are different?

    For reference, I am using Bangle 2, gadgetbridge with message ui v0.73, and phone is Moto G Power 2022.

  • If you swipe right (green) on a message then it should open on the phone, but it won't unlock the phone. It'll just be that next time you turn it on, that's which app it'll be open on.

    Swipe left (red) should remove the message notification.

    I just tested both and they do works for me here. Are you sure you've followed the steps on http://www.espruino.com/Gadgetbridge to ensure Gadgetbridge is set to run and respond in the background properly, with all the correct permissions?

  • I rechecked the steps, and I think I did them correctly. I activated settings as directed and all permissions are granted to Gadgetbridge.

    I'm testing by texting myself on Google Voice, which shouldn't present any issues. It appears that email notifications can be dismissed correctly, and open in the app correctly, but text messages aren't behaving as nicely. The log files from Gadgetbridge do show:

    {"t":"notify","n":"DISMISS","id":1691496­788}
    

    Which is properly dismissing emails. So I wonder if this is due to a setting within the messages app, or something else internal to the phone. Any ideas on how to further test this?

  • Ok, well, given Gadgetbridge received that message (and I guess the ID matches the notification) it sounds like it's an issue with Gadgetbridge. Do you see any log messages immediately after that line that might shine any light on what's going on?

    Which Gadgetbridge version do you have? The Bangle.js Gadgetbridge one from the Play Store?

    Do you have a separate Google account you could sign into and send yourself a message from Google Meet? Does that work?

    I think to dig down further, unless we can reproduce here, you'd have to use Android Studio to have a poke around inside Gadgetbridge

  • I've attached a log file of a few interactions. I received email warning me I logged into my Google voice, and those dismissed without issue. The text messages sent from my Google voice weren't dismissed like I would expect.

    Gadgetbridge is version 0.75.0a, from play store.

    Google meet tried to send a text, but I used Google chat and the notifications were dismissed correctly. However, I wasn't able to open the chat app with the check swipe.


    1 Attachment

  • Been doing some more "testing" throughout the day with the texts I get. Turns out my group texts can be dismissed, but I can't get the check swipe to work with those. But none of the individual people's texts can be dismissed. I wonder if this is SMS vs MMS? But that wouldn't make sense since it's a simple interaction with the notifications.

  • Thanks for the log! I see some messages like:

    SENDING GB({t:"notify",id:1691496778,src:"Gmail­",title:"Google",subject:"",body:"Securi­ty alert\n",sender:""})
    

    And then no DISMISS/OPEN command with a matching ID for those. Was that because you didn't tap on those, or are they ones that you were having trouble with?

    I wonder if this is SMS vs MMS?

    It may be SMS is actually handled differently to normal notifications? That might explain it... @Ganblejs do you have any experience of this from when you were poking around?

    I just checked and it seems we only send notifications via onNotification in Gadgetbridge, so if it is different maybe it gets handled internally - but I can imagine that maybe SMS don't respond to commands like DISMISS/OPEN

  • And then no DISMISS/OPEN command with a matching ID for those

    I get ~3 emails every time I log into my alternate Gmail because of mail forwarding, so I just didn't tap on those while testing this. Gmail has been functioning without issue.

    My mobile carrier also allows for RCS, so I have been trying that as well. RCS appears to dismiss appropriately, but I still can't get the app to open on next phone unlock by swiping to the check, which works for Gmail.

  • @Ganblejs do you have any experience of this from when you were poking around?

    Not that I recall, no. Sorry :)

  • @Gordon Regarding SMS, I've actually observed a different behaviour for those notifications compared to others (but haven't had an opportunity to dig any further).

    Whenever I get an SMS and then clear the notification on my phone, the message persists on the Bangle and has to be deleted manually. This only happens with SMS.

    Could of course be a particular thing with my setup, and I've been suspecting as much since I haven't seen anyone mentioning anything similar. But, since we're talking about SMS quirks here I figured I'd mention it.

    I'll try to grab a log for this later today.

  • It is the same for me with the "message list" app. SMS persists always on the watch

  • @joserebelo have you come across this before?

  • I captured a quick GB debug log and it shows this when receiving an SMS on the phone:

    SENDING GB({t:"notify",id:1691570958,title:"",su­bject:"",body:"Testing",sender:"Me",tel:­"redacted"})
    

    Dismissing the notification does not generate a "notify-" action, but I see these for other notifications I dismiss.

    I can also add that I see the same behaviour as described by the OP when it comes to SMS: interacting with the messages UI on the watch doesn't do anything for the notification on the phone. Other apps can have the notification both dismissed and the app being opened depending on the watch interaction.

    The messaging app I'm using is the AOSP Messaging app that comes with my installed Android ROM.

    When I try using a different app for SMS it gets a little more interesting. I installed this one:
    https://play.google.com/store/apps/detai­ls?id=com.simplemobiletools.smsmessenger­

    The following then shows up in the logs:

    SENDING GB({t:"notify",id:1691570974,title:"",su­bject:"",body:"Testing 6",sender:"Me",tel:"redacted"})
    
    SENDING GB({t:"notify",id:1691570975,src:"SMS Messenger",title:"Me",subject:"",body:"T­esting 6",sender:""})
    
    SENDING GB({t:"notify-",id:1691570975})
    

    When dismissing this notification I'm moved to the messages list on the watch, and the first of the above received notifications is still there. With this app it is possible to dismiss the notification using the watch, but not to open the app.

    SENDING GB({t:"notify",id:1691570980,title:"",su­bject:"",body:"Testing 9",sender:"Me",tel:"redacted"})
    
    SENDING GB({t:"notify",id:1691570981,src:"SMS Messenger",title:"Me",subject:"",body:"T­esting 9",sender:""})
    
    {"t":"notify","n":"OPEN","id":1691570981­}
    
    {"t":"notify","n":"OPEN","id":1691570980­}
    
    SENDING GB({t:"notify-",id:1691570981})
    
    SENDING GB({t:"notify",id:1691570982,title:"",su­bject:"",body:"Testing 10",sender:"Me",tel:"redacted"})
    
    SENDING GB({t:"notify",id:1691570983,src:"SMS Messenger",title:"Me",subject:"",body:"T­esting 10",sender:""})
    
    {"t":"notify","n":"DISMISS","id":1691570­983}
    
    SENDING GB({t:"notify-",id:1691570983})
    

    Of course, when dismissing, one of the messages still remain in the messages list and needs to be removed manually.

    All of this is on a custom Android 11 ROM. Firmware version of the watch and versions of the involved apps on the watch does not seem to matter since I've seen this behavior for some time.

    Bangle firmware - 2v18.126
    Android integration - v0.31
    Messages - v0.60
    Messages UI - v0.73
    Gadgetbridge - 0.75.0b-banglejs (229)

  • @Gordon yeah, I have noticed some inconsistencies with the way notifications are sent to devices:

    • Notifications are handled in the NotificationListener - this includes both sending and handling the dismissals. The NotificationListener keeps a lookup queue that maps notifications by ID.
    • However, SMS are sent by the SMSReceiver. This gets the SMS event directly, which does not map to a notification on the phone. When trying to dismiss it from NotificationListener, it will fail.

    Additionally to this, I don't think we're setting the notification ID correctly when creating the NotificationSpec, so it's always incrementing, even for updates of the same notification.

    I did not have too much time to look into this yet, but it's definitely a bug on Gadgetbridge that's affecting all devices.

  • Thanks for all the info everyone!

    @joserebelo ok, that fits then. So it looks like handleGBDeviceEvent(GBDeviceEventNotific­ationControl maybe needs to be able to forward requests to the SMS library.

    Either that or we just forward the notifications from Messages/etc and forget about showing SMS direct?

    I don't think we're setting the notification ID correctly when creating the NotificationSpec, so it's always incrementing, even for updates of the same notification.

    Yes - I actually had a fork that checked to see if notifications changed and if so only sent a 'notification changed' message to the Bangle and it worked great, but at some point after I made the fork Notification IDs got broken (it always used to work).

    There was a report a while back about an app that had a notification progress bar, and it would swamp the Bangle with updates - same deal, each update had a different ID

  • Created https://codeberg.org/Freeyourgadget/Gadg­etbridge/issues/3261 to track this on Gadgetbridge. I'll look into it eventually if nobody does in the meanwhile.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview
About

Messages GUI Issue

Posted by Avatar for user156125 @user156125

Actions