Weekly Dev Update #108
Hey Y’all,
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.
Loki Core
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
)
Lokinet
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) –
Remove most of the unused C API –
Improvements to router hive test suite for various recent Lokinet changes –
Session
Session iOS
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
Disable proxying for link previews (feature turned off by default)
Session Android
Fix seed restoration issues on Android
Disable proxying for link previews (feature turned off by default)
Session Desktop
Multi-device pairing fixes
Auto restore sessions in some cases
Fix expire timer not working in closed groups
Remove unused code
Various closed group fixes
Add stubs for Swarm polling
Fix attachments
Fix group names
Fix device mapping upload format
Fix infinite closed group request loop
Handle message sending events
Refactor message polling
Change handling of sync messages
Thanks,
Kee
You've got mail!
Sign up to our newsletter to keep up to date with everything Oxen.