jetstream: configure logging dids added to in-memory filter #225

merged
opened by anirudh.fi targeting master from push-yuwoytzsmkvm
Changed files
+10 -2
appview
state
jetstream
knotserver
+4
appview/state/state.go
···
slog.Default(),
wrapper,
false,
+
+
// in-memory filter is inapplicalble to appview so
+
// we'll never log dids anyway.
+
false,
)
if err != nil {
return nil, fmt.Errorf("failed to create jetstream client: %w", err)
+4 -1
jetstream/jetstream.go
···
ident string
l *slog.Logger
+
logDids bool
wantedDids Set[string]
db DB
waitForDid bool
···
}
}
-
func NewJetstreamClient(endpoint, ident string, collections []string, cfg *client.ClientConfig, logger *slog.Logger, db DB, waitForDid bool) (*JetstreamClient, error) {
+
func NewJetstreamClient(endpoint, ident string, collections []string, cfg *client.ClientConfig, logger *slog.Logger, db DB, waitForDid, logDids bool) (*JetstreamClient, error) {
if cfg == nil {
cfg = client.DefaultClientConfig()
cfg.WebsocketURL = endpoint
···
l: logger,
wantedDids: make(map[string]struct{}),
+
logDids: logDids,
+
// This will make the goroutine in StartJetstream wait until
// j.wantedDids has been populated, typically using addDids.
waitForDid: waitForDid,
+1
knotserver/config/config.go
···
DBPath string `env:"DB_PATH, default=knotserver.db"`
Hostname string `env:"HOSTNAME, required"`
JetstreamEndpoint string `env:"JETSTREAM_ENDPOINT, default=wss://jetstream1.us-west.bsky.network/subscribe"`
+
LogDids bool `env:"LOG_DIDS, default=true"`
// This disables signature verification so use with caution.
Dev bool `env:"DEV, default=false"`
+1 -1
knotserver/server.go
···
jc, err := jetstream.NewJetstreamClient(c.Server.JetstreamEndpoint, "knotserver", []string{
tangled.PublicKeyNSID,
tangled.KnotMemberNSID,
-
}, nil, logger, db, true)
+
}, nil, logger, db, true, c.Server.LogDids)
if err != nil {
logger.Error("failed to setup jetstream", "error", err)
}