add approved replies to AP object collection
Ted Unangst tedu@tedunangst.com
Sun, 18 Aug 2019 23:25:11 -0400
2 files changed,
25 insertions(+),
7 deletions(-)
M
activity.go
→
activity.go
@@ -804,6 +804,18 @@ if strings.HasPrefix(h.Precis, "DZ:") {
jo["sensitive"] = true } + var replies []string + for _, reply := range h.Replies { + replies = append(replies, reply.XID) + } + if len(replies) > 0 { + jr := junk.New() + jr["type"] = "Collection" + jr["totalItems"] = len(replies) + jr["items"] = replies + jo["replies"] = jr + } + var tags []junk.Junk g := bunchofgrapes(h.Noise) for _, m := range g {
M
honk.go
→
honk.go
@@ -71,6 +71,7 @@ Convoy string
Audience []string Public bool Whofore int64 + Replies []*Honk Flags int64 HTML template.HTML Style string@@ -617,8 +618,8 @@ return
} xid := fmt.Sprintf("https://%s%s", serverName, r.URL.Path) - h := getxonk(user.ID, xid) - if h == nil { + honk := getxonk(user.ID, xid) + if honk == nil { http.NotFound(w, r) return }@@ -626,24 +627,29 @@ u := login.GetUserInfo(r)
if u != nil && u.UserID != user.ID { u = nil } - if !h.Public { + if !honk.Public { if u == nil { http.NotFound(w, r) return } - honkpage(w, r, u, nil, []*Honk{h}, "one honk maybe more") + honkpage(w, r, u, nil, []*Honk{honk}, "one honk maybe more") return } + rawhonks := gethonksbyconvoy(honk.UserID, honk.Convoy) if friendorfoe(r.Header.Get("Accept")) { - donksforhonks([]*Honk{h}) - _, j := jonkjonk(user, h) + for _, h := range rawhonks { + if h.RID == honk.XID && h.Public && (h.Whofore == 2 || honkIsAcked(h.Flags)) { + honk.Replies = append(honk.Replies, h) + } + } + donksforhonks([]*Honk{honk}) + _, j := jonkjonk(user, honk) j["@context"] = itiswhatitis w.Header().Set("Content-Type", theonetruename) j.Write(w) return } - rawhonks := gethonksbyconvoy(h.UserID, h.Convoy) var honks []*Honk for _, h := range rawhonks { if h.Public && (h.Whofore == 2 || honkIsAcked(h.Flags)) {