This week’s primary focus was on Session Desktop, where we finished wrapping up a massive refactor of message send and receive flows. The Session team is now testing these changes in anticipation of inclusion in an upcoming public release. The Loki Core team continued work on Ledger wallet support and Pulse implementation, with some additional LokiMQ changes. The Lokinet team worked on the removal of redundant code and LokiMQ-related changes.
- Continued work on Pulse (No PRs yet)
- Continued working on Ledger hardware wallet support (No PRs yet)
- Final review fixes & merging of C++17 code (https://github.com/loki-project/loki-core/pull/1179)
- [LokiMQ] – API improvement (https://github.com/loki-project/loki-mq/pull/8)
- [LokiMQ] – allow external tasks to be scheduled in a lokimq job queue (https://github.com/loki-project/loki-mq/pull/7)
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: This (short) week was mostly about finishing off some of the large pending PRs, most notably LokiMQ, and fixing various small issues that cropped up as a result. We also worked to reduce code maintenance by removing a C (not C++) API wrapper around Lokinet; its original goal of providing a non-C++ API into Lokinet has never really been useful, and it has proven to be a maintenance burden more than anything. Getting the LokiMQ PR code merged was a significant task: this branch is huge, as it also includes exit authentication code that is reliant on LokiMQ and various other related changes. Though we try to avoid such huge PRs, they sometimes are unavoidable for large changes like this.
Some background on LokiMQ: though it was predominantly designed to pass messages between remote servers (it is used for Blink, SN quorum voting for deregs/etc., and for message passing between loki-storage-servers), it also has the ability to pass values between threads within an existing program, and in fact does this so well that it improves performance over using a traditional threaded job queue, which is a big part of the replacement in Lokinet. LokiMQ’s core remote messaging, however, is also important for exit access authorization and for removing a big chunk of RPC handling code.
Lokinet PR Activity:
- LokiMQ (plus various related changes) – https://github.com/loki-project/loki-network/pull/130
- Remove most of the unused C API – https://github.com/loki-project/loki-network/pull/1314
- Improvements to router hive test suite for various recent Lokinet changes – https://github.com/loki-project/loki-network/pull/1312
- Continue work on shared sender keys implementation on iOS https://github.com/loki-project/session-ios/commits/shared-sender-keys
- Fix seed restoration issues on iOS devices https://github.com/loki-project/session-ios/pull/221
- Disable proxying for link previews (feature turned off by default) https://github.com/loki-project/session-ios/pull/220
- Fix seed restoration issues on Android https://github.com/loki-project/session-android/pull/246
- Disable proxying for link previews (feature turned off by default) https://github.com/loki-project/session-android/pull/245
- Multi-device pairing fixes https://github.com/loki-project/session-desktop/pull/1216
- Auto restore sessions in some cases https://github.com/loki-project/session-desktop/pull/1215
- Fix expire timer not working in closed groups https://github.com/loki-project/session-desktop/pull/1213
- Remove unused code https://github.com/loki-project/session-desktop/pull/1212
- Various closed group fixes https://github.com/loki-project/session-desktop/pull/1211
- Add stubs for Swarm polling https://github.com/loki-project/session-desktop/pull/1210
- Fix attachments https://github.com/loki-project/session-desktop/pull/1209
- Fix group names https://github.com/loki-project/session-desktop/pull/1208
- Fix device mapping upload format https://github.com/loki-project/session-desktop/pull/1207
- Fix infinite closed group request loop https://github.com/loki-project/session-desktop/pull/1206
- Handle message sending events https://github.com/loki-project/session-desktop/pull/1205
- Refactor message polling https://github.com/loki-project/session-desktop/pull/1204
- Change handling of sync messages https://github.com/loki-project/session-desktop/pull/1203