annotate mod_register_apps/mod_register_apps.lua @ 4091:354dc1e7977a

mod_register_apps: Provides a configurable list of XMPP apps
author Matthew Wild <mwild1@gmail.com>
date Thu, 10 Sep 2020 16:47:59 +0100
parents
children ae2699f1cba9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4091
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 module:depends("http");
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2 local http_files = module:depends("http_files");
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 local app_config = module:get_option("site_apps", {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5 {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6 name = "Conversations";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 text = [[Conversations is a Jabber/XMPP client for Android 4.0+ smartphones that has been optimized to provide a unique mobile experience.]];
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 image = "assets/logos/conversations.svg";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9 link = "https://play.google.com/store/apps/details?id=eu.siacs.conversations";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 platforms = { "Android" };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11 supports_preauth_uri = true;
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12 magic_link_format = "{app.link!}&referrer={invite.uri}";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13 download = {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
14 buttons = {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
15 {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
16 image = "https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
17 url = "https://play.google.com/store/apps/details?id=eu.siacs.conversations";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
18 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
19 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
20 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
21 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
22 {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
23 name = "yaxim";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
24 text = [[A lean Jabber/XMPP client for Android. It aims at usability, low overhead and security, and works on low-end Android devices starting with Android 4.0.]];
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
25 image = "assets/logos/yaxim.svg";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
26 link = "https://play.google.com/store/apps/details?id=org.yaxim.androidclient";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
27 platforms = { "Android" };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
28 supports_preauth_uri = true;
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
29 magic_link_format = "{app.link!}&referrer={invite.uri}";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
30 download = {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
31 buttons = {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
32 {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
33 image = "https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
34 url = "https://play.google.com/store/apps/details?id=org.yaxim.androidclient";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
35 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
36 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
37 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
38 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
39 {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
40 name = "Siskin IM";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
41 text = [[A lightweight and powerful XMPP client for iPhone and iPad. It provides an easy way to talk and share moments with your friends.]];
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
42 image = "assets/logos/siskin-im.png";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
43 link = "https://apps.apple.com/us/app/siskin-im/id1153516838";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
44 platforms = { "iOS" };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
45 supports_preauth_uri = true;
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
46 download = {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
47 buttons = {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
48 {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
49 image = "https://linkmaker.itunes.apple.com/en-us/badge-lrg.svg?releaseDate=2017-05-31&kind=iossoftware&bubble=ios_apps";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
50 url = "https://apps.apple.com/us/app/siskin-im/id1153516838";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
51 target = "_blank";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
52 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
53 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
54 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
55 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
56 {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
57 name = "Beagle IM";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
58 text = [[Beagle IM by Tigase, Inc. is a lightweight and powerful XMPP client for macOS.]];
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
59 image = "assets/logos/beagle-im.png";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
60 link = "https://apps.apple.com/us/app/beagle-im/id1445349494";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
61 platforms = { "macOS" };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
62 download = {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
63 buttons = {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
64 {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
65 text = "Download from Mac App Store";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
66 url = "https://apps.apple.com/us/app/beagle-im/id1445349494";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
67 target = "_blank";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
68 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
69 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
70 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
71 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
72 {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
73 name = "Dino";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
74 text = [[A modern open-source chat client for the desktop. It focuses on providing a clean and reliable Jabber/XMPP experience while having your privacy in mind.]];
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
75 image = "assets/logos/dino.svg";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
76 link = "https://dino.im/";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
77 platforms = { "Linux" };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
78 download = {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
79 text = "Click the button to open the Dino website where you can download and install it on your PC.";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
80 buttons = {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
81 { text = "Download Dino for Linux", url = "https://dino.im/#download", target="_blank" };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
82 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
83 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
84 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
85 {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
86 name = "Gajim";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
87 text = [[A fully-featured desktop chat client for Windows and Linux.]];
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
88 image = "assets/logos/gajim.svg";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
89 link = "https://gajim.org/";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
90 platforms = { "Windows", "Linux" };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
91 download = {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
92 buttons = {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
93 {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
94 text = "Download Gajim";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
95 url = "https://gajim.org/download/";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
96 target = "_blank";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
97 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
98 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
99 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
100 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
101 });
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
102
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
103 local base_url = module.http_url and module:http_url();
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
104 local function relurl(s)
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
105 if s:match("^%w+://") then
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
106 return s;
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
107 end
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
108 return base_url.."/"..s;
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
109 end
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
110
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
111 local site_apps = module:shared("apps");
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
112
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
113 for _, app_info in ipairs(app_config) do
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
114 local app_id = app_info.id or app_info.name:gsub("%W+", "-"):lower();
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
115 app_info.id = app_id;
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
116 app_info.image = relurl(app_info.image);
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
117 site_apps[app_id] = app_info;
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
118 table.insert(site_apps, app_info);
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
119 end
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
120
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
121 local mime_map = {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
122 png = "image/png";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
123 svg = "image/svg+xml";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
124 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
125
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
126 module:provides("http", {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
127 route = {
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
128 ["GET /assets/*"] = http_files and http_files.serve({
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
129 path = module:get_directory().."/assets";
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
130 mime_map = mime_map;
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
131 });
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
132 };
354dc1e7977a mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
133 });