Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/arborchat/sprout-go

A Golang Implementation of the Sprout Protocol, mirrored from sourcehut
https://github.com/arborchat/sprout-go

deps: update to latest dependencies

5dae1cbb80f64260e3d1ee75c1761e9ea19df5f1 authored about 4 years ago by Chris Waldon <[email protected]>
feat(worker): drop expired nodes when they are announced

884e34166a53c2c5b96f4e7e5bd354aee59d0e99 authored about 4 years ago by Chris Waldon <[email protected]>
feat(relay): periodically delete expired nodes

a0a4a97548c264f015d527358119bd5da9a98f5c authored about 4 years ago by Chris Waldon <[email protected]>
deps: update to latest forest-go

0ab9adf606c334ed6ec681889cedfd36b781814a authored about 4 years ago by Chris Waldon <[email protected]>
feat(relay): add optional pprof http endpoint

f163a69a9d05c5090a86c7482a66f3e17aee4fff authored over 4 years ago by Chris Waldon <[email protected]>
doc: clarify sprout examples

ce87ee60caf033cb26c941553c72e5db4a417e6f authored over 4 years ago by Chris Waldon <[email protected]>
doc: add local testing info to README

d31f44ff77230028a22c20e9f80c57f8e0fdfc4c authored over 4 years ago by Chris Waldon <[email protected]>
fix(worker): properly order response nodes to leaves_of

Previously the response to a leaves_of message was not properly sorted
by recency, so it was jus...

0c1e7a4aa3b0d189f02d14ead6afbeb6f0c39305 authored over 4 years ago by Chris Waldon <[email protected]>
ci/cd: switch to debian for older libc compatibility

60e4aacb6740eb11d4622e5adc0366671370fafa authored over 4 years ago by Chris Waldon <[email protected]>
ci/cd: temporarily disable openbsd and enable email notifications

4b2d84294c2d53f9d95d58fb0baaca2369d26d87 authored over 4 years ago by Chris Waldon <[email protected]>
deps: update protonmail dependency

ff3a857c1cce1588575f026abd7e16e365992879 authored over 4 years ago by Chris Waldon <[email protected]>
deps: depend on latest forest-go

da45b21def6ae03654da629ff3a7852597bb31b6 authored over 4 years ago by Chris Waldon <[email protected]>
deps: depend on latest forest-go

4e6573e182304696355c11a5d94d67a2816d98ee authored over 4 years ago by Chris Waldon <[email protected]>
feat: split relay into submodule and support prometheus

873ee2d0af2edba13f748b07b948a9c8ecc90b61 authored over 4 years ago by Chris Waldon <[email protected]>
feat: remove redundant SubscriberStore

Forest now provides the Archive type and the ExtendedStore type
directly, which eliminates the n...

a4188845a9a8c297521f84be40656c3b5cc464fa authored over 4 years ago by Chris Waldon <[email protected]>
deps: officially switch to golang.org/x/crypto fork

c8287a898617fa0c4caed7f113e408378b5b8863 authored over 4 years ago by Chris Waldon <[email protected]>
feat: use new store package for archive

2b088ac3b5ac08f7bd8c744f53529d18c8f3a8b3 authored over 4 years ago by Chris Waldon <[email protected]>
deps: depend on latest breaking-change commit

0b59703c7bc8418bf1b51dab252f7c964c0907e3 authored almost 5 years ago by Chris Waldon <[email protected]>
deps(forest-go): update to use new (breaking) forest library

0b3ea8c937cc1525ca3b0c20736fd873015a4382 authored almost 5 years ago by Chris Waldon <[email protected]>
bugfix: worker: ensure local leaves are sent

This fix changes which slice is iterated to fetch all leaf nodes
from a Store(). Previously I us...

d98b57817b6db1557f764d686ca95f58c80164b1 authored almost 5 years ago by Chris Waldon <[email protected]>
feat: worker: announce all local leaf nodes when syncing tree

f66714d4fe0c2d313dc505dd3d1cd7bf1ef30d72 authored almost 5 years ago by Chris Waldon <[email protected]>
deps: update forest-go to get efficient grove Children()

49319bfdc13800bdc9526ff0ba6bc4cfc5c6bcd4 authored almost 5 years ago by Chris Waldon <[email protected]>
deps: update forest-go to get more performant grove

0a6891df86f8cb6848766ac4c09d0c6e136eb43d authored almost 5 years ago by Chris Waldon <[email protected]>
feat: worker: clarify function name

d7ece45fa962f1d0b5f360a85e1821207b4ea3c7 authored almost 5 years ago by Chris Waldon <[email protected]>
feat: create supervisor loop to restart workers

b453c046837e8025efb91754c0f60b95c7eab3d0 authored almost 5 years ago by Chris Waldon <[email protected]>
relay: only listen on localhost by default

0db5bb2d52c40a3b83f1fef0f2f33eca017f9ca1 authored about 5 years ago by Chris Waldon <[email protected]>
relay: Rename address variable for clarity

1c2e94107f0c3fb2fcb0002638cdb30e62a5074e authored about 5 years ago by Chris Waldon <[email protected]>
relay: add flag for listen IP address

Currently the relay binds to all local addresses by default.
This isn't especially secure for la...

afa31ead125db05f5cccdb8b7d66c03aae010b58 authored about 5 years ago by Chris Waldon <[email protected]>
ci/cd: only deploy master branch if ci passes

3e9e4f53345edceff8fbf203a07ac9778f139ace authored about 5 years ago by Chris Waldon <[email protected]>
ci/cd: automatically restart arbor.chat relay

09437b079f144c272f09048dd6513eb4a7e2c4d2 authored about 5 years ago by Chris Waldon <[email protected]>
ci/cd: specify ssh deploy key when deploying relay

8231858388b84c9b1df27bb4432b82640165fde4 authored about 5 years ago by Chris Waldon <[email protected]>
ci/cd: scan host keys before deploying relay

80f764229b704a32dce78dd676cc1c3c003e7be6 authored about 5 years ago by Chris Waldon <[email protected]>
ci/cd: automatically deploy new relay builds to arbor.chat

ee4d00dac0258e0bf573d00e8064d7d1378aea89 authored about 5 years ago by Chris Waldon <[email protected]>
relay: capture logs of all relays in test script

d7b803004c2e085a018f76417eaa48ba94b53ea8 authored about 5 years ago by Chris Waldon <[email protected]>
relay: use expiring set to mask spurious fs notifications

a978cb437158114fce8a1ec154b98a9a94c66ce1 authored about 5 years ago by Chris Waldon <[email protected]>
relay: fix shellcheck warnings in new test script

c32970b0b566207d6abf008d9eb4f4c3e61ff981 authored about 5 years ago by Chris Waldon <[email protected]>
relay: add utility script for e2e testing relays in tmux

caf3a8bf2613f6667ebb2aa3fecbb3f393025689 authored about 5 years ago by Chris Waldon <[email protected]>
relay: filter out fs notifications caused by relay writes

2e73c05d581598ab1f1c7c7a729648fac769b0d8 authored about 5 years ago by Chris Waldon <[email protected]>
worker: make new message hook non-blocking

76dc84a6c62d9528b9c5a7f669eaeb5240152598 authored about 5 years ago by Chris Waldon <[email protected]>
store: Implement pre-Add() subscriptions

ec79781e3e55153e4942bc1daf6e5be05a1ca392 authored about 5 years ago by Chris Waldon <[email protected]>
relay: Remove relatively useless selftest feature

2154d714c74da4a925cb0eb3c3ec2ed5fb26d1ed authored about 5 years ago by Chris Waldon <[email protected]>
Store: Handle subscribed handlers in new goroutines

Previously, SubscriberStore would call each handler function for each
subscription serially in t...

cc71cf15fabf56aab80b0e3fab20aa2fdf7c0ee2 authored about 5 years ago by Chris Waldon <[email protected]>
Skip processing announced messages that are already local

ddb1f777623c4a1bd5ab17634c904d515680e27e authored about 5 years ago by Chris Waldon <[email protected]>
Log all message types as they come in

02f1085bf4fae47e3f421e8f86594c525bce3188 authored about 5 years ago by Chris Waldon <[email protected]>
Restart relay peer connections if they fail

08d2fe73d411c08ac3d503dd14f30b71b0a47ad2 authored about 5 years ago by Chris Waldon <[email protected]>
Simplify IngestNode() logic

0eabd76f0e6689018f7839f3728f5d21158e0cf2 authored about 5 years ago by Chris Waldon <[email protected]>
Only ingest validatable nodes

Previously, we were ingesting any announced node that
matched a subscribed community, but this w...

f79b4584341b54f9fc61ba1f13e0a4fe5cd9690a authored about 5 years ago by Chris Waldon <[email protected]>
Enable graceful handling of unsolicited messages

Previously, responses sent after the request timed out would cause
a disconnect, since the reque...

2f75eafc4d591b999354e1e8330b1f6add036377 authored about 5 years ago by Chris Waldon <[email protected]>
Actually subscribe to communities after fetching them

No nodes were announced before because the new nodes weren't in a
community that the connection ...

ed6bc55c1d0d8bca5b6619ba1f077c619fb193e7 authored about 5 years ago by Chris Waldon <[email protected]>
Fix relay to use new API

5dc8a8ea964deaab3c561b2d397c8c9db0beb60d authored about 5 years ago by Chris Waldon <[email protected]>
Rework and test synchronous subscribe methods

8a7b9116e3f376fb0394f34c27b4d569ebc0473f authored about 5 years ago by Chris Waldon <[email protected]>
Rework and test synchronous Announce() method

b1f2e1eba0bd552ec1703dc53b685374f6583bb3 authored about 5 years ago by Chris Waldon <[email protected]>
unexport NodeLine since its only needed internally

12f940b22d0ca2fe261b7ecb371b7a1f17e88bfb authored about 5 years ago by Chris Waldon <[email protected]>
Document, rework, and test synchronous LeavesOf()

157d8be031ed673ccef918d4819b98fa1bf2f650 authored about 5 years ago by Chris Waldon <[email protected]>
Fix usage example to include cancellation

564fddb5e29fab6681ac0bf526cfee77e2eaf599 authored about 5 years ago by Chris Waldon <[email protected]>
Add package-level docs

8dc795aa66b568c4606ec86c9324074d421318db authored about 5 years ago by Chris Waldon <[email protected]>
Document Ancestry methods

509e61eea1e4b63f3357472f544b900de728cea6 authored about 5 years ago by Chris Waldon <[email protected]>
Eliminate possible data race for duplicate message IDs

82bd2d96c90fcae405231e536ef19da179cc7c75 authored about 5 years ago by Chris Waldon <[email protected]>
Document ReadMessage

b40c4ca0b3d7b4923696909c3f401857cacb6307 authored about 5 years ago by Chris Waldon <[email protected]>
Document Query methods

ee165880e798a9fed385ccdcc707bc77729e97a4 authored about 5 years ago by Chris Waldon <[email protected]>
Rework and test synchronous Ancestry method

7ae2e3550460959a9c10efc59bc1ef9db01f98ba authored about 5 years ago by Chris Waldon <[email protected]>
Implement synchronous Query and test

This involved substantial test refactors to keep the code DRY.

5806bc1b4af3f7ef368e565fc1ff9182f9f0350b authored about 5 years ago by Chris Waldon <[email protected]>
Make it possible to cancel waiting for a response

Without this capability, a server would slowly leak memory as clients
misbehaved (by not respond...

0ddb96e2af47319b57154ea204d2dd3b720dd073 authored about 5 years ago by Chris Waldon <[email protected]>
Document List() methods

3799e827bdb5dc756aba346ac49069adbb22121e authored about 5 years ago by Chris Waldon <[email protected]>
Rework synchronous List() method

f36b4239a6a92aeaa47c68b05afd92901c684d37 authored about 5 years ago by Chris Waldon <[email protected]>
Clarify sendToWaitingChannel error text

469aad4fc4b3325dd2027e26de8a8d847cc6ee66 authored about 5 years ago by Chris Waldon <[email protected]>
Rework version to return Status type as errors

This simplifies the usage of the API signficantly while still
preserving the ability to differen...

46f7a0485bac51ecc9851515bb6250a2b5ce4956 authored about 5 years ago by Chris Waldon <[email protected]>
Make sprout.Status fulfill the error interface

e28702eb65f97537159858f6456f3cc53adf3b59 authored about 5 years ago by Chris Waldon <[email protected]>
Move shared test initialization code into function

a3b731e95acef2546f3e9e161d716c510bafb0bd authored about 5 years ago by Chris Waldon <[email protected]>
Implement synchronous SendVersion and test

I also had to synchronize access to the LoopbackConn to prevent
data races. The race detector ca...

00c3c7986082496d07b431a75d2fd6b750f9c728 authored about 5 years ago by Chris Waldon <[email protected]>
Implement and test async Announce() method

1c99ce9aa0c338432f3a010bfe31154e701b681f authored about 5 years ago by Chris Waldon <[email protected]>
Rename base64url read function for clarity

a57132ab220574b043cd2d94be180df1461d1ea2 authored about 5 years ago by Chris Waldon <[email protected]>
Implement async {Un,}Subscribe methods with tests

279253c284e46204564e34a21ac59df6a93ec863 authored about 5 years ago by Chris Waldon <[email protected]>
Implement async LeavesOf and test

3502f585026bda2ef8aa381728fd437df4e9d5e6 authored about 5 years ago by Chris Waldon <[email protected]>
Shorten async tests

af8134403227cbc188df60a2f73707c28b1d79f2 authored about 5 years ago by Chris Waldon <[email protected]>
Implement and test async Ancestry() method

15e5a7e0bda8951ccccc631c8bd0e432ced2b87c authored about 5 years ago by Chris Waldon <[email protected]>
Test Async List() and refactor tests to be DRYer

97b2b789ee696d863ee643d94da89600f34c40e9 authored about 5 years ago by Chris Waldon <[email protected]>
Fix List test name

9308116c0e4e2ee4624cac44e37ab0c2b92cf397 authored about 5 years ago by Chris Waldon <[email protected]>
Use clearer for loop in test

41f34a30a6953d382b74a2296ae31dad65b7c060 authored about 5 years ago by Chris Waldon <[email protected]>
Prototype async Query method with test

c30bec9af342899b01a73d391fc97aa38d690876 authored about 5 years ago by Chris Waldon <[email protected]>
Prototype async Version method with test

d601cbd76e9ee980b04fafc71a22715a1ca416dd authored about 5 years ago by Chris Waldon <[email protected]>
Fetch and subscribe to everything when connecting to a peer

7c2c080d4b6ef2deec14246f1e9dbf157a8c1a44 authored about 5 years ago by Chris Waldon <[email protected]>
Depend on the latest version of forest-go

a84dd8f4c47f29f310e4bd6e07027b73186de446 authored about 5 years ago by Chris Waldon <[email protected]>
Add better logging and error handling for announcements

dd8c194c23f1d9bf599054f435537d7346838a55 authored about 5 years ago by Chris Waldon <[email protected]>
Make logged errors more useful

fa352eed59781ec2f2e2b397e3a5687c320545ca authored about 5 years ago by Chris Waldon <[email protected]>
Make relay fetch all peer known content at startup

This is a gross way to warm an empty or semi-empty local cache
by brute-force. We just ask the p...

5c9c56677b093ce7458856536f4994d71a8d15f0 authored about 5 years ago by Chris Waldon <[email protected]>
Synchronize writes to TCP connection

I was able to (I think) trigger interleaved protocol messages
by sending many at the same time. ...

1ed37553a228286b810fbaeb409428e817facd59 authored about 5 years ago by Chris Waldon <[email protected]>
Remove noisy logging

e97a6ad4c52d3508b27525ef394ccd0754832d3a authored about 5 years ago by Chris Waldon <[email protected]>
Make Add() method on SubStore actually notify

c716a210c794d8fe985ed33864ef892488d06ca7 authored about 5 years ago by Chris Waldon <[email protected]>
Update forest-go version to fix grove Add()

Add() was triggering write notifications even when the node already
existed in the grove. This c...

d2024112f27905fd3c5cdef78efdc3f4387ded5f authored about 5 years ago by Chris Waldon <[email protected]>
Relocate Watch code from wisteria into sprout

This code seems generally useful, and makes sense as an addition to
the relay codebase. It more ...

da5bc42acee66f76a7689defcf3316ae80ab32b0 authored about 5 years ago by Chris Waldon <[email protected]>
Set a logger by default in Worker

b3383ea6fe21bf47e551c26cebd201386bcab6fe authored about 5 years ago by Chris Waldon <[email protected]>
Make the spec link take you to the top of the page

cc950b8dab79de80cb2b93f2073a931f73e8be05 authored about 5 years ago by Chris Waldon <[email protected]>
Ensure that worker respects quantity in OnLeavesOf

d2c99f935172d6ad34a29de777a05e0308f2f740 authored about 5 years ago by Chris Waldon <[email protected]>
Restructure relay main to make selftest optional

29f5eb662859472c9c6ddc897835a439a6947b10 authored about 5 years ago by Chris Waldon <[email protected]>
Move Worker type into sprout package

e8a437aa4960200ccb9b7a214b77a68e1332294b authored about 5 years ago by Chris Waldon <[email protected]>
Move Session type into sprout package

dbf176c69304e78fd77df7e2762a6ed3374c42af authored about 5 years ago by Chris Waldon <[email protected]>
Make worker depend on store interface

450417c293633faef767594f3d32669f808a9d6f authored about 5 years ago by Chris Waldon <[email protected]>
Move useful store abstraction into sprout package

dd846c7d4c17200789efac11082b351a951ee623 authored about 5 years ago by Chris Waldon <[email protected]>
Update to latest forest-go to drop wisteria dependencies

c87e2366e63b3716b5b88ac08b5ceb111612a072 authored about 5 years ago by Chris Waldon <[email protected]>