diff --git a/activity.go b/activity.go index 14877af..736472d 100644 --- a/activity.go +++ b/activity.go @@ -1389,6 +1389,7 @@ func allinjest(origin string, obj junk.Junk) { ingestpubkey(origin, keyobj) } ingestboxes(origin, obj) + ingesthandle(origin, obj) } func ingestpubkey(origin string, obj junk.Junk) { @@ -1439,6 +1440,9 @@ func ingestboxes(origin string, obj junk.Junk) { if ident == "" { return } + if originate(ident) != origin { + return + } var info string row := stmtGetXonker.QueryRow(ident, "boxes") err := row.Scan(&info) @@ -1457,3 +1461,26 @@ func ingestboxes(origin string, obj junk.Junk) { } } } + +func ingesthandle(origin string, obj junk.Junk) { + xid, _ := obj.GetString("id") + if xid == "" { + return + } + if originate(xid) != origin { + return + } + var handle string + row := stmtGetXonker.QueryRow(xid, "handle") + err := row.Scan(&handle) + if err == nil { + return + } + handle, _ = obj.GetString("preferredUsername") + if handle != "" { + _, err = stmtSaveXonker.Exec(xid, handle, "handle") + if err != nil { + log.Printf("error saving handle: %s", err) + } + } +} diff --git a/fun.go b/fun.go index 0582ead..7770087 100644 --- a/fun.go +++ b/fun.go @@ -508,10 +508,6 @@ var allhandles = cache.New(cache.Options{Filler: func(xid string) (string, bool) } } else { handle = info.Name - _, err = stmtSaveXonker.Exec(xid, handle, "handle") - if err != nil { - log.Printf("error saving handle: %s", err) - } } } return handle, true