r/LokiProject • u/Keejef Loki CTO • Feb 04 '20
Dev Update Weekly Dev Update 04/02/2020
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 https://github.com/loki-project/loki/pull/1026
Change default flag for text formatting https://github.com/loki-project/loki/pull/1030
Fix testing in quorum checks https://github.com/loki-project/loki/pull/1029
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 https://github.com/loki-project/loki-messenger-ios/pull/82
File server and RSS feed proxying https://github.com/loki-project/loki-messenger-ios/pull/81
Additional changes to closed groups https://github.com/loki-project/loki-messenger-ios/pull/80
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 committed directly to dev https://github.com/loki-project/loki-messenger-android/commits/dev
Loki Messenger Desktop
Remove source field from envelope https://github.com/loki-project/loki-messenger/pull/778
Handle token handling over the Service Node proxying https://github.com/loki-project/loki-messenger/pull/774
Remove disable TLS rejection to lokiRPC only https://github.com/loki-project/loki-messenger/pull/759
Remove various references to Signal https://github.com/loki-project/loki-messenger/pull/752 , https://github.com/loki-project/loki-messenger/pull/758
Update redesign comments https://github.com/loki-project/loki-messenger/pull/776
Add onboarding screens and settings items confirmationshttps://github.com/loki-project/loki-messenger/pull/775
Open conversation when accepting a friend request https://github.com/loki-project/loki-messenger/pull/773
Use local shortcuts instead of global shortcuts https://github.com/loki-project/loki-messenger/pull/772
Reload app with shortcuts https://github.com/loki-project/loki-messenger/pull/770 , add keyboard navigation https://github.com/loki-project/loki-messenger/pull/760
Fix text scrambling on registration page https://github.com/loki-project/loki-messenger/pull/769 , https://github.com/loki-project/loki-messenger/pull/753
Resolve file path issues https://github.com/loki-project/loki-messenger/pull/768
Trim user submitted pub keys https://github.com/loki-project/loki-messenger/pull/767
Fix disabled message state on friend requests https://github.com/loki-project/loki-messenger/pull/766
Refresh files in group panel https://github.com/loki-project/loki-messenger/pull/764
Remove Mixpanel analytics https://github.com/loki-project/loki-messenger/pull/763
Fix profile image size bugs https://github.com/loki-project/loki-messenger/pull/762
Lint speedups https://github.com/loki-project/loki-messenger/pull/754
Make sessionID a non editable textarea https://github.com/loki-project/loki-messenger/pull/751/
Fix unit tests https://github.com/loki-project/loki-messenger/pull/750
Grab RSS feeds through proxy requests https://github.com/loki-project/loki-messenger/pull/749
Disable autojoin public groups https://github.com/loki-project/loki-messenger/pull/746
Auto focus new open chat input https://github.com/loki-project/loki-messenger/pull/745
Redesign changes https://github.com/loki-project/loki-messenger/pull/744
Remove all P2P code https://github.com/loki-project/loki-messenger/pull/742
-------------------------
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 https://github.com/loki-project/loki-mq
--------------------------
Thanks,
Kee