Weekly Dev Update #105
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.
Static build overhaul to improve how we produce static binaries for Linux/windows/mac (and to produce them automatically with every PR) –
Generate Pulse Quorums
(This will be the first of many Pulse related PR’s in the coming weeks)
Remove old vote blob serialisation fixes
Drone CI builds + various small fixes
Merge upstream into dev
(Dev is now mostly in line with the Monero master branch)
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 focussed 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 –
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
lines of code) –
More work on WinTUN (for better Windows performance) –
Drone CI build for automatically producing Windows binaries –
WIP – node peer testing –
WIP – integrate libunbound for DNS lookups –
Added regressions tests for key backup bug –
Added a init script for running lokinet under runit (thanks to community member wratc for the PR) –
Fix pybind dependency in CI –
Miscellaneous drone CI fixes (ported over from the loki-core work):
Fix unlinked devices reappearing
Increase photo clarity
Fix whitelist public chat joining
Integrate transaction handling utility
Fix closed group session handling bug
Allow editing of closed groups: adding, removing members and changing group name
Fix closed group session handling issue
Remove unnecessary firebase dependencies (Fixed Exodus false flag)
Fix SMS button briefly flashing
Remove friend request logic from the receiving pipeline
Message queue tests
Multi device protocol refactor
Put lock around buildNewOnionPaths
Message sending queue refactor
Receiving refactor, handleDataMessage onwards
Add new handling of session request message
Add message send retry library
Add message sender tests
Session protocol refactorisation
You've got mail!
Sign up to our newsletter to keep up to date with everything Oxen.