replace email processing reactions; update deps
This commit is contained in:
17
vendor/maunium.net/go/mautrix/CHANGELOG.md
generated
vendored
17
vendor/maunium.net/go/mautrix/CHANGELOG.md
generated
vendored
@@ -1,3 +1,20 @@
|
||||
## v0.18.1 (2024-04-16)
|
||||
|
||||
* *(format)* Added a `context.Context` field to HTMLParser's Context struct.
|
||||
* *(bridge)* Added support for handling join rules, knocks, invites and bans
|
||||
(thanks to [@maltee1] in [#193] and [#204]).
|
||||
* *(crypto)* Changed forwarded room key handling to only accept keys with a
|
||||
lower first known index than the existing session if there is one.
|
||||
* *(crypto)* Changed key backup restore to assume own device list is up to date
|
||||
to avoid re-requesting device list for every deleted device that has signed
|
||||
key backup.
|
||||
* *(crypto)* Fixed memory cache not being invalidated when storing own
|
||||
cross-signing keys
|
||||
|
||||
[@maltee1]: https://github.com/maltee1
|
||||
[#193]: https://github.com/mautrix/go/pull/193
|
||||
[#204]: https://github.com/mautrix/go/pull/204
|
||||
|
||||
## v0.18.0 (2024-03-16)
|
||||
|
||||
* **Breaking change *(client, bridge, appservice)*** Dropped support for
|
||||
|
||||
18
vendor/maunium.net/go/mautrix/client.go
generated
vendored
18
vendor/maunium.net/go/mautrix/client.go
generated
vendored
@@ -338,6 +338,7 @@ type FullRequest struct {
|
||||
SensitiveContent bool
|
||||
Handler ClientResponseHandler
|
||||
Logger *zerolog.Logger
|
||||
Client *http.Client
|
||||
}
|
||||
|
||||
var requestID int32
|
||||
@@ -424,7 +425,10 @@ func (cli *Client) MakeFullRequest(ctx context.Context, params FullRequest) ([]b
|
||||
if len(cli.AccessToken) > 0 {
|
||||
req.Header.Set("Authorization", "Bearer "+cli.AccessToken)
|
||||
}
|
||||
return cli.executeCompiledRequest(req, params.MaxAttempts-1, 4*time.Second, params.ResponseJSON, params.Handler)
|
||||
if params.Client == nil {
|
||||
params.Client = cli.Client
|
||||
}
|
||||
return cli.executeCompiledRequest(req, params.MaxAttempts-1, 4*time.Second, params.ResponseJSON, params.Handler, params.Client)
|
||||
}
|
||||
|
||||
func (cli *Client) cliOrContextLog(ctx context.Context) *zerolog.Logger {
|
||||
@@ -435,7 +439,7 @@ func (cli *Client) cliOrContextLog(ctx context.Context) *zerolog.Logger {
|
||||
return log
|
||||
}
|
||||
|
||||
func (cli *Client) doRetry(req *http.Request, cause error, retries int, backoff time.Duration, responseJSON interface{}, handler ClientResponseHandler) ([]byte, error) {
|
||||
func (cli *Client) doRetry(req *http.Request, cause error, retries int, backoff time.Duration, responseJSON interface{}, handler ClientResponseHandler, client *http.Client) ([]byte, error) {
|
||||
log := zerolog.Ctx(req.Context())
|
||||
if req.Body != nil {
|
||||
if req.GetBody == nil {
|
||||
@@ -453,7 +457,7 @@ func (cli *Client) doRetry(req *http.Request, cause error, retries int, backoff
|
||||
Int("retry_in_seconds", int(backoff.Seconds())).
|
||||
Msg("Request failed, retrying")
|
||||
time.Sleep(backoff)
|
||||
return cli.executeCompiledRequest(req, retries-1, backoff*2, responseJSON, handler)
|
||||
return cli.executeCompiledRequest(req, retries-1, backoff*2, responseJSON, handler, client)
|
||||
}
|
||||
|
||||
func readRequestBody(req *http.Request, res *http.Response) ([]byte, error) {
|
||||
@@ -535,17 +539,17 @@ func ParseErrorResponse(req *http.Request, res *http.Response) ([]byte, error) {
|
||||
}
|
||||
}
|
||||
|
||||
func (cli *Client) executeCompiledRequest(req *http.Request, retries int, backoff time.Duration, responseJSON interface{}, handler ClientResponseHandler) ([]byte, error) {
|
||||
func (cli *Client) executeCompiledRequest(req *http.Request, retries int, backoff time.Duration, responseJSON interface{}, handler ClientResponseHandler, client *http.Client) ([]byte, error) {
|
||||
cli.RequestStart(req)
|
||||
startTime := time.Now()
|
||||
res, err := cli.Client.Do(req)
|
||||
res, err := client.Do(req)
|
||||
duration := time.Now().Sub(startTime)
|
||||
if res != nil {
|
||||
defer res.Body.Close()
|
||||
}
|
||||
if err != nil {
|
||||
if retries > 0 {
|
||||
return cli.doRetry(req, err, retries, backoff, responseJSON, handler)
|
||||
return cli.doRetry(req, err, retries, backoff, responseJSON, handler, client)
|
||||
}
|
||||
err = HTTPError{
|
||||
Request: req,
|
||||
@@ -560,7 +564,7 @@ func (cli *Client) executeCompiledRequest(req *http.Request, retries int, backof
|
||||
|
||||
if retries > 0 && retryafter.Should(res.StatusCode, !cli.IgnoreRateLimit) {
|
||||
backoff = retryafter.Parse(res.Header.Get("Retry-After"), backoff)
|
||||
return cli.doRetry(req, fmt.Errorf("HTTP %d", res.StatusCode), retries, backoff, responseJSON, handler)
|
||||
return cli.doRetry(req, fmt.Errorf("HTTP %d", res.StatusCode), retries, backoff, responseJSON, handler, client)
|
||||
}
|
||||
|
||||
var body []byte
|
||||
|
||||
7
vendor/maunium.net/go/mautrix/crypto/cross_sign_store.go
generated
vendored
7
vendor/maunium.net/go/mautrix/crypto/cross_sign_store.go
generated
vendored
@@ -96,5 +96,12 @@ func (mach *OlmMachine) storeCrossSigningKeys(ctx context.Context, crossSigningK
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Clear internal cache so that it refreshes from crypto store
|
||||
if userID == mach.Client.UserID && mach.crossSigningPubkeys != nil {
|
||||
log.Debug().Msg("Resetting internal cross-signing key cache")
|
||||
mach.crossSigningPubkeys = nil
|
||||
mach.crossSigningPubkeysFetched = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
2
vendor/maunium.net/go/mautrix/crypto/cross_sign_validation.go
generated
vendored
2
vendor/maunium.net/go/mautrix/crypto/cross_sign_validation.go
generated
vendored
@@ -32,7 +32,7 @@ func (mach *OlmMachine) ResolveTrustContext(ctx context.Context, device *id.Devi
|
||||
}
|
||||
theirMSK, ok := theirKeys[id.XSUsageMaster]
|
||||
if !ok {
|
||||
mach.machOrContextLog(ctx).Error().
|
||||
mach.machOrContextLog(ctx).Debug().
|
||||
Str("user_id", device.UserID.String()).
|
||||
Msg("Master key of user not found")
|
||||
return id.TrustStateUnset, nil
|
||||
|
||||
6
vendor/maunium.net/go/mautrix/crypto/keybackup.go
generated
vendored
6
vendor/maunium.net/go/mautrix/crypto/keybackup.go
generated
vendored
@@ -66,8 +66,10 @@ func (mach *OlmMachine) GetAndVerifyLatestKeyBackupVersion(ctx context.Context)
|
||||
var key id.Ed25519
|
||||
if keyName == crossSigningPubkeys.MasterKey.String() {
|
||||
key = crossSigningPubkeys.MasterKey
|
||||
} else if device, err := mach.GetOrFetchDevice(ctx, mach.Client.UserID, id.DeviceID(keyName)); err != nil {
|
||||
log.Warn().Err(err).Msg("Failed to fetch device")
|
||||
} else if device, err := mach.CryptoStore.GetDevice(ctx, mach.Client.UserID, id.DeviceID(keyName)); err != nil {
|
||||
return nil, fmt.Errorf("failed to get device %s/%s from store: %w", mach.Client.UserID, keyName, err)
|
||||
} else if device == nil {
|
||||
log.Warn().Err(err).Msg("Device does not exist, ignoring signature")
|
||||
continue
|
||||
} else if !mach.IsDeviceTrusted(device) {
|
||||
log.Warn().Err(err).Msg("Device is not trusted")
|
||||
|
||||
5
vendor/maunium.net/go/mautrix/crypto/keysharing.go
generated
vendored
5
vendor/maunium.net/go/mautrix/crypto/keysharing.go
generated
vendored
@@ -184,6 +184,11 @@ func (mach *OlmMachine) importForwardedRoomKey(ctx context.Context, evt *Decrypt
|
||||
MaxMessages: maxMessages,
|
||||
IsScheduled: content.IsScheduled,
|
||||
}
|
||||
existingIGS, _ := mach.CryptoStore.GetGroupSession(ctx, igs.RoomID, igs.SenderKey, igs.ID())
|
||||
if existingIGS != nil && existingIGS.Internal.FirstKnownIndex() <= igs.Internal.FirstKnownIndex() {
|
||||
// We already have an equivalent or better session in the store, so don't override it.
|
||||
return false
|
||||
}
|
||||
err = mach.CryptoStore.PutGroupSession(ctx, content.RoomID, content.SenderKey, content.SessionID, igs)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("Failed to store new inbound group session")
|
||||
|
||||
3
vendor/maunium.net/go/mautrix/event/events.go
generated
vendored
3
vendor/maunium.net/go/mautrix/event/events.go
generated
vendored
@@ -149,5 +149,6 @@ type Unsigned struct {
|
||||
|
||||
func (us *Unsigned) IsEmpty() bool {
|
||||
return us.PrevContent == nil && us.PrevSender == "" && us.ReplacesState == "" && us.Age == 0 &&
|
||||
us.TransactionID == "" && us.RedactedBecause == nil && us.InviteRoomState == nil && us.Relations == nil
|
||||
us.TransactionID == "" && us.RedactedBecause == nil && us.InviteRoomState == nil && us.Relations == nil &&
|
||||
us.BeeperHSOrder == 0
|
||||
}
|
||||
|
||||
9
vendor/maunium.net/go/mautrix/format/htmlparser.go
generated
vendored
9
vendor/maunium.net/go/mautrix/format/htmlparser.go
generated
vendored
@@ -7,6 +7,7 @@
|
||||
package format
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"math"
|
||||
"strconv"
|
||||
@@ -33,14 +34,16 @@ func (ts TagStack) Has(tag string) bool {
|
||||
}
|
||||
|
||||
type Context struct {
|
||||
Ctx context.Context
|
||||
ReturnData map[string]any
|
||||
TagStack TagStack
|
||||
|
||||
PreserveWhitespace bool
|
||||
}
|
||||
|
||||
func NewContext() Context {
|
||||
func NewContext(ctx context.Context) Context {
|
||||
return Context{
|
||||
Ctx: ctx,
|
||||
ReturnData: map[string]any{},
|
||||
TagStack: make(TagStack, 0, 4),
|
||||
}
|
||||
@@ -411,7 +414,7 @@ func HTMLToText(html string) string {
|
||||
Newline: "\n",
|
||||
HorizontalLine: "\n---\n",
|
||||
PillConverter: DefaultPillConverter,
|
||||
}).Parse(html, NewContext())
|
||||
}).Parse(html, NewContext(context.TODO()))
|
||||
}
|
||||
|
||||
// HTMLToMarkdown converts Matrix HTML into markdown with the default settings.
|
||||
@@ -429,5 +432,5 @@ func HTMLToMarkdown(html string) string {
|
||||
}
|
||||
return fmt.Sprintf("[%s](%s)", text, href)
|
||||
},
|
||||
}).Parse(html, NewContext())
|
||||
}).Parse(html, NewContext(context.TODO()))
|
||||
}
|
||||
|
||||
2
vendor/maunium.net/go/mautrix/version.go
generated
vendored
2
vendor/maunium.net/go/mautrix/version.go
generated
vendored
@@ -7,7 +7,7 @@ import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
const Version = "v0.18.0"
|
||||
const Version = "v0.18.1"
|
||||
|
||||
var GoModVersion = ""
|
||||
var Commit = ""
|
||||
|
||||
Reference in New Issue
Block a user