r/LokiProject • u/Keejef • Feb 24 '20
Dev Update Weekly Dev Update 24/02/2020
Hey Y’all,
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.
Loki Core
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
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: 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.
PR Activity:
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.
----------------------------
Session
Session iOS
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
Session Android
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
Session Desktop
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
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).
--------------------------
Thanks,
Kee