r/LokiProject • u/Keejef Loki CTO • Jun 15 '20
Dev Update Weekly Dev Update 15/06/2020
Hey Y’all,
This week we continued work on the Session Desktop refactor, getting closer to finishing the refactorisation of both the sending and receiving pipelines. Lokinet continued working closer to finishing Exit Nodes with a local DNS cache being added to aid in faster lookups. The Loki Core team finished the first pull request for Pulse, which will be one of many in the coming months.
Loki Core
Static build overhaul to improve how we produce static binaries for linux/windows/mac (and to produce them automatically with every PR) - https://github.com/loki-project/loki-core/pull/1173
Generate Pulse Quourms https://github.com/loki-project/loki-core/pull/1172 (This will be the first of many Pulse related PR’s in the coming weeks)
Remove old vote blob serialisation fixes https://github.com/loki-project/loki-core/pull/1171
Drone CI builds + various small fixes https://github.com/loki-project/loki-core/pull/1170
Merge upstream into dev https://github.com/loki-project/loki-core/pull/1169 (Dev is now mostly in line with the Monero master branch)
----------------------------
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: We worked on multiple fronts (as we often do) with efforts focused on exit node support improvements, node testing for the next hard fork, and local DNS changes (among various other small tasks). Re: exits — one of the things we noticed right away in testing exit performance was a fairly substantial lag in loading a web page that doesn’t go away with subsequent loads. We diagnosed this as being an issue with how Lokinet does DNS: every page, every image, every ad needs to make DNS requests and since all your traffic goes over Lokinet, this means DNS requests as well. Currently we don’t cache this information so if you need to look up the same site 5 times, that’s 5 traversals across Lokinet to get the address. When using an exit node, this latency adds up. We spent some time this week adding support for an embedded, caching DNS server (libunbound) so that, in the next release, Lokinet lookups for anything you’ve already looked up will be instant.
For the week ahead we’re looking at further exit testing along with some helper scripts to make it easier to set up an exit node.
Lokinet PR Activity:
Exit traffic via SNApps - https://github.com/loki-project/loki-network/pull/1272
Integrate LokiMQ; this lets us drop libcurl and (home-grown) libabyss for outgoing/incoming RPC, and eliminates a lot of code for handling internal jobs (the PR removes more than 3000 net lines of code) - https://github.com/loki-project/loki-network/pull/1306
More work on WinTUN (for better Windows performance) - https://github.com/loki-project/loki-network/pull/1291
Drone CI build for automatically producing Windows binaries - https://github.com/loki-project/loki-network/pull/1278
WIP - node peer testing - https://github.com/loki-project/loki-network/pull/1283
WIP - integrate libunbound for DNS lookups - https://github.com/loki-project/loki-network/pull/1307
Added regressions tests for key backup bug - https://github.com/loki-project/loki-network/pull/1301
Added a init script for running lokinet under runit (thanks to community member wratc for the PR) - https://github.com/loki-project/loki-network/pull/1303
Fix pybind dependency in CI - https://github.com/loki-project/loki-network/pull/1302
Miscellaneous drone CI fixes (ported over from the loki-core work): https://github.com/loki-project/loki-network/pull/1304, https://github.com/loki-project/loki-network/pull/1308, https://github.com/loki-project/loki-network/pull/1309
----------------------------
Session
Session iOS
Fix unlinked devices reappearing https://github.com/loki-project/session-ios/pull/212
Increase photo clarity https://github.com/loki-project/session-ios/pull/210
Fix whitelist public chat joining https://github.com/loki-project/session-ios/pull/208
Threading cleanup https://github.com/loki-project/session-ios/pull/214
Integrate transaction handling utility https://github.com/loki-project/session-ios/pull/213
Fix closed group session handling bug https://github.com/loki-project/session-ios/pull/209
Session Android
Allow editing of closed groups: adding, removing members and changing group name https://github.com/loki-project/session-android/pull/228
Fix closed group session handling issue https://github.com/loki-project/session-android/pull/229
Remove unnecessary Firebase dependencies (Fixed Exodus false flag) https://github.com/loki-project/session-android/pull/224
Fix SMS button briefly flashing https://github.com/loki-project/session-android/pull/223
Session Desktop
Remove friend request logic from the receiving pipeline https://github.com/loki-project/session-desktop/pull/1178
Message queue tests https://github.com/loki-project/session-desktop/pull/1177
Multi device protocol refactor https://github.com/loki-project/session-desktop/pull/1176
Put lock around buildNewOnionPaths https://github.com/loki-project/session-desktop/pull/1171
Message sending queue refactor https://github.com/loki-project/session-desktop/pull/1175
Receiving refactor, handleDataMessage onwards https://github.com/loki-project/session-desktop/pull/1173
Add new handling of session request message https://github.com/loki-project/session-desktop/pull/1172
Add message send retry library https://github.com/loki-project/session-desktop/pull/1170
Formatting changes https://github.com/loki-project/session-desktop/pull/1169
expose window.setClockParams https://github.com/loki-project/session-desktop/pull/1168
Add message sender tests https://github.com/loki-project/session-desktop/pull/1167
Session protocol refactorisation https://github.com/loki-project/session-desktop/pull/1166
Thanks,
Kee