Element can explore public rooms — search by name, on your own homeserver or somebody else’s. moho could only join a room whose address you already had, so a room you had been told about by name was unreachable.
Done looks like: a search field in the Matrix join page, with an optional homeserver beside it, listing name, member count and topic, saying which rooms this account is already in, and joining by alias where there is one.
Element can explore public rooms — search by name, on your own homeserver or somebody else’s. moho could only join a room whose address you already had, so a room you had been told about by name was unreachable.
**Done looks like:** a search field in the Matrix join page, with an optional homeserver beside it, listing name, member count and topic, saying which rooms this account is already in, and joining by alias where there is one.
Finished — the room directory is in the Matrix join page as “Find a public room”.
It uses the POST form of /publicRooms, which is the only one that takes a search term; the optional server field asks another homeserver’s directory, which is the only way to find a room on a server this account has never spoken to. Results carry name, members and topic, page with “Show more”, and mark the rooms this account already has a buffer for so a join button never quietly does nothing. Joining prefers the alias over the room id, since an alias survives a room upgrade.
Verified live against matrix.org and glowers.club.
Finished — the room directory is in the Matrix join page as “Find a public room”.
It uses the POST form of `/publicRooms`, which is the only one that takes a search term; the optional server field asks another homeserver’s directory, which is the only way to find a room on a server this account has never spoken to. Results carry name, members and topic, page with “Show more”, and mark the rooms this account already has a buffer for so a join button never quietly does nothing. Joining prefers the alias over the room id, since an alias survives a room upgrade.
Verified live against matrix.org and glowers.club.
nobilis 8dc0b7c, moho https://git.salastil.com/Salastil/moho/commit/12a90b2
Reworked into a dialog, and across every homeserver at once rather than one at a time.
Element makes you pick a homeserver from a dropdown before it will answer, and shows that server’s results alone. But somebody searching for a room by name does not know which server it is on — that is what they are trying to find out — so picking first is the wrong order. The daemon now asks our own server, every server this account already has rooms on, and anything typed into the “add a homeserver” field, all at once, and merges the answers into one list deduplicated by room id and sorted busiest first. The server a room lives on is printed beside it rather than used as a section heading.
Each server is a separate request, so a slow or federation-refusing one costs only its own results — and it is named above the list, since a server that did not answer is why an expected room is missing.
join_room also takes routing hints now: a room id says nothing about who has it, so a room found in another server’s directory with no published alias was listed and not joinable.
Verified live: three servers merged and sorted, paging across all of them, and a hand-added fourth correctly reported as not answering.
Reworked into a dialog, and across every homeserver at once rather than one at a time.
Element makes you pick a homeserver from a dropdown before it will answer, and shows that server’s results alone. But somebody searching for a room by name does not know which server it is on — that is what they are trying to find out — so picking first is the wrong order. The daemon now asks our own server, every server this account already has rooms on, and anything typed into the “add a homeserver” field, all at once, and merges the answers into one list deduplicated by room id and sorted busiest first. The server a room lives on is printed beside it rather than used as a section heading.
Each server is a separate request, so a slow or federation-refusing one costs only its own results — and it is named above the list, since a server that did not answer is why an expected room is missing.
`join_room` also takes routing hints now: a room id says nothing about who has it, so a room found in another server’s directory with no published alias was listed and not joinable.
Verified live: three servers merged and sorted, paging across all of them, and a hand-added fourth correctly reported as not answering.
nobilis 5ad1d70, moho https://git.salastil.com/Salastil/moho/commit/760e637
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Element can explore public rooms — search by name, on your own homeserver or somebody else’s. moho could only join a room whose address you already had, so a room you had been told about by name was unreachable.
Done looks like: a search field in the Matrix join page, with an optional homeserver beside it, listing name, member count and topic, saying which rooms this account is already in, and joining by alias where there is one.
Finished — the room directory is in the Matrix join page as “Find a public room”.
It uses the POST form of
/publicRooms, which is the only one that takes a search term; the optional server field asks another homeserver’s directory, which is the only way to find a room on a server this account has never spoken to. Results carry name, members and topic, page with “Show more”, and mark the rooms this account already has a buffer for so a join button never quietly does nothing. Joining prefers the alias over the room id, since an alias survives a room upgrade.Verified live against matrix.org and glowers.club.
nobilis 8dc0b7c, moho https://git.salastil.com/Salastil/moho/commit/12a90b2
Reworked into a dialog, and across every homeserver at once rather than one at a time.
Element makes you pick a homeserver from a dropdown before it will answer, and shows that server’s results alone. But somebody searching for a room by name does not know which server it is on — that is what they are trying to find out — so picking first is the wrong order. The daemon now asks our own server, every server this account already has rooms on, and anything typed into the “add a homeserver” field, all at once, and merges the answers into one list deduplicated by room id and sorted busiest first. The server a room lives on is printed beside it rather than used as a section heading.
Each server is a separate request, so a slow or federation-refusing one costs only its own results — and it is named above the list, since a server that did not answer is why an expected room is missing.
join_roomalso takes routing hints now: a room id says nothing about who has it, so a room found in another server’s directory with no published alias was listed and not joinable.Verified live: three servers merged and sorted, paging across all of them, and a hand-added fourth correctly reported as not answering.
nobilis 5ad1d70, moho https://git.salastil.com/Salastil/moho/commit/760e637