Mercurial > prosody-modules
annotate mod_drop_chatstates/mod_drop_chatstates.lua @ 6343:ee2ebdec1fae
mod_s2s_cache_failures: New module to cache failures to remote domains and control retries
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Thu, 16 Oct 2025 19:08:20 +0100 |
| parents | 2525f247084c |
| children |
| rev | line source |
|---|---|
|
6310
92e2dcf039d9
mod_drop_chatstates: New module to drop chatstates for specific domains
Chaz Kettleson <chaz@pyr3x.com>
parents:
diff
changeset
|
1 local jid = require "util.jid" |
|
92e2dcf039d9
mod_drop_chatstates: New module to drop chatstates for specific domains
Chaz Kettleson <chaz@pyr3x.com>
parents:
diff
changeset
|
2 local st = require "util.stanza" |
|
92e2dcf039d9
mod_drop_chatstates: New module to drop chatstates for specific domains
Chaz Kettleson <chaz@pyr3x.com>
parents:
diff
changeset
|
3 |
|
92e2dcf039d9
mod_drop_chatstates: New module to drop chatstates for specific domains
Chaz Kettleson <chaz@pyr3x.com>
parents:
diff
changeset
|
4 local CHATSTATES_NS = "http://jabber.org/protocol/chatstates" |
|
92e2dcf039d9
mod_drop_chatstates: New module to drop chatstates for specific domains
Chaz Kettleson <chaz@pyr3x.com>
parents:
diff
changeset
|
5 local domains = module:get_option_set("drop_chatstates_domains", {}) |
|
92e2dcf039d9
mod_drop_chatstates: New module to drop chatstates for specific domains
Chaz Kettleson <chaz@pyr3x.com>
parents:
diff
changeset
|
6 |
|
92e2dcf039d9
mod_drop_chatstates: New module to drop chatstates for specific domains
Chaz Kettleson <chaz@pyr3x.com>
parents:
diff
changeset
|
7 local function handle_pre_message(event) |
|
6311
2525f247084c
mod_drop_chatstates: Fix bug using stanza before its defined
Chaz Kettleson <chaz@pyr3x.com>
parents:
6310
diff
changeset
|
8 local stanza = event.stanza |
|
6310
92e2dcf039d9
mod_drop_chatstates: New module to drop chatstates for specific domains
Chaz Kettleson <chaz@pyr3x.com>
parents:
diff
changeset
|
9 local to_host = jid.host(stanza.attr.to) |
|
92e2dcf039d9
mod_drop_chatstates: New module to drop chatstates for specific domains
Chaz Kettleson <chaz@pyr3x.com>
parents:
diff
changeset
|
10 if not to_host or not domains:contains(to_host) then return end |
|
6311
2525f247084c
mod_drop_chatstates: Fix bug using stanza before its defined
Chaz Kettleson <chaz@pyr3x.com>
parents:
6310
diff
changeset
|
11 if stanza:get_child(nil, CHATSTATES_NS) then return true end |
|
6310
92e2dcf039d9
mod_drop_chatstates: New module to drop chatstates for specific domains
Chaz Kettleson <chaz@pyr3x.com>
parents:
diff
changeset
|
12 end |
|
92e2dcf039d9
mod_drop_chatstates: New module to drop chatstates for specific domains
Chaz Kettleson <chaz@pyr3x.com>
parents:
diff
changeset
|
13 |
|
92e2dcf039d9
mod_drop_chatstates: New module to drop chatstates for specific domains
Chaz Kettleson <chaz@pyr3x.com>
parents:
diff
changeset
|
14 module:hook("pre-message/bare", handle_pre_message) |
