Disable recws as it was causing problems

This commit is contained in:
Elara 2022-12-13 01:09:43 -08:00
parent b38c6b0a54
commit 92b96981e2
3 changed files with 9 additions and 33 deletions

7
go.mod
View File

@ -4,10 +4,5 @@ go 1.19
require ( require (
github.com/google/go-querystring v1.1.0 github.com/google/go-querystring v1.1.0
github.com/recws-org/recws v1.4.0 github.com/gorilla/websocket v1.4.2
)
require (
github.com/gorilla/websocket v1.4.2 // indirect
github.com/jpillora/backoff v1.0.0 // indirect
) )

4
go.sum
View File

@ -4,8 +4,4 @@ github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD
github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU= github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17icRSOU623lUBU=
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/jpillora/backoff v1.0.0 h1:uvFg412JmmHBHw7iwprIxkPMI+sGQ4kzOWsMeHnm2EA=
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
github.com/recws-org/recws v1.4.0 h1:y9LLddtAicjejikNZXiaY9DQjIwcAQ82acd1XU6n0lU=
github.com/recws-org/recws v1.4.0/go.mod h1:7+NQkTmBdU98VSzkzq9/P7+X0xExioUVBx9OeRKQIkk=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

View File

@ -6,9 +6,8 @@ import (
"net/http" "net/http"
"net/url" "net/url"
"reflect" "reflect"
"time"
"github.com/recws-org/recws" "github.com/gorilla/websocket"
"go.arsenm.dev/go-lemmy/types" "go.arsenm.dev/go-lemmy/types"
) )
@ -17,7 +16,7 @@ type authData struct {
} }
type WSClient struct { type WSClient struct {
conn *recws.RecConn conn *websocket.Conn
baseURL *url.URL baseURL *url.URL
respCh chan types.LemmyWebSocketMsg respCh chan types.LemmyWebSocketMsg
errCh chan error errCh chan error
@ -25,20 +24,19 @@ type WSClient struct {
} }
func NewWebSocket(baseURL string) (*WSClient, error) { func NewWebSocket(baseURL string) (*WSClient, error) {
ws := &recws.RecConn{
KeepAliveTimeout: 10 * time.Second,
}
u, err := url.Parse(baseURL) u, err := url.Parse(baseURL)
if err != nil { if err != nil {
return nil, err return nil, err
} }
u = u.JoinPath("/api/v3") u = u.JoinPath("/api/v3")
ws.Dial(u.JoinPath("ws").String(), nil) conn, _, err := websocket.DefaultDialer.Dial(u.JoinPath("ws").String(), nil)
if err != nil {
return nil, err
}
out := &WSClient{ out := &WSClient{
conn: ws, conn: conn,
baseURL: u, baseURL: u,
respCh: make(chan types.LemmyWebSocketMsg, 10), respCh: make(chan types.LemmyWebSocketMsg, 10),
errCh: make(chan error, 10), errCh: make(chan error, 10),
@ -47,7 +45,7 @@ func NewWebSocket(baseURL string) (*WSClient, error) {
go func() { go func() {
for { for {
var msg types.LemmyWebSocketMsg var msg types.LemmyWebSocketMsg
err = ws.ReadJSON(&msg) err = conn.ReadJSON(&msg)
if err != nil { if err != nil {
out.errCh <- err out.errCh <- err
continue continue
@ -59,19 +57,6 @@ func NewWebSocket(baseURL string) (*WSClient, error) {
return out, nil return out, nil
} }
// SetConnectHandler sets the connection handler function
func (c *WSClient) SetConnectHandler(f func() error) {
c.conn.SubscribeHandler = f
}
// ConnectHandler invokes the connection handler function
func (c *WSClient) ConnectHandler() error {
if c.conn.SubscribeHandler == nil {
return nil
}
return c.conn.SubscribeHandler()
}
func (c *WSClient) Login(ctx context.Context, l types.Login) error { func (c *WSClient) Login(ctx context.Context, l types.Login) error {
u := &url.URL{} u := &url.URL{}
*u = *c.baseURL *u = *c.baseURL