cleanup intake a bit, fast path for delete
This commit is contained in:
parent
5de8ecf7b8
commit
a333026b44
151
activity.go
151
activity.go
|
@ -201,9 +201,6 @@ func iszonked(userid int64, xid string) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
func needxonk(user *WhatAbout, x *Honk) bool {
|
func needxonk(user *WhatAbout, x *Honk) bool {
|
||||||
if x.What == "eradicate" {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
if thoudostbitethythumb(user.ID, x.Audience, x.XID) {
|
if thoudostbitethythumb(user.ID, x.Audience, x.XID) {
|
||||||
log.Printf("not saving thumb biter? %s via %s", x.XID, x.Honker)
|
log.Printf("not saving thumb biter? %s via %s", x.XID, x.Honker)
|
||||||
return false
|
return false
|
||||||
|
@ -234,19 +231,18 @@ func needxonkid(user *WhatAbout, xid string) bool {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
func savexonk(x *Honk) {
|
func eradicatexonk(userid int64, xid string) {
|
||||||
if x.What == "eradicate" {
|
xonk := getxonk(userid, xid)
|
||||||
log.Printf("eradicating %s by %s", x.XID, x.Honker)
|
if xonk != nil {
|
||||||
xonk := getxonk(x.UserID, x.XID)
|
deletehonk(xonk.ID)
|
||||||
if xonk != nil {
|
|
||||||
deletehonk(xonk.ID)
|
|
||||||
}
|
|
||||||
_, err := stmtSaveZonker.Exec(x.UserID, x.XID, "zonk")
|
|
||||||
if err != nil {
|
|
||||||
log.Printf("error eradicating: %s", err)
|
|
||||||
}
|
|
||||||
return
|
|
||||||
}
|
}
|
||||||
|
_, err := stmtSaveZonker.Exec(userid, xid, "zonk")
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("error eradicating: %s", err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func savexonk(x *Honk) {
|
||||||
log.Printf("saving xonk: %s", x.XID)
|
log.Printf("saving xonk: %s", x.XID)
|
||||||
go prehandle(x.Honker)
|
go prehandle(x.Honker)
|
||||||
go prehandle(x.Oonker)
|
go prehandle(x.Oonker)
|
||||||
|
@ -470,6 +466,23 @@ func xonkxonk(user *WhatAbout, item junk.Junk, origin string) *Honk {
|
||||||
var ok bool
|
var ok bool
|
||||||
isUpdate := false
|
isUpdate := false
|
||||||
switch what {
|
switch what {
|
||||||
|
case "Delete":
|
||||||
|
obj, ok = item.GetMap("object")
|
||||||
|
if ok {
|
||||||
|
xid, _ = obj.GetString("id")
|
||||||
|
} else {
|
||||||
|
xid, _ = item.GetString("object")
|
||||||
|
}
|
||||||
|
if xid == "" {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if originate(xid) != origin {
|
||||||
|
log.Printf("forged delete: %s", xid)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
log.Printf("eradicating %s", xid)
|
||||||
|
eradicatexonk(user.ID, xid)
|
||||||
|
return nil
|
||||||
case "Announce":
|
case "Announce":
|
||||||
obj, ok = item.GetMap("object")
|
obj, ok = item.GetMap("object")
|
||||||
if ok {
|
if ok {
|
||||||
|
@ -501,10 +514,6 @@ func xonkxonk(user *WhatAbout, item junk.Junk, origin string) *Honk {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
what = "honk"
|
what = "honk"
|
||||||
case "Delete":
|
|
||||||
obj, _ = item.GetMap("object")
|
|
||||||
xid, _ = item.GetString("object")
|
|
||||||
what = "eradicate"
|
|
||||||
case "Read":
|
case "Read":
|
||||||
xid, ok = item.GetString("object")
|
xid, ok = item.GetString("object")
|
||||||
if ok {
|
if ok {
|
||||||
|
@ -569,66 +578,62 @@ func xonkxonk(user *WhatAbout, item junk.Junk, origin string) *Honk {
|
||||||
if ok {
|
if ok {
|
||||||
dt = dt2
|
dt = dt2
|
||||||
}
|
}
|
||||||
if ot == "Tombstone" {
|
xid, _ = obj.GetString("id")
|
||||||
xid, _ = obj.GetString("id")
|
precis, _ = obj.GetString("summary")
|
||||||
} else {
|
if precis == "" {
|
||||||
xid, _ = obj.GetString("id")
|
precis, _ = obj.GetString("name")
|
||||||
precis, _ = obj.GetString("summary")
|
}
|
||||||
if precis == "" {
|
content, _ = obj.GetString("content")
|
||||||
precis, _ = obj.GetString("name")
|
if !strings.HasPrefix(content, "<p>") {
|
||||||
|
content = "<p>" + content
|
||||||
|
}
|
||||||
|
sens, _ := obj["sensitive"].(bool)
|
||||||
|
if sens && precis == "" {
|
||||||
|
precis = "unspecified horror"
|
||||||
|
}
|
||||||
|
rid, ok = obj.GetString("inReplyTo")
|
||||||
|
if !ok {
|
||||||
|
robj, ok := obj.GetMap("inReplyTo")
|
||||||
|
if ok {
|
||||||
|
rid, _ = robj.GetString("id")
|
||||||
}
|
}
|
||||||
content, _ = obj.GetString("content")
|
}
|
||||||
if !strings.HasPrefix(content, "<p>") {
|
convoy, _ = obj.GetString("context")
|
||||||
content = "<p>" + content
|
if strings.HasSuffix(convoy, "#context") &&
|
||||||
|
originate(convoy) != originate(xid) {
|
||||||
|
// friendica...
|
||||||
|
convoy = ""
|
||||||
|
}
|
||||||
|
if convoy == "" {
|
||||||
|
convoy, _ = obj.GetString("conversation")
|
||||||
|
}
|
||||||
|
if ot == "Question" {
|
||||||
|
if what == "honk" {
|
||||||
|
what = "qonk"
|
||||||
}
|
}
|
||||||
sens, _ := obj["sensitive"].(bool)
|
content += "<ul>"
|
||||||
if sens && precis == "" {
|
ans, _ := obj.GetArray("oneOf")
|
||||||
precis = "unspecified horror"
|
for _, ai := range ans {
|
||||||
}
|
a, ok := ai.(junk.Junk)
|
||||||
rid, ok = obj.GetString("inReplyTo")
|
if !ok {
|
||||||
if !ok {
|
continue
|
||||||
robj, ok := obj.GetMap("inReplyTo")
|
|
||||||
if ok {
|
|
||||||
rid, _ = robj.GetString("id")
|
|
||||||
}
|
}
|
||||||
|
as, _ := a.GetString("name")
|
||||||
|
content += "<li>" + as
|
||||||
}
|
}
|
||||||
convoy, _ = obj.GetString("context")
|
ans, _ = obj.GetArray("anyOf")
|
||||||
if strings.HasSuffix(convoy, "#context") &&
|
for _, ai := range ans {
|
||||||
originate(convoy) != originate(xid) {
|
a, ok := ai.(junk.Junk)
|
||||||
// friendica...
|
if !ok {
|
||||||
convoy = ""
|
continue
|
||||||
}
|
|
||||||
if convoy == "" {
|
|
||||||
convoy, _ = obj.GetString("conversation")
|
|
||||||
}
|
|
||||||
if ot == "Question" {
|
|
||||||
if what == "honk" {
|
|
||||||
what = "qonk"
|
|
||||||
}
|
}
|
||||||
content += "<ul>"
|
as, _ := a.GetString("name")
|
||||||
ans, _ := obj.GetArray("oneOf")
|
content += "<li>" + as
|
||||||
for _, ai := range ans {
|
|
||||||
a, ok := ai.(junk.Junk)
|
|
||||||
if !ok {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
as, _ := a.GetString("name")
|
|
||||||
content += "<li>" + as
|
|
||||||
}
|
|
||||||
ans, _ = obj.GetArray("anyOf")
|
|
||||||
for _, ai := range ans {
|
|
||||||
a, ok := ai.(junk.Junk)
|
|
||||||
if !ok {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
as, _ := a.GetString("name")
|
|
||||||
content += "<li>" + as
|
|
||||||
}
|
|
||||||
content += "</ul>"
|
|
||||||
}
|
|
||||||
if what == "honk" && rid != "" {
|
|
||||||
what = "tonk"
|
|
||||||
}
|
}
|
||||||
|
content += "</ul>"
|
||||||
|
}
|
||||||
|
if what == "honk" && rid != "" {
|
||||||
|
what = "tonk"
|
||||||
}
|
}
|
||||||
atts, _ := obj.GetArray("attachment")
|
atts, _ := obj.GetArray("attachment")
|
||||||
for i, atti := range atts {
|
for i, atti := range atts {
|
||||||
|
|
Loading…
Reference in New Issue