[MM-57067][MM-57006][MM-57328] Acknowledge websocket POSTED events that may result in a notification on the web client (#26604)
* Acknowledge POSTED events that may result in a notification * Remove temporary metrics * Add Desktop App support * Merge'd * Add some tests * PR feedback * Rework window is focused check * Oops * Move mentions/followers ACK to posted ACK broadcast hook --------- Co-authored-by: Mattermost Build <build@mattermost.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
b397f9ed92
Коммит
8589476229
@@ -5,10 +5,12 @@ package wsapi
|
||||
|
||||
import (
|
||||
"github.com/mattermost/mattermost/server/public/model"
|
||||
"github.com/mattermost/mattermost/server/public/shared/mlog"
|
||||
)
|
||||
|
||||
func (api *API) InitSystem() {
|
||||
api.Router.Handle("ping", api.APIWebSocketHandler(ping))
|
||||
api.Router.Handle(model.WebsocketPostedNotifyAck, api.APIWebSocketHandler(api.websocketNotificationAck))
|
||||
}
|
||||
|
||||
func ping(req *model.WebSocketRequest) (map[string]any, *model.AppError) {
|
||||
@@ -20,3 +22,18 @@ func ping(req *model.WebSocketRequest) (map[string]any, *model.AppError) {
|
||||
|
||||
return data, nil
|
||||
}
|
||||
|
||||
func (api *API) websocketNotificationAck(req *model.WebSocketRequest) (map[string]any, *model.AppError) {
|
||||
// Log the ACKs if necessary
|
||||
api.App.NotificationsLog().Debug("Websocket notification acknowledgment",
|
||||
mlog.String("type", model.TypeWebsocket),
|
||||
mlog.String("user_id", req.Session.UserId),
|
||||
mlog.Any("user_agent", req.Data["user_agent"]),
|
||||
mlog.Any("post_id", req.Data["post_id"]),
|
||||
mlog.Any("result", req.Data["result"]),
|
||||
mlog.Any("reason", req.Data["reason"]),
|
||||
mlog.Any("data", req.Data["data"]),
|
||||
)
|
||||
|
||||
return nil, nil
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user