mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-29 04:36:58 +02:00
Merge pull request #2557 from vector-im/riot_2547
Join Room: Support via parameters to better handle federation
This commit is contained in:
@@ -1815,8 +1815,9 @@
|
||||
self->currentAlert = nil;
|
||||
|
||||
[self.activityIndicator startAnimating];
|
||||
|
||||
self->currentRequest = [self.mainSession joinRoom:roomAliasOrId success:^(MXRoom *room) {
|
||||
|
||||
// TODO
|
||||
self->currentRequest = [self.mainSession joinRoom:roomAliasOrId viaServers:nil success:^(MXRoom *room) {
|
||||
|
||||
self->currentRequest = nil;
|
||||
[self.activityIndicator stopAnimating];
|
||||
|
||||
@@ -1047,7 +1047,8 @@
|
||||
// Check
|
||||
if (roomAlias.length)
|
||||
{
|
||||
[self.mainSession joinRoom:roomAlias success:^(MXRoom *room) {
|
||||
// TODO: /join command does not support via parameters yet
|
||||
[self.mainSession joinRoom:roomAlias viaServers:nil success:^(MXRoom *room) {
|
||||
|
||||
// Show the room
|
||||
[[AppDelegate theDelegate] showRoom:room.roomId andEventId:nil withMatrixSession:self.mainSession];
|
||||
@@ -3685,7 +3686,7 @@
|
||||
}
|
||||
|
||||
// Note in case of simple link to a room the signUrl param is nil
|
||||
[self joinRoomWithRoomIdOrAlias:roomIdOrAlias andSignUrl:roomPreviewData.emailInvitation.signUrl completion:^(BOOL succeed) {
|
||||
[self joinRoomWithRoomIdOrAlias:roomIdOrAlias viaServers:roomPreviewData.viaServers andSignUrl:roomPreviewData.emailInvitation.signUrl completion:^(BOOL succeed) {
|
||||
|
||||
if (succeed)
|
||||
{
|
||||
@@ -4047,8 +4048,15 @@
|
||||
}
|
||||
else if (customizedRoomDataSource.roomState.isObsolete)
|
||||
{
|
||||
// Try to join via the server that sent the event
|
||||
MXEvent *stoneTombEvent = [customizedRoomDataSource.roomState stateEventsWithType:kMXEventTypeStringRoomTombStone].lastObject;
|
||||
NSString *viaSenderServer = [MXTools serverNameInMatrixIdentifier:stoneTombEvent.sender];
|
||||
|
||||
NSString *replacementRoomId = customizedRoomDataSource.roomState.tombStoneContent.replacementRoomId;
|
||||
NSString *roomLinkFragment = [NSString stringWithFormat:@"/room/%@", [MXTools encodeURIComponent:replacementRoomId]];
|
||||
NSString *roomLinkFragment = [NSString stringWithFormat:@"/room/%@?via=%@",
|
||||
[MXTools encodeURIComponent:replacementRoomId],
|
||||
viaSenderServer
|
||||
];
|
||||
|
||||
[roomActivitiesView displayRoomReplacementWithRoomLinkTappedHandler:^{
|
||||
[[AppDelegate theDelegate] handleUniversalLinkFragment:roomLinkFragment];
|
||||
|
||||
Reference in New Issue
Block a user