Weekly Dev Update #84
Hey Y’all,
This week consisted of significant progress towards the Session release.
Loki Core
Libc++ read buffer serialization fix attempt
Add systemd notification and watchdog support to ensure lokid is restarted if it gets stuck
Fix rare deadlock in Blink TX pool
Ensure wallet doesn’t use pool TX list from long polling
Standardise Blink priority
Enable long polling for mobile targets
Patches required for Android to work correctly send Blink TXes
Fix premature X25519 key expiry which was causing issues with inter-Service Node communications
Handle Blink parameter in wallet API
Long polling adjustments for exchanges and pools
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 was an intense week for the Lokinet team; we identified some significant problems with the network resulting from the number of routers that came online on mainnet with the Nimble Nerthus hardfork. We initially pushed out a 0.6.3 release to try to address them, but that failed to work for separate reasons — this update ended up filling router queues with Lokinet router lookups, causing even more messages to be dropped. So we went back to the drawing board and thought of several changes for a 0.6.4 release that we hope will improve network performance. We also developed a plan to address some more fundamental issues on the full-size network. This plan will be introduced in a 0.7 release, as it requires more drastic changes.
PR Activity:
v0.6.3 changes:
Faster DHT exploration by routers (
https://github.com/loki-project/loki-network/pull/1032
)
DHT timeout tweaks (
https://github.com/loki-project/loki-network/pull/1034
)
Significantly reduce disk usage by batching writing of RC files (
https://github.com/loki-project/loki-network/pull/1036
)
Fix DHT iteration mechanism (
https://github.com/loki-project/loki-network/pull/1038
)
Randomize router lookups (
https://github.com/loki-project/loki-network/pull/1041
)
Fix API bind IP setting being ignored and always binding to localhost (
https://github.com/loki-project/loki-network/pull/1042
)
v0.6.4 changes:
Fixed a bug that wiped all the known router info on router restart (PR
https://github.com/loki-project/loki-network/pull/1048
)
Significantly overhaul the way lokinet routers crawl the network to learn about other routers do much fewer lookups at once, and to keep the results for longer (PRs
https://github.com/loki-project/loki-network/pull/1050,
https://github.com/loki-project/loki-network/pull/1056
https://github.com/loki-project/loki-network/pull/1058
)
Add priorities to link layer messages so that if we fill up the buffer we drop less important messages first (PR
)
Adds stats about the outbound message queue to help understand where we are hitting limits (PR
)
Future version changes:
Gitlab CI script to automatically build and store linux static binaries (
https://github.com/loki-project/loki-network/pull/1051
)
Generate windows installer from Linux using cpack (
https://github.com/loki-project/loki-network/pull/1035
)
Additional DHT fixes (mainly client side) (
https://github.com/loki-project/loki-network/pull/1046
)
0.7 design idea: use gossip protocol (similar to lokid uptime proofs) to broadcast RCs to the network rather than pull them —
0.7 design idea: improve lookup speed by using paths instead of DHT propagation for looking up .loki addresses —
0.7 design idea: add DHT key blinding using symmetric encryption so that routers holding introsets can’t get the .loki address —
Loki Messenger
Internal testing has now begun for the Session application, and we will be merging a number of new features into the Session rebrand codebase over the coming weeks, including private group chats, proxy requests and Sealed Sender functionality.
Loki Messenger iOS
Further work continues on Session rebranding
Loki Messenger Android
Further work continues on Session rebranding
https://github.com/loki-project/loki-messenger-android/tree/dev
Loki Messenger Desktop
Sealed Sender support for long term public keys
Show non- friends in the update group dialog
Sort messages by sent at date
Add the settings view for desktop
Loki Wallets
New releases were published for all wallets which allow syncing past the hardfork and allow the user to send Blink transactions.
Electron Wallet
Android Wallet
iOS Wallet
Misc.
Loki Network Control Panel
Use buildStats for ‘paths built’ metric
https://github.com/loki-project/loki-network-control-panel/pull/13
Download bootstrap file using QNetworkAcessMananager – Add menu option for getting bootstrap from custom source
https://github.com/loki-project/loki-network-control-panel/pull/12
Fix memory leak
https://github.com/loki-project/loki-network-control-panel/pull/11
Convert path and make DNS fixes
https://github.com/loki-project/loki-network-control-panel/pull/10
Kill process that we started on exit
https://github.com/loki-project/loki-network-control-panel/pull/9
Thanks,
Kee
You've got mail!
Sign up to our newsletter to keep up to date with everything Oxen.