Thumbnail

rani/matterbridge.git

Clone URL: https://git.buni.party/rani/matterbridge.git

commit 59392aff0855465bd1a8edd6574956615d05c2ef Author: NikkyAI <root@nikky.moe> Date: Thu Aug 27 22:28:03 2020 +0000 Sent loopback messages to other websockets as well (api) (#1216) diff --git a/bridge/api/api.go b/bridge/api/api.go index 9c93756..515007f 100644 --- a/bridge/api/api.go +++ b/bridge/api/api.go @@ -447 +447 @@ func New(cfg *bridge.Config) bridge.Bridger {   b.Log.Errorf("failed to decode message from byte[] '%s'", string(msg))   return   } - b.handleWebsocketMessage(message) + b.handleWebsocketMessage(message, s)   })   b.mrouter.HandleConnect(func(session *melody.Session) {   greet := b.getGreeting() @@ -17813 +17820 @@ func (b *API) handleStream(c echo.Context) error {   }  }   -func (b *API) handleWebsocketMessage(message config.Message) { +func (b *API) handleWebsocketMessage(message config.Message, s *melody.Session) {   message.Channel = "api"   message.Protocol = "api"   message.Account = b.Account   message.ID = ""   message.Timestamp = time.Now()   + data, err := json.Marshal(message) + if err != nil { + b.Log.Errorf("failed to encode message for loopback '%v'", message) + return + } + _ = b.mrouter.BroadcastOthers(data, s) +   b.Log.Debugf("Sending websocket message from %s on %s to gateway", message.Username, "api")   b.Remote <- message  }