mirror of
https://gitea.phreedom.club/localhost_frssoft/bloat.git
synced 2025-05-05 11:28:45 +00:00
Fix duplicate status ids
Use retweeted_by_id to focus target tweet
This commit is contained in:
parent
50e58c4e01
commit
ca711e62ec
4 changed files with 43 additions and 13 deletions
|
@ -282,6 +282,7 @@ func (svc *service) ServeTimelinePage(ctx context.Context, client io.Writer,
|
|||
statuses[i].ThreadInNewTab = c.Session.Settings.ThreadInNewTab
|
||||
statuses[i].MaskNSFW = c.Session.Settings.MaskNSFW
|
||||
if statuses[i].Reblog != nil {
|
||||
statuses[i].Reblog.RetweetedByID = statuses[i].ID
|
||||
statuses[i].Reblog.ThreadInNewTab = c.Session.Settings.ThreadInNewTab
|
||||
statuses[i].Reblog.MaskNSFW = c.Session.Settings.MaskNSFW
|
||||
}
|
||||
|
|
|
@ -159,52 +159,76 @@ func NewHandler(s Service, staticDir string) http.Handler {
|
|||
r.HandleFunc("/like/{id}", func(w http.ResponseWriter, req *http.Request) {
|
||||
ctx := getContextWithSession(context.Background(), req)
|
||||
id, _ := mux.Vars(req)["id"]
|
||||
err := s.Like(ctx, w, nil, id)
|
||||
retweetedByID := req.FormValue("retweeted_by_id")
|
||||
|
||||
_, err := s.Like(ctx, w, nil, id)
|
||||
if err != nil {
|
||||
s.ServeErrorPage(ctx, w, err)
|
||||
return
|
||||
}
|
||||
|
||||
w.Header().Add("Location", req.Header.Get("Referer")+"#status-"+id)
|
||||
rID := id
|
||||
if len(retweetedByID) > 0 {
|
||||
rID = retweetedByID
|
||||
}
|
||||
w.Header().Add("Location", req.Header.Get("Referer")+"#status-"+rID)
|
||||
w.WriteHeader(http.StatusFound)
|
||||
}).Methods(http.MethodPost)
|
||||
|
||||
r.HandleFunc("/unlike/{id}", func(w http.ResponseWriter, req *http.Request) {
|
||||
ctx := getContextWithSession(context.Background(), req)
|
||||
id, _ := mux.Vars(req)["id"]
|
||||
err := s.UnLike(ctx, w, nil, id)
|
||||
retweetedByID := req.FormValue("retweeted_by_id")
|
||||
|
||||
_, err := s.UnLike(ctx, w, nil, id)
|
||||
if err != nil {
|
||||
s.ServeErrorPage(ctx, w, err)
|
||||
return
|
||||
}
|
||||
|
||||
w.Header().Add("Location", req.Header.Get("Referer")+"#status-"+id)
|
||||
rID := id
|
||||
if len(retweetedByID) > 0 {
|
||||
rID = retweetedByID
|
||||
}
|
||||
w.Header().Add("Location", req.Header.Get("Referer")+"#status-"+rID)
|
||||
w.WriteHeader(http.StatusFound)
|
||||
}).Methods(http.MethodPost)
|
||||
|
||||
r.HandleFunc("/retweet/{id}", func(w http.ResponseWriter, req *http.Request) {
|
||||
ctx := getContextWithSession(context.Background(), req)
|
||||
id, _ := mux.Vars(req)["id"]
|
||||
err := s.Retweet(ctx, w, nil, id)
|
||||
retweetedByID := req.FormValue("retweeted_by_id")
|
||||
|
||||
_, err := s.Retweet(ctx, w, nil, id)
|
||||
if err != nil {
|
||||
s.ServeErrorPage(ctx, w, err)
|
||||
return
|
||||
}
|
||||
|
||||
w.Header().Add("Location", req.Header.Get("Referer")+"#status-"+id)
|
||||
rID := id
|
||||
if len(retweetedByID) > 0 {
|
||||
rID = retweetedByID
|
||||
}
|
||||
w.Header().Add("Location", req.Header.Get("Referer")+"#status-"+rID)
|
||||
w.WriteHeader(http.StatusFound)
|
||||
}).Methods(http.MethodPost)
|
||||
|
||||
r.HandleFunc("/unretweet/{id}", func(w http.ResponseWriter, req *http.Request) {
|
||||
ctx := getContextWithSession(context.Background(), req)
|
||||
id, _ := mux.Vars(req)["id"]
|
||||
err := s.UnRetweet(ctx, w, nil, id)
|
||||
retweetedByID := req.FormValue("retweeted_by_id")
|
||||
|
||||
_, err := s.UnRetweet(ctx, w, nil, id)
|
||||
if err != nil {
|
||||
s.ServeErrorPage(ctx, w, err)
|
||||
return
|
||||
}
|
||||
|
||||
w.Header().Add("Location", req.Header.Get("Referer")+"#status-"+id)
|
||||
rID := id
|
||||
if len(retweetedByID) > 0 {
|
||||
rID = retweetedByID
|
||||
}
|
||||
w.Header().Add("Location", req.Header.Get("Referer")+"#status-"+rID)
|
||||
w.WriteHeader(http.StatusFound)
|
||||
}).Methods(http.MethodPost)
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue