Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge 0.11->trunk | Matthew Wild | 2020-09-30 | 1 | -1/+1 |
|\ | |||||
| * | util.indexedbheap: Fix heap datastructure corruption in ↵ | Waqas Hussain | 2020-09-29 | 1 | -1/+1 |
| | | | | | | | | :reschedule(smaller_value) | ||||
| * | util.startup: Configure the GC on startup, using the config or built-in defaults | Matthew Wild | 2020-06-15 | 1 | -0/+17 |
| | | |||||
| * | util.gc: Linter fixes [luacheck] | Matthew Wild | 2020-06-15 | 1 | -2/+1 |
| | | |||||
| * | util.gc: New module for configuring the Lua garbage collector | Matthew Wild | 2020-06-15 | 1 | -0/+50 |
| | | |||||
* | | util.error: Drop registry initialization with namespace as key | Kim Alvefur | 2020-09-28 | 1 | -4/+0 |
| | | | | | | | | Enough complexity with compact vs normal and with/without namespace | ||||
* | | util.error: Expand compact registries into normal form internally | Kim Alvefur | 2020-09-28 | 1 | -8/+34 |
| | | | | | | | | Also the exposed form on the table returned from init() | ||||
* | | util.error: Add a "compact mode" for registries | Kim Alvefur | 2020-09-28 | 1 | -4/+7 |
| | | | | | | | | Inspired by the older registry in pubsub.lib.lua | ||||
* | | util.error: Expose source and registry as fields on the registry object | Kim Alvefur | 2020-09-28 | 1 | -0/+2 |
| | | | | | | | | For access, e.g. to identify and compare errors later | ||||
* | | util.error: Turns out <gone> wasn't alone, there's also <redirect> | Kim Alvefur | 2020-09-28 | 1 | -2/+7 |
| | | |||||
* | | util.error: Pass converted stanza errors throguh new() | Kim Alvefur | 2020-09-27 | 1 | -6/+3 |
| | | | | | | | | In order to benefit from common processing | ||||
* | | util.serialization: Let freeze metamethod return a literal string | Kim Alvefur | 2020-09-26 | 1 | -0/+4 |
| | | | | | | | | | | Enables custom serialization, such as creating a datatype that serializes into a variable reference. | ||||
* | | util.error: Collect Application-Specific Conditions from stanza errors | Kim Alvefur | 2020-09-26 | 1 | -2/+3 |
| | | |||||
* | | util.error: Add special case handling of <gone> with an URI | Kim Alvefur | 2020-09-26 | 1 | -0/+3 |
| | | |||||
* | | util.error: Default error originator to stanza sender | Kim Alvefur | 2020-09-26 | 1 | -1/+2 |
| | | | | | | | | | | The @by attribute is primarily useful for errors caused by intermediate entities. | ||||
* | | util.error: Extract error originator from stanza errors | Kim Alvefur | 2020-09-26 | 1 | -1/+6 |
| | | |||||
* | | util.stanza: Extract Application-Specific Condition from errors | Kim Alvefur | 2020-09-26 | 1 | -6/+8 |
| | | | | | | | | API change | ||||
* | | util.stanza: Support Application-Specific Conditions in util.error | Kim Alvefur | 2020-09-26 | 1 | -0/+5 |
| | | |||||
* | | util.stanza: Get 'by' from context instead | Kim Alvefur | 2020-09-26 | 1 | -1/+1 |
| | | | | | | | | | | | | | | Zash> <error by=?> should go where? extra.by? context? source? Zash> In Prosody this would usually be module.host or a bare user/room JID MattJ> Zash: context MattJ> context.by, basically the opposite of context.actor | ||||
* | | util.stanza: Support inclusion of <gone> URI from util.error object | Kim Alvefur | 2020-09-26 | 1 | -2/+8 |
| | | |||||
* | | util.stanza: Support getting 'by' from util.error object | Kim Alvefur | 2020-09-26 | 1 | -0/+3 |
| | | |||||
* | | util.stanza: Reorder code to prepare for extracting 'by' from util.error | Kim Alvefur | 2020-09-26 | 1 | -3/+3 |
| | | |||||
* | | util.error: Add well-known field 'extra' | Kim Alvefur | 2020-09-26 | 1 | -0/+2 |
| | | | | | | | | | | A place for various extra fields and edge cases of the stanza error data model, e.g. the URI field of <gone> | ||||
* | | util.error: Simplify error creation flow | Matthew Wild | 2020-09-25 | 1 | -1/+13 |
| | | |||||
* | | util.error: Switch coerce() to use new() and change 'native' to context ↵ | Matthew Wild | 2020-09-25 | 1 | -5/+3 |
| | | | | | | | | field 'wrapped_error' | ||||
* | | util.error: Have init() return an object to allow API extensibility via ↵ | Matthew Wild | 2020-09-25 | 1 | -3/+5 |
| | | | | | | | | additional methods | ||||
* | | util.error: Minor tweaks to error creation code to prepare for future changes | Matthew Wild | 2020-09-25 | 1 | -2/+5 |
| | | |||||
* | | util.error: Simplify error creation - remove ability to set context from ↵ | Matthew Wild | 2020-09-25 | 1 | -1/+1 |
| | | | | | | | | templates, and remove default context | ||||
* | | util.error: Add unique 'instance_id' to error objects | Matthew Wild | 2020-09-25 | 1 | -0/+2 |
| | | |||||
* | | util.dataforms: Add support for validating (integer) ranges | Kim Alvefur | 2019-11-21 | 1 | -1/+13 |
| | | |||||
* | | util.interpolation: Add '~' as the opposite of '&' (render sub-block if falsy) | Matthew Wild | 2020-09-09 | 1 | -0/+3 |
| | | | | | | | | One more magic character consumed! | ||||
* | | util.helpers: when logging events, log individual handler calls | Matthew Wild | 2020-09-03 | 1 | -0/+15 |
| | | |||||
* | | util.events: Add set_debug_hook() method | Matthew Wild | 2020-09-03 | 1 | -1/+19 |
| | | | | | | | | | | | | Hook signature: ret = debug_hook(handler, event_name, event_data) | ||||
* | | util.jid: Fix special escaping of '\' per XEP-0106 | Kim Alvefur | 2020-08-28 | 1 | -2/+6 |
| | | | | | | | | | | | | | | | | | | | | | | | | From XEP-0106 §2. Requirements: > in certain circumstances, the escaping character itself ("\") might > also be escaped Later in §4.2 Address Transformation Algorithm it is stated that the backslash would only be escaped if it forms an escape sequence. Thus '\foo' is unaltered but '\20' must be escaped into '\5c20'. Thanks to lovetox and jonas’ for brining up. | ||||
* | | util.error: Add a wrapper for common parameters | Kim Alvefur | 2020-08-28 | 1 | -0/+7 |
| | | | | | | | | Lets you set up source and registry once per module | ||||
* | | util.error: Add a 'source' parameter where origin module can be mentioned | Kim Alvefur | 2020-08-28 | 1 | -1/+2 |
| | | |||||
* | | util.startup: Init util.error with defaults if none given | Matthew Wild | 2020-08-28 | 1 | -1/+1 |
| | | |||||
* | | util.error: Add configuration for including traceback in tostring() | Matthew Wild | 2020-08-28 | 1 | -2/+12 |
| | | |||||
* | | util.error: Allow optional tracebacks to be injected on errors | Matthew Wild | 2020-08-28 | 2 | -0/+21 |
| | | | | | | | | This allows extra debug info to be provided for development purposes. | ||||
* | | util.dbuffer: Fix :sub() not working with partially-consumed chunks (thanks ↵ | Matthew Wild | 2020-08-24 | 1 | -1/+1 |
| | | | | | | | | | | | | Zash for test case) This also appears to fix some bugs with chunk-encoded streams in net.http.parser. | ||||
* | | util.dbuffer: Fix traceback when :collapse() is called on empty buffer | Matthew Wild | 2020-08-20 | 1 | -1/+1 |
| | | |||||
* | | util.dataforms: Convert media element sizes to avoid error on Lua 5.3 | Kim Alvefur | 2020-08-16 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | The stanza API does not accept number values and threw an error due to the height and width attributes of the media element (XEP-0221). This part had no test coverage previously, explaining why it was not discovered until now. | ||||
* | | util.timer: Defer to selected net.server if it implements this API | Kim Alvefur | 2020-06-29 | 1 | -0/+5 |
| | | | | | | | | | | E.g. net.server_epoll is very close and could easily be adapted to support this. | ||||
* | | util.dbuffer: If no bytes parameter passed to read, return remainder of ↵ | Matthew Wild | 2020-06-29 | 1 | -2/+7 |
| | | | | | | | | frontmost chunk | ||||
* | | util.dependencies: Quiet luacheck | Kim Alvefur | 2020-06-28 | 1 | -2/+2 |
| | | |||||
* | | util.dependencies: Tone down lua-unbound dependency for now | Kim Alvefur | 2020-06-27 | 1 | -0/+2 |
| | | | | | | | | | | | | At least until packages are available Wording from MattJ | ||||
* | | util.dbuffer: dynamic string buffer | Matthew Wild | 2020-06-26 | 2 | -0/+178 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Similar to util.ringbuffer (and shares almost identical API). Differences: - size limit is optional and dynamic - does not allocate a fixed buffer of max_size bytes - focus on simply storing references to existing string objects where possible, avoiding unnecessary allocations - references are still stored in a ring buffer to enable use as a fast FIFO Optional second parameter to new() provides the number of ring buffer segments. On Lua 5.2 on my laptop, a segment is ~19 bytes. If the ring buffer fills up, the next write will compact all strings into a single item. | ||||
* | | util.dns: Update RR types from IANA registry | Kim Alvefur | 2020-06-25 | 1 | -17/+23 |
| | | |||||
* | | util.prosodyctl.check: Use net.unbound for DNS if available | Kim Alvefur | 2020-06-25 | 1 | -0/+3 |
| | | | | | | | | Improves performance somewhat by avoiding the rate limiting in net.dns | ||||
* | | util.dependencies: Prefer net.unbound over net.adns | Kim Alvefur | 2020-06-25 | 1 | -0/+5 |
| | |