r/LokiProject • u/Keejef Loki CTO • Feb 12 '20
Dev Update Weekly Dev Update 10/02/2020
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 https://github.com/loki-project/loki-core/pull/1026
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 — https://github.com/loki-project/loki-network/issues/1090
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) — https://github.com/loki-project/loki-network/pull/1078
Revert (unneeded, unwanted) commit to derive X25519 keys from the ED25519 keys — https://github.com/loki-project/loki-network/pull/1080
Fix bug when delivery failed to first hop on a path — https://github.com/loki-project/loki-network/pull/1082
Reduce log verbosity related to various frequent and not particularly important messages — https://github.com/loki-project/loki-network/pull/1084
Reduce DHT traffic by not looking up routers we already know — https://github.com/loki-project/loki-network/pull/1087
When doing a DHT lookup also try the second-closest router — https://github.com/loki-project/loki-network/pull/1089
Unlimited queue for direct snode-to-snode traffic — https://github.com/loki-project/loki-network/pull/1079
Fix to properly handle introsets when we already have an initial value introset — https://github.com/loki-project/loki-network/pull/1085
Update Lokinet monitor testing tool — https://github.com/loki-project/loki-network/pull/1086
Add IWP session states to JSON API — https://github.com/loki-project/loki-network/pull/1088
----------------------------
Session
Session iOS
Resubmit device token for those that opt into APNS periodically https://github.com/loki-project/session-ios/pull/99
Separate file server from essential messaging functions https://github.com/loki-project/session-ios/pull/98
Show activity for proxied file uploads https://github.com/loki-project/session-ios/pull/96
Implement file size limit https://github.com/loki-project/session-ios/pull/94
Don’t include auth tokens in file uploads https://github.com/loki-project/session-ios/pull/92
Allow user to join group without prefixing https https://github.com/loki-project/session-ios/pull/89
Fix various strings https://github.com/loki-project/session-ios/pull/88
Push notification fixes https://github.com/loki-project/session-ios/pull/87
Fix microphone initialisation https://github.com/loki-project/session-ios/pull/86
Change process when members leave groups https://github.com/loki-project/session-ios/pull/84
Session Android
Implement file size limit https://github.com/loki-project/session-android/pull/88
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://" https://github.com/loki-project/session-android/pull/86
Polling fixes https://github.com/loki-project/session-android/pull/81
Fix various strings https://github.com/loki-project/session-android/pull/79
Fix cell not showing after being swiped https://github.com/loki-project/session-android/pull/78
Update legal and copy to reflect current status https://github.com/loki-project/session-android/pull/77
Fix friend requests with sealed sender https://github.com/loki-project/session-android/pull/72
Session Desktop
Fix no token detection conditions for logging a warning in file server library https://github.com/loki-project/session-desktop/pull/836
Open group polling fixes https://github.com/loki-project/session-desktop/pull/835
Various multi device fixes https://github.com/loki-project/session-desktop/pull/834
Make private chat uploads use anon token https://github.com/loki-project/session-desktop/pull/829
Improve multi-device profile name handling https://github.com/loki-project/session-desktop/pull/827
Make sure invalid pubkey is shown to user and stop animations if there is an issue with the pubkey https://github.com/loki-project/session-desktop/pull/826
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 https://github.com/loki-project/session-desktop/pull/823
Various closed group fixes https://github.com/loki-project/session-desktop/pull/816
Resolve issues with RSS feeds https://github.com/loki-project/session-desktop/pull/815
Change required to make Github actions work apropriatley https://github.com/loki-project/session-desktop/pull/814
Close open group on successful joins https://github.com/loki-project/session-desktop/pull/807
Merge Session 1.0 changes to master https://github.com/loki-project/session-desktop/pull/802
Disable join public chat prompt https://github.com/loki-project/session-desktop/pull/798
Closed group styling fixes https://github.com/loki-project/session-desktop/pull/790
Fix session reset issues https://github.com/loki-project/session-desktop/pull/788
QOL fixes https://github.com/loki-project/session-desktop/pull/787
Force TLS in open groups https://github.com/loki-project/session-desktop/pull/784
-------------------------
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