Today marks our 100th Dev update — with no signs of slowing down! This week the Lokinet team continued to dig into an overhaul of the configuration files. The Session team pushed out a big iOS update which should fix many lingering issues; the team has now begun implementing the same bug fixes on Android too. The Loki Core team released a few new patches and dealt with a chainsplit caused by different nodes calculating different difficulties. Overall, a very busy week for our 100th Dev Update!
- Keep a local cache of LNS names once decrypted (Thanks to community dev darcys22 for this one) https://github.com/loki-project/loki-core/pull/1151
- recalculate_difficulty: Batch work, avoid LMDB paging error https://github.com/loki-project/loki-core/pull/1150 https://github.com/loki-project/loki-core/pull/1147
- Further upstream merges https://github.com/loki-project/loki-core/pull/1149
- Encrypt name for owners keys (Allows the registrant to always decrypt the names they have registered once enabled) https://github.com/loki-project/loki-core/pull/1148
- Hotfix for nodes stuck on low difficulty chain split block https://github.com/loki-project/loki-core/pull/1146
- [LokiMQ] – added addressing schemes (regular and QR-friendly) for specifying connections to LokiMQ servers – https://github.com/loki-project/loki-mq/commit/8984dfc4eaad8e8e6a05eef94b949ecb41157b02
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’re now finished with the main config file overhaul and we’ve moved on to various small fixes for things that were depending on the past mysterious (undocumented, sometimes broken) behaviour. With the bulk of that out of the way we’re now continuing to look at at Lokinet performance fixes and other various changes for 0.8.
A couple other items of note: we’ve decided to simplify the Lokinet code (and configuration file) to only support one single .loki endpoint per Lokinet instance, but we intend to make it easier for people who want to run multiple instances to do so (for example, to host multiple SNApps on the same machine).
We have also had some discussions with the Session team, with a couple of goals: in the short term, to produce a special “Lokinet” build of Session that uses Lokinet for all communications; and in the longer term, planning how to bring Lokinet into the mobile builds of Session (in particularly iOS). Though we hope to bring full Lokinet connectivity to mobile devices, doing so introduces a number of obstacles, particularly on iOS: we intend to start with a more limited approach of creating a user-space library that would allow Session to communicate over Lokinet without needing to worry (yet) about implementing full Lokinet connectivity.
Lokinet PR Activity:
- Last major piece of config overhaul – https://github.com/loki-project/loki-network/pull/1246
- Fix some pre-C++17 code that slipped through the cracks – https://github.com/loki-project/loki-network/pull/1252
- Improve error message wording on bad config options – https://github.com/loki-project/loki-network/pull/1253
- Network section configuration fixes – https://github.com/loki-project/loki-network/pull/1256
- Fix git version tag logic in cmake – https://github.com/loki-project/loki-network/pull/1259 (Thanks to cathugger for the PR)
- Fix router hive test suite code broken by recent config and C++17 changes – https://github.com/loki-project/loki-network/pull/1258
- Replace broken internal address abstraction class with a cleaner version, and deal with the fallout in the code of fixing the confusing interface – https://github.com/loki-project/loki-network/pull/1257
- Various experimental performance and overhead-related updates (no PR yet).
- Fix infinite migration bug https://github.com/loki-project/session-ios/pull/189
- Fix issues with multi-device closed group message routing https://github.com/loki-project/session-ios/pull/188 https://github.com/loki-project/session-ios/pull/183
- Closed group fixes https://github.com/loki-project/session-ios/pull/187
- Fix device link fetching https://github.com/loki-project/session-ios/pull/186
- Contact syncing fixes https://github.com/loki-project/session-ios/pull/185
- Bug fixes for the friend request system https://github.com/loki-project/session-ios/pull/184
- Replace `isForceHidden` by Computed `isSlaveThread` https://github.com/loki-project/session-ios/pull/182
- Further code changes can be found here https://github.com/loki-project/session-ios/commits/dev
- Start mirroring iOS changes to Android, separating the Session and Signal protocols from each other https://github.com/loki-project/session-android/pull/192
Session Push Notifications Server
- Add code to follow devices when migrating swarms https://github.com/loki-project/session-push-notification-server/commits/dev
- Further information about protocol design added to the Wiki https://github.com/loki-project/session-protocol-docs/wiki
- Contacts panel reorganisation https://github.com/loki-project/session-desktop/pull/1122
- Fixes for multi-device friend request system https://github.com/loki-project/session-desktop/pull/1118
- Sender Keys implementation for closed groups https://github.com/loki-project/session-desktop/pull/1117
- Split production and development environments https://github.com/loki-project/session-desktop/pull/1124