diff --git a/go.mod b/go.mod index 147ab5cc..12883969 100644 --- a/go.mod +++ b/go.mod @@ -19,7 +19,7 @@ require ( golang.org/x/exp v0.0.0-20240707233637-46b078467d37 golang.org/x/net v0.27.0 google.golang.org/protobuf v1.34.2 - maunium.net/go/mautrix v0.19.0 + maunium.net/go/mautrix v0.19.1-0.20240717085751-0d81a91c9feb nhooyr.io/websocket v1.8.11 ) diff --git a/go.sum b/go.sum index 00314ae9..174319ff 100644 --- a/go.sum +++ b/go.sum @@ -93,7 +93,7 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= maunium.net/go/mauflag v1.0.0 h1:YiaRc0tEI3toYtJMRIfjP+jklH45uDHtT80nUamyD4M= maunium.net/go/mauflag v1.0.0/go.mod h1:nLivPOpTpHnpzEh8jEdSL9UqO9+/KBJFmNRlwKfkPeA= -maunium.net/go/mautrix v0.19.0 h1:67eSJWam93mw44Q0/1SiOG7zQzXMUknUv5UaWkrODDU= -maunium.net/go/mautrix v0.19.0/go.mod h1:UE+mSQ4sDUuJMbjN0aB9EjQSGgXd48AzMvZ6+QJV1k8= +maunium.net/go/mautrix v0.19.1-0.20240717085751-0d81a91c9feb h1:acwViarBwsMMnDRLMNylAfWj9wsrpmMI39O8o0bOXww= +maunium.net/go/mautrix v0.19.1-0.20240717085751-0d81a91c9feb/go.mod h1:UE+mSQ4sDUuJMbjN0aB9EjQSGgXd48AzMvZ6+QJV1k8= nhooyr.io/websocket v1.8.11 h1:f/qXNc2/3DpoSZkHt1DQu6rj4zGC8JmkkLkWss0MgN0= nhooyr.io/websocket v1.8.11/go.mod h1:rN9OFWIUwuxg4fR5tELlYC04bXYowCP9GX47ivo2l+c= diff --git a/pkg/connector/client.go b/pkg/connector/client.go index 0b92901a..2293a33e 100644 --- a/pkg/connector/client.go +++ b/pkg/connector/client.go @@ -6,6 +6,7 @@ import ( "time" "github.com/rs/zerolog" + "go.mau.fi/util/ptr" "maunium.net/go/mautrix/bridge/status" "maunium.net/go/mautrix/bridgev2" "maunium.net/go/mautrix/bridgev2/networkid" @@ -38,7 +39,17 @@ var signalCaps = &bridgev2.NetworkRoomCapabilities{ ReactionCount: 1, } +var signalCapsNoteToSelf *bridgev2.NetworkRoomCapabilities + +func init() { + signalCapsNoteToSelf = ptr.Clone(signalCaps) + signalCapsNoteToSelf.EditMaxAge = 0 +} + func (s *SignalClient) GetCapabilities(ctx context.Context, portal *bridgev2.Portal) *bridgev2.NetworkRoomCapabilities { + if portal.Receiver == s.UserLogin.ID && portal.ID == networkid.PortalID(s.UserLogin.ID) { + return signalCapsNoteToSelf + } return signalCaps }