Mercurial > prosody-hg
annotate plugins/mod_csi.lua @ 9273:f2258e9750cf
mod_vcard_legacy: Include avatar data even if metadata can't be loaded
Normally both nodes should have the same configuration and matching
items, but we can't depend on it without having some code that enforces
it, which does not exist at the time of this commit.
Including the avatar itself should be prioritised. The image format can
be derived from magic bytes.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Fri, 07 Sep 2018 01:08:27 +0200 |
| parents | a5daf3f6d588 |
| children | 989cf872d5c0 |
| rev | line source |
|---|---|
|
9073
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
1 local st = require "util.stanza"; |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
2 local xmlns_csi = "urn:xmpp:csi:0"; |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
3 local csi_feature = st.stanza("csi", { xmlns = xmlns_csi }); |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
4 |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 module:hook("stream-features", function (event) |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
6 if event.origin.username then |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 event.features:add_child(csi_feature); |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 end |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 end); |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
10 |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 function refire_event(name) |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
12 return function (event) |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 if event.origin.username then |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
14 module:fire_event(name, event); |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
15 return true; |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
16 end |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
17 end; |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
18 end |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
19 |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
20 module:hook("stanza/"..xmlns_csi..":active", refire_event("csi-client-active")); |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
21 module:hook("stanza/"..xmlns_csi..":inactive", refire_event("csi-client-inactive")); |
|
a5daf3f6d588
mod_csi: Imported from prosody-modules 66b3085ecc49
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
22 |
