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.
- Work on Loki core has been largely focused on LNS changes https://github.com/loki-project/loki-core/pull/1026
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.
- (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
- Resubmit device token for those that opt into APNS perodically https://github.com/loki-project/session-ios/pull/99
- Seperate 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 intilisation https://github.com/loki-project/session-ios/pull/86
- Change process when members leave groups https://github.com/loki-project/session-ios/pull/84
- 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
- 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 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