This week we focused on new features for Loki Messenger, such as allowing moderators and users to delete messages. We also worked on adding QR codes to Loki Messenger and shortening seed words. Last week Lokinet also investigated per path buffers and reverted to a custom wire protocol to alleviate some performance issues.
- Reorg checks for Service Node checkpointing count on alt chains: https://github.com/loki-project/loki/pull/814.
- Store state up to the 2nd oldest checkpoint or height – 360: https://github.com/loki-project/loki/pull/815.
- Prune defines & fix GCC warnings: https://github.com/loki-project/loki/pull/813.
- Fix decommissioned snodes not leaving swarms: https://github.com/loki-project/loki/pull/812.
- Enforce minimum storage server version: https://github.com/loki-project/loki/pull/811.
If you’re on our Discord you can catch Jeff, the lead developer of LLARP, live streaming as he codes at https://www.twitch.tv/uguu25519. He typically streams on Tuesday mornings, 9am – 12pm Eastern (US) time.
What went on last week with Lokinet:
After some brainstorming in the Lokinet team regarding the performance issues we ran into during testing (see last week’s Dev Update), the Lokinet developers devised and are implementing two solutions. While we had hoped to put these off to a future release, it has become increasingly apparent that they were required for a stable 0.5 release. Preliminary results of these changes are promising and we are finishing them up and testing the improvements this week.
One of these fixes was to replace the underlying protocol layer (currently based on libutp) with a custom design. This replacement has been a long term goal for months, but recent limitations have shown that the existing layer simply does not scale to the level that we require in Lokinet – so we brought forward implementation of the replacement.
The other change was to make internal router-to-router communication buffers happen on a per-path rather than per-router basis, so that one slow Lokinet path does not slow down other Lokinet paths using some of the same routers. Instead, slow paths will be deprioritised to allow routers to continue passing messages along higher speed Lokinet paths – while the communication along the slower path catches up.
- Replacement of the link protocol layer: https://github.com/loki-project/loki-network/pull/783.
- Per-path buffers (no PR yet; work still in progress).
Loki Messenger Desktop
- [multi-device] Fix main header being redrawn every 100ms: https://github.com/loki-project/loki-messenger/pull/434.
- [multi-device] UI for accepting pairing request on primary devices: https://github.com/loki-project/loki-messenger/pull/433.
- [multi-device] Secondary device registration UI: https://github.com/loki-project/loki-messenger/pull/431.
- [multi-device] Handle incoming pairing authorisation message: https://github.com/loki-project/loki-messenger/pull/430.
- More updates to the Loki notification chat: https://github.com/loki-project/loki-messenger/pull/429.
- [multi-device] Add high-level function to send a pairing request: https://github.com/loki-project/loki-messenger/pull/428.
- Group chat authentication (precursor for message deletion from moderators in group chats): https://github.com/loki-project/loki-messenger/pull/425.
- Show actual time message was sent, instead of relative timestamps: https://github.com/loki-project/loki-messenger/pull/424.
- Add ‘Pair New Device’ in menu: https://github.com/loki-project/loki-messenger/pull/432.
- Add databases and some protocol changes: https://github.com/loki-project/loki-messenger/pull/427.
- [multi-device] Fix pubkey validation: https://github.com/loki-project/loki-messenger/pull/426.
Loki Storage Server
- Move from strings to version numbers: https://github.com/loki-project/loki-storage-server/pull/264.
- Send version ping to lokid: https://github.com/loki-project/loki-storage-server/pull/263.
- Fix incorrectly decrementing open http connections on timeout: https://github.com/loki-project/loki-storage-server/pull/262.
Loki Messenger for Mobile (iOS and Android)
What went on last week with Loki Messenger:
We focused on adding a number of features in the updated desktop Loki Messenger back into mobile versions, including group chats, shorter seed words, and QR code scanning.
Loki Messenger iOS
- Add QR code, scanning and display: https://github.com/loki-project/loki-messenger-ios/pull/39.
- Add group chat support: https://github.com/loki-project/loki-messenger-ios/pull/37, https://github.com/loki-project/loki-messenger-ios/pull/36.
- Add group chat authentication: https://github.com/loki-project/loki-messenger-ios/pull/38.
- Shorten seeds to 12 words: https://github.com/loki-project/loki-messenger-ios/pull/35.
Loki Messenger Android
- Replace naming scheme in various places: https://github.com/loki-project/loki-messenger-android/pull/14.
- Add group chat message deletion: https://github.com/loki-project/loki-messenger-android/pull/15.
- Add public chat authentication: https://github.com/loki-project/loki-messenger-android/pull/12.
- Add QR code, scanning and display: https://github.com/loki-project/loki-messenger-android/pull/11.