This week we made big progress on Lokinet and Loki Messenger. On the Loki Messenger side, we are putting most of our efforts into finishing multi-device support, which means solving lots of edge cases. For Lokinet, we are getting closer and closer to a 0.6.0 release which will allow cryptographic operations to utilise multithreading, and iron out a number of bugs found in 0.5.2.
- Backend for LNS (Loki Name Service): https://github.com/loki-project/loki/pull/922
- Add ability to burn Loki in TX (Needed for LNS and Blink): https://github.com/loki-project/loki/pull/920
- Remove boost::value_initialised (including AUTO_VAL_INIT) and BOOST_FOREACH : https://github.com/loki-project/loki/pull/921
- Remove hard-forking code on the boundary of 12 and 13: https://github.com/loki-project/loki/pull/919
- Add immutable_height and hash field to get_height/get_info calls: https://github.com/loki-project/loki/pull/917
- Change reorg behaviour for checkpointing: https://github.com/loki-project/loki/pull/916
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:
There was an increase in the public use of the Lokinet testnet this week. While we were encouraged to see the network being tested by real users, it’s important to remind the community that the current Lokinet release is still a testing, beta release! Some things will change (i.e. break) between now and the final release on the Loki mainnet — most notably, protocol, private and public key cryptography has already changed in the dev branch and will result in (unavoidable) new keys and .loki addresses in 0.6. We have our eyes set on a final, mainnet release but there may be additional, backwards-incompatible changes between now and then.
This week saw lots of activity, fixes, and improvements in the Lokinet dev branch, heading towards a 0.6 release. We have decided to clean up Lokinet internals by removing the home-grown JSON RPC HTTP server with a simpler JSON-over-zmq based approach. There were also various improvements to the debs (especially for routers), and we included several changes to make things work on xenial, while de-vendoring Libsodium in preference to the local system’s Libsodium library.
- Ed25519 signing, replacing the Monero cryptography and reducing the amount of custom code we need to carry in lokinet: https://github.com/loki-project/loki-network/pull/871
- De-vendoring Libsodium: https://github.com/loki-project/loki-network/pull/883
- Debian/Ubuntu packaging overhaul for stable branch. Lokinet is now split into three packages: “lokinet-bin” containing just the binaries (and usually pulled in automatically); “lokinet” configures local Lokinet and/or SNApp access; and a new “lokinet-router” package that installs a pre-configured Lokinet router (it is a future version of this latter package that will eventually become a Loki Service Node operator requirement).
- MacOS installer updates: https://github.com/loki-project/loki-network/pull/886, https://github.com/loki-project/loki-network/pull/885
- Libsodium build fixes and updates: https://github.com/loki-project/loki-network/pull/889, https://github.com/loki-project/loki-network/pull/888, https://github.com/loki-project/loki-network/pull/891, https://github.com/loki-project/loki-network/pull/893, https://github.com/loki-project/loki-network/pull/896, https://github.com/loki-project/loki-network/pull/892.
- Bug fixes (MacOS DNS crash: https://github.com/loki-project/loki-network/pull/895, invalid traffic fix: https://github.com/loki-project/loki-network/pull/877)
- Allow check version while deserialising before doing full value deserialisation: https://github.com/loki-project/loki-network/pull/897
- Disabled DNS-over-HTTPS for Firefox: https://github.com/loki-project/loki-network/pull/870
- Memory leak fix: https://github.com/loki-project/loki-network/pull/898
- More work, reviews, and updates on per-path queues & prioritisations: https://github.com/loki-project/loki-network/pull/873
Loki Messenger for Desktop
- Allow primary device to assign local aliases to secondary devices: https://github.com/loki-project/loki-messenger/pull/600
- Show a secondary devices secret words: https://github.com/loki-project/loki-messenger/pull/597
- Allow for selection of multiple messages + bulk delete: https://github.com/loki-project/loki-messenger/pull/592
- Reset session on friend request: https://github.com/loki-project/loki-messenger/pull/590
- Add feature flag for private group chats: https://github.com/loki-project/loki-messenger/pull/599
- Show pairing words on paired device list: https://github.com/loki-project/loki-messenger/pull/598
- Delete public chat messages locally if not stored on the server: https://github.com/loki-project/loki-messenger/pull/596
- Clean up RSS conversation: https://github.com/loki-project/loki-messenger/pull/595
- Fix incorrectly showing friend request as pending: https://github.com/loki-project/loki-messenger/pull/593
- Fix device pairing error: https://github.com/loki-project/loki-messenger/pull/591
- Fix cross platform device linking: https://github.com/loki-project/loki-messenger/pull/589
- Improve error message: https://github.com/loki-project/loki-messenger/pull/588
- Improve robustness of sessions: https://github.com/loki-project/loki-messenger/pull/586
- Enable sync messages: https://github.com/loki-project/loki-messenger/pull/601
Loki Messenger for Mobile (iOS and Android)
Loki Messenger for iOS:
- Number of changes into seed restoration: https://github.com/loki-project/loki-messenger-ios/commits/seed-restoration
Loki Messenger for Android:
- Disabled unused permissions: https://github.com/loki-project/loki-messenger-android/pull/40
- Stage 2 Multi device – Syncing sent messages: https://github.com/loki-project/loki-messenger-android/pull/39