support channel names with slash in name/alias
Signed-off-by: Jan Gerber <j@mailb.org>
This commit is contained in:
parent
8c70eda517
commit
9eed423994
1 changed files with 11 additions and 3 deletions
|
@ -1569,9 +1569,17 @@ export default createReactClass({
|
||||||
action: 'start_post_registration',
|
action: 'start_post_registration',
|
||||||
});
|
});
|
||||||
} else if (screen.indexOf('room/') == 0) {
|
} else if (screen.indexOf('room/') == 0) {
|
||||||
const segments = screen.substring(5).split('/');
|
// Rooms can have the following formats:
|
||||||
const roomString = segments[0];
|
// #room_alias:domain or !opaque_id:domain
|
||||||
let eventId = segments.splice(1).join("/"); // empty string if no event id given
|
const room = screen.substring(5);
|
||||||
|
const domainOffset = room.indexOf(':') + 1; // 0 in case room does not contain a :
|
||||||
|
let eventOffset = room.length;
|
||||||
|
// room aliases can contain slashes only look for slash after domain
|
||||||
|
if (room.substring(domainOffset).indexOf('/') > -1) {
|
||||||
|
eventOffset = domainOffset + room.substring(domainOffset).indexOf('/');
|
||||||
|
}
|
||||||
|
const roomString = room.substring(0, eventOffset);
|
||||||
|
let eventId = room.substring(eventOffset + 1); // empty string if no event id given
|
||||||
|
|
||||||
// Previously we pulled the eventID from the segments in such a way
|
// Previously we pulled the eventID from the segments in such a way
|
||||||
// where if there was no eventId then we'd get undefined. However, we
|
// where if there was no eventId then we'd get undefined. However, we
|
||||||
|
|
Loading…
Reference in a new issue