GNUnet Messenger API: February 2024

Hi again,

As mentioned last time I’ve implemented so called transcripts now. When a user sends a PRIVATE message to another contact inside a chat, they will receive a transcript containing the information of the encrypted message but encrypted for themselves. Deletions and other actions which target the transcript message will be forwarded to target the original private message as well.

chat in messenger-gtk showing a sent invitation

So users can now read their own written private messages like invitations and delete them. Additionally I’ve implemented rejections of invitations using the new TAG message using an empty tag. This message can target any previous message via its hash and communicate tagging of messages or contacts (if applied to the last JOIN message of another contact in a chat).

This will allow blocking of contacts service wide. Because the same way a user can reject invitations, they can reject other contacts now to block them. Unblocking them will simply delete the remaining TAG messages with an empty tag pointing towards the selected contact.

contact menu in messenger-gtk with block button

On the front-end blocking will hide all messages sent by the blocked contact and unblocking them will show these messages again. So this will bring basic functionality for the privacy of users to the messaging application.

I’ve also adjusted the service that it will calls the applications callback with a message again when changes or deletions are applied to that message. Additionally messages with dependencies to previous messages will be received in correct order on application level when using libgnunetchat. This solved a lot of consistency issues.

The messenger GTK front-end is a lot more reliable now. Multiple segmentation faults and other causes for crashes have been fixed. I’ve finally debugged the issues with usage of the camera on the Pinephone Pro, my laptop and my desktop using a webcam. All of these devices work now with user-selectable camera sensor. The application uses PipeWire for camera sensor selection and even libportal for permission requests.

I will continue with the implementation of profile pictures using the TICKET message and reclaimID now. Another feature I am considering is tagging of messages and contacts with custom tag values. The service already allows this. But their’s still work required in libgnunetchat and the front-end for this functionality even though blocking works pretty much equivalent.

The idea would be that users could tag their contacts and messages in chats to filter or search for them more easily. You can think of it in a similar way as a favorites section in your contacts list but with custom title. I’m still working on the UI design for it. I assume this could be done next month but you’ll read about this in my next post here on my blog.

Kind regards,
Jacki

Read original article

Popular posts from this blog

GNUnet Messenger API: March

GNUnet Messenger API: September

GNUnet Messenger API: December