From f110472204c9d74a98e9ee8cb2ee35898fbe3dcb Mon Sep 17 00:00:00 2001 From: Hunter Kehoe Date: Wed, 14 May 2025 11:20:30 -0600 Subject: [PATCH 1/2] fix typo --- server/server.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/server/server.go b/server/server.go index ee2da76a..e66b9939 100644 --- a/server/server.go +++ b/server/server.go @@ -1885,14 +1885,14 @@ func (s *Server) transformMatrixJSON(next handleFunc) handleFunc { } func (s *Server) authorizeTopicWrite(next handleFunc) handleFunc { - return s.autorizeTopic(next, user.PermissionWrite) + return s.authorizeTopic(next, user.PermissionWrite) } func (s *Server) authorizeTopicRead(next handleFunc) handleFunc { - return s.autorizeTopic(next, user.PermissionRead) + return s.authorizeTopic(next, user.PermissionRead) } -func (s *Server) autorizeTopic(next handleFunc, perm user.Permission) handleFunc { +func (s *Server) authorizeTopic(next handleFunc, perm user.Permission) handleFunc { return func(w http.ResponseWriter, r *http.Request, v *visitor) error { if s.userManager == nil { return next(w, r, v) From cdae5493e267f8d3ac8167291f6e3d8d8d95a4bd Mon Sep 17 00:00:00 2001 From: Hunter Kehoe Date: Wed, 14 May 2025 11:39:18 -0600 Subject: [PATCH 2/2] write http errors to websocket connection instead of always 200 --- server/server.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/server.go b/server/server.go index e66b9939..68e20724 100644 --- a/server/server.go +++ b/server/server.go @@ -413,7 +413,8 @@ func (s *Server) handleError(w http.ResponseWriter, r *http.Request, v *visitor, } else { ev.Info("WebSocket error: %s", err.Error()) } - return // Do not attempt to write to upgraded connection + w.WriteHeader(httpErr.HTTPCode) + return // Do not attempt to write any body to upgraded connection } if isNormalError { ev.Debug("Connection closed with HTTP %d (ntfy error %d)", httpErr.HTTPCode, httpErr.Code)