Our great sponsors
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Replace boost beast with uWebsockets https://github.com/oxen-io/oxen-storage-server/pull/432 Remove pre-HF18 legacy code/endpoints that isn't being called anymore Remove process_lns_request endpoint (it is broken, and Session clients have already switched to using oxend_rpc with ons_resolve instead). Replace boost beast http(s) client code with cpr (https://github.com/whoshuu/cpr); this is a whole lot nicer to use for HTTP requests. Replace boost beast http server code with uWebSockets (https://github.com/uNetworking/uWebSockets). This gives a much nicer interface, and makes it easy for us to add websocket support for clients in the future. Remove boost::asio; it's not needed anymore with the removal of the above. Replace bootstrap RPC code with authenticated, encrypted OMQ RPC. Remove boost circular buffer use; a regular map with a two-line trim is simpler for the block hash cache and a limit on stored snodes doesn't seem necessary for the rate limiter. Make rate_limiter clean itself periodically rather than keeping buckets around indefinitely Make rate_limiter thread-safe so that you don't need to hold the entire service_node_ lock to use it. Remove ip_utils; we don't allow redirects and are sufficiently restrictive on the URL target that it seems unnecessary (plus not having it lets us offload DNS lookup to curl as part of the request). Replace /swarms/ping_test/v1 with /ping_test/v1; this new request now returns the remote pubkey in a header, and no longer includes an SSL cert signature (so that we can drop the SSL cert signatures after HF19). The old one will still be used until HF19. Add OMQ endpoint for storage tests; starting at HF19 it will get used rather than the HTTPS one. Refactor storage test retries into request_handler (rather than being in the HTTPS specific code) Move HTTPS server-specific code for validating snode signatures from headers out of generic request_handler code and into HTTPS-specific code. Make onion proxy-to-url timeout a bit less than the onion request timeout so that the client has a better chance of getting a relayed timeout error (rather than getting a timeout from the edge node). Miscellaneous cleanups. Logger: use file and line number instead of func because the latter is nearly useless when called from a lambda. Shorten timeout values for ping tests, storage tests, and bootstrap connections to 5s, 15s, and 10s, respectively, from. Refactor recent stats reporting to use rolling averages that always have 60-70min of stats and drop off 10min at a time, rather than the 1-period hard reset. Also fixes various stats that weren't calculated/reported properly. Add onion and proxy requests to systemd status line as well as used database size. Enable WAL for sqlite3 database Removed buffered message relaying for swarm propagation; it's counterproductive with omq's persistent connections. Enable jemalloc by default.
Replace boost beast http(s) client code with cpr (https://github.com/whoshuu/cpr); this is a whole lot nicer to use for HTTP requests.
Replace boost beast http server code with uWebSockets (https://github.com/uNetworking/uWebSockets). This gives a much nicer interface, and makes it easy for us to add websocket support for clients in the future.
Ongoing path handover new diagnostic tools, potential fixes, and various related improvements (draft PR) https://github.com/oxen-io/loki-network/pull/1653
Fix message deletion bug https://github.com/oxen-io/session-android/pull/593 , https://github.com/oxen-io/session-android/pull/573
iOS deep link for Session IDs / Usernames (thanks to community contributor iArchitSharma) https://github.com/oxen-io/session-ios/pull/421