No known servers on channel join bug fixed
authorunknown <ajbura@gmail.com>
Sun, 15 Aug 2021 16:55:07 +0000 (22:25 +0530)
committerunknown <ajbura@gmail.com>
Sun, 15 Aug 2021 16:55:07 +0000 (22:25 +0530)
src/app/organisms/invite-user/InviteUser.jsx
src/app/organisms/public-channels/PublicChannels.jsx
src/client/action/room.js

index 0a4a04dd29e92a9e76de99a0ac0331a39bedcce2..cac9060789211135149e3f5676996a8090e89f12 100644 (file)
@@ -230,7 +230,7 @@ function InviteUser({
     >
       <div className="invite-user">
         <form className="invite-user__form" onSubmit={(e) => { e.preventDefault(); searchUser(usernameRef.current.value); }}>
-          <Input value={searchTerm} forwardRef={usernameRef} label="Username or userId" />
+          <Input value={searchTerm} forwardRef={usernameRef} label="Name or userId" />
           <Button disabled={isSearching} iconSrc={UserIC} variant="primary" type="submit">Search</Button>
         </form>
         <div className="invite-user__search-status">
index c69366e77ea4631b95ef14acca7dc54b9778c15d..b7388e5012addf68c54bf9e5e90e4347da81fdb6 100644 (file)
@@ -177,10 +177,10 @@ function PublicChannels({ isOpen, searchTerm, onRequestClose }) {
     onRequestClose();
   }
 
-  function joinChannel(roomId) {
-    joiningChannels.add(roomId);
+  function joinChannel(roomIdOrAlias) {
+    joiningChannels.add(roomIdOrAlias);
     updateJoiningChannels(new Set(Array.from(joiningChannels)));
-    roomActions.join(roomId, false);
+    roomActions.join(roomIdOrAlias, false);
   }
 
   function renderChannelList(channels) {
@@ -199,7 +199,7 @@ function PublicChannels({ isOpen, searchTerm, onRequestClose }) {
           options={(
             <>
               {isJoined && <Button onClick={() => handleViewChannel(channel.room_id)}>Open</Button>}
-              {!isJoined && (joiningChannels.has(channel.room_id) ? <Spinner size="small" /> : <Button onClick={() => joinChannel(channel.room_id)} variant="primary">Join</Button>)}
+              {!isJoined && (joiningChannels.has(channel.room_id) ? <Spinner size="small" /> : <Button onClick={() => joinChannel(channel.aliases?.[0] || channel.room_id)} variant="primary">Join</Button>)}
             </>
           )}
         />
index ecf58a79d3c398540cf4bed2e46889b4885c68e8..407a9e3acbedb45d19090c297731ab24ebc4127a 100644 (file)
@@ -85,8 +85,9 @@ function guessDMRoomTargetId(room, myUserId) {
  */
 async function join(roomIdOrAlias, isDM) {
   const mx = initMatrix.matrixClient;
+  const roomIdParts = roomIdOrAlias.split(':');
   try {
-    const resultRoom = await mx.joinRoom(roomIdOrAlias);
+    const resultRoom = await mx.joinRoom(roomIdOrAlias, { viaServers: [roomIdParts[1]] });
 
     if (isDM) {
       const targetUserId = guessDMRoomTargetId(mx.getRoom(resultRoom.roomId), mx.getUserId());