Replies: 12 comments 2 replies
-
As in a single-use link or one they could also give to others? |
Beta Was this translation helpful? Give feedback.
-
I wouldn't make it single use. Single use means I click it, and then it works exactly once. But what if I want to join the conversation later again, or I need to switch to a different browser, or I joined via phone and now want to join via laptop too? Most conference/chat systems I know allow the link to be used multiple times (and therefore even to share it). |
Beta Was this translation helpful? Give feedback.
-
As example of UX implementation, we can lookup Skype, that already have invite links to private groups, also allowing joining to room as guest account (only fill name, without registering)! |
Beta Was this translation helpful? Give feedback.
-
Also we have knock feature PR, that can be combined with invite links, so when user open invite link, he generate "knock" event, and room moderator can accept or reject it. |
Beta Was this translation helpful? Give feedback.
-
Here is the issue for the knock feature: element-hq/element-web#14237 |
Beta Was this translation helpful? Give feedback.
-
This seems to be the one thing that is still blocking me from migrating from Mattermost to Matrix. My use cases are that I am part of several loose organizations that have some kind of internal communication infrastructure, such as a private Wiki or a mailing list. For the organization, I want to create a private Matrix space or room. As far as I understand, right now to invite new people to that space/room, they have to provide me with their Matrix username and I have to manually invite them to the space/room. This centralizes the responsibility and power of adding people, which goes against the principles of my organizations. Instead, I would like to generate an invite link that I can share over the internal communication infrastructure of my organizations and that permanently enables people to join the space/room after they have created a Matrix account. There may be other use cases where it is undesirable for the link to be permanently valid, for example when using a link to invite a single person through another communication channel (such as Signal). Ideally, the UI would allow specifying the validation period of the invite link, and it would list all existing valid invite links along with the possibility to revoke them. But for a start, I believe permanent invite links are the most needed. |
Beta Was this translation helpful? Give feedback.
-
We have been using matrix (vector, riot, element) for many years now for companies internally, but also for larger public communities. It has matured a lot and clients like element are so much more usable today as compared to five years ago; and we really appreciate it. However, I have to agree with @cdauth that this issue is potentially the biggest pain point in managing communities currently. As a space admin, I need to be able to invite users to a private room without knowing their handles. Currently, you have to ask each individual for their matrix handle which is a drastic overhead for groups of 50+. An invite link would be the most smooth solution and I hope that this can be implemented soon. ❤️ |
Beta Was this translation helpful? Give feedback.
-
Hi all. I agree with what has been said in the previous two posts. Are there any developments in this respect? |
Beta Was this translation helpful? Give feedback.
-
This is how Signal does it. It would be great to have something similar in Matrix. (Is this the right place for discussing this btw? Or is this something that should be discussed on the git van matrix.org? Screencast.from.03-05-23.17.57.53.webm |
Beta Was this translation helpful? Give feedback.
-
So, a user can write to a bot - and the bot could add the user to a room, like in telegram. UPD: Seems like matrix-bot-sdk can do it. import { MatrixClient, SimpleFsStorageProvider, AutojoinRoomsMixin } from "matrix-bot-sdk";
const homeserverUrl = 'https://matrix.org';
// const client = await auth.passwordRegister("username", "password");
// console.log("Copy this access token to your bot's config: ", client.accessToken);
const accessToken = '...';
const targetRoom = '!id:matrix.org' // settings -> advanced -> internal room id
const storage = new SimpleFsStorageProvider('botStorage.json');
const client = new MatrixClient(homeserverUrl, accessToken, storage);
AutojoinRoomsMixin.setupOnClient(client);
client.on('room.event', handleRoomEvent)
function sleep(ms) {
return new Promise((resolve) => setTimeout(resolve, ms))
}
function msToTime(ms) {
let seconds = (ms / 1000).toFixed(1);
let minutes = (ms / (1000 * 60)).toFixed(1);
let hours = (ms / (1000 * 60 * 60)).toFixed(1);
let days = (ms / (1000 * 60 * 60 * 24)).toFixed(1);
if (seconds < 60) return seconds + " seconds";
else if (minutes < 60) return minutes + " minutes";
else if (hours < 24) return hours + " hours";
else return days + " days"
}
async function handleRoomEvent(roomId, event) {
try {
const allowedTypes = ['m.room.encrypted', 'm.room.message'];
if (!allowedTypes.includes(event.type)) {
console.log('Skip uninteresting event', event.type);
return;
}
const isMyEvent = event['sender'] === await client.getUserId()
if (isMyEvent) {
console.log('Skip my event');
return;
}
await client.inviteUser(event.sender, targetRoom);
} catch (e) {
if (e.errcode === 'M_LIMIT_EXCEEDED') {
await client.replyNotice(roomId, event, `Server overload, retry after ${msToTime(e.retryAfterMs)}.`);
console.log('Too many requests, awaiting', e.retryAfterMs, 'ms');
await sleep(e.retryAfterMs);
console.log('...awaited');
} else {
console.error(e);
await client.replyNotice(roomId, event, `Unknown error. Contact developers.`);
}
}
}
client.start().then(() => console.log('Bot started')); |
Beta Was this translation helpful? Give feedback.
-
A feature to invite users to a private space or room would be really nice. |
Beta Was this translation helpful? Give feedback.
-
In the space management Invite interface, there's currently a "share this space" link above the Invite search bar. Is the discussion here to allow this link to work as an invite? |
Beta Was this translation helpful? Give feedback.
-
Rather than inviting users to a private room by their email address, it could be really nice to let them join via an alias but provide a password (or a "magic link").
Beta Was this translation helpful? Give feedback.
All reactions