Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | util.jsonschema: Implement the "contains" keyword | Kim Alvefur | 2021-03-09 | 1 | -0/+13 | |
| | | | | | | | | And apparently I had mistaken this for an array | |||||
* | | util.jsonschema: Allow a boolean as schema | Kim Alvefur | 2021-03-09 | 1 | -0/+3 | |
| | | | | | | | | | | | | Apparently a schema must be either an object or a boolean. Not sure where I got this string shortcut from, but I think I will keep it as it is very convenient. | |||||
* | | util.jsonschema: Correct "items" keyword | Kim Alvefur | 2021-03-09 | 1 | -12/+4 | |
| | | | | | | | | | | | | Upon re-reading the JSON Schema spec, I found that 'items' wasn't a union of an array of schemas or a single schema, not sure where I got that from. | |||||
* | | util.datamapper: Add support for mapping of elements where only one ↵ | Kim Alvefur | 2021-03-07 | 1 | -0/+34 | |
| | | | | | | | | | | | | | | attribute matters E.g. <feature var='foo'/> in XEP-0030 and some other simple specifications. | |||||
* | | util.datamapper: Add logic for "boolean" tags here the presence means true | Kim Alvefur | 2021-03-07 | 1 | -3/+9 | |
| | | ||||||
* | | util.datamapper: Invent extension for using tag name as value | Kim Alvefur | 2021-03-06 | 1 | -2/+15 | |
| | | | | | | | | | | Useful for certain enum-like uses where the element name is the relevant information, e.g. chat states. | |||||
* | | util.datamapper: Add 'unparse' for turning tables into XML | Kim Alvefur | 2021-03-07 | 1 | -1/+102 | |
| | | ||||||
* | | util.datamapper: Library for extracting data from stanzas | Kim Alvefur | 2021-03-07 | 1 | -0/+96 | |
| | | | | | | | | Based on the XML support in the OpenAPI specification. | |||||
* | | util.jsonschema: Library for JSON Schema validation | Kim Alvefur | 2021-03-06 | 1 | -0/+245 | |
| | | ||||||
* | | util.gc: Fix check for Lua 5.4 | Kim Alvefur | 2021-03-16 | 1 | -1/+1 | |
| | | ||||||
* | | util.rsm: Correctly coerce integer value for <index> (fix #1642) | Kim Alvefur | 2021-03-06 | 1 | -0/+3 | |
| | | ||||||
* | | util.rsm: Improve readability using compacter stanza building API | Kim Alvefur | 2021-03-06 | 1 | -5/+5 | |
| | | | | | | | | At least I think :text_tag improves readability. | |||||
* | | util.prosodyctl.shell: Allow passing a single command as argument | Kim Alvefur | 2021-03-05 | 1 | -0/+29 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Test procedure: $ prosodyctl shell 'server:version()' Expect: > OK: hg:926d53af9a7a $ prosodyctl shell 'server:version()' 'hello' Expect: > Only one command is supported as argument $ prosodyctl shell 'lorem ipsum'; echo $? Expect: > Sorry, I couldn't understand that... console:1: syntax error near 'show' > 1 (error code) Thanks Menel for mentioning the feature | |||||
* | | util.prosodyctl.shell: Fix check for --quiet | Kim Alvefur | 2021-03-05 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | Looked in the wrong table Test procedure: $ prosodyctl shell --quiet Expect: Prosody> (No banner) | |||||
* | | util.datamanager: Support iterating over any file extension | Kim Alvefur | 2021-02-07 | 1 | -4/+3 | |
| | | | | | | | | | | | | | | | | The 'typ' argument to all other functions is the actual file extension, but not here for some reason. May need this for iterating over the .bin files created by mod_http_file_share in the future. | |||||
* | | util.xmppstream: Ensure stream 'id' is always present (fix #1626) | Kim Alvefur | 2021-02-03 | 1 | -1/+1 | |
| | | | | | | | | Backout c2d144d3f8dd | |||||
* | | util.adhoc: Propagate error with producing initial initial data | Kim Alvefur | 2021-01-31 | 1 | -1/+7 | |
| | | | | | | | | Bonus: Allow use of util.error tables | |||||
* | | Merge 0.11->trunk | Kim Alvefur | 2021-01-25 | 1 | -2/+2 | |
|\| | ||||||
| * | util.interpolation: Fix combination of filters and fallback values #1623 | Kim Alvefur | 2021-01-25 | 1 | -2/+2 | |
| | | ||||||
* | | util.startup: Make installer_plugin_path relative to data directory | Kim Alvefur | 2021-01-24 | 1 | -3/+2 | |
| | | | | | | | | | | | | Having it relative to current working directory is problematic since this depends on how Prosody was started and changes to the data directory during startup (but after this point). | |||||
* | | util.startup: Don't create installer plugin path (as root) | Kim Alvefur | 2021-01-24 | 1 | -2/+0 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since this runs before dropping root, the directory ends up being owned by root, resulting in luarocks failing to install anything, since by then it would be running as the prosody user. luarocks creates this directory if needed, so creating it during startup is not necessary. One potential issue is if the directory is somewhere where Prosody can't write, but then you will simply have to create it yourself with the appropriate permissions. | |||||
* | | util.prosodyctl.check: Recognise global options related to plugin installer | Kim Alvefur | 2021-01-21 | 1 | -0/+1 | |
| | | ||||||
* | | util.prosodyctl: Remove unused calculation [luacheck] | Kim Alvefur | 2021-01-21 | 1 | -1/+1 | |
| | | ||||||
* | | util.prosodyctl: Rename unused variable to '_' [luacheck] | Kim Alvefur | 2021-01-21 | 1 | -1/+1 | |
| | | ||||||
* | | util.prosodyctl: Always return exit code from luarocks | Kim Alvefur | 2021-01-21 | 1 | -4/+1 | |
| | | | | | | | | os.exit(true) errors on Lua 5.1 | |||||
* | | prosodyctl: Move UI related calls out of util.prosodyctl | Kim Alvefur | 2021-01-21 | 1 | -8/+0 | |
| | | | | | | | | | | I think this follows the general separation of duties between prosodyctl and util.prosodyctl better. | |||||
* | | util.prosodyctl: Reword message to sound more natural | Kim Alvefur | 2021-01-21 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | English is hard. "to" might also work, but we'll go with this for now. 18:32:11 <MattJ> s/at/in/ ? 18:32:19 <MattJ> to match luarocks :) | |||||
* | | util.prosodyctl: Propagate status from luarocks invocation | Kim Alvefur | 2021-01-21 | 1 | -1/+6 | |
| | | ||||||
* | | util.prosodyctl: Use installer path prepared by util.startup | Kim Alvefur | 2021-01-21 | 1 | -10/+1 | |
| | | ||||||
* | | util.datamanager: Fix not passing variables as format string to logger ↵ | Kim Alvefur | 2021-01-16 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | (thanks semgrep) Passing error messages as format string could lead to errors, although not a problem anymore since util.format sanitizes this. | |||||
* | | Merge 0.11->trunk | Kim Alvefur | 2021-01-08 | 2 | -3/+16 | |
|\| | ||||||
| * | util.timer: Ensure timers can't run more than once per tick (fixes #1620) | Kim Alvefur | 2021-01-08 | 1 | -1/+14 | |
| | | | | | | | | See longer explanation in 2c559953ad41 | |||||
| * | util.stanza: Move misplaced argument to correct place | Kim Alvefur | 2020-12-24 | 1 | -2/+2 | |
| | | | | | | | | | | valid_utf8() takes only one argument, so the false was probably meant to be valid_xml_cdata(text, attribute=false) | |||||
* | | util.error: Switch to util.debug traceback tables and remove ↵ | Matthew Wild | 2020-12-09 | 1 | -9/+6 | |
| | | | | | | | | display_tracebacks option | |||||
* | | util.error: Expose is_error on registry objects for convenience | Matthew Wild | 2020-12-09 | 1 | -0/+1 | |
| | | ||||||
* | | util.error: rename is_err() -> is_error() | Matthew Wild | 2020-12-09 | 1 | -5/+6 | |
| | | | | | | | | More descriptive and consistent with e.g. is_promise(). | |||||
* | | util.error: Add coerce and wrap methods to registry(?) objects | Matthew Wild | 2020-12-09 | 1 | -0/+19 | |
| | | ||||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-11-23 | 1 | -1/+1 | |
|\| | ||||||
| * | util.promise: Use xpcall() for promise function to preserve tracebacks | Matthew Wild | 2020-11-23 | 1 | -1/+1 | |
| | | ||||||
* | | util.hashring: Normalize indentation to tabs | Kim Alvefur | 2020-11-15 | 1 | -8/+8 | |
| | | ||||||
* | | util.error: Remove a stray word from a comment | Kim Alvefur | 2020-11-14 | 1 | -1/+1 | |
| | | | | | | | | | | | | | | | | | | | | | | Earlier in the process the namespace could be given in the registry table, the comment would have read > registry can be given as second argument if namespace is either not > used or is given in the registry table The word seems to have been left when this method was scrapped for being complicated and redundant. | |||||
* | | Merge 0.11->trunk | Kim Alvefur | 2020-11-11 | 1 | -1/+9 | |
|\| | ||||||
| * | util.stanza: Reject ASCII control characters (fixes #1606) | Kim Alvefur | 2020-11-11 | 1 | -1/+9 | |
| | | ||||||
* | | util.prosodyctl.cert: Fix for prompt functions having moved to util.human.io | Kim Alvefur | 2020-11-09 | 1 | -3/+4 | |
| | | ||||||
* | | util.cache: Add __name to metatable | Matthew Wild | 2020-10-30 | 1 | -1/+1 | |
| | | ||||||
* | | util.dbuffer: Add __name to metatable | Matthew Wild | 2020-10-30 | 1 | -1/+1 | |
| | | ||||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-10-28 | 1 | -4/+26 | |
|\| | ||||||
| * | util.dbuffer: Optimize :sub() and :byte() | Matthew Wild | 2020-10-28 | 1 | -4/+26 | |
| | | ||||||
* | | util.paths: Optimize path joining with few arguments | Kim Alvefur | 2020-10-11 | 1 | -2/+12 | |
| | | | | | | | | | | | | | | | | | | A casual search suggests that the majority of paths.join() calls involve only two arguments. This saves the creation of a table for up to 3 arguments. Looks like 3x faster for 3 arguments or less, 5% slower when it uses the array to concatenate. | |||||
* | | Merge 0.11->trunk | Matthew Wild | 2020-10-16 | 1 | -1/+1 | |
|\| |