mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-24 18:42:47 +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:
@@ -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