From a2faf47375d4e0324a6a17131936265ca56ee18a Mon Sep 17 00:00:00 2001 From: Kieran Klukas <92754843+kcoderhtml@users.noreply.github.com> Date: Sun, 15 Dec 2024 13:56:26 -0500 Subject: [PATCH] feat: track editor --- middlewares/sentry.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/middlewares/sentry.go b/middlewares/sentry.go index 17f62964..f21b8a64 100644 --- a/middlewares/sentry.go +++ b/middlewares/sentry.go @@ -7,6 +7,7 @@ import ( "github.com/getsentry/sentry-go" sentryhttp "github.com/getsentry/sentry-go/http" + "github.com/hackclub/hackatime/utils" ) // SentryMiddleware is a wrapper around sentryhttp to include user information to traces @@ -30,6 +31,13 @@ func (h *SentryMiddleware) ServeHTTP(w http.ResponseWriter, r *http.Request) { hub.Scope().SetUser(sentry.User{ID: user.ID}) } + // Parse user agent + userAgent := r.Header.Get("User-Agent") + _, editor, err := utils.ParseUserAgent(userAgent) + if err == nil && editor != "" { + hub.Scope().SetTag("editor", editor) + } + // Attach request body if available if r.Body != nil { if body, err := io.ReadAll(r.Body); err == nil {