[MM-40638] Type all of the websocket event names as a new type WebsocketEventType (#25454)
Co-authored-by: Sudheer Tripathi <sudheer@clearglass.com> Co-authored-by: Sudheer Tripathi <31629433+sudheer121@users.noreply.github.com> Co-authored-by: Sudheer Tripathi <tripathisudheer604@gmail.com>
Этот коммит содержится в:
коммит произвёл
GitHub
родитель
e1f72576fb
Коммит
51e73b681b
@@ -76,7 +76,7 @@ func (ps *PlatformService) PublishPluginClusterEvent(productID string, ev model.
|
||||
}
|
||||
|
||||
func (ps *PlatformService) PublishWebSocketEvent(productID string, event string, payload map[string]any, broadcast *model.WebsocketBroadcast) {
|
||||
ev := model.NewWebSocketEvent(fmt.Sprintf("custom_%v_%v", productID, event), "", "", "", nil, "")
|
||||
ev := model.NewWebSocketEvent(model.WebsocketEventType(fmt.Sprintf("custom_%v_%v", productID, event)), "", "", "", nil, "")
|
||||
ev = ev.SetBroadcast(broadcast).SetData(payload)
|
||||
ps.Publish(ev)
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ func TestConfigSave(t *testing.T) {
|
||||
defer th.TearDown()
|
||||
|
||||
metricsMock := &mocks.MetricsInterface{}
|
||||
metricsMock.On("IncrementWebsocketEvent", mock.AnythingOfType("string")).Return()
|
||||
metricsMock.On("IncrementWebsocketEvent", model.WebsocketEventConfigChanged).Return()
|
||||
metricsMock.On("IncrementWebSocketBroadcastBufferSize", mock.AnythingOfType("string"), mock.AnythingOfType("float64")).Return()
|
||||
metricsMock.On("DecrementWebSocketBroadcastBufferSize", mock.AnythingOfType("string"), mock.AnythingOfType("float64")).Return()
|
||||
metricsMock.On("Register").Return()
|
||||
|
||||
@@ -11,10 +11,11 @@ import (
|
||||
|
||||
"github.com/mattermost/mattermost/server/public/model"
|
||||
"github.com/mattermost/mattermost/server/public/shared/mlog"
|
||||
"github.com/mattermost/mattermost/server/public/utils"
|
||||
"github.com/mattermost/mattermost/server/v8/platform/services/sharedchannel"
|
||||
)
|
||||
|
||||
var sharedChannelEventsForSync model.StringArray = []string{
|
||||
var sharedChannelEventsForSync = []model.WebsocketEventType{
|
||||
model.WebsocketEventPosted,
|
||||
model.WebsocketEventPostEdited,
|
||||
model.WebsocketEventPostDeleted,
|
||||
@@ -22,7 +23,7 @@ var sharedChannelEventsForSync model.StringArray = []string{
|
||||
model.WebsocketEventReactionRemoved,
|
||||
}
|
||||
|
||||
var sharedChannelEventsForInvitation model.StringArray = []string{
|
||||
var sharedChannelEventsForInvitation = []model.WebsocketEventType{
|
||||
model.WebsocketEventDirectAdded,
|
||||
}
|
||||
|
||||
@@ -39,7 +40,7 @@ func (ps *PlatformService) SharedChannelSyncHandler(event *model.WebSocketEvent)
|
||||
if err != nil {
|
||||
mlog.Warn(
|
||||
err.Error(),
|
||||
mlog.String("event", event.EventType()),
|
||||
mlog.String("event", string(event.EventType())),
|
||||
mlog.String("action", "content_sync"),
|
||||
)
|
||||
}
|
||||
@@ -48,17 +49,17 @@ func (ps *PlatformService) SharedChannelSyncHandler(event *model.WebSocketEvent)
|
||||
if err != nil {
|
||||
mlog.Warn(
|
||||
err.Error(),
|
||||
mlog.String("event", event.EventType()),
|
||||
mlog.String("event", string(event.EventType())),
|
||||
mlog.String("action", "invitation"),
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func isEligibleForEvents(syncService SharedChannelServiceIFace, event *model.WebSocketEvent, events model.StringArray) bool {
|
||||
func isEligibleForEvents(syncService SharedChannelServiceIFace, event *model.WebSocketEvent, events []model.WebsocketEventType) bool {
|
||||
return syncServiceEnabled(syncService) &&
|
||||
eventHasChannel(event) &&
|
||||
events.Contains(event.EventType())
|
||||
utils.Contains(events, event.EventType())
|
||||
}
|
||||
|
||||
func eventHasChannel(event *model.WebSocketEvent) bool {
|
||||
|
||||
@@ -54,7 +54,7 @@ func (he *HookedWebSocketEvent) Add(key string, value any) {
|
||||
he.copy.Add(key, value)
|
||||
}
|
||||
|
||||
func (he *HookedWebSocketEvent) EventType() string {
|
||||
func (he *HookedWebSocketEvent) EventType() model.WebsocketEventType {
|
||||
if he.copy == nil {
|
||||
return he.original.EventType()
|
||||
}
|
||||
|
||||
@@ -477,7 +477,7 @@ func (wc *WebConn) writePump() {
|
||||
logData := []mlog.Field{
|
||||
mlog.String("user_id", wc.UserId),
|
||||
mlog.String("conn_id", wc.GetConnectionID()),
|
||||
mlog.String("type", msg.EventType()),
|
||||
mlog.String("type", string(msg.EventType())),
|
||||
mlog.Int("size", buf.Len()),
|
||||
}
|
||||
if evtOk {
|
||||
@@ -735,7 +735,7 @@ func (wc *WebConn) ShouldSendEvent(msg *model.WebSocketEvent) bool {
|
||||
"websocket.slow: dropping message",
|
||||
mlog.String("user_id", wc.UserId),
|
||||
mlog.String("conn_id", wc.GetConnectionID()),
|
||||
mlog.String("type", msg.EventType()),
|
||||
mlog.String("type", string(msg.EventType())),
|
||||
)
|
||||
// Reset timer to now.
|
||||
wc.lastLogTimeSlow = time.Now()
|
||||
|
||||
@@ -36,7 +36,7 @@ func (wr *WebSocketRouter) ServeWebSocket(conn *WebConn, r *model.WebSocketReque
|
||||
return
|
||||
}
|
||||
|
||||
if r.Action == model.WebsocketAuthenticationChallenge {
|
||||
if r.Action == string(model.WebsocketAuthenticationChallenge) {
|
||||
if conn.GetSessionToken() != "" {
|
||||
return
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user