translate known actors to shortnames

master
Ted Unangst 5 years ago
parent ebe7863e75
commit 878c3c28e9

@ -70,9 +70,14 @@ func reverbolate(userid int64, honks []*Honk) {
h.Username, h.Handle = handles(h.Honker)
} else {
_, h.Handle = handles(h.Honker)
h.Username = h.Handle
if len(h.Username) > 20 {
h.Username = h.Username[:20] + ".."
short := shortname(userid, h.Honker)
if short != "" {
h.Username = short
} else {
h.Username = h.Handle
if len(h.Username) > 20 {
h.Username = h.Username[:20] + ".."
}
}
if h.URL == "" {
h.URL = h.XID
@ -360,6 +365,24 @@ func quickrename(s string, userid int64) string {
return s
}
var shortnames = cacheNew(cacheOptions{Filler: func(userid int64) (map[string]string, bool) {
honkers := gethonkers(userid)
m := make(map[string]string)
for _, h := range honkers {
m[h.XID] = h.Name
}
return m, true
}})
func shortname(userid int64, xid string) string {
var m map[string]string
ok := shortnames.Get(userid, &m)
if ok {
return m[xid]
}
return ""
}
func mentionize(s string) string {
s = re_mentions.ReplaceAllStringFunc(s, func(m string) string {
where := gofish(m)

@ -1271,6 +1271,7 @@ func submithonker(w http.ResponseWriter, r *http.Request) {
honkerid, _ := strconv.ParseInt(r.FormValue("honkerid"), 10, 0)
defer combocache.Clear(u.UserID)
defer shortnames.Clear(u.UserID)
if honkerid > 0 {
goodbye := r.FormValue("goodbye")

Loading…
Cancel
Save