diff --git a/appview/pages/templates/repo/pulls/fragments/pullNewComment.html b/appview/pages/templates/repo/pulls/fragments/pullNewComment.html
index fff9e896..8de34f38 100644
--- a/appview/pages/templates/repo/pulls/fragments/pullNewComment.html
+++ b/appview/pages/templates/repo/pulls/fragments/pullNewComment.html
@@ -9,7 +9,7 @@
hx-swap="beforeend"
hx-disabled-elt="find button[type='submit']"
hx-on::before-request="this.querySelector('.error').innerHTML = ''"
- hx-on::after-request="if(event.detail.successful) this.reset()"
+ hx-on::after-request="if(event.detail.successful) htmx.ajax('GET', '/{{ .RepoInfo.FullName }}/pulls/{{ .Pull.PullId }}/round/{{ .RoundNumber }}/actions', {target: '#actions-{{ .RoundNumber }}', swap: 'outerHTML'})"
>
diff --git a/appview/pulls/comment.go b/appview/pulls/comment.go
index 6ebfd28d..710d2153 100644
--- a/appview/pulls/comment.go
+++ b/appview/pulls/comment.go
@@ -28,7 +28,7 @@ func (s *Pulls) PullComment(w http.ResponseWriter, r *http.Request) {
roundNumberStr := chi.URLParam(r, "round")
roundNumber, err := strconv.Atoi(roundNumberStr)
- if err != nil || roundNumber >= len(pull.Submissions) {
+ if err != nil || roundNumber < 0 || roundNumber >= len(pull.Submissions) {
http.Error(w, "bad round id", http.StatusBadRequest)
l.Error("failed to parse round id", "err", err, "round_number_str", roundNumberStr)
return
diff --git a/appview/pulls/single.go b/appview/pulls/single.go
index 5280ed0f..364f1cc3 100644
--- a/appview/pulls/single.go
+++ b/appview/pulls/single.go
@@ -136,7 +136,7 @@ func (s *Pulls) repoPullHelper(w http.ResponseWriter, r *http.Request, interdiff
if r, err := strconv.Atoi(roundId); err == nil {
roundIdInt = r
}
- if roundIdInt >= len(pull.Submissions) {
+ if roundIdInt < 0 || roundIdInt >= len(pull.Submissions) {
http.Error(w, "bad round id", http.StatusBadRequest)
l.Error("failed to parse round id", "err", err, "round_number", roundIdInt)
return