diff --git a/bridgev2/networkinterface.go b/bridgev2/networkinterface.go index 1fd09bb6..842de252 100644 --- a/bridgev2/networkinterface.go +++ b/bridgev2/networkinterface.go @@ -884,6 +884,11 @@ type RemotePreHandler interface { PreHandle(ctx context.Context, portal *Portal) } +type RemotePostHandler interface { + RemoteEvent + PostHandle(ctx context.Context, portal *Portal) +} + type RemoteChatInfoChange interface { RemoteEvent GetChatInfoChange(ctx context.Context) (*ChatInfoChange, error) diff --git a/bridgev2/portal.go b/bridgev2/portal.go index fcff8348..28bbeb2e 100644 --- a/bridgev2/portal.go +++ b/bridgev2/portal.go @@ -1594,6 +1594,10 @@ func (portal *Portal) handleRemoteEvent(ctx context.Context, source *UserLogin, default: log.Warn().Msg("Got remote event with unknown type") } + postHandler, ok := evt.(RemotePostHandler) + if ok { + postHandler.PostHandle(ctx, portal) + } } func (portal *Portal) getIntentAndUserMXIDFor(ctx context.Context, sender EventSender, source *UserLogin, otherLogins []*UserLogin, evtType RemoteEventType) (intent MatrixAPI, extraUserID id.UserID) {