Update to Go 1.20 + run better align (#2927)
* chore(go): update go version to 1.20. Closes #2185 * chore(go): run better align against project To optimize struct field order. Closes #2870 * chore(go): update CI jobs to use Go 1.20 * fix(go): linter warnings for Go 1.20 update
This commit is contained in:
@@ -19,27 +19,27 @@ import (
|
||||
|
||||
// Client represents a single chat client.
|
||||
type Client struct {
|
||||
mu sync.RWMutex
|
||||
Id uint `json:"-"`
|
||||
accessToken string
|
||||
conn *websocket.Conn
|
||||
User *user.User `json:"user"`
|
||||
server *Server
|
||||
IPAddress string `json:"-"`
|
||||
ConnectedAt time.Time `json:"connectedAt"`
|
||||
timeoutTimer *time.Timer
|
||||
rateLimiter *rate.Limiter
|
||||
conn *websocket.Conn
|
||||
User *user.User `json:"user"`
|
||||
server *Server
|
||||
Geo *geoip.GeoDetails `json:"geo"`
|
||||
// Buffered channel of outbound messages.
|
||||
send chan []byte
|
||||
rateLimiter *rate.Limiter
|
||||
timeoutTimer *time.Timer
|
||||
accessToken string
|
||||
IPAddress string `json:"-"`
|
||||
UserAgent string `json:"userAgent"`
|
||||
MessageCount int `json:"messageCount"`
|
||||
Id uint `json:"-"`
|
||||
mu sync.RWMutex
|
||||
inTimeout bool
|
||||
Geo *geoip.GeoDetails `json:"geo"`
|
||||
MessageCount int `json:"messageCount"`
|
||||
UserAgent string `json:"userAgent"`
|
||||
ConnectedAt time.Time `json:"connectedAt"`
|
||||
}
|
||||
|
||||
type chatClientEvent struct {
|
||||
data []byte
|
||||
client *Client
|
||||
data []byte
|
||||
}
|
||||
|
||||
const (
|
||||
|
||||
@@ -28,16 +28,16 @@ type OutboundEvent interface {
|
||||
|
||||
// Event is any kind of event. A type is required to be specified.
|
||||
type Event struct {
|
||||
Timestamp time.Time `json:"timestamp"`
|
||||
Type EventType `json:"type,omitempty"`
|
||||
ID string `json:"id"`
|
||||
Timestamp time.Time `json:"timestamp"`
|
||||
}
|
||||
|
||||
// UserEvent is an event with an associated user.
|
||||
type UserEvent struct {
|
||||
User *user.User `json:"user"`
|
||||
ClientID uint `json:"clientId,omitempty"`
|
||||
HiddenAt *time.Time `json:"hiddenAt,omitempty"`
|
||||
ClientID uint `json:"clientId,omitempty"`
|
||||
}
|
||||
|
||||
// MessageEvent is an event that has a message body.
|
||||
|
||||
@@ -186,26 +186,27 @@ func makeFederatedActionChatEventFromRowData(row rowData) events.FediverseEngage
|
||||
}
|
||||
|
||||
type rowData struct {
|
||||
id string
|
||||
userID *string
|
||||
body string
|
||||
eventType models.EventType
|
||||
hiddenAt *time.Time
|
||||
timestamp time.Time
|
||||
title *string
|
||||
subtitle *string
|
||||
image *string
|
||||
link *string
|
||||
timestamp time.Time
|
||||
image *string
|
||||
previousUsernames *string
|
||||
|
||||
userDisplayName *string
|
||||
userDisplayColor *int
|
||||
userDisplayName *string
|
||||
userDisplayColor *int
|
||||
userID *string
|
||||
title *string
|
||||
subtitle *string
|
||||
link *string
|
||||
|
||||
userType *string
|
||||
userScopes *string
|
||||
hiddenAt *time.Time
|
||||
userCreatedAt *time.Time
|
||||
userDisabledAt *time.Time
|
||||
previousUsernames *string
|
||||
userNameChangedAt *time.Time
|
||||
userAuthenticatedAt *time.Time
|
||||
userScopes *string
|
||||
userType *string
|
||||
userNameChangedAt *time.Time
|
||||
body string
|
||||
eventType models.EventType
|
||||
id string
|
||||
}
|
||||
|
||||
func getChat(rows *sql.Rows) ([]interface{}, error) {
|
||||
|
||||
@@ -27,10 +27,7 @@ var _lastSeenCache = map[string]time.Time{}
|
||||
|
||||
// Server represents an instance of the chat server.
|
||||
type Server struct {
|
||||
mu sync.RWMutex
|
||||
seq uint
|
||||
clients map[uint]*Client
|
||||
maxSocketConnectionLimit int64
|
||||
clients map[uint]*Client
|
||||
|
||||
// send outbound message payload to all clients
|
||||
outbound chan []byte
|
||||
@@ -41,7 +38,11 @@ type Server struct {
|
||||
// unregister requests from clients.
|
||||
unregister chan uint // the ChatClient id
|
||||
|
||||
geoipClient *geoip.Client
|
||||
geoipClient *geoip.Client
|
||||
seq uint
|
||||
maxSocketConnectionLimit int64
|
||||
|
||||
mu sync.RWMutex
|
||||
}
|
||||
|
||||
// NewChat will return a new instance of the chat server.
|
||||
|
||||
Reference in New Issue
Block a user