aboutsummaryrefslogtreecommitdiffstats
path: root/routers/web/repo
diff options
context:
space:
mode:
authorGusted <williamzijl7@hotmail.com>2022-04-25 20:45:22 +0000
committerGitHub <noreply@github.com>2022-04-25 22:45:22 +0200
commit4e912a61c8083498427eba930a0a99eba91be0ed (patch)
tree94bf0d7fbcc990877cdb34541639a9a8642ab7d8 /routers/web/repo
parent1ebb30e41bf3b44404d7d03a5541729762c226b5 (diff)
downloadgitea-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')
-rw-r--r--routers/web/repo/issue_stopwatch.go14
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)
}