dependencies: update go
Signed-off-by: Sumner Evans <sumner.evans@automattic.com>
This commit is contained in:
@@ -11,8 +11,8 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
go-version: ["1.22", "1.23"]
|
go-version: ["1.23", "1.24"]
|
||||||
name: Lint ${{ matrix.go-version == '1.23' && '(latest)' || '(old)' }}
|
name: Lint ${{ matrix.go-version == '1.24' && '(latest)' || '(old)' }}
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
module go.mau.fi/mautrix-telegram
|
module go.mau.fi/mautrix-telegram
|
||||||
|
|
||||||
go 1.22.0
|
go 1.23.0
|
||||||
|
|
||||||
toolchain go1.23.5
|
toolchain go1.24.0
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/gorilla/mux v1.8.0
|
github.com/gorilla/mux v1.8.0
|
||||||
|
|||||||
@@ -354,9 +354,7 @@ func NewTelegramClient(ctx context.Context, tc *TelegramConnector, login *bridge
|
|||||||
// connectTelegramClient blocks until client is connected, calling Run
|
// connectTelegramClient blocks until client is connected, calling Run
|
||||||
// internally.
|
// internally.
|
||||||
// Technique from: https://github.com/gotd/contrib/blob/master/bg/connect.go
|
// Technique from: https://github.com/gotd/contrib/blob/master/bg/connect.go
|
||||||
func connectTelegramClient(ctx context.Context, client *telegram.Client) (context.Context, context.CancelFunc, error) {
|
func connectTelegramClient(ctx context.Context, cancel context.CancelFunc, client *telegram.Client) error {
|
||||||
ctx, cancel := context.WithCancel(ctx)
|
|
||||||
|
|
||||||
errC := make(chan error, 1)
|
errC := make(chan error, 1)
|
||||||
initDone := make(chan struct{})
|
initDone := make(chan struct{})
|
||||||
go func() {
|
go func() {
|
||||||
@@ -374,14 +372,13 @@ func connectTelegramClient(ctx context.Context, client *telegram.Client) (contex
|
|||||||
select {
|
select {
|
||||||
case <-ctx.Done(): // context canceled
|
case <-ctx.Done(): // context canceled
|
||||||
cancel()
|
cancel()
|
||||||
return nil, func() {}, fmt.Errorf("context cancelled before init done: %w", ctx.Err())
|
return fmt.Errorf("context cancelled before init done: %w", ctx.Err())
|
||||||
case err := <-errC: // startup timeout
|
case err := <-errC: // startup timeout
|
||||||
cancel()
|
cancel()
|
||||||
return nil, func() {}, fmt.Errorf("client connection timeout: %w", err)
|
return fmt.Errorf("client connection timeout: %w", err)
|
||||||
case <-initDone: // init done
|
case <-initDone: // init done
|
||||||
}
|
}
|
||||||
|
return nil
|
||||||
return ctx, cancel, nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *TelegramClient) onDead() {
|
func (t *TelegramClient) onDead() {
|
||||||
@@ -483,8 +480,8 @@ func (t *TelegramClient) Connect(ctx context.Context) {
|
|||||||
zerolog.Ctx(ctx).Info().Int64("user_id", t.telegramUserID).Msg("Connecting client")
|
zerolog.Ctx(ctx).Info().Int64("user_id", t.telegramUserID).Msg("Connecting client")
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
t.clientCtx, t.clientCancel, err = connectTelegramClient(ctx, t.client)
|
t.clientCtx, t.clientCancel = context.WithCancel(ctx)
|
||||||
if err != nil {
|
if err = connectTelegramClient(t.clientCtx, t.clientCancel, t.client); err != nil {
|
||||||
t.sendBadCredentialsOrUnknownError(err)
|
t.sendBadCredentialsOrUnknownError(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -67,9 +67,9 @@ func (p *PhoneLogin) SubmitUserInput(ctx context.Context, input map[string]strin
|
|||||||
Logger: zap.New(zerozap.New(zerolog.Ctx(ctx).With().Str("component", "telegram_phone_login_client").Logger())),
|
Logger: zap.New(zerozap.New(zerolog.Ctx(ctx).With().Str("component", "telegram_phone_login_client").Logger())),
|
||||||
})
|
})
|
||||||
var err error
|
var err error
|
||||||
authClientContext, _ := context.WithTimeoutCause(log.WithContext(context.Background()), time.Hour, errors.New("phone login took over one hour"))
|
var authClientContext context.Context
|
||||||
ctx, p.authClientCancel, err = connectTelegramClient(authClientContext, p.authClient)
|
authClientContext, p.authClientCancel = context.WithTimeoutCause(log.WithContext(context.Background()), time.Hour, errors.New("phone login took over one hour"))
|
||||||
if err != nil {
|
if err = connectTelegramClient(authClientContext, p.authClientCancel, p.authClient); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
sentCode, err := p.authClient.Auth().SendCode(ctx, p.phone, auth.SendCodeOptions{})
|
sentCode, err := p.authClient.Auth().SendCode(ctx, p.phone, auth.SendCodeOptions{})
|
||||||
|
|||||||
@@ -68,9 +68,9 @@ func (q *QRLogin) Start(ctx context.Context) (*bridgev2.LoginStep, error) {
|
|||||||
})
|
})
|
||||||
|
|
||||||
var err error
|
var err error
|
||||||
authClientContext, _ := context.WithTimeoutCause(log.WithContext(context.Background()), time.Hour, errors.New("phone login took over one hour"))
|
var authClientContext context.Context
|
||||||
q.authClientCtx, q.authClientCancel, err = connectTelegramClient(authClientContext, q.authClient)
|
authClientContext, q.authClientCancel = context.WithTimeoutCause(log.WithContext(context.Background()), time.Hour, errors.New("phone login took over one hour"))
|
||||||
if err != nil {
|
if err = connectTelegramClient(authClientContext, q.authClientCancel, q.authClient); err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user