+22
search/firehose.go
+22
search/firehose.go
···
115
115
return nil
116
116
117
117
},
118
+
// TODO: process RepoIdentity
119
+
RepoIdentity: func(evt *comatproto.SyncSubscribeRepos_Identity) error {
120
+
ctx := context.Background()
121
+
ctx, span := tracer.Start(ctx, "RepoIdentity")
122
+
defer span.End()
123
+
124
+
did, err := syntax.ParseDID(evt.Did)
125
+
if err != nil {
126
+
idx.logger.Error("bad DID in RepoIdentity event", "did", evt.Did, "seq", evt.Seq, "err", err)
127
+
return nil
128
+
}
129
+
ident, err := idx.dir.LookupDID(ctx, did)
130
+
if err != nil {
131
+
idx.logger.Error("failed identity resolution in RepoIdentity event", "did", evt.Did, "seq", evt.Seq, "err", err)
132
+
return nil
133
+
}
134
+
if err := idx.updateUserHandle(ctx, did, ident.Handle.String()); err != nil {
135
+
// TODO: handle this case (instead of return nil)
136
+
idx.logger.Error("failed to update user handle", "did", evt.Did, "handle", ident.Handle, "seq", evt.Seq, "err", err)
137
+
}
138
+
return nil
139
+
},
118
140
}
119
141
120
142
return events.HandleRepoStream(