summary refs log tree commit diff
path: root/syweb
diff options
context:
space:
mode:
Diffstat (limited to 'syweb')
-rw-r--r--syweb/webclient/components/matrix/matrix-filter.js14
-rw-r--r--syweb/webclient/test/unit/filters.spec.js19
2 files changed, 20 insertions, 13 deletions
diff --git a/syweb/webclient/components/matrix/matrix-filter.js b/syweb/webclient/components/matrix/matrix-filter.js
index 4d264e93f3..e84c197c76 100644
--- a/syweb/webclient/components/matrix/matrix-filter.js
+++ b/syweb/webclient/components/matrix/matrix-filter.js
@@ -38,7 +38,7 @@ function($rootScope, matrixService, eventHandlerService, modelService) {
         if (room.state("m.room.join_rules") && room.state("m.room.join_rules").content) {
             isPublicRoom = ("public" === room.state("m.room.join_rules").content.join_rule);
         }
-
+        
         if (room_name_event) {
             roomName = room_name_event.content.name;
         }
@@ -56,6 +56,9 @@ function($rootScope, matrixService, eventHandlerService, modelService) {
                     var member = room.members[i];
                     if (member.state_key !== user_id) {
                         roomName = eventHandlerService.getUserDisplayName(room_id, member.state_key);
+                        if (!roomName) {
+                            roomName = member.state_key;
+                        }
                         break;
                     }
                 }
@@ -70,13 +73,22 @@ function($rootScope, matrixService, eventHandlerService, modelService) {
                     if (room.members[otherUserId].content.membership === "invite") {
                         // someone invited us, use the right ID.
                         roomName = eventHandlerService.getUserDisplayName(room_id, room.members[otherUserId].user_id);
+                        if (!roomName) {
+                            roomName = room.members[otherUserId].user_id;
+                        }
                     }
                     else {
                         roomName = eventHandlerService.getUserDisplayName(room_id, otherUserId);
+                        if (!roomName) {
+                            roomName = user_id;
+                        }
                     }
                 }
                 else { // it isn't us, so use their name if we know it.
                     roomName = eventHandlerService.getUserDisplayName(room_id, otherUserId);
+                    if (!roomName) {
+                        roomName = otherUserId;
+                    }
                 }
             }
             else if (Object.keys(room.members).length === 0) {
diff --git a/syweb/webclient/test/unit/filters.spec.js b/syweb/webclient/test/unit/filters.spec.js
index f037425208..2e8d0c4036 100644
--- a/syweb/webclient/test/unit/filters.spec.js
+++ b/syweb/webclient/test/unit/filters.spec.js
@@ -121,9 +121,8 @@ describe('mRoomName filter', function() {
     
     /**** ROOM ALIAS ****/
     
-    // FIXME
-    xit("should show the room alias if one exists for private (invite join_rules) rooms if a room name doesn't exist.", function() {
-        var testAlias = "#thealias:matrix.org";
+    it("should show the room alias if one exists for private (invite join_rules) rooms if a room name doesn't exist.", function() {
+        testAlias = "#thealias:matrix.org";
         testUserId = "@me:matrix.org";
         testRoomState.setJoinRule("invite");
         testRoomState.setMember(testUserId, "join");
@@ -131,9 +130,8 @@ describe('mRoomName filter', function() {
         expect(output).toEqual(testAlias);
     });
     
-    // FIXME
-    xit("should show the room alias if one exists for public (public join_rules) rooms if a room name doesn't exist.", function() {
-        var testAlias = "#thealias:matrix.org";
+    it("should show the room alias if one exists for public (public join_rules) rooms if a room name doesn't exist.", function() {
+        testAlias = "#thealias:matrix.org";
         testUserId = "@me:matrix.org";
         testRoomState.setJoinRule("public");
         testRoomState.setMember(testUserId, "join");
@@ -172,8 +170,7 @@ describe('mRoomName filter', function() {
         expect(output).toEqual(testDisplayName);
     });
     
-    // FIXME
-    xit("should show your user ID for private (invite join_rules) rooms if a room name and alias don't exist and it is a self-chat and they don't have a display name set.", function() {
+    it("should show your user ID for private (invite join_rules) rooms if a room name and alias don't exist and it is a self-chat and they don't have a display name set.", function() {
         testUserId = "@me:matrix.org";
         testRoomState.setJoinRule("private");
         testRoomState.setMember(testUserId, "join");
@@ -194,8 +191,7 @@ describe('mRoomName filter', function() {
         expect(output).toEqual(testOtherDisplayName);
     });
     
-    // FIXME
-    xit("should show the other user's ID for private (invite join_rules) rooms if a room name and alias don't exist and it is a 1:1-chat and they don't have a display name set.", function() {
+    it("should show the other user's ID for private (invite join_rules) rooms if a room name and alias don't exist and it is a 1:1-chat and they don't have a display name set.", function() {
         testUserId = "@me:matrix.org";
         otherUserId = "@alice:matrix.org";
         testRoomState.setJoinRule("private");
@@ -220,8 +216,7 @@ describe('mRoomName filter', function() {
         expect(output).toEqual(testOtherDisplayName);
     });
     
-    // FIXME
-    xit("should show the other user's ID for private (invite join_rules) rooms if you are invited to it and the inviter doesn't have a display name.", function() {
+    it("should show the other user's ID for private (invite join_rules) rooms if you are invited to it and the inviter doesn't have a display name.", function() {
         testUserId = "@me:matrix.org";
         testDisplayName = "Me";
         otherUserId = "@alice:matrix.org";