Software / code / prosody
Annotate
plugins/mod_welcome.lua @ 13762:81856814d74f 13.0
util.argparse: Fix bug (regression?) in argument parsing with --foo=bar
After recent changes, '--foo bar' was working, but '--foo=bar' was not. The
test had a typo (?) (bar != baz) and because util.argparse is not strict by
default, the typo was not caught.
The typo caused the code to take a different path, and bypassed the buggy
handling of --foo=bar options.
I've preserved the existing test (typo and all!) because it's still an
interesting test, and ensures no unintended behaviour changes compared to the
old code.
However I've added a new variant of the test, with strict mode enabled and the
typo fixed. This test failed due to the bug, and this commit introduces a fix.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Tue, 11 Mar 2025 18:27:36 +0000 |
| parent | 12977:74b9e05af71e |
| rev | line source |
|---|---|
|
1523
841d61be198f
Remove version number from copyright headers
Matthew Wild <mwild1@gmail.com>
parents:
1252
diff
changeset
|
1 -- Prosody IM |
|
2923
b7049746bd29
Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents:
2056
diff
changeset
|
2 -- Copyright (C) 2008-2010 Matthew Wild |
|
b7049746bd29
Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents:
2056
diff
changeset
|
3 -- Copyright (C) 2008-2010 Waqas Hussain |
|
5776
bd0ff8ae98a8
Remove all trailing whitespace
Florian Zeitz <florob@babelmonkeys.de>
parents:
5014
diff
changeset
|
4 -- |
|
1185
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
5 -- This project is MIT/X11 licensed. Please see the |
|
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
6 -- COPYING file in the source package for more information. |
|
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
7 -- |
|
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
8 |
|
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
9 local host = module:get_host(); |
|
7227
c6f9d694d778
mod_welcome: Pass default text to config API as default value
Kim Alvefur <zash@zash.se>
parents:
7226
diff
changeset
|
10 local welcome_text = module:get_option_string("welcome_message", "Hello $username, welcome to the $host IM server!"); |
|
1185
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
11 |
|
12977
74b9e05af71e
plugins: Prefix module imports with prosody namespace
Kim Alvefur <zash@zash.se>
parents:
8161
diff
changeset
|
12 local st = require "prosody.util.stanza"; |
|
1185
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
13 |
|
3540
bc139431830b
Monster whitespace commit (beware the whitespace monster).
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
14 module:hook("user-registered", |
|
1185
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
15 function (user) |
|
3540
bc139431830b
Monster whitespace commit (beware the whitespace monster).
Waqas Hussain <waqas20@gmail.com>
parents:
2923
diff
changeset
|
16 local welcome_stanza = |
|
8160
5566f82ffea4
mod_welcome: Return the pointer to the root of the stanza, fixes a bug similar to #922.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5014
diff
changeset
|
17 st.message({ to = user.username.."@"..user.host, from = host }, |
|
5566f82ffea4
mod_welcome: Return the pointer to the root of the stanza, fixes a bug similar to #922.
Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
parents:
5014
diff
changeset
|
18 welcome_text:gsub("$(%w+)", user)); |
|
5014
b2006c1cfa85
mod_announce, mod_motd, mod_pubsub, mod_register, mod_watchregistrations, mod_welcome: Use module:send() instead of core_*_stanza()
Kim Alvefur <zash@zash.se>
parents:
3540
diff
changeset
|
19 module:send(welcome_stanza); |
|
1185
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
20 module:log("debug", "Welcomed user %s@%s", user.username, user.host); |
|
c68ccb7faeaf
mod_welcome: New plugin to welcome users who register on the server
Matthew Wild <mwild1@gmail.com>
parents:
diff
changeset
|
21 end); |