Room settings is a 400px header popover with choice settings and a destructive "Upgrade" inside it (RoomSettings.tsx:199-433). Element and Discord use a full settings dialog with tabs.
Fix: a tabbed Modal (General, Security, Notifications, Advanced) reusing the existing content.
Part of the v1.0 UI pass.
Room settings is a 400px header popover with choice settings and a destructive "Upgrade" inside it (RoomSettings.tsx:199-433). Element and Discord use a full settings dialog with tabs.
**Fix:** a tabbed Modal (General, Security, Notifications, Advanced) reusing the existing content.
_Part of the v1.0 UI pass._
Salastil
added this to the v1.0 milestone 2026-10-07 20:43:27 -04:00
Room settings is a dialog with pages now, not a 400px popover.
It opens as a Modal (scrim, title, X, Escape, focus kept in) from the same header button, with three tabs over the existing content: Security (who can join, who can read the past), Moderation (server ACL, refused servers, published ban lists - read when the tab is opened, so the old "Show" button is gone) and Advanced (the room version upgrade, with its confirmation, kept apart from the settings since it is not one). Advanced says so when there is nothing to do there.
The issue also named General and Notifications tabs; there is nothing in the room's own settings for either today (a room's name and topic are not editable here, and notifications are per-conversation mute from its menu), so they are not drawn as empty pages.
Not exercised against a real room: the picture is the frame over a staged room, whose answers are not there to read (hence the error toast). The content is the existing content moved, and the tab and load logic is the only new behaviour.
Before (left, the popover), after (right, the dialog):
Finished: [f8936c6](https://git.salastil.com/Salastil/moho/commit/f8936c6734ef0b6bccfaddc40b99915d81f7bc83).
Room settings is a dialog with pages now, not a 400px popover.
- It opens as a `Modal` (scrim, title, X, Escape, focus kept in) from the same header button, with three tabs over the existing content: **Security** (who can join, who can read the past), **Moderation** (server ACL, refused servers, published ban lists - read when the tab is opened, so the old "Show" button is gone) and **Advanced** (the room version upgrade, with its confirmation, kept apart from the settings since it is not one). Advanced says so when there is nothing to do there.
- The issue also named General and Notifications tabs; there is nothing in the room's own settings for either today (a room's name and topic are not editable here, and notifications are per-conversation mute from its menu), so they are not drawn as empty pages.
- Not exercised against a real room: the picture is the frame over a staged room, whose answers are not there to read (hence the error toast). The content is the existing content moved, and the tab and load logic is the only new behaviour.
Before (left, the popover), after (right, the dialog):

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.
Room settings is a 400px header popover with choice settings and a destructive "Upgrade" inside it (RoomSettings.tsx:199-433). Element and Discord use a full settings dialog with tabs.
Fix: a tabbed Modal (General, Security, Notifications, Advanced) reusing the existing content.
Part of the v1.0 UI pass.
Finished: f8936c6.
Room settings is a dialog with pages now, not a 400px popover.
Modal(scrim, title, X, Escape, focus kept in) from the same header button, with three tabs over the existing content: Security (who can join, who can read the past), Moderation (server ACL, refused servers, published ban lists - read when the tab is opened, so the old "Show" button is gone) and Advanced (the room version upgrade, with its confirmation, kept apart from the settings since it is not one). Advanced says so when there is nothing to do there.Before (left, the popover), after (right, the dialog):