Changeset

13767:56fad06904b1 13.0

prosodyctl check features: Add descriptions to features Also shuffles mod_pep check to multi-device sync, as I think that's a better fit.
author Matthew Wild <mwild1@gmail.com>
date Thu, 13 Mar 2025 11:32:22 +0000
parents 13765:7c57fb2ffbb0
children 13768:4365f0f03c33
files util/prosodyctl/check.lua
diffstat 1 files changed, 23 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/util/prosodyctl/check.lua	Tue Mar 11 18:44:40 2025 +0000
+++ b/util/prosodyctl/check.lua	Thu Mar 13 11:32:22 2025 +0000
@@ -1493,6 +1493,10 @@
 		local function print_feature_status(feature, host)
 			if quiet then return; end
 			print("", feature.ok and "OK" or "(!)", feature.name);
+			if feature.desc then
+				print("", "", feature.desc);
+				print("");
+			end
 			if not feature.ok then
 				if feature.lacking_modules then
 					table.sort(feature.lacking_modules);
@@ -1643,24 +1647,27 @@
 			local features = {
 				{
 					name = "Basic functionality";
+					desc = "Support for secure connections, authentication and messaging";
 					check = function ()
 						check_module("disco");
 						check_module("roster");
 						check_module("saslauth");
 						check_module("tls");
+					end;
+				};
+				{
+					name = "Multi-device messaging and data synchronization";
+					desc = "Multiple clients connected to the same account stay in sync";
+					check = function ()
+						check_module("carbons");
+						check_module("mam");
+						check_module("bookmarks");
 						check_module("pep");
 					end;
 				};
 				{
-					name = "Multi-device sync";
-					check = function ()
-						check_module("carbons");
-						check_module("mam");
-						check_module("bookmarks");
-					end;
-				};
-				{
 					name = "Mobile optimizations";
+					desc = "Help mobile clients reduce battery and data usage";
 					check = function ()
 						check_module("smacks");
 						check_module("csi_simple", "csi_battery_saver");
@@ -1668,6 +1675,7 @@
 				};
 				{
 					name = "Web connections";
+					desc = "Allow connections from browser-based web clients";
 					check = function ()
 						check_module("bosh");
 						check_module("websocket");
@@ -1675,24 +1683,28 @@
 				};
 				{
 					name = "User profiles";
+					desc = "Enable users to publish profile information";
 					check = function ()
 						check_module("vcard_legacy", "vcard");
 					end;
 				};
 				{
 					name = "Blocking";
+					desc = "Block communication with chosen entities";
 					check = function ()
 						check_module("blocklist");
 					end;
 				};
 				{
 					name = "Push notifications";
+					desc = "Receive notifications on platforms that don't support persistent connections";
 					check = function ()
 						check_module("cloud_notify");
 					end;
 				};
 				{
-					name = "Audio/video calls";
+					name = "Audio/video calls and P2P";
+					desc = "Assist clients in setting up connections between each other";
 					check = function ()
 						check_module(
 							"turn_external",
@@ -1706,10 +1718,12 @@
 					name = "File sharing";
 					check = function ()
 						check_component("http_file_share", "http_upload", "http_upload_external");
+					desc = "Sharing of files to groups and offline users";
 					end;
 				};
 				{
 					name = "Group chats";
+					desc = "Create group chats and channels";
 					check = function ()
 						check_component("muc");
 					end;