aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * tools.modtrace: Library for tracing/debugging Lua module and method callsMatthew Wild2020-10-301-0/+152
| |
| * tools/form2table: Convert XEP-0004 dataform from XML to util.dataforms Lua ↵Kim Alvefur2020-10-281-0/+48
| | | | | | | | | | | | format Used this to generate code for a number of PubSub forms IIRC
| * tools/linedebug: Print each line of source executedKim Alvefur2020-10-281-0/+18
| | | | | | | | | | The extremely verbose debug output. Nice for getting some idea which code runs most often, or where it pauses for no reason etc.
| * tools/cfgdump: Reads Prosody config file and pretty-prints it back outKim Alvefur2020-10-281-0/+120
| | | | | | | | | | | | | | | | | | Useful for comparing what you think you have in your config with what Prosody sees, e.g. wrt (lack of) significance of indentation, order of options vs scope etc. (global options do not go at the end!) Could probably be turned into a prosodyctl command, especially if it learns to redact secrets and passwords.
| * tools/tb2err: Formats Lua traceback in errors.err formatKim Alvefur2020-10-281-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | Manually opening to the files and line numbers from a Lua traceback is tedious. This tool converts tracebacks into a format that many compilers and such tools use, which is also compatible with Vim (and possibly other editors). Thus if someone sends you a pastebin link with a traceback, a command like the following gets you right to the relevant lines: curl paste.example/abc123.txt | tb2err > errors.err; vim -q
| * Merge 0.11->trunkMatthew Wild2020-10-281-4/+26
| |\
| * | mod_pubsub: Comment on itemstore typeKim Alvefur2020-10-251-1/+1
| | |
| * | mod_pubsub: Clarify kind of item store createdKim Alvefur2020-10-251-1/+1
| | | | | | | | | | | | | | | Planning to make this configurable, so good to distinguish it from future backends.
| * | mod_pubsub: Don't set store as metatableKim Alvefur2020-10-251-1/+1
| | | | | | | | | | | | | | | 'archive' is not a metatable here, so this has no effect. Remove since apparently nothing depends on this.
| * | net.http: Add support for streaming chunked/large responsesMatthew Wild2020-10-211-0/+18
| | |
| * | net.http.parser: Expose 'partial', 'chunked' and 'body_length' on packetsMatthew Wild2020-10-211-2/+15
| | |
| * | util.paths: Optimize path joining with few argumentsKim Alvefur2020-10-111-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.
| * | util_paths_spec: Trim trailing white spaceKim Alvefur2020-10-171-1/+1
| | | | | | | | | | | | And add spacing between describe() blocks
| * | util.paths: Add some testsKim Alvefur2020-10-171-0/+39
| | |
| * | MUC: Remove XEP-0091: Legacy Delayed DeliveryKim Alvefur2020-10-172-3/+4
| | | | | | | | | | | | | | | | | | | | | Why do we still include this? Deprecated in 2007, obsoleted in 2009. Removes redundant timestamp that nobody should be looking at since many years and a redundant copy of the room JID.
| * | mod_posix: Hook and fire events on SIGUSR1/2Matthew Wild2020-10-161-0/+15
| | |
| * | Merge 0.11->trunkMatthew Wild2020-10-162-1/+94
| |\ \
| * \ \ Merge 0.11->trunkKim Alvefur2020-10-151-0/+4
| |\ \ \
| * | | | util.sasl.scram: Use util.strbitop for XOR stepKim Alvefur2019-09-071-29/+1
| | | | |
| * | | | Merge 0.11->trunkKim Alvefur2020-10-151-17/+6
| |\ \ \ \
| * \ \ \ \ Merge 0.11->trunkKim Alvefur2020-10-152-15/+63
| |\ \ \ \ \
| * \ \ \ \ \ Merge 0.11->trunkMatthew Wild2020-10-155-29/+114
| |\ \ \ \ \ \
| * | | | | | | util.error: Pass through existing error objects passed to new()Matthew Wild2020-10-151-0/+1
| | | | | | | |
| * | | | | | | Merge 0.11->trunkMatthew Wild2020-10-131-1/+4
| |\ \ \ \ \ \ \
| * \ \ \ \ \ \ \ Merge 0.11->trunkKim Alvefur2020-10-123-3/+5
| |\ \ \ \ \ \ \ \
| * | | | | | | | | mod_http_errors: Remove 'extra' element when emptyKim Alvefur2020-10-121-1/+1
| | | | | | | | | |
| * | | | | | | | | mod_http_errors: Dark theme!Kim Alvefur2020-10-121-0/+7
| | | | | | | | | |
| * | | | | | | | | mod_http_errors: Use a class on extra data sectionKim Alvefur2020-10-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CSS selector makes it awkward to add more items.
| * | | | | | | | | util.startup: Handle missing nparams field from debug info (not present in 5.1)Matthew Wild2020-10-111-2/+3
| | | | | | | | | |
| * | | | | | | | | core.modulemanager: Fix error if installer path missingKim Alvefur2020-10-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Happens if run outside prosody. Noticed because because the storage tests fail.
| * | | | | | | | | util.startup: Include arguments in function string representationKim Alvefur2020-10-091-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improves usability of the console when digging around the internals. No specific rationale for the function<file:line>(args) format, it looked best of the variants I tried.
| * | | | | | | | | util.startup: Retrieve less data for function string representationKim Alvefur2020-10-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | debug.getinfo(f) collects more info than what is needed here.
| * | | | | | | | | core.moduleapi: Return resource path from module:get_directory() (API BC)Kim Alvefur2020-10-091-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | :get_directory has so far returned the base directory of the current module source code. This has worked well so far to load resources which tend to be included in the same directory, but with the plugin installer using LuaRocks, extra resources (e.g. templates and other assets) these are saved in a completely different directory. In be73df6765b9 core.modulemanager gained some code for finding that directory and saving it in module.resource_path but now the question is how this should be reflected in the API. A survey of community modules suggest the vast majority use the :get_directory method for locating templates and other assets, rather than the code (which would use module:require instead). Therefore this commit changes :get_directory to return the resource_path when available. This should work for most modules.
| * | | | | | | | | core.modulemanager: Add compat for LuaRocks 2.xKim Alvefur2020-10-071-0/+7
| | | | | | | | | |
| * | | | | | | | | core.moduleapi: Use resource path for :load_resource()Kim Alvefur2020-10-071-1/+1
| | | | | | | | | |
| * | | | | | | | | core.modulemanager: Locate resources of LuaRocks-installed modulesKim Alvefur2020-10-071-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extra non-code files included with a `copy_directories` directive in a LuaRocks manifest will be copied into a per-module and per-version directory under /lib/luarocks/ and all this is there to dig that out so it can be used in e.g. moduleapi :load_resource().
| * | | | | | | | | util.startup: Save the path used by the installer to prosody.pathsKim Alvefur2020-10-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Makes it easier for other parts of the code to use this for things, such as determining whether a certain module is from this path or from elsewhere.
| * | | | | | | | | Merge 0.11->trunkKim Alvefur2020-10-071-2/+2
| |\ \ \ \ \ \ \ \ \
| * \ \ \ \ \ \ \ \ \ Merge 0.11->trunkKim Alvefur2020-10-051-2/+2
| |\ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | util.startup: Fix startup failure if CFG_DATADIR is unsetKim Alvefur2020-10-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As is normal when running from source
| * | | | | | | | | | | util.startup: Re-enable installer path setupKim Alvefur2020-10-051-2/+2
| | | | | | | | | | | |
| * | | | | | | | | | | util.startup: Put 'installer_plugin_path' under data directory by defaultKim Alvefur2020-10-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes issue where it ends up creating this in $PWD, which might be ~prosody, ~you or /, depending on how it's invoked.
| * | | | | | | | | | | util.prosodyctl: Simplify luarocks invocationKim Alvefur2020-10-051-7/+3
| | | | | | | | | | | |
| * | | | | | | | | | | util.prosodyctl: Get Luarocks server from configKim Alvefur2020-10-051-1/+2
| | | | | | | | | | | |
| * | | | | | | | | | | util.prosodyctl: Move hardcoded luarocks server into prosodyctlKim Alvefur2020-10-052-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To be replaced with config option in future commit
| * | | | | | | | | | | util.prosodyctl: Flip argument orderKim Alvefur2020-10-052-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "verb subject" feels better than "subject verb", especially since the subject (module) is optional.
| * | | | | | | | | | | util.prosodyctl: Construct luarocks command line with templatesKim Alvefur2020-10-051-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | More flexible and safer wrt escaping
| * | | | | | | | | | | util.pluginloader: Look for module libs in mod_plugin/lib.luaKim Alvefur2020-10-051-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Luarocks can't be told to install something as foo.lib.lua AFAIK, so instead let's try mod_bar/foo.lua
| * | | | | | | | | | | util.pluginloader: Look for top level mod_something.lua in luarocks-style treeKim Alvefur2020-10-051-0/+1
| | | | | | | | | | | |
| * | | | | | | | | | | util.pluginloader: Extract Lua version onceKim Alvefur2020-10-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not going to change while the module is loaded.