diff options
| author | r <r@freesoftwareextremist.com> | 2019-12-14 18:12:48 +0000 | 
|---|---|---|
| committer | r <r@freesoftwareextremist.com> | 2019-12-14 18:12:48 +0000 | 
| commit | ea66bd539dec12ef2846c23e505593f9f9d9fac3 (patch) | |
| tree | 17d40c5aaf44e87ea65e444e15e87e771ca947c0 /service | |
| parent | 787a197ad8cbce572152ee41b2a411b8d145285a (diff) | |
| download | bloat-ea66bd539dec12ef2846c23e505593f9f9d9fac3.tar.gz bloat-ea66bd539dec12ef2846c23e505593f9f9d9fac3.zip | |
Focus relevant status on like, retweet and reply
Diffstat (limited to 'service')
| -rw-r--r-- | service/auth.go | 2 | ||||
| -rw-r--r-- | service/logging.go | 2 | ||||
| -rw-r--r-- | service/service.go | 13 | ||||
| -rw-r--r-- | service/transport.go | 14 | 
4 files changed, 18 insertions, 13 deletions
| diff --git a/service/auth.go b/service/auth.go index cb442a7..5ee2001 100644 --- a/service/auth.go +++ b/service/auth.go @@ -142,7 +142,7 @@ func (s *authService) UnRetweet(ctx context.Context, client io.Writer, c *mastod  	return s.Service.UnRetweet(ctx, client, c, id)  } -func (s *authService) PostTweet(ctx context.Context, client io.Writer, c *mastodon.Client, content string, replyToID string) (err error) { +func (s *authService) PostTweet(ctx context.Context, client io.Writer, c *mastodon.Client, content string, replyToID string) (id string, err error) {  	c, err = s.getClient(ctx)  	if err != nil {  		return diff --git a/service/logging.go b/service/logging.go index b11599e..0ed40bd 100644 --- a/service/logging.go +++ b/service/logging.go @@ -108,7 +108,7 @@ func (s *loggingService) UnRetweet(ctx context.Context, client io.Writer, c *mas  	return s.Service.UnRetweet(ctx, client, c, id)  } -func (s *loggingService) PostTweet(ctx context.Context, client io.Writer, c *mastodon.Client, content string, replyToID string) (err error) { +func (s *loggingService) PostTweet(ctx context.Context, client io.Writer, c *mastodon.Client, content string, replyToID string) (id string, err error) {  	defer func(begin time.Time) {  		s.logger.Printf("method=%v, content=%v, reply_to_id=%v, took=%v, err=%v\n",  			"PostTweet", content, replyToID, time.Since(begin), err) diff --git a/service/service.go b/service/service.go index b10a5de..3bfb163 100644 --- a/service/service.go +++ b/service/service.go @@ -36,7 +36,7 @@ type Service interface {  	UnLike(ctx context.Context, client io.Writer, c *mastodon.Client, id string) (err error)  	Retweet(ctx context.Context, client io.Writer, c *mastodon.Client, id string) (err error)  	UnRetweet(ctx context.Context, client io.Writer, c *mastodon.Client, id string) (err error) -	PostTweet(ctx context.Context, client io.Writer, c *mastodon.Client, content string, replyToID string) (err error) +	PostTweet(ctx context.Context, client io.Writer, c *mastodon.Client, content string, replyToID string) (id string, err error)  }  type service struct { @@ -292,11 +292,16 @@ func (svc *service) UnRetweet(ctx context.Context, client io.Writer, c *mastodon  	return  } -func (svc *service) PostTweet(ctx context.Context, client io.Writer, c *mastodon.Client, content string, replyToID string) (err error) { +func (svc *service) PostTweet(ctx context.Context, client io.Writer, c *mastodon.Client, content string, replyToID string) (id string, err error) {  	tweet := &mastodon.Toot{  		Status:      content,  		InReplyToID: replyToID,  	} -	_, err = c.PostStatus(ctx, tweet) -	return + +	s, err := c.PostStatus(ctx, tweet) +	if err != nil { +		return +	} + +	return s.ID, nil  } diff --git a/service/transport.go b/service/transport.go index 709a2ff..00f7430 100644 --- a/service/transport.go +++ b/service/transport.go @@ -108,7 +108,7 @@ func NewHandler(s Service, staticDir string) http.Handler {  			return  		} -		w.Header().Add("Location", req.Header.Get("Referer")) +		w.Header().Add("Location", req.Header.Get("Referer")+"#status-"+id)  		w.WriteHeader(http.StatusSeeOther)  	}).Methods(http.MethodGet) @@ -121,7 +121,7 @@ func NewHandler(s Service, staticDir string) http.Handler {  			return  		} -		w.Header().Add("Location", req.Header.Get("Referer")) +		w.Header().Add("Location", req.Header.Get("Referer")+"#status-"+id)  		w.WriteHeader(http.StatusSeeOther)  	}).Methods(http.MethodGet) @@ -134,7 +134,7 @@ func NewHandler(s Service, staticDir string) http.Handler {  			return  		} -		w.Header().Add("Location", req.Header.Get("Referer")) +		w.Header().Add("Location", req.Header.Get("Referer")+"#status-"+id)  		w.WriteHeader(http.StatusSeeOther)  	}).Methods(http.MethodGet) @@ -147,7 +147,7 @@ func NewHandler(s Service, staticDir string) http.Handler {  			return  		} -		w.Header().Add("Location", req.Header.Get("Referer")) +		w.Header().Add("Location", req.Header.Get("Referer")+"#status-"+id)  		w.WriteHeader(http.StatusSeeOther)  	}).Methods(http.MethodGet) @@ -155,15 +155,15 @@ func NewHandler(s Service, staticDir string) http.Handler {  		ctx := getContextWithSession(context.Background(), req)  		content := req.FormValue("content")  		replyToID := req.FormValue("reply_to_id") -		err := s.PostTweet(ctx, w, nil, content, replyToID) +		id, err := s.PostTweet(ctx, w, nil, content, replyToID)  		if err != nil {  			s.ServeErrorPage(ctx, w, err)  			return  		} -		location := "/timeline" +		location := "/timeline" + "#status-" + id  		if len(replyToID) > 0 { -			location = "/thread/" + replyToID +			location = "/thread/" + replyToID + "#status-" + id  		}  		w.Header().Add("Location", location)  		w.WriteHeader(http.StatusSeeOther) | 
