[ShoutSystems] Message is set as seen even if it wasn't

[ShoutSystems] Message is set as seen even if it wasn't

  
Forge Component
(4)
Published on 6 Oct by OutSystems Labs
4 votes
Published on 6 Oct by OutSystems Labs

Hi, 

The message is always displayed as "read" even if another user is not on conversation screen and app is closed. It is related to the fact that Message widget parameter MessageStatus is hardcoded to Entities.MessageStatus.Read


Also What is the best way to have "is typing" kind of notification? 


Thank you

Solution

Hi Mykola,

Yes, we don't take advantage of that input, it should be NullIdentifier() but I'm not sure if it works with that value. In order to take advantage of that status we need to add extra features to the app so that we can know when a message is read/received/sent/hidden etc (we only have a few of these).

Regarding the "is typing" features, take a look at the other notifications we use with firebase, like the NotifyImageLoaded, NotifyNewMessage or NotifyNewUser. You could follow this example and, as NotifyNewMessage, ping all users on the conversation but instead of the message you tsend the name of who's writing and you add a new EventType to the static entity like "IsWriting". You'll probably need another parameter to "cancel" that, for when the users erase instead of sending messages. If you need there's an AdvancedJson field on the FirebaseEvent structure that allows you to extend the basic information (you should use the platform serialize/deserialize widgets for this).

If you have any dificulty creating this feature just ask and i'll answer asap.
Regards


Solution

Thank you Afonso - I will try that.