Thumbnail

rani/matterbridge.git

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

commit 6148bd13a1c59af412ff969b4053c7e34ed1f711 Author: Wim <wim@42.be> Date: Sat Mar 11 18:14:49 2023 +0000 Check client disconnect to exit for loop (api). Fixes #1983 (#2012) Also update to latest melody upstream diff --git a/bridge/api/api.go b/bridge/api/api.go index 515007f..9e7679d 100644 --- a/bridge/api/api.go +++ b/bridge/api/api.go @@ -67 +67 @@ import (   "sync"   "time"   - "gopkg.in/olahol/melody.v1" + "github.com/olahol/melody"     "github.com/42wim/matterbridge/bridge"   "github.com/42wim/matterbridge/bridge/config" @@ -16615 +16620 @@ func (b *API) handleStream(c echo.Context) error {   }   c.Response().Flush()   for { + select {   // TODO: this causes issues, messages should be broadcasted to all connected clients - msg := b.Messages.Dequeue() - if msg != nil { - if err := json.NewEncoder(c.Response()).Encode(msg); err != nil { - return err + default: + msg := b.Messages.Dequeue() + if msg != nil { + if err := json.NewEncoder(c.Response()).Encode(msg); err != nil { + return err + } + c.Response().Flush()   } - c.Response().Flush() + time.Sleep(100 * time.Millisecond) + case <-c.Request().Context().Done(): + return nil   } - time.Sleep(200 * time.Millisecond)   }  }   diff --git a/go.mod b/go.mod index f4e31db..e2379e4 100644 --- a/go.mod +++ b/go.mod @@ -346 +347 @@ require (   github.com/mattn/godown v0.0.1   github.com/mdp/qrterminal v1.0.1   github.com/nelsonken/gomf v0.0.0-20190423072027-c65cc0469e94 + github.com/olahol/melody v1.1.2   github.com/paulrosania/go-charset v0.0.0-20190326053356-55c9d7a5834c   github.com/rs/xid v1.4.0   github.com/russross/blackfriday v1.6.0 @@ -537 +546 @@ require (   golang.org/x/text v0.8.0   gomod.garykim.dev/nc-talk v0.3.0   google.golang.org/protobuf v1.29.0 - gopkg.in/olahol/melody.v1 v1.0.0-20170518105555-d52139073376   layeh.com/gumble v0.0.0-20221205141517-d1df60a3cc14   modernc.org/sqlite v1.21.0  ) diff --git a/go.sum b/go.sum index af47914..ac91312 100644 --- a/go.sum +++ b/go.sum @@ -12466 +12468 @@ github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+  github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=  github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU=  github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olahol/melody v1.1.2 h1:9PZ5kYv/CUy0PRZcJCKja1MUxAh6olVeHkyqaQxO7n0= +github.com/olahol/melody v1.1.2/go.mod h1:GgkTl6Y7yWj/HtfD48Q5vLKPVoZOH+Qqgfa7CvJgJM4=  github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=  github.com/olekukonko/tablewriter v0.0.0-20180506121414-d4647c9c7a84/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo=  github.com/olekukonko/tablewriter v0.0.4/go.mod h1:zq6QwlOf5SlnkVbMSr5EoBv3636FWnp+qbPhuoO21uA= @@ -24658 +24676 @@ gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3M  gopkg.in/mgo.v2 v2.0.0-20190816093944-a6b53ec6cb22/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA=  gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8=  gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= -gopkg.in/olahol/melody.v1 v1.0.0-20170518105555-d52139073376 h1:sY2a+y0j4iDrajJcorb+a0hJIQ6uakU5gybjfLWHlXo= -gopkg.in/olahol/melody.v1 v1.0.0-20170518105555-d52139073376/go.mod h1:BHKOc1m5wm8WwQkMqYBoo4vNxhmF7xg8+xhG8L+Cy3M=  gopkg.in/olivere/elastic.v6 v6.2.35/go.mod h1:2cTT8Z+/LcArSWpCgvZqBgt3VOqXiy7v00w12Lz8bd4=  gopkg.in/olivere/elastic.v6 v6.2.37/go.mod h1:2cTT8Z+/LcArSWpCgvZqBgt3VOqXiy7v00w12Lz8bd4=  gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=