Weekly Dev Update #86
Hey Y’all,
Last week was a mad dash to get final parts of Session in place for the upcoming release this week. We also continued working on Lokinet 0.7.0 changes and and started building out the parts necessary for some incremental post-launch updates to Session.
Loki Core
Use wallet address by default in the sweep all (good to see more community developers)
https://github.com/loki-project/loki/pull/1031
Further work on LNS, with revisions being made in the pull request
Change default flag for text formatting
Fix testing in quorum checks
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:
We spent the week focused on the three pieces we want in a 0.7.0 release: gossip router announcements, RC lookup fixes, and DHT blinding. It is worth explaining these components in some detail:
Gossip announcements change the way routers send their Router Contact (RC) info to other routers. Previously, routers would broadcast a random set of the RCs they know about to the routers they have direct connections to. This didn’t scale well, so we worked on replacing it with a model based on the how lokid sends uptime proofs: each router broadcasts its RC to all connected routers once per hour.
RC lookups — needed when a client wants to build a path — were also broken on the larger network because not enough nodes were being considered when messages propagated across the DHT. We fixed this so that DHT lookups now consider all nodes (which required the gossip protocol change), which should make path builds both faster and considerably more reliable.
DHT blinding lets clients hide a .loki address when telling the network how to reach it. Instead of publishing a record that says “reach xyz123.loki through this router”, it now publishes the same data, but encrypted using the .loki address as a password, and using a derived public key to send the client contact record (the “introset”) to the network.
For example, supposing the derived public key for “xyz123” is “abc789”: anyone who wants to look up xyz123.loki will now lookup abc789 instead, get the encrypted data, then use “xyz123” to decrypt it and find the contact information. (This derived key also has a derived private key which is used to sign the record so that someone else can’t forge the “abc789” record). The end result: clients can provide their contact info, other clients can access that info, but no-one who doesn’t already know the .loki address can discover it from the data on the network. Thus, your .loki address stays completely hidden to everyone except those who you give it to.
PR Activity:
Gossip announcements –
https://github.com/loki-project/loki-network/pull/1073
Various Windows updates, fixes, and enhancements for the next release
https://github.com/loki-project/loki-network/pull/1074
DHT blinding –
https://github.com/loki-project/loki-network/pull/1075
Add a mock “lokid” that sends fake SN list info for loopback testing
https://github.com/loki-project/loki-network/pull/1077
Add automated CI builds for non-amd64 architectures
https://github.com/loki-project/loki-network/pull/1078
Fix memory leak in current dev code
https://github.com/loki-project/loki-network/pull/1076
Loki Messenger
Loki Messenger iOS
Sealed Sender
File server and RSS feed proxying
Additional changes to closed groups
Multiple changes committed directly to dev branch
https://github.com/loki-project/loki-messenger-ios/commits/dev
Loki Messenger Android
Closed groups user interface
https://github.com/loki-project/loki-messenger-android/pull/65
Sealed Sender
https://github.com/loki-project/loki-messenger-android/pull/67
File server and RSS feed proxying update build.gradle to work with repo combine
https://github.com/loki-project/loki-messenger-android/pull/66
Update build.gradle to work with repo combine
https://github.com/loki-project/loki-messenger-android/pull/64
Various bugfixes commited directly to dev
https://github.com/loki-project/loki-messenger-android/commits/dev
Loki Messenger Desktop
Remove source field from envelope
Handle token handling over the Service Node proxying
Remove disableTLS rejection to lokiRPC only
Remove various references to Signal
https://github.com/loki-project/loki-messenger/pull/752
,
Update redesign comments
Add onboarding screens and settings items confirmations
Open conversation when accepting a friend request
Use local shortcuts instead of global shortcuts
Reload app with shortcuts
https://github.com/loki-project/loki-messenger/pull/770
, add keyboard navigation
Fix text scrambling on registration page
https://github.com/loki-project/loki-messenger/pull/769
,
Resolve file path issues
Trim user submitted pub keys
Fix disabled message state on friend requests
Refresh files in group panel
Remove mixpanel analytics
Fix profile image size bugs
Lint speedups
Make sessionID a non editable textarea
Fix unit tests
Grab RSS feeds through proxy requests
Disable autojoin public groups
Auto focus new open chat input
Redesign changes
Remove all P2P code
Loki MQ
Loki MQ will be used as a dedicated communications layer for inter-snode communications to help more efficiently extend Service Node proxying
Create new repo and start work on this layer
Thanks,
Kee
You've got mail!
Sign up to our newsletter to keep up to date with everything Oxen.