GNUnet Messenger API: March

GNUnet Messenger API: March

Hi again,

Final time I had big hopes to tag ample growth for a first launch. However I mediate I’m gonna lengthen that a bit (possibly nonetheless this month but we can stare) despite the truth that I could possibly possibly in fact total the issues, I anticipated. Alternatively right here is at closing the long promised video of it running on the Pinephone Pro because there is nonetheless noteworthy to existing.

YouTube video

The support-dwell of the messenger-gtk application called libgnunetchat now makes exhaust of the GNUnet Title Store provider to help an eye fixed for your chats in inform of using a native itemizing and a few configuration recordsdata for every chat as earlier than. This contrivance that it is miles now that you have to possibly possibly possibly imagine to begin the appliance from any itemizing and this can smartly sync the chats reckoning on the fable/identity chosen.

Next big feature is that it is miles that you have to possibly possibly possibly imagine to generate so called lobbies. Lobbies are empty chat rooms that can moreover be shared in manufacture of a GNS document under a newly generated zone in inform of your contain identity zone. This has just a few causes:

  • Technically your contain key could possibly possibly exchange as the GNUnet Messenger provider permits overriding your contain key with one more newly generated one.
  • You can fragment the public key of the recordsdata zone and you will fair no longer want to be identified straight away by process of this shared URI.
  • You need to possibly possibly possibly leave the chat room within the future or it gets closed which would tag the assumption of you being member of that chat room potentially incorrect anyway.

Anyway as a user you have to possibly possibly possibly fragment the URI pointing to your lobby in textual order manufacture or as QR code that can moreover be generated automatically. Beware that you as user preserve how this lobby could possibly fair moreover be historical. That contrivance whereas you occur to fragment this URI with handiest one other particular person, you have to possibly possibly possibly exhaust it to set apart a internal most chat to add a unique particular person as contact as an illustration (right here’s possibly the aim whereas using it – contact exchange). Alternatively whereas you occur to fragment the URI with greater than one particular person, you have to possibly possibly possibly totally tag basically the most of it to set apart a community chat. This could possibly moreover ease adding a bunch of of us in potentially one sail to your contacts.

So in other phrases the QR code of a lobby is no longer representing your public key to exchange, review and add a unique contact in one as with some other messengers. It’s a ways correct for contact exchange and you build no longer want to reuse them in most conditions. Generating a unique one is somewhat easy to though.

Yet one more big feature which bought added is order recording. That contrivance the ship button in a chat correct on the bottom of the GUI will now in fact beginning recording your order whereas you occur to help it pressed down. This could possibly’t in fact occur by likelihood whereas writing a message and in worst case, you have to possibly possibly possibly no longer ship any order recording straight away as with other messengers. You can nonetheless want to possibility to hear to your contain order (whereas you occur to fancy to end that) as preview and preserve to ship or correct plunge it.

Then there are moreover some minor facets added. You need to possibly possibly now leave a chat with a button and you have to possibly possibly possibly be in a matter to leer at your contacts cramped print as well to renaming them whereas you occur to take care of. It have to moreover be that you have to possibly possibly possibly imagine to rename your self from the contact cramped print dialog whereas selecting your self in a community as an illustration. The dialog allows you to assemble a leer on the public keys of your self and your contacts to potentially review them visually. Having a QR code scan for this within the end is smartly planned because this would be noteworthy more helpful but I wished to assemble no longer no longer as much as one formulation applied to review your contacts already because it is miles a core functionality.

There could be moreover now a unique about dialog, showing the version, license knowledge and credits of the appliance. I’ve tweaked just a few occasions to slit GTK calls to update knowledge when a host of messages stack up. So this can route of the needed issues straight away but update visual knowledge handiest once despite every little thing stacked messages are processed. This helps plenty with many chats and loading many messages at startup.

Yet one more enchancment is that I’ve at closing adjusted the HdyFlap widgets for the menus to no longer intervene with some GtkListBox alternatives whereas opening them by process of a button. Sooner than it could possibly truly possibly occur that you have to possibly possibly possibly obtain out messages for deletion whereas opening a aspect menu in a chat and the same. This used to be in fact somewhat worrying and it handiest took inform on touch display devices take care of the Pinephone and Pinephone Pro. However that is now solved.

Many settings are now applied as smartly. So that you have to possibly possibly possibly enable messages to be deleted automatically after sending them, delete invitations after a selected lengthen or disable notifications.

The closing addition is that chats will now be sorted by their most modern message timestamp as other messengers end it. It’s handiest a cramped thing but somewhat helpful.

So all of this sounds good, correct? Now why did I inform I in fact wish to lengthen the launch if issues are taking a leer feature total as a ways as the core functionality of a messenger. Smartly, just a few causes in fact:

  • The management of chats within the GNUnet Title Store is nonetheless no longer totally exact as with the native recordsdata earlier than. Renaming contacts could possibly fair no longer work with basically the most modern GNUnet version (0.16.2) but there are right now modifications on the formulation to contend with that with the following version.
  • Generating lobbies failed just a few times all the contrivance thru debugging. While I snatch that the location is possibly no longer on the aspect of the messenger-gtk application but within the libgnunetchat library. It wouldn’t tag noteworthy sense to bustle a launch of the GUI with no correct version of the support-dwell to rely on.
  • It’s a ways nonetheless no longer that you have to possibly possibly possibly imagine to tag basically the many of the cameras on the Pinephones for scanning QR codes by process of zbar. So any manufacture of launch would handiest care for desktop aid which is uncomfortable.
  • I’ve moreover encountered some GUI freezes and crashes every so often, attempting to generate a lobby. I nonetheless want to leer more into this because it is miles total a core feature which have to work flawless or no longer no longer as much as handiest existing an error message in inform of any instability.

I am hoping those causes tag sense. While attempting to fix those points I will nonetheless beginning with the work to bundle the appliance for several Linux distributions. Per chance I will sing a launch with a flatpak to tag it as helpful as that you have to possibly possibly possibly imagine attempting it your self.

My next month-to-month file is many times more relating to the messenger-cli application. This month I’ve handiest started increasing first parts of code with ncurses. The aim is to supply a describe line interface to tag basically the most of libgnunetchat from any terminal without the wants of GTK or some other GUI toolkit.

Kind regards,

Read More

Ava Chan

Ava Chan

I'm a researcher at Utokyo :) and a big fan of Ava Max