Software /
code /
prosody-modules
Annotate
mod_register_apps/mod_register_apps.lua @ 5821:fdf3056021dc
mod_http_oauth2: Tweak fallback error text
Since the oauth error is more like the error condition, a symbolic error
code, not the most human-friendly. Many error cases do have
human-readable error descriptions that should be fine on their own, or
changed to be.
As a fallback, capitalize the error name.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 23 Dec 2023 00:01:30 +0100 |
parent | 5740:e06af1403a60 |
rev | line source |
---|---|
4186
aba0470ed725
mod_register_apps: Ignore the long lines [luacheck]
Kim Alvefur <zash@zash.se>
parents:
4178
diff
changeset
|
1 -- luacheck: ignore 631 |
4091
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
2 module:depends("http"); |
4975
733e5513f691
various: Use 0.12+ API for serving files from the file system over HTTP
Kim Alvefur <zash@zash.se>
parents:
4672
diff
changeset
|
3 local http_files |
5178
556bf57d6417
mod_register_apps: Detect 0.12+ when called from prosodyctl
Kim Alvefur <zash@zash.se>
parents:
5014
diff
changeset
|
4 if prosody.process_type then |
4975
733e5513f691
various: Use 0.12+ API for serving files from the file system over HTTP
Kim Alvefur <zash@zash.se>
parents:
4672
diff
changeset
|
5 -- Prosody >= 0.12 |
733e5513f691
various: Use 0.12+ API for serving files from the file system over HTTP
Kim Alvefur <zash@zash.se>
parents:
4672
diff
changeset
|
6 http_files = require "net.http.files"; |
4976
75b6e5df65f9
various: Improve error reporting if missing file server module on 0.12
Kim Alvefur <zash@zash.se>
parents:
4975
diff
changeset
|
7 else |
4975
733e5513f691
various: Use 0.12+ API for serving files from the file system over HTTP
Kim Alvefur <zash@zash.se>
parents:
4672
diff
changeset
|
8 -- Prosody <= 0.11 |
733e5513f691
various: Use 0.12+ API for serving files from the file system over HTTP
Kim Alvefur <zash@zash.se>
parents:
4672
diff
changeset
|
9 http_files = module:depends "http_files"; |
733e5513f691
various: Use 0.12+ API for serving files from the file system over HTTP
Kim Alvefur <zash@zash.se>
parents:
4672
diff
changeset
|
10 end |
4091
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 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
|
13 { |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
14 name = "Conversations"; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
15 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
|
16 image = "assets/logos/conversations.svg"; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
17 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
|
18 platforms = { "Android" }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
19 supports_preauth_uri = true; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
20 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
|
21 download = { |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
22 buttons = { |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
23 { |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
24 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
|
25 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
|
26 }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
27 }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
28 }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
29 }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
30 { |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
31 name = "yaxim"; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
32 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
|
33 image = "assets/logos/yaxim.svg"; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
34 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
|
35 platforms = { "Android" }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
36 supports_preauth_uri = true; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
37 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
|
38 download = { |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
39 buttons = { |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
40 { |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
41 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
|
42 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
|
43 }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
44 }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
45 }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
46 }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
47 { |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
48 name = "Siskin IM"; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
49 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
|
50 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
|
51 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
|
52 platforms = { "iOS" }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
53 supports_preauth_uri = true; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
54 download = { |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
55 buttons = { |
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 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
|
58 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
|
59 target = "_blank"; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
60 }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
61 }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
62 }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
63 }; |
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 name = "Beagle IM"; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
66 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
|
67 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
|
68 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
|
69 platforms = { "macOS" }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
70 download = { |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
71 buttons = { |
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 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
|
74 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
|
75 target = "_blank"; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
76 }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
77 }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
78 }; |
4178
bbd584cee042
mod_register_apps: Add setup instructions for Beagle IM
Matthew Wild <mwild1@gmail.com>
parents:
4171
diff
changeset
|
79 setup = { |
bbd584cee042
mod_register_apps: Add setup instructions for Beagle IM
Matthew Wild <mwild1@gmail.com>
parents:
4171
diff
changeset
|
80 text = [[Launch Beagle IM, and select 'Yes' to add a new account. Click the '+' |
bbd584cee042
mod_register_apps: Add setup instructions for Beagle IM
Matthew Wild <mwild1@gmail.com>
parents:
4171
diff
changeset
|
81 button under the empty account list and then enter your credentials.]]; |
bbd584cee042
mod_register_apps: Add setup instructions for Beagle IM
Matthew Wild <mwild1@gmail.com>
parents:
4171
diff
changeset
|
82 }; |
4091
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 name = "Dino"; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
86 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
|
87 image = "assets/logos/dino.svg"; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
88 link = "https://dino.im/"; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
89 platforms = { "Linux" }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
90 download = { |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
91 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
|
92 buttons = { |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
93 { 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
|
94 }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
95 }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
96 }; |
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 name = "Gajim"; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
99 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
|
100 image = "assets/logos/gajim.svg"; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
101 link = "https://gajim.org/"; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
102 platforms = { "Windows", "Linux" }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
103 download = { |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
104 buttons = { |
4111
ae2699f1cba9
mod_register_apps: Don't duplicate client entries on module reload
Matthew Wild <mwild1@gmail.com>
parents:
4091
diff
changeset
|
105 { |
4091
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
106 text = "Download Gajim"; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
107 url = "https://gajim.org/download/"; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
108 target = "_blank"; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
109 }; |
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 }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
112 }; |
5014
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
113 { |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
114 name = "Monal"; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
115 text = [[A modern open-source chat client for iPhone and iPad. It is easy to use and has a clean user interface.]]; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
116 image = "assets/logos/monal.svg"; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
117 link = "https://monal-im.org/"; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
118 platforms = { "iOS" }; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
119 supports_preauth_uri = true; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
120 download = { |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
121 buttons = { |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
122 { |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
123 image = "https://linkmaker.itunes.apple.com/en-us/badge-lrg.svg?releaseDate=2017-05-31&kind=iossoftware&bubble=ios_apps"; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
124 url = "https://apps.apple.com/app/id317711500"; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
125 target = "_blank"; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
126 }; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
127 }; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
128 }; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
129 }; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
130 { |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
131 name = "Monal"; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
132 text = [[A modern open-source chat client for Mac. It is easy to use and has a clean user interface.]]; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
133 image = "assets/logos/monal.svg"; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
134 link = "https://monal-im.org/"; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
135 platforms = { "macOS" }; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
136 supports_preauth_uri = true; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
137 download = { |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
138 buttons = { |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
139 { |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
140 image = "https://linkmaker.itunes.apple.com/en-us/badge-lrg.svg?releaseDate=2017-05-31&kind=macossoftware&bubble=macos_apps"; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
141 url = "https://apps.apple.com/app/id1637078500"; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
142 target = "_blank"; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
143 }; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
144 }; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
145 }; |
eb3f99d0e72d
mod_register_apps: add monal iOS and macOS versions
tmolitor <thilo@eightysoft.de>
parents:
4976
diff
changeset
|
146 }; |
5740
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
147 { |
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
148 name = "Renga"; |
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
149 text = [[XMPP client for Haiku]]; |
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
150 image = "assets/logos/renga.svg"; |
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
151 link = "https://pulkomandy.tk/projects/renga"; |
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
152 platforms = { "Haiku" }; |
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
153 download = { |
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
154 buttons = { |
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
155 { text = "Download Renga for Haiku", url = "https://depot.haiku-os.org/#!/pkg/renga?bcguid=bc233-PQIA", target="_blank" }; |
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
156 }; |
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
157 }; |
e06af1403a60
mod_register_apps: Add Renga to the list of supported clients
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5178
diff
changeset
|
158 }; |
4091
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
159 }); |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
160 |
4113
c85af57e82e0
mod_register_apps: Add site_apps_show and site_apps_hide options (thanks meaz)
Matthew Wild <mwild1@gmail.com>
parents:
4111
diff
changeset
|
161 local show_apps = module:get_option_set("site_apps_show"); |
c85af57e82e0
mod_register_apps: Add site_apps_show and site_apps_hide options (thanks meaz)
Matthew Wild <mwild1@gmail.com>
parents:
4111
diff
changeset
|
162 local hide_apps = module:get_option_set("site_apps_hide"); |
c85af57e82e0
mod_register_apps: Add site_apps_show and site_apps_hide options (thanks meaz)
Matthew Wild <mwild1@gmail.com>
parents:
4111
diff
changeset
|
163 |
4091
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
164 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
|
165 local function relurl(s) |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
166 if s:match("^%w+://") then |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
167 return s; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
168 end |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
169 return base_url.."/"..s; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
170 end |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
171 |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
172 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
|
173 |
4171
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
174 local function add_app(app_info, source) |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
175 local app_id = app_info.id or app_info.name:gsub("%W+", "-"):lower(); |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
176 if (not show_apps or show_apps:contains(app_id)) |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
177 and not (hide_apps and hide_apps:contains(app_id)) |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
178 and not site_apps[app_id] then |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
179 app_info.id = app_id; |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
180 app_info.image = relurl(app_info.image); |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
181 site_apps[app_id] = app_info; |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
182 app_info._source = source; |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
183 table.insert(site_apps, app_info); |
4111
ae2699f1cba9
mod_register_apps: Don't duplicate client entries on module reload
Matthew Wild <mwild1@gmail.com>
parents:
4091
diff
changeset
|
184 end |
ae2699f1cba9
mod_register_apps: Don't duplicate client entries on module reload
Matthew Wild <mwild1@gmail.com>
parents:
4091
diff
changeset
|
185 end |
ae2699f1cba9
mod_register_apps: Don't duplicate client entries on module reload
Matthew Wild <mwild1@gmail.com>
parents:
4091
diff
changeset
|
186 |
4171
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
187 local function remove_app(app_info) |
4091
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
188 local app_id = app_info.id or app_info.name:gsub("%W+", "-"):lower(); |
4187
e2db07017332
mod_register_apps: Fix removal of apps from array on unload
Kim Alvefur <zash@zash.se>
parents:
4186
diff
changeset
|
189 for i = #site_apps, 1, -1 do |
e2db07017332
mod_register_apps: Fix removal of apps from array on unload
Kim Alvefur <zash@zash.se>
parents:
4186
diff
changeset
|
190 if site_apps[i].id == app_id then |
e2db07017332
mod_register_apps: Fix removal of apps from array on unload
Kim Alvefur <zash@zash.se>
parents:
4186
diff
changeset
|
191 table.remove(site_apps, i); |
e2db07017332
mod_register_apps: Fix removal of apps from array on unload
Kim Alvefur <zash@zash.se>
parents:
4186
diff
changeset
|
192 end |
e2db07017332
mod_register_apps: Fix removal of apps from array on unload
Kim Alvefur <zash@zash.se>
parents:
4186
diff
changeset
|
193 end |
4171
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
194 site_apps[app_id] = nil; |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
195 end |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
196 |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
197 local function add_config_apps() |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
198 for _, app_info in ipairs(app_config) do |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
199 add_app(app_info, module.name); |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
200 end |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
201 end |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
202 |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
203 local function module_app_added(event) |
4630
635907a5d2c8
mod_register_apps: Reduce yellow yelling in log message
Kim Alvefur <zash@zash.se>
parents:
4187
diff
changeset
|
204 module:log("info", "Adding %s", event.item.name) |
4171
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
205 add_app(event.item, module.name); |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
206 end |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
207 |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
208 local function module_app_removed(event) |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
209 remove_app(event.item); |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
210 end |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
211 |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
212 -- Remove all apps added by this module |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
213 local function remove_all_apps() |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
214 for k, v in pairs(site_apps) do |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
215 if v._source == module.name then |
4672
0b084f63fed0
mod_register_apps: Fix removal on unload (thanks ibikk)
Kim Alvefur <zash@zash.se>
parents:
4630
diff
changeset
|
216 remove_app(v); |
4171
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
217 end |
4113
c85af57e82e0
mod_register_apps: Add site_apps_show and site_apps_hide options (thanks meaz)
Matthew Wild <mwild1@gmail.com>
parents:
4111
diff
changeset
|
218 end |
4091
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
219 end |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
220 |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
221 local mime_map = { |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
222 png = "image/png"; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
223 svg = "image/svg+xml"; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
224 }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
225 |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
226 module:provides("http", { |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
227 route = { |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
228 ["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
|
229 path = module:get_directory().."/assets"; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
230 mime_map = mime_map; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
231 }); |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
232 }; |
354dc1e7977a
mod_register_apps: Provides a configurable list of XMPP apps
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
233 }); |
4171
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
234 |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
235 function module.load() |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
236 add_config_apps(); |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
237 module:handle_items("site-app-provider", module_app_added, module_app_removed, true); |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
238 end |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
239 |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
240 function module.unload() |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
241 remove_all_apps(); |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
242 end |
85fa8c9e992a
mod_register_apps: Add support for module:provides("site-app", app_info)
Matthew Wild <mwild1@gmail.com>
parents:
4114
diff
changeset
|
243 |