* Query whether a room alias exists on app services
Signed-off-by: Andrew Morgan <andrewm@matrix.org>
* URL encode room alias before sending to AS
* Add /room/ to path
* Query AS /alias/ API at a lower level
* Don't verify self-signed AS certificates
* Don't skip cert validation on appservices, fix logging
* Separate req.WithContext
* Linting
* Do not warn when an AS room alias does not exist
* Compile room and alias namespace regexs
We'll be needing these for event filtering in the appservice component.
Signed-off-by: Andrew Morgan <andrewm@matrix.org>
* App service filters roomserver events
Doing so based on namespace regexes that each app service has defined.
To get the aliases for a roomID a new aliasAPI endpoint was defined,
GetAliasesFromRoomID, which does exactly what it says on the tin.
Next step is to queue events to be sent off to each homeserver.
* Additionally filter state events for app services
* Fixed context, logging, derps, config handling
* Prevented user from creating more than one regex per namespace type
Got caught out by realizing I had an extra '-' in the config file. This
prevents anyone from making the same mistake :)
* Removed exclusive RoomID namespace regex, as we won't need to check
upon room creation if the ID is reserved exclusively by an AS (as this
is silly and horribly inefficient).
* Fixed all else mentioned
* Add query API for listing active invites
This lists the invites for a user in a room that could be used to
join the room over federation.
* s/Lookup/Look up/
* Fix implements comments
* Add database functions to interact with aliases
* Save room alias
* Check if alias already exists
* Implement local alias lookup
* Implement alias removal
* Move alias API
* Handle case with no alias set for a room
* Apply requested changes