diff options
author | Will Hunt <will@half-shot.uk> | 2021-03-03 16:27:44 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-03 16:27:44 +0000 |
commit | a2773922d2fe40e6d95d73f532640702709ab526 (patch) | |
tree | aaf2f63073eb840655d6b244d0c85b534d7b91c3 /userapi | |
parent | d15836e260130f85edd5d9a104e5304f001d2681 (diff) |
Send events to appservice based on room membership (#1680)
* Check membership of room
* Use QueryStateAfterEventsResponse
* Fix complexity
* Changes that I made a long time ago
* Rename to appserviceJoinedAtEvent
* Check membership in GetMemberships
* Update QueryMembershipsForRoom
* Tweaks in client API
* Update appserviceJoinedAtEvent
* Comments
* Try QueryMembershipForUser instead
* Undo some changes to client API that shouldn't be needed
* More /event tweaks
* Refactor /event bit
* Go back to QueryMembershipsForRoom because appservices are hard
* Fix bugs in onMessage
* Add comments
Co-authored-by: Neil Alexander <neilalexander@users.noreply.github.com>
Diffstat (limited to 'userapi')
-rw-r--r-- | userapi/api/api.go | 3 | ||||
-rw-r--r-- | userapi/internal/api.go | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/userapi/api/api.go b/userapi/api/api.go index 809ba047..45e4e834 100644 --- a/userapi/api/api.go +++ b/userapi/api/api.go @@ -241,6 +241,9 @@ type Device struct { LastSeenTS int64 LastSeenIP string UserAgent string + // If the device is for an appservice user, + // this is the appservice ID. + AppserviceID string } // Account represents a Matrix account on this home server. diff --git a/userapi/internal/api.go b/userapi/internal/api.go index e104714b..0d01afa1 100644 --- a/userapi/internal/api.go +++ b/userapi/internal/api.go @@ -381,7 +381,8 @@ func (a *UserInternalAPI) queryAppServiceToken(ctx context.Context, token, appSe // Use AS dummy device ID ID: types.AppServiceDeviceID, // AS dummy device has AS's token. - AccessToken: token, + AccessToken: token, + AppserviceID: appService.ID, } localpart, err := userutil.ParseUsernameParam(appServiceUserID, &a.ServerName) |