Weekly Dev Update #87
Hey Y’all,
The biggest news from last week: we finally released Session on iOS, Android, Windows, macOS and Linux! We have been collecting user feedback over the past few days and have compiled a list of bugs that we are now working through. We’re also continuing to test and deploy Lokinet design changes, aiming to improve path build success rates and reduce DHT lookup failures.
Loki Core
Work on Loki core has been largely focused on LNS changes
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: Testing, more testing, and bug fixing. We uncovered some additional lookup issues that we have begun to address this week and will continue to address over the coming week. The most significant fixes were related to introset propagation and progress on an upcoming introset propagation redesign to more effectively and reliably propagate introsets across the network.
PR Activity:
(In progress) More redundant introset lookup mechanism —
Various fixes to the build system (adding CI tests and fixes for a big endian architecture, plus fixes to how we build a bundled libsodium) —
Revert (unneeded, unwanted) commit to derive X25519 keys from the ED25519 keys —
Fix bug when delivery failed to first hop on a path —
Reduce log verbosity related to various frequent and not particularly important messages —
Reduce DHT traffic by not looking up routers we already know —
When doing a DHT lookup also try the second-closest router —
Unlimited queue for direct snode-to-snode traffic —
Fix to properly handle introsets when we already have an initial value introset —
Update Lokinet monitor testing tool —
Add IWP session states to JSON API —
Session
Session iOS
Resubmit device token for those that opt into APNS perodically
Seperate file server from essential messaging functions
Show activity for proxied file uploads
Implement file size limit
Don’t include auth tokens in file uploads
Allow user to join group without prefixing https
Fix various strings
Push notification fixes
Fix microphone intilisation
Change process when members leave groups
Session Android
Implement file size limit
Don’t include an Auth Token with Encrypted File Uploads
https://github.com/loki-project/session-android/pull/87
Enable the user to join an open group without entering “https://”
Polling fixes
Fix various strings
Fix cell not showing after being swiped
Update legal and copy to reflect current status
Fix friend requests with sealed sender
Session Desktop
Fix no token detection conditions for logging a warning in file server library
Open group polling fixes
Various multi device fixes
Make private chat uploads use anon token
Improve multi-device profile name handling
Make sure invalid pubkey is shown to user and stop animations if there is an issue with the pubkey
Make sure sendToProxy get the textResponse option from submit_challenge
https://github.com/loki-project/session-desktop/pull/825
Fixes for Snode JSON parsing, and loading keypair locally
Various closed group fixes
Resolve issues with RSS feeds
Change required to make Github actions work apropriatley
Close open group on successful joins
Merge Session 1.0 changes to master
Disable join public chat prompt
Closed group styling fixes
Fix session reset issues
QOL fixes
Force TLS in open groups
Loki MQ
Loki MQ is a communications layer for various components that allows more efficient and reliable communication. It is an enhancement of the “quorumnet” code added in Lokid 6.x, which is currently used for SN-to-SN communication for Blink transactions and also for Service Node deregistration voting, with various additions to support using it for Service Node proxying and other communication channels between various loki components (e.g. Session-to-storage server; storage-server-to-storage-server; wallet-to-node; etc.).
(WIP) Add timers for scheduling periodic tasks.
(WIP) Add reply structure for abstracting simple request-reply logic.
(WIP) Allow very short batch “completion” jobs that run directly in the proxy thread rather than being passed to a worker thread.
Add job batching that allows loki-mq workers to be used to queue local work on different threads and then collect th results –
https://github.com/loki-project/loki-mq/commit/f75b6cf2217dda361c394acf9ff5be2c4fb08a1e
Various small internal performance optimizations –
https://github.com/loki-project/loki-mq/commit/03ea49167cb145d487456c03dc1fc3098fb14a80
Add an initial test suite (with more to come) –
https://github.com/loki-project/loki-mq/commit/63c71396be9907e08c8930b3005a1df2c79e20a0
Thanks,
Kee
You've got mail!
Sign up to our newsletter to keep up to date with everything Oxen.