From af80d38081c47b534c7bfedbf04b2a1d0d02d9e9 Mon Sep 17 00:00:00 2001 From: Milan Tyagi Date: Thu, 2 Apr 2026 14:28:16 +0530 Subject: [PATCH 1/3] OF-2549: Fix MUC permission persistence and improve UX - Fix issue where "Only specific users/groups" selection was not preserved after adding users by ensuring roomCreationRestricted is set correctly - Replace onclick with onchange on radio buttons to improve accessibility and ensure proper event handling - Remove auto-submit from "allow all registered users" checkbox to prevent unintended state resets - Improve UI responsiveness by correctly toggling Allowed Users section without page reload - Clean up JavaScript handling for safer focus behavior --- .../src/main/webapp/muc-create-permission.jsp | 35 ++++++++++++++----- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/xmppserver/src/main/webapp/muc-create-permission.jsp b/xmppserver/src/main/webapp/muc-create-permission.jsp index 96018acac5..15fac3d59f 100644 --- a/xmppserver/src/main/webapp/muc-create-permission.jsp +++ b/xmppserver/src/main/webapp/muc-create-permission.jsp @@ -1,7 +1,7 @@ <%@ page contentType="text/html; charset=UTF-8" %> <%-- - - - Copyright (C) 2004-2008 Jive Software, 2017-2025 Ignite Realtime Foundation. All rights reserved. + - Copyright (C) 2004-2008 Jive Software, 2017-2026 Ignite Realtime Foundation. All rights reserved. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. @@ -126,6 +126,7 @@ if (add) { mucService.addUsersAllowedToCreate(allowedJIDs); mucService.setAllRegisteredUsersAllowedToCreate(allowAllRegisteredUsers); + mucService.setRoomCreationRestricted(true); // Log the event webManager.logEvent("updated MUC room creation permissions for service "+mucname, null); response.sendRedirect("muc-create-permission.jsp?addsuccess=true&mucname="+URLEncoder.encode(mucname, StandardCharsets.UTF_8)); @@ -151,6 +152,22 @@ + @@ -202,6 +219,7 @@ > @@ -211,7 +229,7 @@ > @@ -227,8 +245,7 @@
- -<% if (mucService.isRoomCreationRestricted()) { %> +
">
@@ -238,13 +255,13 @@

- onChange="this.form.submit()"> + >


" - onclick="this.form.openPerms[1].checked=true;" id="userJIDtf"> + " + id="userJIDtf">

@@ -308,7 +325,7 @@ -<% } %> +
From b675c64161b38842c1646d1a01bcd191c8ff42a1 Mon Sep 17 00:00:00 2001 From: Milan Tyagi Date: Fri, 8 May 2026 01:09:45 +0530 Subject: [PATCH 2/3] OF-2549: Fix 'All registered users' checkbox cleared on Save Settings The 'All registered users' checkbox was in the 'Add' form but not in the 'Save Settings' form. When the user checked the checkbox and clicked 'Save Settings', the value was never submitted, causing it to revert to unchecked on page reload. - Add hidden input for allowAllRegisteredUsers in the Save Settings form - Sync visible checkbox state to the hidden input via JavaScript - Persist allowAllRegisteredUsers in the save handler's restricted branch - Rename radio button id to restrictedPermissionsRadio for clarity --- .../src/main/webapp/muc-create-permission.jsp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/xmppserver/src/main/webapp/muc-create-permission.jsp b/xmppserver/src/main/webapp/muc-create-permission.jsp index 15fac3d59f..5abd807403 100644 --- a/xmppserver/src/main/webapp/muc-create-permission.jsp +++ b/xmppserver/src/main/webapp/muc-create-permission.jsp @@ -86,6 +86,7 @@ } else { mucService.setRoomCreationRestricted(true); + mucService.setAllRegisteredUsersAllowedToCreate(allowAllRegisteredUsers); // Log the event webManager.logEvent("set MUC room creation to not restricted for service "+mucname, null); response.sendRedirect("muc-create-permission.jsp?success=true&mucname="+URLEncoder.encode(mucname, StandardCharsets.UTF_8)); @@ -154,7 +155,7 @@ @@ -210,6 +218,7 @@
+ " />
@@ -228,7 +237,7 @@ - > @@ -255,7 +264,7 @@

- > + >

From c828328502054ebc07b636fbcafe408576e8566a Mon Sep 17 00:00:00 2001 From: Dan Caseley Date: Sun, 10 May 2026 21:04:13 +0100 Subject: [PATCH 3/3] OF-2549: Fix id for tapping on the non-default option --- xmppserver/src/main/webapp/muc-create-permission.jsp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xmppserver/src/main/webapp/muc-create-permission.jsp b/xmppserver/src/main/webapp/muc-create-permission.jsp index 5abd807403..c31b33f0dd 100644 --- a/xmppserver/src/main/webapp/muc-create-permission.jsp +++ b/xmppserver/src/main/webapp/muc-create-permission.jsp @@ -242,7 +242,7 @@ <%= ((mucService.isRoomCreationRestricted()) ? "checked" : "") %>> - +