Weekly Dev Update #101
Last week we continued our focus on separating the Session and Signal codebases, with a focus on Android and Desktop platforms. On the Lokinet side, we made some significant performance improvements and began working on parts of the exit node strategy. The Loki Core team continued to work on upstream merges, and also continued discussing how to begin implementing Pulse.
Commit transactions on exit
Commit to db more conservatively instead of every block (LNS fix)
Ongoing work planning how to approach the pulse implementation code
Ongoing work to port upstream Monero changes
Ongoing work for C++17 improvements
[LokiMQ] – various C++17 improvements (on `dev` branch for inclusion with loki 8.x)
[LokiMQ] – new automatic continuous integration tests
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: Lokinet is now licensed under the GPL v3. We decided that this relicensing fits under the Loki Project’s goal of producing free, open source software and ensures that it will stay free. The shift from a more permissive license means that it is still free for anyone to use, but that anyone who wants to copy and modify Lokinet itself must also keep those modifications open source.We spent much of the week testing and reviewing the code for potential performance improvements: we found a few small and one large performance improvements. We’ve also been experimenting with dusting off the exit node code and repurposing it to support running exits over SNApps (instead of only allowing service nodes to be exits). We now have it working on the testnet, though still has some more stability fixes and work needed to make it easier to deploy. We also finished off the last of the configuration overhaul, and started moving the automated test builds to a self-hosted CI (Drone) to avoid the troubles (non-standard default environment, slow builds) that we’ve encountered with travis-ci.
Lokinet PR Activity:
Drone CI + cmake revamp (
Support exits on snapps (
Move builds of optional-vendored libraries (sodium, curl, libuv) into cmake (
Various improvements to the lokinetmon terminal-based lokinet monitoring app (
Slew of big and small performance improvements (
Internal network address storage refactoring (
C++17 code simplifications (
Fix DNS settings not working when a port isn’t included (in new config code) (
Fix persistent snapp keys not being persistent (in new config code) (
Fix (some) unit test and CI failures (
Fix deadlocking in iOS
Seed Node update
Fix session out of sync issue when creating a closed group
Further work going into separating the Session and Signal codebases
Further commits can be found here
Session Push Notifications Server
Further improvements to speed up notifications
Further information about protocol design added to the Wiki
Fix retrieval from seed nodes
Friend request duplication fixes
Use HTTPs for seed node communication
Don’t process an empty message
Update mainnet seed nodes to use correct ports
You've got mail!
Sign up to our newsletter to keep up to date with everything Oxen.