This week we continued to focus on collecting user feedback and bug reports, and integrating cross-platform fixes into the Session clients. The Lokinet team started to focus on some final issues found with path handovers, in the leadup to Lokinet 0.7.0. On the Loki Core side, we worked on additional LNS functionality, such as being able to change LNS mappings post-registration.
- Rewrite the integration tests to use named pipes for IPC https://github.com/loki-project/loki-core/pull/1045
- Loki name service – update mapping via transaction https://github.com/loki-project/loki-core/pull/1044
- Make copy of change_dts in transfer_selected_rct https://github.com/loki-project/loki-core/pull/1043
- Lower Blink fees and make Blink default https://github.com/loki-project/loki-core/pull/1042
- Fix “Priority = 5” not submitting Blink transactions https://github.com/loki-project/loki-core/pull/1041
- Allow get_staking_requirement to return current height https://github.com/loki-project/loki-core/pull/1038
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: Various fixes, optimizations, and diagnostics. Lokinet stability during establishing and staying connection is now very good with the recent changes. We now have a good idea of the remaining occasional disconnection issue on handover: it happens because published introsets include intros that are expiring before the introset and, potentially, leaving the client with no valid paths (even though it has a valid introset). We expect to fix this early this week, and we’re aiming to tag a release candidate later in the week.
We also added a small but useful feature this week: allowing clients to suppress publishing introsets when they don’t want to be reachable by other clients. Previously, every client was always reachable (as long as you knew the address), but there are many cases where a client might not want to be reachable; this change allows clients to establish new outbound connections but not allow incoming connections.
- Load Catch2 test suite apparatus via submodule instead of keeping a copy – https://github.com/loki-project/loki-network/pull/1103
- Reduce introset publishing frequency to 2.5 minutes instead of 1.25 minutes https://github.com/loki-project/loki-network/pull/1104
- Spread out path builds to avoid needing to build many simultaneously https://github.com/loki-project/loki-network/pull/1105
- Allow clients to be unreachable by not publishing introsets https://github.com/loki-project/loki-network/pull/1093
- Make routers not talk to older, incompatible routers https://github.com/loki-project/loki-network/pull/1108
- Second half of introset redundancies: implement redundant introset publishing https://github.com/loki-project/loki-network/pull/1111, https://github.com/loki-project/loki-network/pull/1114
- Handle multiple introset lookup responses properly https://github.com/loki-project/loki-network/pull/1115/files
- Better debugging output for paths https://github.com/loki-project/loki-network/pull/1116
- Fix internal JSONRPC interface to allow passing arguments https://github.com/loki-project/loki-network/pull/1113
- Update travis-ci osx build to stop failing https://github.com/loki-project/loki-network/pull/1119
- Switch to newer introsets when received https://github.com/loki-project/loki-network/pull/1121
- Remove abseil dependency. Abseil is a library conglomeration (similar to boost), created by Google. Its interfaces are decidedly non-modern and we decided it was more a nuisance than a benefit. https://github.com/loki-project/loki-network/pull/1124 (also PRs #1110, #1122, #1123). Dropping abseil makes the build faster and produces smaller binaries.
- Change log format to output UTC, and provide a more friendly formatting of the uptime ([+1h12m07.123s] instead of [+4327123 ms]) — included in the abseil PRs, above.
- Database usage fixes https://github.com/loki-project/session-ios/pull/110
- More work on light mode https://github.com/loki-project/session-ios/pull/107
- Fixes for the closed groups PR https://github.com/loki-project/session-ios/pull/104
- Untie profile picture upload from Server auth token https://github.com/loki-project/session-ios/pull/120
- Various refactoring https://github.com/loki-project/session-ios/pull/119 , https://github.com/loki-project/session-ios/pull/117
- Fix background application crashes when a push notification is received https://github.com/loki-project/session-ios/pull/118
- Fix bug with Service Node proxying https://github.com/loki-project/session-ios/pull/116
- Fix threading issues to improve performance https://github.com/loki-project/session-ios/pull/115
- Fix application freezing when joining an open group https://github.com/loki-project/session-ios/pull/114
- Fix some edge case race conditions https://github.com/loki-project/session-ios/pull/113
- Change disabled input bar on closed groups https://github.com/loki-project/session-ios/pull/112
- Increase the random Service Node pool size https://github.com/loki-project/session-ios/pull/111
- Confirm user wants to leave group on swipe https://github.com/loki-project/session-android/pull/106
- Closed group synchronization https://github.com/loki-project/session-android/pull/101
- Address bug causing duplicate open group messages https://github.com/loki-project/session-desktop/pull/915
- Fix “Invite friends” modal scrollbar https://github.com/loki-project/session-desktop/pull/906
- Group profile image upload https://github.com/loki-project/session-desktop/pull/878
- Sync open groups on device syncing https://github.com/loki-project/session-desktop/pull/907
- Display continue Session when signing in with seed https://github.com/loki-project/session-desktop/pull/881
- Improve closed group syncing https://github.com/loki-project/session-desktop/pull/877
- Only enable signing when certificate is indentified https://github.com/loki-project/session-desktop/pull/874
- Readme changes https://github.com/loki-project/session-desktop/pull/872
- Allow clicking outside of a modal to cancel selection https://github.com/loki-project/session-desktop/pull/869
Loki MQ is a communications layer for various components that allows more efficient and reliable communication between service nodes and storage servers and, in the future, between wallets and nodes and other loki components.
- Miscellaneous fixes to requests behaviour (https://github.com/loki-project/loki-mq/commit/5d30846cee070f10ee784073e697d41238bed3b2, https://github.com/loki-project/loki-mq/commit/de0a5842af8f4eeffeeb9128d553ffada9ec46ea, https://github.com/loki-project/loki-mq/commit/ed9af9241159237ad5e10ec1a558ce1087f62061, https://github.com/loki-project/loki-mq/commit/03827ac1f7c386f2ea11b17b57f79fdae3cfd847)
- Completed string_view to fill in the missing C++17 string_view interfaces (needed for loki-network, which now uses a copy of loki-mq’s string_view) https://github.com/loki-project/loki-mq/commit/da96c1ec7937994152ca3fad09af95b21ffe4b18
- Ongoing dev work for non-SN communications (no branch yet).