diff options
author | Gusted <williamzijl7@hotmail.com> | 2022-04-25 20:45:22 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-04-25 22:45:22 +0200 |
commit | 4e912a61c8083498427eba930a0a99eba91be0ed (patch) | |
tree | 94bf0d7fbcc990877cdb34541639a9a8642ab7d8 /routers/web/repo/issue_stopwatch.go | |
parent | 1ebb30e41bf3b44404d7d03a5541729762c226b5 (diff) | |
download | gitea-4e912a61c8083498427eba930a0a99eba91be0ed.tar.gz gitea-4e912a61c8083498427eba930a0a99eba91be0ed.zip |
Improve Stopwatch behavior (#18930)
- Don't send empty stopwatch over and over again, only send once.
- Stop interval to update stopwatch's timer when there is no more stopwatch.
Diffstat (limited to 'routers/web/repo/issue_stopwatch.go')
-rw-r--r-- | routers/web/repo/issue_stopwatch.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/routers/web/repo/issue_stopwatch.go b/routers/web/repo/issue_stopwatch.go index 7ef80e7725..83e4ecedbf 100644 --- a/routers/web/repo/issue_stopwatch.go +++ b/routers/web/repo/issue_stopwatch.go @@ -9,7 +9,9 @@ import ( "strings" "code.gitea.io/gitea/models" + "code.gitea.io/gitea/models/db" "code.gitea.io/gitea/modules/context" + "code.gitea.io/gitea/modules/eventsource" ) // IssueStopwatch creates or stops a stopwatch for the given issue. @@ -59,6 +61,18 @@ func CancelStopwatch(c *context.Context) { return } + stopwatches, err := models.GetUserStopwatches(c.Doer.ID, db.ListOptions{}) + if err != nil { + c.ServerError("GetUserStopwatches", err) + return + } + if len(stopwatches) == 0 { + eventsource.GetManager().SendMessage(c.Doer.ID, &eventsource.Event{ + Name: "stopwatches", + Data: "{}", + }) + } + url := issue.HTMLURL() c.Redirect(url, http.StatusSeeOther) } |